@almadar/ui 4.12.1 → 4.13.1
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/dist/avl/index.cjs +90 -12
- package/dist/avl/index.js +90 -12
- package/dist/components/index.cjs +53 -6
- package/dist/components/index.js +53 -6
- package/dist/components/molecules/DataGrid.d.ts +1 -1
- package/dist/components/molecules/DataList.d.ts +1 -1
- package/dist/providers/index.cjs +53 -6
- package/dist/providers/index.js +53 -6
- package/dist/runtime/index.cjs +90 -12
- package/dist/runtime/index.js +90 -12
- package/package.json +1 -1
package/dist/avl/index.cjs
CHANGED
|
@@ -11255,13 +11255,13 @@ var init_MapView = __esm({
|
|
|
11255
11255
|
shadowSize: [41, 41]
|
|
11256
11256
|
});
|
|
11257
11257
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
11258
|
-
const { useEffect:
|
|
11258
|
+
const { useEffect: useEffect88, useRef: useRef87, useCallback: useCallback125, useState: useState124 } = React128__namespace.default;
|
|
11259
11259
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
11260
11260
|
const { useEventBus: useEventBus3 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
11261
11261
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
11262
11262
|
const map = useMap();
|
|
11263
11263
|
const prevRef = useRef87({ centerLat, centerLng, zoom });
|
|
11264
|
-
|
|
11264
|
+
useEffect88(() => {
|
|
11265
11265
|
const prev = prevRef.current;
|
|
11266
11266
|
if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
|
|
11267
11267
|
map.setView([centerLat, centerLng], zoom);
|
|
@@ -11272,7 +11272,7 @@ var init_MapView = __esm({
|
|
|
11272
11272
|
}
|
|
11273
11273
|
function MapClickHandler({ onMapClick }) {
|
|
11274
11274
|
const map = useMap();
|
|
11275
|
-
|
|
11275
|
+
useEffect88(() => {
|
|
11276
11276
|
if (!onMapClick) return;
|
|
11277
11277
|
const handler = (e) => {
|
|
11278
11278
|
onMapClick(e.latlng.lat, e.latlng.lng);
|
|
@@ -22022,7 +22022,8 @@ function DataGrid({
|
|
|
22022
22022
|
loadMoreEvent,
|
|
22023
22023
|
hasMore,
|
|
22024
22024
|
children,
|
|
22025
|
-
pageSize = 0
|
|
22025
|
+
pageSize = 0,
|
|
22026
|
+
renderItem: schemaRenderItem
|
|
22026
22027
|
}) {
|
|
22027
22028
|
const eventBus = useEventBus();
|
|
22028
22029
|
const { t } = useTranslate();
|
|
@@ -22087,6 +22088,26 @@ function DataGrid({
|
|
|
22087
22088
|
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
|
|
22088
22089
|
}
|
|
22089
22090
|
const hasRenderProp = typeof children === "function";
|
|
22091
|
+
React128.useEffect(() => {
|
|
22092
|
+
const renderItemTypeOf = typeof schemaRenderItem;
|
|
22093
|
+
const childrenTypeOf = typeof children;
|
|
22094
|
+
if (data.length > 0 && !hasRenderProp) {
|
|
22095
|
+
const firstRow = data[0];
|
|
22096
|
+
const sampleKeys = firstRow ? Object.keys(firstRow).slice(0, 6) : [];
|
|
22097
|
+
const renderItemRaw = schemaRenderItem;
|
|
22098
|
+
const isFnLambda = Array.isArray(renderItemRaw) && renderItemRaw.length >= 3 && (renderItemRaw[0] === "fn" || renderItemRaw[0] === "lambda");
|
|
22099
|
+
dataGridLog.warn("renderItem-unresolved", {
|
|
22100
|
+
rowCount: data.length,
|
|
22101
|
+
fieldsCount: fields?.length ?? 0,
|
|
22102
|
+
renderItemTypeOf,
|
|
22103
|
+
renderItemIsArray: Array.isArray(renderItemRaw),
|
|
22104
|
+
renderItemIsFnLambda: isFnLambda,
|
|
22105
|
+
renderItemHead: Array.isArray(renderItemRaw) ? String(renderItemRaw[0]) : void 0,
|
|
22106
|
+
childrenTypeOf,
|
|
22107
|
+
sampleRowKeys: sampleKeys
|
|
22108
|
+
});
|
|
22109
|
+
}
|
|
22110
|
+
}, [data, hasRenderProp, schemaRenderItem, children, fields]);
|
|
22090
22111
|
const allIds = data.map((item, i) => item.id || String(i));
|
|
22091
22112
|
const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
|
|
22092
22113
|
const someSelected = selectedIds.size > 0;
|
|
@@ -22288,11 +22309,12 @@ function DataGrid({
|
|
|
22288
22309
|
)
|
|
22289
22310
|
] });
|
|
22290
22311
|
}
|
|
22291
|
-
var BADGE_VARIANTS, gapStyles6;
|
|
22312
|
+
var dataGridLog, BADGE_VARIANTS, gapStyles6;
|
|
22292
22313
|
var init_DataGrid = __esm({
|
|
22293
22314
|
"components/molecules/DataGrid.tsx"() {
|
|
22294
22315
|
"use client";
|
|
22295
22316
|
init_cn();
|
|
22317
|
+
init_logger();
|
|
22296
22318
|
init_getNestedValue();
|
|
22297
22319
|
init_useEventBus();
|
|
22298
22320
|
init_useTranslate();
|
|
@@ -22303,6 +22325,7 @@ var init_DataGrid = __esm({
|
|
|
22303
22325
|
init_Button();
|
|
22304
22326
|
init_Icon();
|
|
22305
22327
|
init_InfiniteScrollSentinel();
|
|
22328
|
+
dataGridLog = createLogger("almadar:ui:data-grid");
|
|
22306
22329
|
BADGE_VARIANTS = /* @__PURE__ */ new Set([
|
|
22307
22330
|
"default",
|
|
22308
22331
|
"primary",
|
|
@@ -22394,7 +22417,8 @@ function DataList({
|
|
|
22394
22417
|
loadMoreEvent,
|
|
22395
22418
|
hasMore,
|
|
22396
22419
|
children,
|
|
22397
|
-
pageSize = 5
|
|
22420
|
+
pageSize = 5,
|
|
22421
|
+
renderItem: schemaRenderItem
|
|
22398
22422
|
}) {
|
|
22399
22423
|
const eventBus = useEventBus();
|
|
22400
22424
|
const { t } = useTranslate();
|
|
@@ -22485,6 +22509,26 @@ function DataList({
|
|
|
22485
22509
|
] }, gi)) });
|
|
22486
22510
|
}
|
|
22487
22511
|
const hasRenderProp = typeof children === "function";
|
|
22512
|
+
React128__namespace.default.useEffect(() => {
|
|
22513
|
+
const renderItemTypeOf = typeof schemaRenderItem;
|
|
22514
|
+
const childrenTypeOf = typeof children;
|
|
22515
|
+
if (data.length > 0 && !hasRenderProp) {
|
|
22516
|
+
const firstRow = data[0];
|
|
22517
|
+
const sampleKeys = firstRow ? Object.keys(firstRow).slice(0, 6) : [];
|
|
22518
|
+
const renderItemRaw = schemaRenderItem;
|
|
22519
|
+
const isFnLambda = Array.isArray(renderItemRaw) && renderItemRaw.length >= 3 && (renderItemRaw[0] === "fn" || renderItemRaw[0] === "lambda");
|
|
22520
|
+
dataListLog.warn("renderItem-unresolved", {
|
|
22521
|
+
rowCount: data.length,
|
|
22522
|
+
fieldsCount: fields?.length ?? 0,
|
|
22523
|
+
renderItemTypeOf,
|
|
22524
|
+
renderItemIsArray: Array.isArray(renderItemRaw),
|
|
22525
|
+
renderItemIsFnLambda: isFnLambda,
|
|
22526
|
+
renderItemHead: Array.isArray(renderItemRaw) ? String(renderItemRaw[0]) : void 0,
|
|
22527
|
+
childrenTypeOf,
|
|
22528
|
+
sampleRowKeys: sampleKeys
|
|
22529
|
+
});
|
|
22530
|
+
}
|
|
22531
|
+
}, [data, hasRenderProp, schemaRenderItem, children, fields]);
|
|
22488
22532
|
const items = data.map((item) => item);
|
|
22489
22533
|
const groups = groupBy ? groupData(items, groupBy) : [{ label: "", items }];
|
|
22490
22534
|
const renderItem = (itemData, index, isLast) => {
|
|
@@ -22663,10 +22707,12 @@ function DataList({
|
|
|
22663
22707
|
}
|
|
22664
22708
|
);
|
|
22665
22709
|
}
|
|
22710
|
+
var dataListLog;
|
|
22666
22711
|
var init_DataList = __esm({
|
|
22667
22712
|
"components/molecules/DataList.tsx"() {
|
|
22668
22713
|
"use client";
|
|
22669
22714
|
init_cn();
|
|
22715
|
+
init_logger();
|
|
22670
22716
|
init_getNestedValue();
|
|
22671
22717
|
init_useEventBus();
|
|
22672
22718
|
init_useTranslate();
|
|
@@ -22679,6 +22725,7 @@ var init_DataList = __esm({
|
|
|
22679
22725
|
init_ProgressBar();
|
|
22680
22726
|
init_Divider();
|
|
22681
22727
|
init_InfiniteScrollSentinel();
|
|
22728
|
+
dataListLog = createLogger("almadar:ui:data-list");
|
|
22682
22729
|
DataList.displayName = "DataList";
|
|
22683
22730
|
}
|
|
22684
22731
|
});
|
|
@@ -52544,18 +52591,49 @@ function normalizeChild(child) {
|
|
|
52544
52591
|
props: { ...rest, ...normalizedChildren !== void 0 ? { children: normalizedChildren } : {} }
|
|
52545
52592
|
};
|
|
52546
52593
|
}
|
|
52547
|
-
function SlotBridge() {
|
|
52594
|
+
function SlotBridge({ embeddedTraits }) {
|
|
52548
52595
|
const slots = useSlots();
|
|
52549
|
-
const { render, clear } = useUISlots();
|
|
52596
|
+
const { render, clear, updateTraitContent } = useUISlots();
|
|
52550
52597
|
React128.useEffect(() => {
|
|
52551
52598
|
slotLog.debug("SlotBridge:effect-fired", {
|
|
52552
52599
|
slotCount: Object.keys(slots).length,
|
|
52553
52600
|
slots: Object.keys(slots)
|
|
52554
52601
|
});
|
|
52555
52602
|
for (const [slotName, slotState] of Object.entries(slots)) {
|
|
52556
|
-
const
|
|
52603
|
+
const allEntries = slotEntriesInOrder(slotState);
|
|
52604
|
+
const entries = [];
|
|
52605
|
+
for (const e of allEntries) {
|
|
52606
|
+
const traitName = e.entry.source?.trait;
|
|
52607
|
+
if (traitName && embeddedTraits?.has(traitName)) {
|
|
52608
|
+
const last = e.entry.patterns[e.entry.patterns.length - 1];
|
|
52609
|
+
if (last?.pattern && typeof last.pattern === "object") {
|
|
52610
|
+
const record = last.pattern;
|
|
52611
|
+
const { type: patternType, children: nested, ...inlineProps } = record;
|
|
52612
|
+
const normalizedNested = Array.isArray(nested) ? nested.map((c) => normalizeChild(c)) : nested;
|
|
52613
|
+
updateTraitContent(traitName, {
|
|
52614
|
+
pattern: patternType,
|
|
52615
|
+
props: {
|
|
52616
|
+
...inlineProps,
|
|
52617
|
+
...last.props,
|
|
52618
|
+
...normalizedNested !== void 0 ? { children: normalizedNested } : {}
|
|
52619
|
+
},
|
|
52620
|
+
priority: 0,
|
|
52621
|
+
animation: "fade"
|
|
52622
|
+
});
|
|
52623
|
+
}
|
|
52624
|
+
continue;
|
|
52625
|
+
}
|
|
52626
|
+
entries.push(e);
|
|
52627
|
+
}
|
|
52557
52628
|
if (entries.length === 0) {
|
|
52558
|
-
|
|
52629
|
+
if (allEntries.length === 0) {
|
|
52630
|
+
clear(slotName);
|
|
52631
|
+
} else {
|
|
52632
|
+
slotLog.debug("SlotBridge:embed-only-skip", {
|
|
52633
|
+
slot: slotName,
|
|
52634
|
+
embeddedCount: allEntries.length
|
|
52635
|
+
});
|
|
52636
|
+
}
|
|
52559
52637
|
continue;
|
|
52560
52638
|
}
|
|
52561
52639
|
const children = entries.map(({ entry }) => entry.patterns[entry.patterns.length - 1]).filter((p2) => Boolean(p2)).map((entry) => {
|
|
@@ -52602,7 +52680,7 @@ function SlotBridge() {
|
|
|
52602
52680
|
});
|
|
52603
52681
|
}
|
|
52604
52682
|
}
|
|
52605
|
-
}, [slots, render, clear]);
|
|
52683
|
+
}, [slots, render, clear, updateTraitContent, embeddedTraits]);
|
|
52606
52684
|
return null;
|
|
52607
52685
|
}
|
|
52608
52686
|
function applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits) {
|
|
@@ -52837,7 +52915,7 @@ function SchemaRunner({ schema, serverUrl, transport, mockData, pageName, onNavi
|
|
|
52837
52915
|
persistence
|
|
52838
52916
|
}
|
|
52839
52917
|
),
|
|
52840
|
-
/* @__PURE__ */ jsxRuntime.jsx(SlotBridge, {}),
|
|
52918
|
+
/* @__PURE__ */ jsxRuntime.jsx(SlotBridge, { embeddedTraits }),
|
|
52841
52919
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "h-full p-4", children: /* @__PURE__ */ jsxRuntime.jsx(UISlotRenderer, { includeHud: true, hudMode: "inline", includeFloating: true }) })
|
|
52842
52920
|
]
|
|
52843
52921
|
}
|
package/dist/avl/index.js
CHANGED
|
@@ -11209,13 +11209,13 @@ var init_MapView = __esm({
|
|
|
11209
11209
|
shadowSize: [41, 41]
|
|
11210
11210
|
});
|
|
11211
11211
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
11212
|
-
const { useEffect:
|
|
11212
|
+
const { useEffect: useEffect88, useRef: useRef87, useCallback: useCallback125, useState: useState124 } = React128__default;
|
|
11213
11213
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
11214
11214
|
const { useEventBus: useEventBus3 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
11215
11215
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
11216
11216
|
const map = useMap();
|
|
11217
11217
|
const prevRef = useRef87({ centerLat, centerLng, zoom });
|
|
11218
|
-
|
|
11218
|
+
useEffect88(() => {
|
|
11219
11219
|
const prev = prevRef.current;
|
|
11220
11220
|
if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
|
|
11221
11221
|
map.setView([centerLat, centerLng], zoom);
|
|
@@ -11226,7 +11226,7 @@ var init_MapView = __esm({
|
|
|
11226
11226
|
}
|
|
11227
11227
|
function MapClickHandler({ onMapClick }) {
|
|
11228
11228
|
const map = useMap();
|
|
11229
|
-
|
|
11229
|
+
useEffect88(() => {
|
|
11230
11230
|
if (!onMapClick) return;
|
|
11231
11231
|
const handler = (e) => {
|
|
11232
11232
|
onMapClick(e.latlng.lat, e.latlng.lng);
|
|
@@ -21976,7 +21976,8 @@ function DataGrid({
|
|
|
21976
21976
|
loadMoreEvent,
|
|
21977
21977
|
hasMore,
|
|
21978
21978
|
children,
|
|
21979
|
-
pageSize = 0
|
|
21979
|
+
pageSize = 0,
|
|
21980
|
+
renderItem: schemaRenderItem
|
|
21980
21981
|
}) {
|
|
21981
21982
|
const eventBus = useEventBus();
|
|
21982
21983
|
const { t } = useTranslate();
|
|
@@ -22041,6 +22042,26 @@ function DataGrid({
|
|
|
22041
22042
|
return /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
|
|
22042
22043
|
}
|
|
22043
22044
|
const hasRenderProp = typeof children === "function";
|
|
22045
|
+
useEffect(() => {
|
|
22046
|
+
const renderItemTypeOf = typeof schemaRenderItem;
|
|
22047
|
+
const childrenTypeOf = typeof children;
|
|
22048
|
+
if (data.length > 0 && !hasRenderProp) {
|
|
22049
|
+
const firstRow = data[0];
|
|
22050
|
+
const sampleKeys = firstRow ? Object.keys(firstRow).slice(0, 6) : [];
|
|
22051
|
+
const renderItemRaw = schemaRenderItem;
|
|
22052
|
+
const isFnLambda = Array.isArray(renderItemRaw) && renderItemRaw.length >= 3 && (renderItemRaw[0] === "fn" || renderItemRaw[0] === "lambda");
|
|
22053
|
+
dataGridLog.warn("renderItem-unresolved", {
|
|
22054
|
+
rowCount: data.length,
|
|
22055
|
+
fieldsCount: fields?.length ?? 0,
|
|
22056
|
+
renderItemTypeOf,
|
|
22057
|
+
renderItemIsArray: Array.isArray(renderItemRaw),
|
|
22058
|
+
renderItemIsFnLambda: isFnLambda,
|
|
22059
|
+
renderItemHead: Array.isArray(renderItemRaw) ? String(renderItemRaw[0]) : void 0,
|
|
22060
|
+
childrenTypeOf,
|
|
22061
|
+
sampleRowKeys: sampleKeys
|
|
22062
|
+
});
|
|
22063
|
+
}
|
|
22064
|
+
}, [data, hasRenderProp, schemaRenderItem, children, fields]);
|
|
22044
22065
|
const allIds = data.map((item, i) => item.id || String(i));
|
|
22045
22066
|
const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
|
|
22046
22067
|
const someSelected = selectedIds.size > 0;
|
|
@@ -22242,11 +22263,12 @@ function DataGrid({
|
|
|
22242
22263
|
)
|
|
22243
22264
|
] });
|
|
22244
22265
|
}
|
|
22245
|
-
var BADGE_VARIANTS, gapStyles6;
|
|
22266
|
+
var dataGridLog, BADGE_VARIANTS, gapStyles6;
|
|
22246
22267
|
var init_DataGrid = __esm({
|
|
22247
22268
|
"components/molecules/DataGrid.tsx"() {
|
|
22248
22269
|
"use client";
|
|
22249
22270
|
init_cn();
|
|
22271
|
+
init_logger();
|
|
22250
22272
|
init_getNestedValue();
|
|
22251
22273
|
init_useEventBus();
|
|
22252
22274
|
init_useTranslate();
|
|
@@ -22257,6 +22279,7 @@ var init_DataGrid = __esm({
|
|
|
22257
22279
|
init_Button();
|
|
22258
22280
|
init_Icon();
|
|
22259
22281
|
init_InfiniteScrollSentinel();
|
|
22282
|
+
dataGridLog = createLogger("almadar:ui:data-grid");
|
|
22260
22283
|
BADGE_VARIANTS = /* @__PURE__ */ new Set([
|
|
22261
22284
|
"default",
|
|
22262
22285
|
"primary",
|
|
@@ -22348,7 +22371,8 @@ function DataList({
|
|
|
22348
22371
|
loadMoreEvent,
|
|
22349
22372
|
hasMore,
|
|
22350
22373
|
children,
|
|
22351
|
-
pageSize = 5
|
|
22374
|
+
pageSize = 5,
|
|
22375
|
+
renderItem: schemaRenderItem
|
|
22352
22376
|
}) {
|
|
22353
22377
|
const eventBus = useEventBus();
|
|
22354
22378
|
const { t } = useTranslate();
|
|
@@ -22439,6 +22463,26 @@ function DataList({
|
|
|
22439
22463
|
] }, gi)) });
|
|
22440
22464
|
}
|
|
22441
22465
|
const hasRenderProp = typeof children === "function";
|
|
22466
|
+
React128__default.useEffect(() => {
|
|
22467
|
+
const renderItemTypeOf = typeof schemaRenderItem;
|
|
22468
|
+
const childrenTypeOf = typeof children;
|
|
22469
|
+
if (data.length > 0 && !hasRenderProp) {
|
|
22470
|
+
const firstRow = data[0];
|
|
22471
|
+
const sampleKeys = firstRow ? Object.keys(firstRow).slice(0, 6) : [];
|
|
22472
|
+
const renderItemRaw = schemaRenderItem;
|
|
22473
|
+
const isFnLambda = Array.isArray(renderItemRaw) && renderItemRaw.length >= 3 && (renderItemRaw[0] === "fn" || renderItemRaw[0] === "lambda");
|
|
22474
|
+
dataListLog.warn("renderItem-unresolved", {
|
|
22475
|
+
rowCount: data.length,
|
|
22476
|
+
fieldsCount: fields?.length ?? 0,
|
|
22477
|
+
renderItemTypeOf,
|
|
22478
|
+
renderItemIsArray: Array.isArray(renderItemRaw),
|
|
22479
|
+
renderItemIsFnLambda: isFnLambda,
|
|
22480
|
+
renderItemHead: Array.isArray(renderItemRaw) ? String(renderItemRaw[0]) : void 0,
|
|
22481
|
+
childrenTypeOf,
|
|
22482
|
+
sampleRowKeys: sampleKeys
|
|
22483
|
+
});
|
|
22484
|
+
}
|
|
22485
|
+
}, [data, hasRenderProp, schemaRenderItem, children, fields]);
|
|
22442
22486
|
const items = data.map((item) => item);
|
|
22443
22487
|
const groups = groupBy ? groupData(items, groupBy) : [{ label: "", items }];
|
|
22444
22488
|
const renderItem = (itemData, index, isLast) => {
|
|
@@ -22617,10 +22661,12 @@ function DataList({
|
|
|
22617
22661
|
}
|
|
22618
22662
|
);
|
|
22619
22663
|
}
|
|
22664
|
+
var dataListLog;
|
|
22620
22665
|
var init_DataList = __esm({
|
|
22621
22666
|
"components/molecules/DataList.tsx"() {
|
|
22622
22667
|
"use client";
|
|
22623
22668
|
init_cn();
|
|
22669
|
+
init_logger();
|
|
22624
22670
|
init_getNestedValue();
|
|
22625
22671
|
init_useEventBus();
|
|
22626
22672
|
init_useTranslate();
|
|
@@ -22633,6 +22679,7 @@ var init_DataList = __esm({
|
|
|
22633
22679
|
init_ProgressBar();
|
|
22634
22680
|
init_Divider();
|
|
22635
22681
|
init_InfiniteScrollSentinel();
|
|
22682
|
+
dataListLog = createLogger("almadar:ui:data-list");
|
|
22636
22683
|
DataList.displayName = "DataList";
|
|
22637
22684
|
}
|
|
22638
22685
|
});
|
|
@@ -52498,18 +52545,49 @@ function normalizeChild(child) {
|
|
|
52498
52545
|
props: { ...rest, ...normalizedChildren !== void 0 ? { children: normalizedChildren } : {} }
|
|
52499
52546
|
};
|
|
52500
52547
|
}
|
|
52501
|
-
function SlotBridge() {
|
|
52548
|
+
function SlotBridge({ embeddedTraits }) {
|
|
52502
52549
|
const slots = useSlots();
|
|
52503
|
-
const { render, clear } = useUISlots();
|
|
52550
|
+
const { render, clear, updateTraitContent } = useUISlots();
|
|
52504
52551
|
useEffect(() => {
|
|
52505
52552
|
slotLog.debug("SlotBridge:effect-fired", {
|
|
52506
52553
|
slotCount: Object.keys(slots).length,
|
|
52507
52554
|
slots: Object.keys(slots)
|
|
52508
52555
|
});
|
|
52509
52556
|
for (const [slotName, slotState] of Object.entries(slots)) {
|
|
52510
|
-
const
|
|
52557
|
+
const allEntries = slotEntriesInOrder(slotState);
|
|
52558
|
+
const entries = [];
|
|
52559
|
+
for (const e of allEntries) {
|
|
52560
|
+
const traitName = e.entry.source?.trait;
|
|
52561
|
+
if (traitName && embeddedTraits?.has(traitName)) {
|
|
52562
|
+
const last = e.entry.patterns[e.entry.patterns.length - 1];
|
|
52563
|
+
if (last?.pattern && typeof last.pattern === "object") {
|
|
52564
|
+
const record = last.pattern;
|
|
52565
|
+
const { type: patternType, children: nested, ...inlineProps } = record;
|
|
52566
|
+
const normalizedNested = Array.isArray(nested) ? nested.map((c) => normalizeChild(c)) : nested;
|
|
52567
|
+
updateTraitContent(traitName, {
|
|
52568
|
+
pattern: patternType,
|
|
52569
|
+
props: {
|
|
52570
|
+
...inlineProps,
|
|
52571
|
+
...last.props,
|
|
52572
|
+
...normalizedNested !== void 0 ? { children: normalizedNested } : {}
|
|
52573
|
+
},
|
|
52574
|
+
priority: 0,
|
|
52575
|
+
animation: "fade"
|
|
52576
|
+
});
|
|
52577
|
+
}
|
|
52578
|
+
continue;
|
|
52579
|
+
}
|
|
52580
|
+
entries.push(e);
|
|
52581
|
+
}
|
|
52511
52582
|
if (entries.length === 0) {
|
|
52512
|
-
|
|
52583
|
+
if (allEntries.length === 0) {
|
|
52584
|
+
clear(slotName);
|
|
52585
|
+
} else {
|
|
52586
|
+
slotLog.debug("SlotBridge:embed-only-skip", {
|
|
52587
|
+
slot: slotName,
|
|
52588
|
+
embeddedCount: allEntries.length
|
|
52589
|
+
});
|
|
52590
|
+
}
|
|
52513
52591
|
continue;
|
|
52514
52592
|
}
|
|
52515
52593
|
const children = entries.map(({ entry }) => entry.patterns[entry.patterns.length - 1]).filter((p2) => Boolean(p2)).map((entry) => {
|
|
@@ -52556,7 +52634,7 @@ function SlotBridge() {
|
|
|
52556
52634
|
});
|
|
52557
52635
|
}
|
|
52558
52636
|
}
|
|
52559
|
-
}, [slots, render, clear]);
|
|
52637
|
+
}, [slots, render, clear, updateTraitContent, embeddedTraits]);
|
|
52560
52638
|
return null;
|
|
52561
52639
|
}
|
|
52562
52640
|
function applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits) {
|
|
@@ -52791,7 +52869,7 @@ function SchemaRunner({ schema, serverUrl, transport, mockData, pageName, onNavi
|
|
|
52791
52869
|
persistence
|
|
52792
52870
|
}
|
|
52793
52871
|
),
|
|
52794
|
-
/* @__PURE__ */ jsx(SlotBridge, {}),
|
|
52872
|
+
/* @__PURE__ */ jsx(SlotBridge, { embeddedTraits }),
|
|
52795
52873
|
/* @__PURE__ */ jsx(Box, { className: "h-full p-4", children: /* @__PURE__ */ jsx(UISlotRenderer, { includeHud: true, hudMode: "inline", includeFloating: true }) })
|
|
52796
52874
|
]
|
|
52797
52875
|
}
|
|
@@ -6342,13 +6342,13 @@ var init_MapView = __esm({
|
|
|
6342
6342
|
shadowSize: [41, 41]
|
|
6343
6343
|
});
|
|
6344
6344
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
6345
|
-
const { useEffect:
|
|
6345
|
+
const { useEffect: useEffect67, useRef: useRef65, useCallback: useCallback115, useState: useState99 } = React111__namespace.default;
|
|
6346
6346
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
6347
6347
|
const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
6348
6348
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
6349
6349
|
const map = useMap();
|
|
6350
6350
|
const prevRef = useRef65({ centerLat, centerLng, zoom });
|
|
6351
|
-
|
|
6351
|
+
useEffect67(() => {
|
|
6352
6352
|
const prev = prevRef.current;
|
|
6353
6353
|
if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
|
|
6354
6354
|
map.setView([centerLat, centerLng], zoom);
|
|
@@ -6359,7 +6359,7 @@ var init_MapView = __esm({
|
|
|
6359
6359
|
}
|
|
6360
6360
|
function MapClickHandler({ onMapClick }) {
|
|
6361
6361
|
const map = useMap();
|
|
6362
|
-
|
|
6362
|
+
useEffect67(() => {
|
|
6363
6363
|
if (!onMapClick) return;
|
|
6364
6364
|
const handler = (e) => {
|
|
6365
6365
|
onMapClick(e.latlng.lat, e.latlng.lng);
|
|
@@ -17380,7 +17380,8 @@ function DataGrid({
|
|
|
17380
17380
|
loadMoreEvent,
|
|
17381
17381
|
hasMore,
|
|
17382
17382
|
children,
|
|
17383
|
-
pageSize = 0
|
|
17383
|
+
pageSize = 0,
|
|
17384
|
+
renderItem: schemaRenderItem
|
|
17384
17385
|
}) {
|
|
17385
17386
|
const eventBus = useEventBus();
|
|
17386
17387
|
const { t } = useTranslate();
|
|
@@ -17445,6 +17446,26 @@ function DataGrid({
|
|
|
17445
17446
|
return /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
|
|
17446
17447
|
}
|
|
17447
17448
|
const hasRenderProp = typeof children === "function";
|
|
17449
|
+
React111.useEffect(() => {
|
|
17450
|
+
const renderItemTypeOf = typeof schemaRenderItem;
|
|
17451
|
+
const childrenTypeOf = typeof children;
|
|
17452
|
+
if (data.length > 0 && !hasRenderProp) {
|
|
17453
|
+
const firstRow = data[0];
|
|
17454
|
+
const sampleKeys = firstRow ? Object.keys(firstRow).slice(0, 6) : [];
|
|
17455
|
+
const renderItemRaw = schemaRenderItem;
|
|
17456
|
+
const isFnLambda = Array.isArray(renderItemRaw) && renderItemRaw.length >= 3 && (renderItemRaw[0] === "fn" || renderItemRaw[0] === "lambda");
|
|
17457
|
+
dataGridLog.warn("renderItem-unresolved", {
|
|
17458
|
+
rowCount: data.length,
|
|
17459
|
+
fieldsCount: fields?.length ?? 0,
|
|
17460
|
+
renderItemTypeOf,
|
|
17461
|
+
renderItemIsArray: Array.isArray(renderItemRaw),
|
|
17462
|
+
renderItemIsFnLambda: isFnLambda,
|
|
17463
|
+
renderItemHead: Array.isArray(renderItemRaw) ? String(renderItemRaw[0]) : void 0,
|
|
17464
|
+
childrenTypeOf,
|
|
17465
|
+
sampleRowKeys: sampleKeys
|
|
17466
|
+
});
|
|
17467
|
+
}
|
|
17468
|
+
}, [data, hasRenderProp, schemaRenderItem, children, fields]);
|
|
17448
17469
|
const allIds = data.map((item, i) => item.id || String(i));
|
|
17449
17470
|
const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
|
|
17450
17471
|
const someSelected = selectedIds.size > 0;
|
|
@@ -17646,11 +17667,12 @@ function DataGrid({
|
|
|
17646
17667
|
)
|
|
17647
17668
|
] });
|
|
17648
17669
|
}
|
|
17649
|
-
var BADGE_VARIANTS, gapStyles6;
|
|
17670
|
+
var dataGridLog, BADGE_VARIANTS, gapStyles6;
|
|
17650
17671
|
var init_DataGrid = __esm({
|
|
17651
17672
|
"components/molecules/DataGrid.tsx"() {
|
|
17652
17673
|
"use client";
|
|
17653
17674
|
init_cn();
|
|
17675
|
+
init_logger();
|
|
17654
17676
|
init_getNestedValue();
|
|
17655
17677
|
init_useEventBus();
|
|
17656
17678
|
init_useTranslate();
|
|
@@ -17661,6 +17683,7 @@ var init_DataGrid = __esm({
|
|
|
17661
17683
|
init_Button();
|
|
17662
17684
|
init_Icon();
|
|
17663
17685
|
init_InfiniteScrollSentinel();
|
|
17686
|
+
dataGridLog = createLogger("almadar:ui:data-grid");
|
|
17664
17687
|
BADGE_VARIANTS = /* @__PURE__ */ new Set([
|
|
17665
17688
|
"default",
|
|
17666
17689
|
"primary",
|
|
@@ -17752,7 +17775,8 @@ function DataList({
|
|
|
17752
17775
|
loadMoreEvent,
|
|
17753
17776
|
hasMore,
|
|
17754
17777
|
children,
|
|
17755
|
-
pageSize = 5
|
|
17778
|
+
pageSize = 5,
|
|
17779
|
+
renderItem: schemaRenderItem
|
|
17756
17780
|
}) {
|
|
17757
17781
|
const eventBus = useEventBus();
|
|
17758
17782
|
const { t } = useTranslate();
|
|
@@ -17843,6 +17867,26 @@ function DataList({
|
|
|
17843
17867
|
] }, gi)) });
|
|
17844
17868
|
}
|
|
17845
17869
|
const hasRenderProp = typeof children === "function";
|
|
17870
|
+
React111__namespace.default.useEffect(() => {
|
|
17871
|
+
const renderItemTypeOf = typeof schemaRenderItem;
|
|
17872
|
+
const childrenTypeOf = typeof children;
|
|
17873
|
+
if (data.length > 0 && !hasRenderProp) {
|
|
17874
|
+
const firstRow = data[0];
|
|
17875
|
+
const sampleKeys = firstRow ? Object.keys(firstRow).slice(0, 6) : [];
|
|
17876
|
+
const renderItemRaw = schemaRenderItem;
|
|
17877
|
+
const isFnLambda = Array.isArray(renderItemRaw) && renderItemRaw.length >= 3 && (renderItemRaw[0] === "fn" || renderItemRaw[0] === "lambda");
|
|
17878
|
+
dataListLog.warn("renderItem-unresolved", {
|
|
17879
|
+
rowCount: data.length,
|
|
17880
|
+
fieldsCount: fields?.length ?? 0,
|
|
17881
|
+
renderItemTypeOf,
|
|
17882
|
+
renderItemIsArray: Array.isArray(renderItemRaw),
|
|
17883
|
+
renderItemIsFnLambda: isFnLambda,
|
|
17884
|
+
renderItemHead: Array.isArray(renderItemRaw) ? String(renderItemRaw[0]) : void 0,
|
|
17885
|
+
childrenTypeOf,
|
|
17886
|
+
sampleRowKeys: sampleKeys
|
|
17887
|
+
});
|
|
17888
|
+
}
|
|
17889
|
+
}, [data, hasRenderProp, schemaRenderItem, children, fields]);
|
|
17846
17890
|
const items = data.map((item) => item);
|
|
17847
17891
|
const groups = groupBy ? groupData(items, groupBy) : [{ label: "", items }];
|
|
17848
17892
|
const renderItem = (itemData, index, isLast) => {
|
|
@@ -18021,10 +18065,12 @@ function DataList({
|
|
|
18021
18065
|
}
|
|
18022
18066
|
);
|
|
18023
18067
|
}
|
|
18068
|
+
var dataListLog;
|
|
18024
18069
|
var init_DataList = __esm({
|
|
18025
18070
|
"components/molecules/DataList.tsx"() {
|
|
18026
18071
|
"use client";
|
|
18027
18072
|
init_cn();
|
|
18073
|
+
init_logger();
|
|
18028
18074
|
init_getNestedValue();
|
|
18029
18075
|
init_useEventBus();
|
|
18030
18076
|
init_useTranslate();
|
|
@@ -18037,6 +18083,7 @@ var init_DataList = __esm({
|
|
|
18037
18083
|
init_ProgressBar();
|
|
18038
18084
|
init_Divider();
|
|
18039
18085
|
init_InfiniteScrollSentinel();
|
|
18086
|
+
dataListLog = createLogger("almadar:ui:data-list");
|
|
18040
18087
|
DataList.displayName = "DataList";
|
|
18041
18088
|
}
|
|
18042
18089
|
});
|