@open-mercato/ui 0.8.1-develop.7296.1.2111d779db → 0.9.0
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/backend/CrudForm.js +19 -6
- package/dist/backend/CrudForm.js.map +2 -2
- package/dist/backend/DataTable.js +62 -10
- package/dist/backend/DataTable.js.map +2 -2
- package/dist/backend/RowActions.js +54 -5
- package/dist/backend/RowActions.js.map +2 -2
- package/dist/backend/charts/KpiCard.js +2 -1
- package/dist/backend/charts/KpiCard.js.map +2 -2
- package/dist/backend/detail/AttachmentsSection.js +17 -5
- package/dist/backend/detail/AttachmentsSection.js.map +2 -2
- package/dist/backend/detail/NotesSection.js +38 -20
- package/dist/backend/detail/NotesSection.js.map +2 -2
- package/dist/backend/dev/DevRuntimeDiagnosticsBanner.js +11 -1
- package/dist/backend/dev/DevRuntimeDiagnosticsBanner.js.map +2 -2
- package/dist/backend/icons/lucideRegistry.generated.js +26 -0
- package/dist/backend/icons/lucideRegistry.generated.js.map +2 -2
- package/dist/backend/injection/eventBridge.js +33 -0
- package/dist/backend/injection/eventBridge.js.map +2 -2
- package/dist/backend/inputs/LookupSelect.js +20 -3
- package/dist/backend/inputs/LookupSelect.js.map +2 -2
- package/dist/backend/inputs/PhoneNumberField.js +1 -1
- package/dist/backend/inputs/PhoneNumberField.js.map +2 -2
- package/dist/backend/inputs/TagsInput.js +20 -2
- package/dist/backend/inputs/TagsInput.js.map +2 -2
- package/dist/backend/messages/EmailThreadsPanel.js +2 -1
- package/dist/backend/messages/EmailThreadsPanel.js.map +2 -2
- package/dist/backend/messages/MessageComposer.js.map +2 -2
- package/dist/backend/messages/index.js.map +2 -2
- package/dist/backend/messages/message-compose-form-groups.js +24 -0
- package/dist/backend/messages/message-compose-form-groups.js.map +2 -2
- package/dist/backend/messages/useMessageCompose.js +27 -0
- package/dist/backend/messages/useMessageCompose.js.map +2 -2
- package/dist/backend/messages/useMessageComposeOperations.js +1 -0
- package/dist/backend/messages/useMessageComposeOperations.js.map +2 -2
- package/dist/backend/notifications/NotificationItem.js +8 -1
- package/dist/backend/notifications/NotificationItem.js.map +2 -2
- package/dist/portal/PortalShell.js +2 -2
- package/dist/portal/PortalShell.js.map +2 -2
- package/dist/primitives/calendar.js +69 -14
- package/dist/primitives/calendar.js.map +2 -2
- package/package.json +4 -5
- package/src/backend/CrudForm.tsx +30 -8
- package/src/backend/DataTable.tsx +95 -20
- package/src/backend/RowActions.tsx +114 -6
- package/src/backend/__tests__/AttachmentsSection.upload.test.tsx +183 -0
- package/src/backend/__tests__/CrudForm.fieldInjection.test.tsx +139 -2
- package/src/backend/__tests__/CrudForm.hiddenGroups.test.tsx +1 -1
- package/src/backend/__tests__/DataTable.extensions.test.tsx +30 -0
- package/src/backend/__tests__/DataTable.perspectiveReconcile.test.tsx +320 -2
- package/src/backend/__tests__/DataTable.stickyResponsive.test.tsx +19 -0
- package/src/backend/__tests__/DevRuntimeDiagnosticsBanner.test.tsx +117 -0
- package/src/backend/__tests__/NotesSection.test.tsx +138 -0
- package/src/backend/__tests__/RowActions.test.tsx +202 -0
- package/src/backend/charts/KpiCard.tsx +1 -0
- package/src/backend/charts/__tests__/KpiCard.test.tsx +20 -0
- package/src/backend/detail/AttachmentsSection.tsx +17 -5
- package/src/backend/detail/NotesSection.tsx +122 -66
- package/src/backend/dev/DevRuntimeDiagnosticsBanner.tsx +24 -1
- package/src/backend/icons/lucideRegistry.generated.tsx +26 -0
- package/src/backend/injection/__tests__/eventBridge.test.tsx +47 -1
- package/src/backend/injection/eventBridge.ts +35 -0
- package/src/backend/inputs/LookupSelect.tsx +32 -3
- package/src/backend/inputs/PhoneNumberField.tsx +1 -1
- package/src/backend/inputs/TagsInput.tsx +24 -3
- package/src/backend/inputs/__tests__/LookupSelect.test.tsx +166 -1
- package/src/backend/inputs/__tests__/PhoneNumberField.typeahead.test.tsx +43 -0
- package/src/backend/inputs/__tests__/TagsInput.test.tsx +81 -0
- package/src/backend/messages/EmailThreadsPanel.tsx +21 -1
- package/src/backend/messages/MessageComposer.tsx +1 -0
- package/src/backend/messages/__tests__/EmailThreadsPanel.senderLabel.test.tsx +99 -0
- package/src/backend/messages/__tests__/MessageComposer.test.tsx +44 -0
- package/src/backend/messages/__tests__/useMessageCompose.test.tsx +69 -0
- package/src/backend/messages/__tests__/useMessageComposeSender.test.tsx +208 -0
- package/src/backend/messages/index.ts +1 -0
- package/src/backend/messages/message-compose-form-groups.tsx +41 -0
- package/src/backend/messages/message-composer.types.ts +26 -0
- package/src/backend/messages/useMessageCompose.ts +46 -0
- package/src/backend/messages/useMessageComposeOperations.ts +8 -0
- package/src/backend/notifications/NotificationItem.tsx +7 -0
- package/src/backend/notifications/__tests__/NotificationItem.customRenderer.test.tsx +139 -0
- package/src/portal/PortalShell.tsx +7 -4
- package/src/portal/__tests__/PortalShell.test.tsx +29 -1
- package/src/primitives/__tests__/calendar.test.tsx +174 -1
- package/src/primitives/calendar.tsx +168 -96
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
Generated lucide registry with
|
|
1
|
+
Generated lucide registry with 182 icons -> /home/runner/work/open-mercato/open-mercato/packages/ui/src/backend/icons/lucideRegistry.generated.tsx
|
|
2
2
|
[build:ui] found 452 entry points
|
|
3
3
|
[build:ui] built successfully
|
package/dist/backend/CrudForm.js
CHANGED
|
@@ -1422,6 +1422,19 @@ function CrudForm({
|
|
|
1422
1422
|
() => new Set(injectedFieldDefinitions.map((definition) => definition.id)),
|
|
1423
1423
|
[injectedFieldDefinitions]
|
|
1424
1424
|
);
|
|
1425
|
+
const hostFieldIdSet = React.useMemo(() => {
|
|
1426
|
+
const ids = new Set(fields.map((field) => field.id));
|
|
1427
|
+
for (const group of groups ?? []) {
|
|
1428
|
+
for (const entry of group.fields ?? []) {
|
|
1429
|
+
if (typeof entry !== "string") ids.add(entry.id);
|
|
1430
|
+
}
|
|
1431
|
+
}
|
|
1432
|
+
return ids;
|
|
1433
|
+
}, [fields, groups]);
|
|
1434
|
+
const injectedOnlyFieldIdSet = React.useMemo(
|
|
1435
|
+
() => new Set(Array.from(injectedFieldIdSet).filter((id) => !hostFieldIdSet.has(id))),
|
|
1436
|
+
[injectedFieldIdSet, hostFieldIdSet]
|
|
1437
|
+
);
|
|
1425
1438
|
const injectedCrudFields = React.useMemo(() => {
|
|
1426
1439
|
return injectedFieldDefinitions.map((definition) => {
|
|
1427
1440
|
const injectedFieldRendersOwnLabel = !(definition.type === "custom" && definition.customComponent);
|
|
@@ -1472,13 +1485,13 @@ function CrudForm({
|
|
|
1472
1485
|
for (const field of allFields) {
|
|
1473
1486
|
const fieldId = field.id;
|
|
1474
1487
|
if (!fieldId.includes(".")) continue;
|
|
1475
|
-
if (
|
|
1488
|
+
if (injectedOnlyFieldIdSet.has(fieldId)) continue;
|
|
1476
1489
|
if (fieldId.startsWith("cf_") || fieldId.startsWith("cf:")) continue;
|
|
1477
1490
|
if (cfFieldIds.has(fieldId)) continue;
|
|
1478
1491
|
ids.add(fieldId);
|
|
1479
1492
|
}
|
|
1480
1493
|
return ids;
|
|
1481
|
-
}, [allFields,
|
|
1494
|
+
}, [allFields, injectedOnlyFieldIdSet, cfFields]);
|
|
1482
1495
|
const validateFieldOnBlur = React.useCallback(async (fieldId, sourceValues) => {
|
|
1483
1496
|
if (formReadOnly) return;
|
|
1484
1497
|
const field = fieldById.get(fieldId);
|
|
@@ -1528,7 +1541,7 @@ function CrudForm({
|
|
|
1528
1541
|
delete widgetValues[hiddenId];
|
|
1529
1542
|
}
|
|
1530
1543
|
const coreValues = { ...widgetValues };
|
|
1531
|
-
for (const injectedId of
|
|
1544
|
+
for (const injectedId of injectedOnlyFieldIdSet) {
|
|
1532
1545
|
delete coreValues[injectedId];
|
|
1533
1546
|
}
|
|
1534
1547
|
const result = schema.safeParse(collapseDotPathFields(coreValues, dotPathBaseFieldIds));
|
|
@@ -1566,7 +1579,7 @@ function CrudForm({
|
|
|
1566
1579
|
hiddenBaseFieldIds,
|
|
1567
1580
|
hiddenGroupFieldIds,
|
|
1568
1581
|
hiddenInjectedFieldIds,
|
|
1569
|
-
|
|
1582
|
+
injectedOnlyFieldIdSet,
|
|
1570
1583
|
mapDefsForValidation,
|
|
1571
1584
|
schema,
|
|
1572
1585
|
t,
|
|
@@ -2242,7 +2255,7 @@ function CrudForm({
|
|
|
2242
2255
|
delete widgetValues[hiddenId];
|
|
2243
2256
|
}
|
|
2244
2257
|
const coreValues = { ...widgetValues };
|
|
2245
|
-
for (const injectedId of
|
|
2258
|
+
for (const injectedId of injectedOnlyFieldIdSet) {
|
|
2246
2259
|
delete coreValues[injectedId];
|
|
2247
2260
|
}
|
|
2248
2261
|
if (customEntity) {
|
|
@@ -2280,7 +2293,7 @@ function CrudForm({
|
|
|
2280
2293
|
if (result.data) {
|
|
2281
2294
|
submitValues = result.data;
|
|
2282
2295
|
const projectedCoreValues = { ...result.data };
|
|
2283
|
-
for (const injectedId of
|
|
2296
|
+
for (const injectedId of injectedOnlyFieldIdSet) {
|
|
2284
2297
|
delete projectedCoreValues[injectedId];
|
|
2285
2298
|
}
|
|
2286
2299
|
if (customEntity) {
|