@open-mercato/ui 0.7.1-develop.7193.1.910a5b0a1e → 0.7.1-develop.7195.1.b5efd1d51a
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 +2 -2
- package/dist/backend/AppShell.js +66 -7
- package/dist/backend/AppShell.js.map +2 -2
- package/dist/backend/CrudForm.js +14 -8
- package/dist/backend/CrudForm.js.map +2 -2
- package/dist/backend/DataTable.js +108 -11
- package/dist/backend/DataTable.js.map +2 -2
- package/dist/backend/forms/ActionsDropdown.js +35 -5
- package/dist/backend/forms/ActionsDropdown.js.map +2 -2
- package/dist/backend/forms/index.js.map +2 -2
- package/dist/backend/icons/lucideRegistry.generated.js +6 -0
- package/dist/backend/icons/lucideRegistry.generated.js.map +2 -2
- package/dist/backend/injection/spotIds.js +2 -0
- package/dist/backend/injection/spotIds.js.map +2 -2
- package/dist/backend/inputs/DurationInput.js +182 -0
- package/dist/backend/inputs/DurationInput.js.map +7 -0
- package/dist/backend/inputs/EventSelect.js.map +2 -2
- package/dist/backend/inputs/index.js +1 -0
- package/dist/backend/inputs/index.js.map +2 -2
- package/dist/backend/nav/navBadges.js +38 -0
- package/dist/backend/nav/navBadges.js.map +7 -0
- package/dist/primitives/segmented-control.js +4 -4
- package/dist/primitives/segmented-control.js.map +1 -1
- package/dist/primitives/sheet.js +21 -11
- package/dist/primitives/sheet.js.map +2 -2
- package/dist/primitives/textarea.js +54 -4
- package/dist/primitives/textarea.js.map +2 -2
- package/package.json +3 -3
- package/src/backend/AppShell.tsx +106 -2
- package/src/backend/CrudForm.tsx +28 -9
- package/src/backend/DataTable.tsx +176 -22
- package/src/backend/__tests__/CrudForm.density.test.tsx +113 -0
- package/src/backend/__tests__/DataTable.propBulkActions.test.tsx +200 -0
- package/src/backend/__tests__/DataTable.render.test.tsx +76 -0
- package/src/backend/__tests__/navBadges.test.ts +57 -0
- package/src/backend/forms/ActionsDropdown.tsx +73 -6
- package/src/backend/forms/index.ts +1 -1
- package/src/backend/icons/lucideRegistry.generated.tsx +6 -0
- package/src/backend/injection/spotIds.ts +8 -0
- package/src/backend/inputs/DurationInput.tsx +207 -0
- package/src/backend/inputs/EventSelect.tsx +2 -0
- package/src/backend/inputs/__tests__/DurationInput.test.tsx +220 -0
- package/src/backend/inputs/index.ts +1 -0
- package/src/backend/nav/navBadges.ts +61 -0
- package/src/primitives/__tests__/segmented-control.test.tsx +2 -2
- package/src/primitives/__tests__/textarea.test.tsx +50 -0
- package/src/primitives/segmented-control.tsx +7 -7
- package/src/primitives/sheet.tsx +7 -1
- package/src/primitives/textarea.tsx +77 -4
package/dist/backend/CrudForm.js
CHANGED
|
@@ -381,6 +381,7 @@ function CrudForm({
|
|
|
381
381
|
loadingMessage,
|
|
382
382
|
customEntity = false,
|
|
383
383
|
embedded = false,
|
|
384
|
+
density = "default",
|
|
384
385
|
hideFooterActions = false,
|
|
385
386
|
trackDirtyWhenEmbedded = false,
|
|
386
387
|
onDirtyChange,
|
|
@@ -886,6 +887,11 @@ function CrudForm({
|
|
|
886
887
|
}, []);
|
|
887
888
|
const dialogFooterClass = isInDialog ? "sticky bottom-0 left-0 right-0 z-20 -mx-6 px-6 bg-card border-t border-border/70 py-2 sm:-mx-6 sm:px-6" : "";
|
|
888
889
|
const dialogFormPadding = "";
|
|
890
|
+
const isCompactDensity = density === "compact";
|
|
891
|
+
const densityStackLg = isCompactDensity ? "space-y-3" : "space-y-4";
|
|
892
|
+
const densityStackMd = isCompactDensity ? "space-y-2" : "space-y-3";
|
|
893
|
+
const densityCardPadding = isCompactDensity ? "p-3" : "p-4";
|
|
894
|
+
const densityGroupCardPadding = isCompactDensity ? "px-3 py-2" : "px-4 py-3";
|
|
889
895
|
const buildCustomFieldsManageHref = React.useCallback(
|
|
890
896
|
(targetEntityId) => {
|
|
891
897
|
if (!targetEntityId) return null;
|
|
@@ -2551,7 +2557,7 @@ function CrudForm({
|
|
|
2551
2557
|
const sectionKey = `${entityLayout.entityId}:${section.fieldsetCode ?? "default"}`;
|
|
2552
2558
|
const manageDisabled = !manageHref;
|
|
2553
2559
|
nodes.push(
|
|
2554
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
2560
|
+
/* @__PURE__ */ jsxs("div", { className: `rounded-lg border bg-card ${densityCardPadding} ${densityStackLg}`, children: [
|
|
2555
2561
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-3", children: [
|
|
2556
2562
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2", children: [
|
|
2557
2563
|
FieldsetIcon ? /* @__PURE__ */ jsx(FieldsetIcon, { className: "size-5 text-muted-foreground" }) : null,
|
|
@@ -2763,7 +2769,7 @@ function CrudForm({
|
|
|
2763
2769
|
errorCount: customFieldErrors,
|
|
2764
2770
|
fieldCount: customFieldCount,
|
|
2765
2771
|
chevronPosition: collapsibleChevronPosition,
|
|
2766
|
-
children: /* @__PURE__ */ jsx("div", { className:
|
|
2772
|
+
children: /* @__PURE__ */ jsx("div", { className: densityStackMd, children: customFieldsInnerNodes })
|
|
2767
2773
|
},
|
|
2768
2774
|
g.id
|
|
2769
2775
|
)
|
|
@@ -2812,14 +2818,14 @@ function CrudForm({
|
|
|
2812
2818
|
errorCount: groupErrorCount,
|
|
2813
2819
|
fieldCount: groupFields.length,
|
|
2814
2820
|
chevronPosition: collapsibleChevronPosition,
|
|
2815
|
-
children: /* @__PURE__ */ jsx("div", { className:
|
|
2821
|
+
children: /* @__PURE__ */ jsx("div", { className: densityStackMd, children: groupContent })
|
|
2816
2822
|
},
|
|
2817
2823
|
g.id
|
|
2818
2824
|
)
|
|
2819
2825
|
);
|
|
2820
2826
|
} else {
|
|
2821
2827
|
nodes.push(
|
|
2822
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
2828
|
+
/* @__PURE__ */ jsxs("div", { className: `rounded-lg border bg-card ${densityGroupCardPadding} ${densityStackMd}`, children: [
|
|
2823
2829
|
g.title ? /* @__PURE__ */ jsx("div", { className: "text-sm font-medium", children: t(g.title, g.title) }) : null,
|
|
2824
2830
|
groupContent
|
|
2825
2831
|
] }, g.id)
|
|
@@ -2862,7 +2868,7 @@ function CrudForm({
|
|
|
2862
2868
|
spinnerSize: "md",
|
|
2863
2869
|
className: embedded ? "min-h-[1px]" : "min-h-[400px]",
|
|
2864
2870
|
children: wrapFormBody(
|
|
2865
|
-
/* @__PURE__ */ jsxs("form", { id: formId, onSubmit: handleSubmit, className:
|
|
2871
|
+
/* @__PURE__ */ jsxs("form", { id: formId, onSubmit: handleSubmit, className: `${densityStackLg} ${dialogFormPadding}`, children: [
|
|
2866
2872
|
resolvedInjectionSpotId ? /* @__PURE__ */ jsx(
|
|
2867
2873
|
InjectionSpot,
|
|
2868
2874
|
{
|
|
@@ -2879,8 +2885,8 @@ function CrudForm({
|
|
|
2879
2885
|
{
|
|
2880
2886
|
className: hasSecondaryColumn ? "grid grid-cols-1 lg:grid-cols-[7fr_3fr] gap-4" : "grid grid-cols-1 gap-4",
|
|
2881
2887
|
children: [
|
|
2882
|
-
sortableGroupsEnabled ? /* @__PURE__ */ jsx(DndContext, { sensors: sortableSensors, collisionDetection: closestCenter, onDragEnd: handleGroupDragEnd, children: /* @__PURE__ */ jsx(SortableContext, { items: col1Ids, strategy: verticalListSortingStrategy, children: /* @__PURE__ */ jsx("div", { className:
|
|
2883
|
-
hasSecondaryColumn ? /* @__PURE__ */ jsx("div", { className:
|
|
2888
|
+
sortableGroupsEnabled ? /* @__PURE__ */ jsx(DndContext, { sensors: sortableSensors, collisionDetection: closestCenter, onDragEnd: handleGroupDragEnd, children: /* @__PURE__ */ jsx(SortableContext, { items: col1Ids, strategy: verticalListSortingStrategy, children: /* @__PURE__ */ jsx("div", { className: densityStackMd, children: col1Content }) }) }) : /* @__PURE__ */ jsx("div", { className: densityStackMd, children: col1Content }),
|
|
2889
|
+
hasSecondaryColumn ? /* @__PURE__ */ jsx("div", { className: densityStackMd, "data-crud-injection-region": true, children: col2Content }) : null
|
|
2884
2890
|
]
|
|
2885
2891
|
}
|
|
2886
2892
|
),
|
|
@@ -2945,7 +2951,7 @@ function CrudForm({
|
|
|
2945
2951
|
{
|
|
2946
2952
|
id: formId,
|
|
2947
2953
|
onSubmit: handleSubmit,
|
|
2948
|
-
className: `${embedded ?
|
|
2954
|
+
className: `${embedded ? densityStackLg : `rounded-lg border bg-card ${densityCardPadding} ${densityStackLg}`} ${dialogFormPadding}`,
|
|
2949
2955
|
children: [
|
|
2950
2956
|
resolvedInjectionSpotId ? /* @__PURE__ */ jsx(
|
|
2951
2957
|
InjectionSpot,
|