@open-mercato/core 0.6.7-develop.6827.1.a575bebce9 → 0.6.7-develop.6834.1.e76f4b8cbc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/modules/attachments/fields/attachment.js +1 -1
- package/dist/modules/attachments/fields/attachment.js.map +2 -2
- package/dist/modules/auth/components/UserConsentsPanel.js +9 -9
- package/dist/modules/auth/components/UserConsentsPanel.js.map +2 -2
- package/dist/modules/auth/frontend/reset.js +2 -2
- package/dist/modules/auth/frontend/reset.js.map +2 -2
- package/dist/modules/business_rules/components/ActionRow.js +1 -1
- package/dist/modules/business_rules/components/ActionRow.js.map +1 -1
- package/dist/modules/business_rules/components/ConditionRow.js +8 -4
- package/dist/modules/business_rules/components/ConditionRow.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/[id]/page.js +4 -4
- package/dist/modules/catalog/backend/catalog/products/[id]/page.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/create/page.js +5 -5
- package/dist/modules/catalog/backend/catalog/products/create/page.js.map +2 -2
- package/dist/modules/catalog/components/PriceKindSettings.js +3 -3
- package/dist/modules/catalog/components/PriceKindSettings.js.map +2 -2
- package/dist/modules/catalog/components/products/ProductCategorizeSection.js +3 -3
- package/dist/modules/catalog/components/products/ProductCategorizeSection.js.map +2 -2
- package/dist/modules/catalog/components/products/ProductMediaManager.js +1 -1
- package/dist/modules/catalog/components/products/ProductMediaManager.js.map +2 -2
- package/dist/modules/catalog/components/products/VariantBuilder.js +5 -5
- package/dist/modules/catalog/components/products/VariantBuilder.js.map +2 -2
- package/dist/modules/communication_channels/backend/profile/communication-channels/page.js +1 -1
- package/dist/modules/communication_channels/backend/profile/communication-channels/page.js.map +2 -2
- package/dist/modules/customers/components/detail/ConfirmDealLostDialog.js +1 -1
- package/dist/modules/customers/components/detail/ConfirmDealLostDialog.js.map +1 -1
- package/dist/modules/dashboards/api/widgets/data/schema.js +26 -17
- package/dist/modules/dashboards/api/widgets/data/schema.js.map +2 -2
- package/dist/modules/design_system/gallery/entries/detail.js +8 -8
- package/dist/modules/design_system/gallery/entries/detail.js.map +1 -1
- package/dist/modules/design_system/gallery/entries/overlays.js +2 -2
- package/dist/modules/design_system/gallery/entries/overlays.js.map +2 -2
- package/dist/modules/design_system/gallery/entries/scaffolding.js +8 -8
- package/dist/modules/design_system/gallery/entries/scaffolding.js.map +1 -1
- package/dist/modules/dictionaries/components/DictionaryEntrySelect.js +1 -1
- package/dist/modules/dictionaries/components/DictionaryEntrySelect.js.map +2 -2
- package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js +6 -6
- package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js.map +2 -2
- package/dist/modules/inbox_ops/components/proposals/EditActionDialog.js +3 -3
- package/dist/modules/inbox_ops/components/proposals/EditActionDialog.js.map +2 -2
- package/dist/modules/messages/components/message-detail/panels/dialogs.js +1 -1
- package/dist/modules/messages/components/message-detail/panels/dialogs.js.map +1 -1
- package/dist/modules/planner/components/AvailabilityRulesEditor.js +4 -4
- package/dist/modules/planner/components/AvailabilityRulesEditor.js.map +2 -2
- package/dist/modules/shipping_carriers/lib/shipment-wizard/components/PackageEditor.js +1 -1
- package/dist/modules/shipping_carriers/lib/shipment-wizard/components/PackageEditor.js.map +1 -1
- package/dist/modules/wms/components/backend/ReleaseReservationDialog.js +1 -1
- package/dist/modules/wms/components/backend/ReleaseReservationDialog.js.map +1 -1
- package/dist/modules/workflows/backend/definitions/page.js +1 -1
- package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js +1 -1
- package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
- package/dist/modules/workflows/backend/instances/page.js +8 -8
- package/dist/modules/workflows/backend/instances/page.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/page.js +6 -6
- package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
- package/dist/modules/workflows/components/ActivitiesEditor.js +2 -2
- package/dist/modules/workflows/components/ActivitiesEditor.js.map +2 -2
- package/dist/modules/workflows/components/BusinessRulesSelector.js +1 -1
- package/dist/modules/workflows/components/BusinessRulesSelector.js.map +2 -2
- package/dist/modules/workflows/components/DefinitionTriggersEditor.js +2 -2
- package/dist/modules/workflows/components/DefinitionTriggersEditor.js.map +2 -2
- package/dist/modules/workflows/components/EdgeEditDialogCrudForm.js +1 -2
- package/dist/modules/workflows/components/EdgeEditDialogCrudForm.js.map +2 -2
- package/dist/modules/workflows/components/NodeEditDialogCrudForm.js +1 -2
- package/dist/modules/workflows/components/NodeEditDialogCrudForm.js.map +2 -2
- package/dist/modules/workflows/components/StepsEditor.js +2 -2
- package/dist/modules/workflows/components/StepsEditor.js.map +2 -2
- package/dist/modules/workflows/components/TransitionsEditor.js +3 -3
- package/dist/modules/workflows/components/TransitionsEditor.js.map +2 -2
- package/dist/modules/workflows/components/WorkflowLegend.js +1 -1
- package/dist/modules/workflows/components/WorkflowLegend.js.map +2 -2
- package/dist/modules/workflows/components/WorkflowSelector.js +1 -1
- package/dist/modules/workflows/components/WorkflowSelector.js.map +2 -2
- package/dist/modules/workflows/components/fields/BusinessRuleConditionsEditor.js +1 -1
- package/dist/modules/workflows/components/fields/BusinessRuleConditionsEditor.js.map +2 -2
- package/dist/modules/workflows/components/fields/FormFieldArrayEditor.js +1 -1
- package/dist/modules/workflows/components/fields/FormFieldArrayEditor.js.map +2 -2
- package/dist/modules/workflows/components/fields/MappingArrayEditor.js +1 -1
- package/dist/modules/workflows/components/fields/MappingArrayEditor.js.map +2 -2
- package/dist/modules/workflows/components/fields/StartPreConditionsEditor.js +1 -1
- package/dist/modules/workflows/components/fields/StartPreConditionsEditor.js.map +2 -2
- package/dist/modules/workflows/components/fields/WorkflowSelectorField.js +4 -4
- package/dist/modules/workflows/components/fields/WorkflowSelectorField.js.map +2 -2
- package/package.json +7 -7
- package/src/modules/attachments/fields/attachment.tsx +1 -1
- package/src/modules/auth/components/UserConsentsPanel.tsx +9 -9
- package/src/modules/auth/frontend/reset.tsx +2 -2
- package/src/modules/business_rules/components/ActionRow.tsx +1 -1
- package/src/modules/business_rules/components/ConditionRow.tsx +9 -6
- package/src/modules/catalog/backend/catalog/products/[id]/page.tsx +4 -4
- package/src/modules/catalog/backend/catalog/products/create/page.tsx +5 -5
- package/src/modules/catalog/components/PriceKindSettings.tsx +3 -3
- package/src/modules/catalog/components/products/ProductCategorizeSection.tsx +3 -3
- package/src/modules/catalog/components/products/ProductMediaManager.tsx +1 -1
- package/src/modules/catalog/components/products/VariantBuilder.tsx +5 -5
- package/src/modules/communication_channels/backend/profile/communication-channels/page.tsx +1 -1
- package/src/modules/customers/components/detail/ConfirmDealLostDialog.tsx +1 -1
- package/src/modules/dashboards/api/widgets/data/schema.ts +48 -19
- package/src/modules/design_system/gallery/entries/detail.tsx +8 -8
- package/src/modules/design_system/gallery/entries/overlays.tsx +2 -2
- package/src/modules/design_system/gallery/entries/scaffolding.tsx +8 -8
- package/src/modules/design_system/i18n/de.json +12 -0
- package/src/modules/design_system/i18n/en.json +12 -0
- package/src/modules/design_system/i18n/es.json +12 -0
- package/src/modules/design_system/i18n/pl.json +12 -0
- package/src/modules/dictionaries/components/DictionaryEntrySelect.tsx +1 -1
- package/src/modules/inbox_ops/backend/inbox-ops/log/page.tsx +6 -6
- package/src/modules/inbox_ops/components/proposals/EditActionDialog.tsx +3 -3
- package/src/modules/messages/components/message-detail/panels/dialogs.tsx +1 -1
- package/src/modules/planner/components/AvailabilityRulesEditor.tsx +4 -4
- package/src/modules/shipping_carriers/lib/shipment-wizard/components/PackageEditor.tsx +1 -1
- package/src/modules/wms/components/backend/ReleaseReservationDialog.tsx +1 -1
- package/src/modules/workflows/backend/definitions/page.tsx +1 -1
- package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +1 -1
- package/src/modules/workflows/backend/instances/page.tsx +8 -8
- package/src/modules/workflows/backend/tasks/page.tsx +6 -6
- package/src/modules/workflows/components/ActivitiesEditor.tsx +2 -2
- package/src/modules/workflows/components/BusinessRulesSelector.tsx +1 -1
- package/src/modules/workflows/components/DefinitionTriggersEditor.tsx +2 -2
- package/src/modules/workflows/components/EdgeEditDialogCrudForm.tsx +1 -2
- package/src/modules/workflows/components/NodeEditDialogCrudForm.tsx +1 -2
- package/src/modules/workflows/components/StepsEditor.tsx +2 -2
- package/src/modules/workflows/components/TransitionsEditor.tsx +3 -3
- package/src/modules/workflows/components/WorkflowLegend.tsx +1 -1
- package/src/modules/workflows/components/WorkflowSelector.tsx +1 -1
- package/src/modules/workflows/components/fields/BusinessRuleConditionsEditor.tsx +1 -1
- package/src/modules/workflows/components/fields/FormFieldArrayEditor.tsx +1 -1
- package/src/modules/workflows/components/fields/MappingArrayEditor.tsx +1 -1
- package/src/modules/workflows/components/fields/StartPreConditionsEditor.tsx +1 -1
- package/src/modules/workflows/components/fields/WorkflowSelectorField.tsx +4 -4
|
@@ -96,7 +96,7 @@ const pageEntry: GalleryEntry = {
|
|
|
96
96
|
code: `import { Page, PageBody, PageHeader } from '@open-mercato/ui/backend/Page'
|
|
97
97
|
|
|
98
98
|
<Page>
|
|
99
|
-
<PageHeader title={t('currencies.list.title')} description={t('
|
|
99
|
+
<PageHeader title={t('currencies.list.title')} description={t('design_system.gallery.samples.listDescription')} />
|
|
100
100
|
<PageBody>{/* DataTable, sections… */}</PageBody>
|
|
101
101
|
</Page>`,
|
|
102
102
|
},
|
|
@@ -174,7 +174,7 @@ import { SectionHeader } from '@open-mercato/ui/backend/SectionHeader'
|
|
|
174
174
|
import { Button } from '@open-mercato/ui/primitives/button'
|
|
175
175
|
|
|
176
176
|
<SectionHeader
|
|
177
|
-
title={t('
|
|
177
|
+
title={t('design_system.gallery.samples.addresses.title')}
|
|
178
178
|
count={addresses.length}
|
|
179
179
|
action={<Button variant="ghost" size="sm"><Plus className="size-4" /> {t('common.add')}</Button>}
|
|
180
180
|
/>`,
|
|
@@ -193,7 +193,7 @@ import { Button } from '@open-mercato/ui/primitives/button'
|
|
|
193
193
|
),
|
|
194
194
|
code: `import { CollapsibleSection } from '@open-mercato/ui/backend/SectionHeader'
|
|
195
195
|
|
|
196
|
-
<CollapsibleSection title={t('
|
|
196
|
+
<CollapsibleSection title={t('design_system.gallery.samples.billingDetails')} count={2}>
|
|
197
197
|
{/* section content */}
|
|
198
198
|
</CollapsibleSection>`,
|
|
199
199
|
},
|
|
@@ -223,7 +223,7 @@ const sections: SectionNavGroup[] = [
|
|
|
223
223
|
},
|
|
224
224
|
]
|
|
225
225
|
|
|
226
|
-
<SectionPage title={t('profile.title')} sections={sections} activePath={pathname}>
|
|
226
|
+
<SectionPage title={t('profile.page.title')} sections={sections} activePath={pathname}>
|
|
227
227
|
{children}
|
|
228
228
|
</SectionPage>`,
|
|
229
229
|
},
|
|
@@ -236,7 +236,7 @@ const sections: SectionNavGroup[] = [
|
|
|
236
236
|
const [collapsed, setCollapsed] = React.useState(false)
|
|
237
237
|
|
|
238
238
|
<SectionNav
|
|
239
|
-
title={t('profile.title')}
|
|
239
|
+
title={t('profile.page.title')}
|
|
240
240
|
sections={sections}
|
|
241
241
|
activePath={pathname}
|
|
242
242
|
collapsed={collapsed}
|
|
@@ -273,7 +273,7 @@ const formHeaderEntry: GalleryEntry = {
|
|
|
273
273
|
<FormHeader
|
|
274
274
|
backHref="/backend/products"
|
|
275
275
|
backLabel={t('ui.navigation.back')}
|
|
276
|
-
title={t('products.edit.title')}
|
|
276
|
+
title={t('catalog.products.edit.title')}
|
|
277
277
|
actions={{
|
|
278
278
|
cancelHref: '/backend/products',
|
|
279
279
|
cancelLabel: t('ui.forms.actions.cancel'),
|
|
@@ -308,9 +308,9 @@ import { FormHeader } from '@open-mercato/ui/backend/forms'
|
|
|
308
308
|
<FormHeader
|
|
309
309
|
mode="detail"
|
|
310
310
|
backHref="/backend/customers/companies"
|
|
311
|
-
entityTypeLabel={t('
|
|
311
|
+
entityTypeLabel={t('design_system.gallery.samples.entityType')}
|
|
312
312
|
title={company.name}
|
|
313
|
-
subtitle={t('
|
|
313
|
+
subtitle={t('design_system.gallery.samples.createdAt', { date: createdAt })}
|
|
314
314
|
statusBadge={<Badge variant="muted">{statusLabel}</Badge>}
|
|
315
315
|
menuActions={[
|
|
316
316
|
{ id: 'duplicate', label: t('ui.actions.duplicate'), icon: Copy, onSelect: duplicate },
|
|
@@ -37,6 +37,18 @@
|
|
|
37
37
|
"design_system.gallery.noResults": "Keine Komponenten entsprechen der Suche",
|
|
38
38
|
"design_system.gallery.openInFigma": "In Figma öffnen",
|
|
39
39
|
"design_system.gallery.retry": "Erneut versuchen",
|
|
40
|
+
"design_system.gallery.samples.addresses.empty": "Noch keine Adressen",
|
|
41
|
+
"design_system.gallery.samples.addresses.emptyTitle": "Erste Adresse hinzufügen",
|
|
42
|
+
"design_system.gallery.samples.addresses.title": "Adressen",
|
|
43
|
+
"design_system.gallery.samples.attachments.description": "Mit diesem Datensatz verknüpfte Dateien",
|
|
44
|
+
"design_system.gallery.samples.attachments.title": "Anhänge",
|
|
45
|
+
"design_system.gallery.samples.billingDetails": "Rechnungsdaten",
|
|
46
|
+
"design_system.gallery.samples.createdAt": "Erstellt {date}",
|
|
47
|
+
"design_system.gallery.samples.entityType": "Unternehmen",
|
|
48
|
+
"design_system.gallery.samples.listDescription": "Für Ihre Organisation verfügbare Währungen",
|
|
49
|
+
"design_system.gallery.samples.notes.add": "Notiz hinzufügen",
|
|
50
|
+
"design_system.gallery.samples.notes.empty": "Noch keine Notizen",
|
|
51
|
+
"design_system.gallery.samples.notes.emptyTitle": "Erste Notiz festhalten",
|
|
40
52
|
"design_system.gallery.searchPlaceholder": "Komponenten suchen…",
|
|
41
53
|
"design_system.gallery.usageDo": "Tun",
|
|
42
54
|
"design_system.gallery.usageDont": "Vermeiden",
|
|
@@ -37,6 +37,18 @@
|
|
|
37
37
|
"design_system.gallery.noResults": "No components match your search",
|
|
38
38
|
"design_system.gallery.openInFigma": "Open in Figma",
|
|
39
39
|
"design_system.gallery.retry": "Retry",
|
|
40
|
+
"design_system.gallery.samples.addresses.empty": "No addresses yet",
|
|
41
|
+
"design_system.gallery.samples.addresses.emptyTitle": "Add the first address",
|
|
42
|
+
"design_system.gallery.samples.addresses.title": "Addresses",
|
|
43
|
+
"design_system.gallery.samples.attachments.description": "Files linked to this record",
|
|
44
|
+
"design_system.gallery.samples.attachments.title": "Attachments",
|
|
45
|
+
"design_system.gallery.samples.billingDetails": "Billing details",
|
|
46
|
+
"design_system.gallery.samples.createdAt": "Created {date}",
|
|
47
|
+
"design_system.gallery.samples.entityType": "Company",
|
|
48
|
+
"design_system.gallery.samples.listDescription": "Currencies available to your organization",
|
|
49
|
+
"design_system.gallery.samples.notes.add": "Add note",
|
|
50
|
+
"design_system.gallery.samples.notes.empty": "No notes yet",
|
|
51
|
+
"design_system.gallery.samples.notes.emptyTitle": "Capture the first note",
|
|
40
52
|
"design_system.gallery.searchPlaceholder": "Search components…",
|
|
41
53
|
"design_system.gallery.usageDo": "Do",
|
|
42
54
|
"design_system.gallery.usageDont": "Don't",
|
|
@@ -37,6 +37,18 @@
|
|
|
37
37
|
"design_system.gallery.noResults": "Ningún componente coincide con la búsqueda",
|
|
38
38
|
"design_system.gallery.openInFigma": "Abrir en Figma",
|
|
39
39
|
"design_system.gallery.retry": "Reintentar",
|
|
40
|
+
"design_system.gallery.samples.addresses.empty": "Aún no hay direcciones",
|
|
41
|
+
"design_system.gallery.samples.addresses.emptyTitle": "Añade la primera dirección",
|
|
42
|
+
"design_system.gallery.samples.addresses.title": "Direcciones",
|
|
43
|
+
"design_system.gallery.samples.attachments.description": "Archivos vinculados a este registro",
|
|
44
|
+
"design_system.gallery.samples.attachments.title": "Adjuntos",
|
|
45
|
+
"design_system.gallery.samples.billingDetails": "Datos de facturación",
|
|
46
|
+
"design_system.gallery.samples.createdAt": "Creado {date}",
|
|
47
|
+
"design_system.gallery.samples.entityType": "Empresa",
|
|
48
|
+
"design_system.gallery.samples.listDescription": "Monedas disponibles en tu organización",
|
|
49
|
+
"design_system.gallery.samples.notes.add": "Añadir nota",
|
|
50
|
+
"design_system.gallery.samples.notes.empty": "Aún no hay notas",
|
|
51
|
+
"design_system.gallery.samples.notes.emptyTitle": "Registra la primera nota",
|
|
40
52
|
"design_system.gallery.searchPlaceholder": "Buscar componentes…",
|
|
41
53
|
"design_system.gallery.usageDo": "Haz",
|
|
42
54
|
"design_system.gallery.usageDont": "Evita",
|
|
@@ -37,6 +37,18 @@
|
|
|
37
37
|
"design_system.gallery.noResults": "Żaden komponent nie pasuje do wyszukiwania",
|
|
38
38
|
"design_system.gallery.openInFigma": "Otwórz w Figmie",
|
|
39
39
|
"design_system.gallery.retry": "Spróbuj ponownie",
|
|
40
|
+
"design_system.gallery.samples.addresses.empty": "Nie ma jeszcze adresów",
|
|
41
|
+
"design_system.gallery.samples.addresses.emptyTitle": "Dodaj pierwszy adres",
|
|
42
|
+
"design_system.gallery.samples.addresses.title": "Adresy",
|
|
43
|
+
"design_system.gallery.samples.attachments.description": "Pliki powiązane z tym rekordem",
|
|
44
|
+
"design_system.gallery.samples.attachments.title": "Załączniki",
|
|
45
|
+
"design_system.gallery.samples.billingDetails": "Dane rozliczeniowe",
|
|
46
|
+
"design_system.gallery.samples.createdAt": "Utworzono {date}",
|
|
47
|
+
"design_system.gallery.samples.entityType": "Firma",
|
|
48
|
+
"design_system.gallery.samples.listDescription": "Waluty dostępne w Twojej organizacji",
|
|
49
|
+
"design_system.gallery.samples.notes.add": "Dodaj notatkę",
|
|
50
|
+
"design_system.gallery.samples.notes.empty": "Nie ma jeszcze notatek",
|
|
51
|
+
"design_system.gallery.samples.notes.emptyTitle": "Zapisz pierwszą notatkę",
|
|
40
52
|
"design_system.gallery.searchPlaceholder": "Szukaj komponentów…",
|
|
41
53
|
"design_system.gallery.usageDo": "Rób",
|
|
42
54
|
"design_system.gallery.usageDont": "Unikaj",
|
|
@@ -398,7 +398,7 @@ export function DictionaryEntrySelect({
|
|
|
398
398
|
labels={appearanceLabels ?? DEFAULT_APPEARANCE_LABELS}
|
|
399
399
|
/>
|
|
400
400
|
) : null}
|
|
401
|
-
{formError ? <p className="text-sm text-
|
|
401
|
+
{formError ? <p className="text-sm text-status-error-text">{formError}</p> : null}
|
|
402
402
|
</div>
|
|
403
403
|
<DialogFooter>
|
|
404
404
|
<Button type="button" variant="outline" onClick={() => setDialogOpen(false)} disabled={saving}>
|
|
@@ -31,11 +31,11 @@ type EmailListResponse = {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
const STATUS_COLORS: Record<string, string> = {
|
|
34
|
-
received: 'bg-
|
|
35
|
-
processing: 'bg-
|
|
36
|
-
processed: 'bg-
|
|
37
|
-
needs_review: 'bg-
|
|
38
|
-
failed: 'bg-
|
|
34
|
+
received: 'bg-status-info-bg text-status-info-text',
|
|
35
|
+
processing: 'bg-status-neutral-bg text-status-neutral-text',
|
|
36
|
+
processed: 'bg-status-success-bg text-status-success-text',
|
|
37
|
+
needs_review: 'bg-status-warning-bg text-status-warning-text',
|
|
38
|
+
failed: 'bg-status-error-bg text-status-error-text',
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
export default function ProcessingLogPage() {
|
|
@@ -141,7 +141,7 @@ export default function ProcessingLogPage() {
|
|
|
141
141
|
accessorKey: 'processingError',
|
|
142
142
|
header: t('inbox_ops.extraction_failed', 'Error'),
|
|
143
143
|
cell: ({ row }) => (
|
|
144
|
-
<span className="text-xs text-
|
|
144
|
+
<span className="text-xs text-status-error-text truncate max-w-[280px] block">
|
|
145
145
|
{row.original.processingError || '-'}
|
|
146
146
|
</span>
|
|
147
147
|
),
|
|
@@ -123,10 +123,10 @@ function ContactPayloadEditor({
|
|
|
123
123
|
setLastName(event.target.value)
|
|
124
124
|
updatePersonName(firstName, event.target.value)
|
|
125
125
|
}}
|
|
126
|
-
className={lastNameMissing ? 'border-
|
|
126
|
+
className={lastNameMissing ? 'border-status-error-border' : ''}
|
|
127
127
|
/>
|
|
128
128
|
{lastNameMissing && (
|
|
129
|
-
<p className="text-xs text-
|
|
129
|
+
<p className="text-xs text-status-error-text mt-1">{t('inbox_ops.contact.last_name_required', 'Last name is required')}</p>
|
|
130
130
|
)}
|
|
131
131
|
</div>
|
|
132
132
|
</>
|
|
@@ -546,7 +546,7 @@ export function EditActionDialog({
|
|
|
546
546
|
setJsonError(null)
|
|
547
547
|
}}
|
|
548
548
|
/>
|
|
549
|
-
{jsonError && <p className="text-xs text-
|
|
549
|
+
{jsonError && <p className="text-xs text-status-error-text">{t('inbox_ops.edit_dialog.invalid_json', 'Invalid JSON')}</p>}
|
|
550
550
|
</div>
|
|
551
551
|
)}
|
|
552
552
|
|
|
@@ -1666,7 +1666,7 @@ export function AvailabilityRulesEditor({
|
|
|
1666
1666
|
) : (
|
|
1667
1667
|
windows.map((window, windowIndex) => {
|
|
1668
1668
|
const windowError = weeklyWindowErrors[index]?.[windowIndex] ?? null
|
|
1669
|
-
const errorClass = windowError ? 'border-
|
|
1669
|
+
const errorClass = windowError ? 'border-status-error-border aria-invalid:ring-destructive' : ''
|
|
1670
1670
|
return (
|
|
1671
1671
|
<div key={`${day.code}-${windowIndex}`} className="space-y-1">
|
|
1672
1672
|
<div className="flex flex-wrap items-center gap-2">
|
|
@@ -1697,7 +1697,7 @@ export function AvailabilityRulesEditor({
|
|
|
1697
1697
|
</Button>
|
|
1698
1698
|
</div>
|
|
1699
1699
|
{windowError ? (
|
|
1700
|
-
<div className="text-xs text-
|
|
1700
|
+
<div className="text-xs text-status-error-text">{windowError}</div>
|
|
1701
1701
|
) : null}
|
|
1702
1702
|
</div>
|
|
1703
1703
|
)
|
|
@@ -1985,7 +1985,7 @@ export function AvailabilityRulesEditor({
|
|
|
1985
1985
|
<label className="text-xs font-medium text-muted-foreground">{listLabels.windowsLabel}</label>
|
|
1986
1986
|
{editorWindows.map((window, index) => {
|
|
1987
1987
|
const windowError = editorWindowErrors[index] ?? null
|
|
1988
|
-
const errorClass = windowError ? 'border-
|
|
1988
|
+
const errorClass = windowError ? 'border-status-error-border aria-invalid:ring-destructive' : ''
|
|
1989
1989
|
return (
|
|
1990
1990
|
<div key={`${index}-${window.start}`} className="space-y-1">
|
|
1991
1991
|
<div className="flex flex-wrap items-center gap-2">
|
|
@@ -2013,7 +2013,7 @@ export function AvailabilityRulesEditor({
|
|
|
2013
2013
|
</Button>
|
|
2014
2014
|
</div>
|
|
2015
2015
|
{windowError ? (
|
|
2016
|
-
<div className="text-xs text-
|
|
2016
|
+
<div className="text-xs text-status-error-text">{windowError}</div>
|
|
2017
2017
|
) : null}
|
|
2018
2018
|
</div>
|
|
2019
2019
|
)
|
|
@@ -47,7 +47,7 @@ export const PackageEditor = (props: PackageEditorProps) => {
|
|
|
47
47
|
type="button"
|
|
48
48
|
variant="ghost"
|
|
49
49
|
size="sm"
|
|
50
|
-
className="h-auto px-2 py-0.5 text-xs text-
|
|
50
|
+
className="h-auto px-2 py-0.5 text-xs text-destructive hover:text-destructive/80"
|
|
51
51
|
onClick={() => removePackage(index)}
|
|
52
52
|
disabled={disabled}
|
|
53
53
|
>
|
|
@@ -453,7 +453,7 @@ export default function WorkflowDefinitionsListPage() {
|
|
|
453
453
|
<Button variant="outline" onClick={() => setDeleteTarget(null)}>
|
|
454
454
|
{t('common.cancel')}
|
|
455
455
|
</Button>
|
|
456
|
-
<Button variant="destructive" onClick={confirmDelete}>
|
|
456
|
+
<Button variant="destructive-solid" onClick={confirmDelete}>
|
|
457
457
|
<Trash2/>
|
|
458
458
|
{t('common.delete')}
|
|
459
459
|
</Button>
|
|
@@ -688,7 +688,7 @@ export default function VisualEditorPage() {
|
|
|
688
688
|
</DialogHeader>
|
|
689
689
|
<DialogFooter>
|
|
690
690
|
<Button variant="outline" onClick={() => setShowClearConfirm(false)}>{t('common.cancel', 'Cancel')}</Button>
|
|
691
|
-
<Button variant="destructive" onClick={confirmClear}>{t('common.clear', 'Clear')}</Button>
|
|
691
|
+
<Button variant="destructive-solid" onClick={confirmClear}>{t('common.clear', 'Clear')}</Button>
|
|
692
692
|
</DialogFooter>
|
|
693
693
|
</DialogContent>
|
|
694
694
|
</Dialog>
|
|
@@ -148,19 +148,19 @@ export default function WorkflowInstancesListPage() {
|
|
|
148
148
|
const getStatusBadgeClass = (status: WorkflowInstance['status']) => {
|
|
149
149
|
switch (status) {
|
|
150
150
|
case 'RUNNING':
|
|
151
|
-
return 'bg-
|
|
151
|
+
return 'bg-status-info-bg text-status-info-text'
|
|
152
152
|
case 'PAUSED':
|
|
153
|
-
return 'bg-
|
|
153
|
+
return 'bg-status-warning-bg text-status-warning-text'
|
|
154
154
|
case 'COMPLETED':
|
|
155
|
-
return 'bg-
|
|
155
|
+
return 'bg-status-success-bg text-status-success-text'
|
|
156
156
|
case 'FAILED':
|
|
157
|
-
return 'bg-
|
|
157
|
+
return 'bg-status-error-bg text-status-error-text'
|
|
158
158
|
case 'CANCELLED':
|
|
159
159
|
return 'bg-muted text-foreground'
|
|
160
160
|
case 'COMPENSATING':
|
|
161
|
-
return 'bg-
|
|
161
|
+
return 'bg-status-warning-bg text-status-warning-text'
|
|
162
162
|
case 'COMPENSATED':
|
|
163
|
-
return 'bg-
|
|
163
|
+
return 'bg-status-neutral-bg text-status-neutral-text'
|
|
164
164
|
default:
|
|
165
165
|
return 'bg-muted text-muted-foreground'
|
|
166
166
|
}
|
|
@@ -268,7 +268,7 @@ export default function WorkflowInstancesListPage() {
|
|
|
268
268
|
header: t('workflows.instances.fields.retryCount'),
|
|
269
269
|
accessorKey: 'retryCount',
|
|
270
270
|
cell: ({ row }) => (
|
|
271
|
-
<span className={`text-sm ${row.original.retryCount > 0 ? 'text-
|
|
271
|
+
<span className={`text-sm ${row.original.retryCount > 0 ? 'text-status-warning-text font-medium' : 'text-muted-foreground'}`}>
|
|
272
272
|
{row.original.retryCount}
|
|
273
273
|
</span>
|
|
274
274
|
),
|
|
@@ -311,7 +311,7 @@ export default function WorkflowInstancesListPage() {
|
|
|
311
311
|
<Page>
|
|
312
312
|
<PageBody>
|
|
313
313
|
<div className="p-8 text-center">
|
|
314
|
-
<p className="text-
|
|
314
|
+
<p className="text-status-error-text">{t('workflows.instances.messages.loadFailed')}</p>
|
|
315
315
|
<Button onClick={() => queryClient.invalidateQueries({ queryKey: ['workflow-instances'] })} className="mt-4">
|
|
316
316
|
{t('common.retry')}
|
|
317
317
|
</Button>
|
|
@@ -135,11 +135,11 @@ export default function UserTasksListPage() {
|
|
|
135
135
|
const getStatusBadgeClass = (status: UserTaskStatus) => {
|
|
136
136
|
switch (status) {
|
|
137
137
|
case 'PENDING':
|
|
138
|
-
return 'bg-
|
|
138
|
+
return 'bg-status-warning-bg text-status-warning-text'
|
|
139
139
|
case 'IN_PROGRESS':
|
|
140
|
-
return 'bg-
|
|
140
|
+
return 'bg-status-info-bg text-status-info-text'
|
|
141
141
|
case 'COMPLETED':
|
|
142
|
-
return 'bg-
|
|
142
|
+
return 'bg-status-success-bg text-status-success-text'
|
|
143
143
|
case 'CANCELLED':
|
|
144
144
|
return 'bg-muted text-foreground'
|
|
145
145
|
default:
|
|
@@ -207,7 +207,7 @@ export default function UserTasksListPage() {
|
|
|
207
207
|
</div>
|
|
208
208
|
)}
|
|
209
209
|
{isOverdue(row.original) && (
|
|
210
|
-
<div className="text-xs text-
|
|
210
|
+
<div className="text-xs text-status-error-text font-medium mt-1">
|
|
211
211
|
{t('workflows.tasks.overdue')}
|
|
212
212
|
</div>
|
|
213
213
|
)}
|
|
@@ -259,7 +259,7 @@ export default function UserTasksListPage() {
|
|
|
259
259
|
const dueDate = new Date(row.original.dueDate)
|
|
260
260
|
const overdue = isOverdue(row.original)
|
|
261
261
|
return (
|
|
262
|
-
<div className={`text-sm ${overdue ? 'text-
|
|
262
|
+
<div className={`text-sm ${overdue ? 'text-status-error-text font-medium' : 'text-foreground'}`}>
|
|
263
263
|
{dueDate.toLocaleString()}
|
|
264
264
|
</div>
|
|
265
265
|
)
|
|
@@ -320,7 +320,7 @@ export default function UserTasksListPage() {
|
|
|
320
320
|
<Page>
|
|
321
321
|
<PageBody>
|
|
322
322
|
<div className="p-8 text-center">
|
|
323
|
-
<p className="text-
|
|
323
|
+
<p className="text-status-error-text">{t('workflows.tasks.messages.loadFailed')}</p>
|
|
324
324
|
<Button onClick={() => queryClient.invalidateQueries({ queryKey: ['workflow-tasks'] })} className="mt-4">
|
|
325
325
|
{t('common.retry')}
|
|
326
326
|
</Button>
|
|
@@ -184,7 +184,7 @@ export function ActivitiesEditor({ value = [], onChange, error }: ActivitiesEdit
|
|
|
184
184
|
<p className="text-sm text-muted-foreground">
|
|
185
185
|
{t('workflows.form.descriptions.activities')}
|
|
186
186
|
</p>
|
|
187
|
-
{error && <p className="text-sm text-
|
|
187
|
+
{error && <p className="text-sm text-status-error-text mt-1">{error}</p>}
|
|
188
188
|
</div>
|
|
189
189
|
<Button type="button" onClick={addActivity} variant="outline" size="sm" className="w-full sm:w-auto">
|
|
190
190
|
<Plus className="h-4 w-4 mr-1" />
|
|
@@ -257,7 +257,7 @@ export function ActivitiesEditor({ value = [], onChange, error }: ActivitiesEdit
|
|
|
257
257
|
onClick={() => removeActivity(index)}
|
|
258
258
|
title={t('common.delete')}
|
|
259
259
|
>
|
|
260
|
-
<Trash2 className="h-4 w-4 text-
|
|
260
|
+
<Trash2 className="h-4 w-4 text-destructive" />
|
|
261
261
|
</Button>
|
|
262
262
|
</div>
|
|
263
263
|
</div>
|
|
@@ -287,7 +287,7 @@ export function BusinessRulesSelector({
|
|
|
287
287
|
</Badge>
|
|
288
288
|
)}
|
|
289
289
|
{rule.enabled ? (
|
|
290
|
-
<Badge variant="default" className="bg-
|
|
290
|
+
<Badge variant="default" className="bg-status-success-solid text-status-success-solid-foreground text-xs">
|
|
291
291
|
Enabled
|
|
292
292
|
</Badge>
|
|
293
293
|
) : (
|
|
@@ -285,7 +285,7 @@ export function DefinitionTriggersEditor({
|
|
|
285
285
|
<div className="rounded-lg border bg-card p-3 md:p-4">
|
|
286
286
|
<div className="flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between mb-4">
|
|
287
287
|
<div className="flex items-center gap-2">
|
|
288
|
-
<Zap className="w-5 h-5 text-
|
|
288
|
+
<Zap className="w-5 h-5 text-status-warning-icon" />
|
|
289
289
|
<h3 className="text-sm font-semibold uppercase text-muted-foreground">
|
|
290
290
|
{t('workflows.triggers.title', 'Event Triggers')}
|
|
291
291
|
</h3>
|
|
@@ -567,7 +567,7 @@ export function DefinitionTriggersEditor({
|
|
|
567
567
|
{t('common.cancel', 'Cancel')}
|
|
568
568
|
</Button>
|
|
569
569
|
<Button
|
|
570
|
-
variant="destructive"
|
|
570
|
+
variant="destructive-solid"
|
|
571
571
|
onClick={() => deleteConfirmId && handleDelete(deleteConfirmId)}
|
|
572
572
|
>
|
|
573
573
|
{t('common.delete', 'Delete')}
|
|
@@ -241,9 +241,8 @@ export function EdgeEditDialogCrudForm({ edge, isOpen, onClose, onSave, onDelete
|
|
|
241
241
|
extraActions={
|
|
242
242
|
<Button
|
|
243
243
|
type="button"
|
|
244
|
-
variant="
|
|
244
|
+
variant="destructive"
|
|
245
245
|
onClick={handleDelete}
|
|
246
|
-
className="text-red-600 border-red-200 hover:bg-red-50"
|
|
247
246
|
>
|
|
248
247
|
<Trash2 className="size-4 mr-2" />
|
|
249
248
|
Delete Transition
|
|
@@ -494,9 +494,8 @@ export function NodeEditDialogCrudForm({ node, isOpen, onClose, onSave, onDelete
|
|
|
494
494
|
canDelete ? (
|
|
495
495
|
<Button
|
|
496
496
|
type="button"
|
|
497
|
-
variant="
|
|
497
|
+
variant="destructive"
|
|
498
498
|
onClick={handleDelete}
|
|
499
|
-
className="text-red-600 border-red-200 hover:bg-red-50"
|
|
500
499
|
>
|
|
501
500
|
<Trash2 className="size-4 mr-2" />
|
|
502
501
|
Delete Step
|
|
@@ -89,7 +89,7 @@ export function StepsEditor({ value = [], onChange, error }: StepsEditorProps) {
|
|
|
89
89
|
<p className="text-sm text-muted-foreground">
|
|
90
90
|
{t('workflows.form.descriptions.steps')}
|
|
91
91
|
</p>
|
|
92
|
-
{error && <p className="text-sm text-
|
|
92
|
+
{error && <p className="text-sm text-status-error-text mt-1">{error}</p>}
|
|
93
93
|
</div>
|
|
94
94
|
<Button type="button" onClick={addStep} variant="outline" size="sm" className="w-full sm:w-auto">
|
|
95
95
|
<Plus className="h-4 w-4 mr-1" />
|
|
@@ -162,7 +162,7 @@ export function StepsEditor({ value = [], onChange, error }: StepsEditorProps) {
|
|
|
162
162
|
onClick={() => removeStep(index)}
|
|
163
163
|
title={t('common.delete')}
|
|
164
164
|
>
|
|
165
|
-
<Trash2 className="h-4 w-4 text-
|
|
165
|
+
<Trash2 className="h-4 w-4 text-destructive" />
|
|
166
166
|
</Button>
|
|
167
167
|
</div>
|
|
168
168
|
</div>
|
|
@@ -227,7 +227,7 @@ export function TransitionsEditor({ value = [], onChange, steps = [], error }: T
|
|
|
227
227
|
<p className="text-sm text-muted-foreground">
|
|
228
228
|
{t('workflows.form.descriptions.transitions')}
|
|
229
229
|
</p>
|
|
230
|
-
{error && <p className="text-sm text-
|
|
230
|
+
{error && <p className="text-sm text-status-error-text mt-1">{error}</p>}
|
|
231
231
|
</div>
|
|
232
232
|
<Button type="button" onClick={addTransition} variant="outline" size="sm" className="w-full sm:w-auto">
|
|
233
233
|
<Plus className="h-4 w-4 mr-1" />
|
|
@@ -300,7 +300,7 @@ export function TransitionsEditor({ value = [], onChange, steps = [], error }: T
|
|
|
300
300
|
onClick={() => removeTransition(index)}
|
|
301
301
|
title={t('common.delete')}
|
|
302
302
|
>
|
|
303
|
-
<Trash2 className="h-4 w-4 text-
|
|
303
|
+
<Trash2 className="h-4 w-4 text-destructive" />
|
|
304
304
|
</Button>
|
|
305
305
|
</div>
|
|
306
306
|
</div>
|
|
@@ -480,7 +480,7 @@ export function TransitionsEditor({ value = [], onChange, steps = [], error }: T
|
|
|
480
480
|
onClick={() => removeActivity(index, activityIndex)}
|
|
481
481
|
title={t('common.delete')}
|
|
482
482
|
>
|
|
483
|
-
<Trash2 className="h-3 w-3 text-
|
|
483
|
+
<Trash2 className="h-3 w-3 text-destructive" />
|
|
484
484
|
</Button>
|
|
485
485
|
</div>
|
|
486
486
|
</div>
|
|
@@ -46,7 +46,7 @@ export function WorkflowLegend() {
|
|
|
46
46
|
</h3>
|
|
47
47
|
<div className="space-y-2">
|
|
48
48
|
<div className="flex items-center gap-2">
|
|
49
|
-
<div className="flex-shrink-0 w-8 h-0.5 bg-
|
|
49
|
+
<div className="flex-shrink-0 w-8 h-0.5 bg-status-success-solid"></div>
|
|
50
50
|
<span className="text-xs text-muted-foreground">{t('workflows.legend.edgeState.completed')}</span>
|
|
51
51
|
</div>
|
|
52
52
|
<div className="flex items-center gap-2">
|
|
@@ -253,7 +253,7 @@ export function WorkflowSelector({
|
|
|
253
253
|
v{workflow.version}
|
|
254
254
|
</Badge>
|
|
255
255
|
{workflow.enabled ? (
|
|
256
|
-
<Badge variant="default" className="bg-
|
|
256
|
+
<Badge variant="default" className="bg-status-success-solid text-status-success-solid-foreground text-xs">
|
|
257
257
|
Enabled
|
|
258
258
|
</Badge>
|
|
259
259
|
) : (
|
|
@@ -241,7 +241,7 @@ export function BusinessRuleConditionsEditor({
|
|
|
241
241
|
disabled={disabled}
|
|
242
242
|
className="ml-2 flex-shrink-0"
|
|
243
243
|
>
|
|
244
|
-
<Trash2 className="size-4 text-
|
|
244
|
+
<Trash2 className="size-4 text-destructive" />
|
|
245
245
|
</Button>
|
|
246
246
|
}
|
|
247
247
|
title={t('workflows.fieldEditors.businessRuleConditions.removeCondition')}
|
|
@@ -118,7 +118,7 @@ export function FormFieldArrayEditor({
|
|
|
118
118
|
<p className="text-xs text-muted-foreground mt-0.5">
|
|
119
119
|
{t('workflows.fieldEditors.formFields.description')}
|
|
120
120
|
</p>
|
|
121
|
-
{error && <p className="text-xs text-
|
|
121
|
+
{error && <p className="text-xs text-status-error-text mt-1">{error}</p>}
|
|
122
122
|
</div>
|
|
123
123
|
<Button
|
|
124
124
|
type="button"
|
|
@@ -103,7 +103,7 @@ export function MappingArrayEditor({
|
|
|
103
103
|
<p className="text-xs text-muted-foreground mt-0.5">
|
|
104
104
|
{description}
|
|
105
105
|
</p>
|
|
106
|
-
{error && <p className="text-xs text-
|
|
106
|
+
{error && <p className="text-xs text-status-error-text mt-1">{error}</p>}
|
|
107
107
|
</div>
|
|
108
108
|
<Button
|
|
109
109
|
type="button"
|
|
@@ -332,7 +332,7 @@ export function StartPreConditionsEditor({
|
|
|
332
332
|
title={t('workflows.common.delete')}
|
|
333
333
|
disabled={disabled}
|
|
334
334
|
>
|
|
335
|
-
<Trash2 className="h-4 w-4 text-
|
|
335
|
+
<Trash2 className="h-4 w-4 text-destructive" />
|
|
336
336
|
</Button>
|
|
337
337
|
}
|
|
338
338
|
title={t('workflows.fieldEditors.preConditions.removePreCondition')}
|
|
@@ -128,7 +128,7 @@ export function WorkflowSelectorField({
|
|
|
128
128
|
<p className="text-xs text-muted-foreground mt-0.5">
|
|
129
129
|
{description}
|
|
130
130
|
</p>
|
|
131
|
-
{error && <p className="text-xs text-
|
|
131
|
+
{error && <p className="text-xs text-status-error-text mt-1">{error}</p>}
|
|
132
132
|
</div>
|
|
133
133
|
|
|
134
134
|
{!workflowId ? (
|
|
@@ -159,10 +159,10 @@ export function WorkflowSelectorField({
|
|
|
159
159
|
) : workflowDetails?.error ? (
|
|
160
160
|
<>
|
|
161
161
|
<div className="flex items-center gap-2">
|
|
162
|
-
<AlertCircle className="size-4 text-
|
|
162
|
+
<AlertCircle className="size-4 text-status-warning-text" />
|
|
163
163
|
<span className="text-sm font-semibold text-gray-900">{workflowId}</span>
|
|
164
164
|
</div>
|
|
165
|
-
<p className="text-xs text-
|
|
165
|
+
<p className="text-xs text-status-warning-text">{t('workflows.common.workflowNotFoundOrUnavailable')}</p>
|
|
166
166
|
</>
|
|
167
167
|
) : (
|
|
168
168
|
<>
|
|
@@ -178,7 +178,7 @@ export function WorkflowSelectorField({
|
|
|
178
178
|
)}
|
|
179
179
|
{workflowDetails?.enabled !== undefined && (
|
|
180
180
|
workflowDetails.enabled ? (
|
|
181
|
-
<Badge variant="default" className="bg-
|
|
181
|
+
<Badge variant="default" className="bg-status-success-solid text-status-success-solid-foreground text-xs">
|
|
182
182
|
{t('common.enabled')}
|
|
183
183
|
</Badge>
|
|
184
184
|
) : (
|