@mmlogic/components 0.3.0 → 0.3.2

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.
@@ -1454,15 +1454,16 @@ const MrdLayoutSection = class {
1454
1454
  /**
1455
1455
  * Inject data into an embedded mrd-table for a RELATED_VIEW or VIEW item.
1456
1456
  * Pass totalElements to update the pagination total (safe to pass on every page).
1457
+ * Pass hasNext (from _links.next presence) so the table can decide whether to emit aggregations.
1457
1458
  */
1458
- async setViewPage(name, page, rows, totalElements) {
1459
+ async setViewPage(name, page, rows, totalElements, hasNext) {
1459
1460
  const table = this.el.querySelector(`mrd-table[data-view="${name}"]`);
1460
1461
  if (!table)
1461
1462
  return;
1462
1463
  if (totalElements !== undefined) {
1463
1464
  table.totalElements = totalElements;
1464
1465
  }
1465
- await table.setPage(page, rows);
1466
+ await table.setPage(page, rows, hasNext);
1466
1467
  }
1467
1468
  /** Inject aggregation totals into an embedded mrd-table for a VIEW or RELATED_VIEW item. */
1468
1469
  async setViewAggregations(name, data) {
@@ -1659,7 +1660,7 @@ const MrdLayoutSection = class {
1659
1660
  return (h("div", { class: "mrd-layout-section__modal-backdrop", onClick: () => { this.imagePreviewUrl = null; } }, h("div", { class: "mrd-layout-section__modal", onClick: (e) => e.stopPropagation() }, h("button", { class: "mrd-layout-section__modal-close", onClick: () => { this.imagePreviewUrl = null; } }, "\u2715"), h("img", { class: "mrd-layout-section__modal-image", src: this.imagePreviewUrl, alt: "" }))));
1660
1661
  }
1661
1662
  render() {
1662
- return (h(Host, { key: 'a7b6514d19cf79261396d9aaf03f459600037566' }, h("div", { key: '331f0558ef3eddf5a9b4332f7ec45c58b52dd8c3', class: "mrd-layout-section" }, this.items.map(item => this.renderItem(item))), this.renderImageModal()));
1663
+ return (h(Host, { key: '0a3a58f5c80716bc0a7ba1b9468b721706d2ce4a' }, h("div", { key: '7cf63580c584811c1bb84b419e8d13026e432fba', class: "mrd-layout-section" }, this.items.map(item => this.renderItem(item))), this.renderImageModal()));
1663
1664
  }
1664
1665
  get el() { return getElement(this); }
1665
1666
  static get watchers() { return {
@@ -2179,10 +2180,16 @@ const MrdTable = class {
2179
2180
  this.jsonModal = null;
2180
2181
  /** Aggregation totals received from the host via setAggregations(). Null = not yet loaded. */
2181
2182
  this.aggregations = null;
2183
+ /** Record count received via setAggregations().total; overrides totalElements for display. */
2184
+ this.aggregationsTotal = null;
2185
+ /** True when a fresh aggregations request is needed (set on init / filter change). */
2186
+ this.aggregationsPending = false;
2187
+ /** Lower bound on total derived from setPage() hasNext info; grows as pages load. */
2188
+ this.minKnownTotal = 0;
2182
2189
  this.handleScroll = (e) => {
2183
2190
  const scroller = e.currentTarget;
2184
2191
  const scrollTop = scroller.scrollTop;
2185
- const total = this.totalElements;
2192
+ const total = this.baseTotal;
2186
2193
  const visStart = Math.floor(scrollTop / this.rowHeight);
2187
2194
  const visEnd = Math.min(visStart + this.visibleCount(), total - 1);
2188
2195
  this.scrollTop = scrollTop;
@@ -2244,7 +2251,9 @@ const MrdTable = class {
2244
2251
  if (scroller)
2245
2252
  scroller.scrollTop = 0;
2246
2253
  this.aggregations = null;
2247
- this.emitLoadAggregations();
2254
+ this.aggregationsTotal = null;
2255
+ this.aggregationsPending = true;
2256
+ this.minKnownTotal = 0;
2248
2257
  // Always request page 0 — totalElements may be unknown (0) on first load.
2249
2258
  this.mrdLoadPage.emit({ page: 0, sort: this.sortParam(), path: this.buildDataPath(), qs: this.buildQueryParams(0) });
2250
2259
  this.requestedPages = new Set([0]);
@@ -2256,20 +2265,41 @@ const MrdTable = class {
2256
2265
  * When the page contains fewer rows than pageSize it is the last page.
2257
2266
  * renderEnd is clamped immediately so no loading-placeholder rows appear
2258
2267
  * beyond the actual data — without requiring the host to update totalElements.
2268
+ *
2269
+ * Pass hasNext (from _links.next in the API response) for accurate last-page
2270
+ * detection even when rows.length === pageSize (exact multiple of page size).
2259
2271
  */
2260
- async setPage(pageNumber, rows) {
2261
- if (rows.length < this.pageSize) {
2272
+ async setPage(pageNumber, rows, hasNext) {
2273
+ const isLastPage = hasNext !== undefined ? !hasNext : rows.length < this.pageSize;
2274
+ if (isLastPage) {
2262
2275
  // lastRowIdx is -1 when the page is empty; clamp renderEnd to -1 so the
2263
2276
  // render loop does not execute and no shimmer rows appear.
2264
2277
  const lastRowIdx = pageNumber * this.pageSize + rows.length - 1;
2265
2278
  this.renderEnd = Math.min(this.renderEnd, lastRowIdx);
2279
+ // Exact total is known: update minKnownTotal so the scroll container has the right height.
2280
+ this.minKnownTotal = pageNumber * this.pageSize + rows.length;
2281
+ }
2282
+ else {
2283
+ // There is at least one more page — ensure the scrollbar covers at least that next page.
2284
+ this.minKnownTotal = Math.max(this.minKnownTotal, (pageNumber + 1) * this.pageSize + 1);
2266
2285
  }
2267
2286
  const next = new Map(this.loadedPages);
2268
2287
  next.set(pageNumber, rows);
2269
2288
  this.loadedPages = next;
2289
+ if (pageNumber === 0 && this.aggregationsPending) {
2290
+ this.aggregationsPending = false;
2291
+ const hasAggColumns = this.columns.some(c => c.type === 'FIELD' && c.aggregate);
2292
+ if (!isLastPage || hasAggColumns) {
2293
+ this.emitLoadAggregations();
2294
+ }
2295
+ }
2270
2296
  }
2271
2297
  /** Inject aggregation totals returned by the /aggregations endpoint. */
2272
2298
  async setAggregations(data) {
2299
+ var _a;
2300
+ const total = (_a = data.total) !== null && _a !== void 0 ? _a : (typeof data.count === 'number' ? data.count : undefined);
2301
+ if (total != null)
2302
+ this.aggregationsTotal = total;
2273
2303
  this.aggregations = data;
2274
2304
  }
2275
2305
  // ── Lifecycle ──────────────────────────────────────────────────────────────
@@ -2451,6 +2481,25 @@ const MrdTable = class {
2451
2481
  return 'RELATION';
2452
2482
  return (_a = col.dataType) !== null && _a !== void 0 ? _a : 'TEXT';
2453
2483
  }
2484
+ /** True when we have a reliable total: either from the aggregations response or because
2485
+ * a short page told us it was the last page (exact count from row length). */
2486
+ isTotalKnown() {
2487
+ if (this.aggregationsTotal != null)
2488
+ return true;
2489
+ for (const rows of this.loadedPages.values()) {
2490
+ if (rows.length < this.pageSize)
2491
+ return true;
2492
+ }
2493
+ return false;
2494
+ }
2495
+ /** Effective total: aggregations-response > totalElements prop > minKnownTotal from setPage(). */
2496
+ get baseTotal() {
2497
+ if (this.aggregationsTotal != null)
2498
+ return this.aggregationsTotal;
2499
+ if (this.totalElements > 0)
2500
+ return this.totalElements;
2501
+ return this.minKnownTotal;
2502
+ }
2454
2503
  // ── Aggregation helpers ────────────────────────────────────────────────────
2455
2504
  buildAggregationParams() {
2456
2505
  var _a;
@@ -2471,17 +2520,32 @@ const MrdTable = class {
2471
2520
  params.count = groups.count;
2472
2521
  return Object.keys(params).length > 0 ? params : null;
2473
2522
  }
2523
+ buildAggregationQs() {
2524
+ var _a, _b, _c;
2525
+ const p = new URLSearchParams(this.buildQueryParams(0));
2526
+ p.delete('page');
2527
+ p.delete('sort');
2528
+ const groups = this.buildAggregationParams();
2529
+ if ((_a = groups === null || groups === void 0 ? void 0 : groups.sum) === null || _a === void 0 ? void 0 : _a.length)
2530
+ p.set('sum', groups.sum.join(','));
2531
+ if ((_b = groups === null || groups === void 0 ? void 0 : groups.avg) === null || _b === void 0 ? void 0 : _b.length)
2532
+ p.set('avg', groups.avg.join(','));
2533
+ if ((_c = groups === null || groups === void 0 ? void 0 : groups.count) === null || _c === void 0 ? void 0 : _c.length)
2534
+ p.set('count', groups.count.join(','));
2535
+ return p.toString();
2536
+ }
2474
2537
  emitLoadAggregations() {
2475
- const aggParams = this.buildAggregationParams();
2476
- if (aggParams)
2477
- this.mrdLoadAggregations.emit(Object.assign(Object.assign({}, aggParams), { path: this.buildDataPath(), qs: this.buildQueryParams(0) }));
2538
+ this.mrdLoadAggregations.emit({ path: this.buildDataPath(), qs: this.buildQueryParams(0), aggQs: this.buildAggregationQs() });
2478
2539
  }
2479
2540
  renderAggregationValue(col) {
2480
- var _a, _b;
2541
+ var _a;
2481
2542
  if (col.type !== 'FIELD' || !col.aggregate || !this.aggregations)
2482
2543
  return '';
2483
2544
  const fn = col.aggregate.toLowerCase();
2484
- const val = (_a = this.aggregations[fn]) === null || _a === void 0 ? void 0 : _a[(_b = col.name) !== null && _b !== void 0 ? _b : ''];
2545
+ const aggData = this.aggregations[fn];
2546
+ const val = typeof aggData === 'object' && aggData !== null
2547
+ ? aggData[(_a = col.name) !== null && _a !== void 0 ? _a : '']
2548
+ : undefined;
2485
2549
  if (val == null)
2486
2550
  return '';
2487
2551
  const dt = col.dataType;
@@ -2506,9 +2570,10 @@ const MrdTable = class {
2506
2570
  this.colWidths = [];
2507
2571
  this.scrollTop = 0;
2508
2572
  this.renderStart = 0;
2509
- // No BUFFER here — totalElements may be stale after a filter change.
2510
- // Only request what is visible; BUFFER kicks in during scroll as usual.
2511
- this.renderEnd = Math.max(0, Math.min(this.visibleCount() - 1, this.totalElements - 1));
2573
+ this.minKnownTotal = 0;
2574
+ // Mirror init(): use visibleCount so the first page is always requested.
2575
+ // setPage() will clamp renderEnd down when the last page is shorter.
2576
+ this.renderEnd = this.visibleCount() - 1;
2512
2577
  const scroller = this.el.querySelector('.mrd-table__scroll');
2513
2578
  if (scroller)
2514
2579
  scroller.scrollTop = 0;
@@ -2774,8 +2839,9 @@ const MrdTable = class {
2774
2839
  this.activeFilters = next;
2775
2840
  this.closeFilterPopup();
2776
2841
  this.aggregations = null;
2777
- this.emitLoadAggregations();
2778
- if (this.totalElements > 0) {
2842
+ this.aggregationsTotal = null;
2843
+ this.aggregationsPending = true;
2844
+ if (this.totalElements > 0 || this.minKnownTotal > 0) {
2779
2845
  this.resetPages();
2780
2846
  this.emitPagesForWindow(this.renderStart, this.renderEnd);
2781
2847
  }
@@ -2788,8 +2854,9 @@ const MrdTable = class {
2788
2854
  this.activeFilters = next;
2789
2855
  this.closeFilterPopup();
2790
2856
  this.aggregations = null;
2791
- this.emitLoadAggregations();
2792
- if (this.totalElements > 0) {
2857
+ this.aggregationsTotal = null;
2858
+ this.aggregationsPending = true;
2859
+ if (this.totalElements > 0 || this.minKnownTotal > 0) {
2793
2860
  this.resetPages();
2794
2861
  this.emitPagesForWindow(this.renderStart, this.renderEnd);
2795
2862
  }
@@ -2797,8 +2864,9 @@ const MrdTable = class {
2797
2864
  clearAllFilters() {
2798
2865
  this.activeFilters = new Map();
2799
2866
  this.aggregations = null;
2800
- this.emitLoadAggregations();
2801
- if (this.totalElements > 0) {
2867
+ this.aggregationsTotal = null;
2868
+ this.aggregationsPending = true;
2869
+ if (this.totalElements > 0 || this.minKnownTotal > 0) {
2802
2870
  this.resetPages();
2803
2871
  this.emitPagesForWindow(this.renderStart, this.renderEnd);
2804
2872
  }
@@ -2921,10 +2989,9 @@ const MrdTable = class {
2921
2989
  return (h("div", { class: "mrd-table__filter-popup", style: { top: `${this.popupPos.top}px`, left: `${this.popupPos.left}px` }, onClick: (e) => e.stopPropagation() }, h("div", { class: "mrd-table__filter-popup-header" }, h("span", { class: "mrd-table__filter-popup-title" }, label), h("button", { class: "mrd-table__filter-close", onClick: () => this.closeFilterPopup() }, "\u2715")), h("div", { class: "mrd-table__filter-section" }, h("div", { class: "mrd-table__filter-section-label" }, t('filter_sorting', this.locale)), h("div", { class: "mrd-table__filter-sort-buttons" }, h("button", { class: `mrd-table__filter-sort-btn${sortActive && this.sortDir === 'asc' ? ' mrd-table__filter-sort-btn--active' : ''}`, onClick: () => this.applySort(col, 'asc') }, "\u25B2 ", t('filter_ascending', this.locale)), h("button", { class: `mrd-table__filter-sort-btn${sortActive && this.sortDir === 'desc' ? ' mrd-table__filter-sort-btn--active' : ''}`, onClick: () => this.applySort(col, 'desc') }, "\u25BC ", t('filter_descending', this.locale)))), h("div", { class: "mrd-table__filter-divider" }), h("div", { class: "mrd-table__filter-section" }, h("div", { class: "mrd-table__filter-section-label" }, t('filter_section', this.locale)), this.renderFilterEditor(col)), h("div", { class: "mrd-table__filter-popup-footer" }, h("button", { class: "mrd-table__filter-btn mrd-table__filter-btn--clear", onClick: () => this.clearFilter() }, t('filter_clear', this.locale)), h("button", { class: "mrd-table__filter-btn mrd-table__filter-btn--apply", onClick: () => this.applyFilter() }, t('filter_apply', this.locale)))));
2922
2990
  }
2923
2991
  // ── Render: footer ────────────────────────────────────────────────────────
2924
- renderFooter(rowCount, effectiveTotal) {
2925
- const total = this.totalElements;
2926
- // Non-paginated mode: show plain row count
2927
- if (total === 0) {
2992
+ renderFooter(rowCount, effectiveTotal, isTotalKnown = true) {
2993
+ // Non-paginated mode: totalElements=0 and no paginated data loaded yet
2994
+ if (this.totalElements === 0 && this.loadedPages.size === 0) {
2928
2995
  const count = rowCount !== null && rowCount !== void 0 ? rowCount : 0;
2929
2996
  if (count === 0)
2930
2997
  return null;
@@ -2933,13 +3000,14 @@ const MrdTable = class {
2933
3000
  // Paginated mode: only show once page 0 has loaded (avoids stale total during filter reset)
2934
3001
  if (!this.loadedPages.has(0))
2935
3002
  return null;
2936
- // Use effectiveTotal (derived from actual page lengths) so the counter
2937
- // is correct even when the host has not yet updated totalElements.
2938
- const displayTotal = effectiveTotal !== null && effectiveTotal !== void 0 ? effectiveTotal : total;
3003
+ // effectiveTotal from render(); fall back to baseTotal when not provided.
3004
+ const displayTotal = effectiveTotal !== null && effectiveTotal !== void 0 ? effectiveTotal : this.baseTotal;
2939
3005
  // Compute from/to independently so partial rows at top/bottom are included.
2940
3006
  const from = Math.min(Math.floor(this.scrollTop / this.rowHeight) + 1, displayTotal);
2941
3007
  const to = Math.min(Math.ceil((this.scrollTop + this.tableHeight) / this.rowHeight), displayTotal);
2942
- return (h("div", { class: "mrd-table__footer" }, from, "\u2013", to, " ", t('table_of', this.locale), " ", displayTotal));
3008
+ // Show '…' for the total until we have a reliable count (aggregations or last page loaded).
3009
+ const totalLabel = isTotalKnown ? String(displayTotal) : '…';
3010
+ return (h("div", { class: "mrd-table__footer" }, from, "\u2013", to, " ", t('table_of', this.locale), " ", totalLabel));
2943
3011
  }
2944
3012
  // ── Render: cell ──────────────────────────────────────────────────────────
2945
3013
  renderCell(col, row) {
@@ -2998,7 +3066,9 @@ const MrdTable = class {
2998
3066
  if (!((_a = this.columns) === null || _a === void 0 ? void 0 : _a.length))
2999
3067
  return null;
3000
3068
  // ── Non-paginated mode ──────────────────────────────────────────────────
3001
- if (this.totalElements === 0) {
3069
+ // Only enter non-paginated mode when totalElements is 0 AND no paginated data
3070
+ // has been loaded yet — prevents the wrong branch when the host omits totalElements.
3071
+ if (this.totalElements === 0 && this.loadedPages.size === 0) {
3002
3072
  return (h(Host, null, this.renderToolbar(), h("div", { class: "mrd-table" }, h("table", { class: "mrd-table__table" }, h("thead", null, h("tr", null, this.columns.map(col => {
3003
3073
  var _a;
3004
3074
  const name = this.colName(col);
@@ -3015,8 +3085,8 @@ const MrdTable = class {
3015
3085
  // Derive the authoritative row count from loaded pages:
3016
3086
  // if any loaded page is shorter than pageSize it is the last page,
3017
3087
  // so the true total cannot exceed (pageNum * pageSize + pageRows.length).
3018
- // This self-corrects without requiring the host to update totalElements.
3019
- let effectiveTotal = this.totalElements;
3088
+ // aggregationsTotal (from setAggregations) takes priority over the totalElements prop.
3089
+ let effectiveTotal = this.baseTotal;
3020
3090
  for (const [pageNum, pageRows] of this.loadedPages) {
3021
3091
  if (pageRows.length < this.pageSize) {
3022
3092
  effectiveTotal = Math.min(effectiveTotal, pageNum * this.pageSize + pageRows.length);
@@ -3053,7 +3123,7 @@ const MrdTable = class {
3053
3123
  isFiltered ? 'mrd-table__header--filtered' : '',
3054
3124
  ].filter(Boolean).join(' ');
3055
3125
  return (h("th", { class: cls, style: this.colWidths[idx] ? { width: `${this.colWidths[idx]}px` } : undefined, onClick: isInteractive ? ((e) => this.filterMode ? this.handleFilterOpen(col, e) : this.handleSortClick(col)) : undefined }, h("span", { class: "mrd-table__header-label" }, (_a = col.label) !== null && _a !== void 0 ? _a : ''), isInteractive && isActive && (h("span", { class: "mrd-table__sort-icon", "aria-hidden": "true" }, this.sortDir === 'asc' ? '▲' : '▼')), isInteractive && !isActive && !this.filterMode && (h("span", { class: "mrd-table__sort-icon", "aria-hidden": "true" }, "\u21C5")), isInteractive && isFiltered && this.renderFilterIcon()));
3056
- }))), h("tbody", null, topSpacerHeight > 0 && (h("tr", { class: "mrd-table__spacer", style: { height: `${topSpacerHeight}px` } }, h("td", { colSpan: colCount }))), renderedRows, bottomSpacerHeight > 0 && (h("tr", { class: "mrd-table__spacer", style: { height: `${bottomSpacerHeight}px` } }, h("td", { colSpan: colCount })))), this.renderTotalsRow())), effectiveTotal === 0 && this.loadedPages.has(0) && (h("p", { class: "mrd-table__empty" }, t('no_results', this.locale))), effectiveTotal > 0 && this.renderFooter(undefined, effectiveTotal), this.renderFilterPopup(), this.renderTextblockModal()));
3126
+ }))), h("tbody", null, topSpacerHeight > 0 && (h("tr", { class: "mrd-table__spacer", style: { height: `${topSpacerHeight}px` } }, h("td", { colSpan: colCount }))), renderedRows, bottomSpacerHeight > 0 && (h("tr", { class: "mrd-table__spacer", style: { height: `${bottomSpacerHeight}px` } }, h("td", { colSpan: colCount })))), this.renderTotalsRow())), effectiveTotal === 0 && this.loadedPages.has(0) && (h("p", { class: "mrd-table__empty" }, t('no_results', this.locale))), effectiveTotal > 0 && this.renderFooter(undefined, effectiveTotal, this.isTotalKnown()), this.renderFilterPopup(), this.renderTextblockModal()));
3057
3127
  }
3058
3128
  renderFilterIcon() {
3059
3129
  return (h("span", { class: "mrd-table__filter-icon", "aria-hidden": "true" }, h("svg", { viewBox: "0 0 24 24", width: "14", height: "14", fill: "currentColor" }, h("path", { d: "M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z" }))));
@@ -1 +1 @@
1
- import{p as e,b as l}from"./p-_tsCCkAi.js";export{s as setNonce}from"./p-_tsCCkAi.js";import{g as a}from"./p-DQuL1Twl.js";(()=>{const l=import.meta.url,a={};return""!==l&&(a.resourcesUrl=new URL(".",l).href),e(a)})().then((async e=>(await a(),l([["p-f6d0f02b",[[2,"mrd-form",{layout:[16],locale:[1],values:[16],referenceHref:[1,"reference-href"],referenceClass:[1,"reference-class"],showCancel:[4,"show-cancel"],formValues:[32],errors:[32],submitted:[32],setFieldValue:[64]},null,{values:[{valuesChanged:0}]}],[2,"mrd-layout-section",{items:[16],data:[16],views:[16],links:[16],locale:[1],searchQueryMap:[32],searchResultsMap:[32],imagePreviewUrl:[32],imagePreviews:[32],setSearchResults:[64],setViewPage:[64],setViewAggregations:[64],setImagePreview:[64],openImagePreview:[64]},null,{data:[{dataChanged:0}]}],[2,"mrd-field",{item:[16],locale:[1],value:[16]}],[2,"mrd-table",{item:[16],parentId:[1,"parent-id"],rows:[16],locale:[1],totalElements:[2,"total-elements"],pageSize:[2,"page-size"],rowHeight:[2,"row-height"],tableHeight:[2,"table-height"],activeViewIdx:[32],loadedPages:[32],requestedPages:[32],renderStart:[32],renderEnd:[32],colWidths:[32],sortField:[32],sortDir:[32],filterMode:[32],activeFilters:[32],openFilterCol:[32],pendingFilter:[32],popupPos:[32],scrollTop:[32],textblockModal:[32],jsonModal:[32],aggregations:[32],init:[64],setPage:[64],setAggregations:[64]},null,{totalElements:[{totalElementsChanged:0}],item:[{itemChanged:0}]}],[2,"mrd-boolean-field",{name:[1],label:[1],value:[4],required:[4],disabled:[4],locale:[1],checked:[32]}],[2,"mrd-currency-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],amountDisplay:[32],currency:[32],error:[32]}],[2,"mrd-date-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-datetime-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32],localValue:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-email-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-file-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],accept:[1],maxSize:[2,"max-size"],fileName:[32],isDragging:[32],uploading:[32],error:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-hyperlink-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-image-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],accept:[1],maxSize:[2,"max-size"],previewUrl:[32],fileName:[32],isDragging:[32],uploading:[32],error:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-list-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],multiple:[4],locale:[1],listItems:[16],error:[32],selected:[32]}],[2,"mrd-longtext-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-number-field",{name:[1],label:[1],value:[2],placeholder:[1],required:[4],disabled:[4],locale:[1],dataType:[1,"data-type"],decimalPrecision:[2,"decimal-precision"],displayValue:[32],error:[32]}],[2,"mrd-relation-field",{name:[1],label:[1],required:[4],disabled:[4],locale:[1],relatedClass:[1,"related-class"],mostSignificantClass:[1,"most-significant-class"],displayType:[1,"display-type"],editBehavior:[1,"edit-behavior"],commonRelation:[1,"common-relation"],multiple:[4],dropdownValues:[16],value:[1],searchQuery:[32],searchResults:[32],allRecords:[32],isLoading:[32],selectedItems:[32],showResults:[32],error:[32],highlightedIndex:[32],setAllRecords:[64],setSearchResults:[64],setLoading:[64]},null,{allRecords:[{allRecordsChanged:0}]}],[2,"mrd-text-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-textarea-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32],editorReady:[32]}],[2,"mrd-time-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32]}]]]],e))));
1
+ import{p as e,b as l}from"./p-_tsCCkAi.js";export{s as setNonce}from"./p-_tsCCkAi.js";import{g as a}from"./p-DQuL1Twl.js";(()=>{const l=import.meta.url,a={};return""!==l&&(a.resourcesUrl=new URL(".",l).href),e(a)})().then((async e=>(await a(),l([["p-2a099635",[[2,"mrd-form",{layout:[16],locale:[1],values:[16],referenceHref:[1,"reference-href"],referenceClass:[1,"reference-class"],showCancel:[4,"show-cancel"],formValues:[32],errors:[32],submitted:[32],setFieldValue:[64]},null,{values:[{valuesChanged:0}]}],[2,"mrd-layout-section",{items:[16],data:[16],views:[16],links:[16],locale:[1],searchQueryMap:[32],searchResultsMap:[32],imagePreviewUrl:[32],imagePreviews:[32],setSearchResults:[64],setViewPage:[64],setViewAggregations:[64],setImagePreview:[64],openImagePreview:[64]},null,{data:[{dataChanged:0}]}],[2,"mrd-field",{item:[16],locale:[1],value:[16]}],[2,"mrd-table",{item:[16],parentId:[1,"parent-id"],rows:[16],locale:[1],totalElements:[2,"total-elements"],pageSize:[2,"page-size"],rowHeight:[2,"row-height"],tableHeight:[2,"table-height"],activeViewIdx:[32],loadedPages:[32],requestedPages:[32],renderStart:[32],renderEnd:[32],colWidths:[32],sortField:[32],sortDir:[32],filterMode:[32],activeFilters:[32],openFilterCol:[32],pendingFilter:[32],popupPos:[32],scrollTop:[32],textblockModal:[32],jsonModal:[32],aggregations:[32],aggregationsTotal:[32],minKnownTotal:[32],init:[64],setPage:[64],setAggregations:[64]},null,{totalElements:[{totalElementsChanged:0}],item:[{itemChanged:0}]}],[2,"mrd-boolean-field",{name:[1],label:[1],value:[4],required:[4],disabled:[4],locale:[1],checked:[32]}],[2,"mrd-currency-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],amountDisplay:[32],currency:[32],error:[32]}],[2,"mrd-date-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-datetime-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32],localValue:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-email-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-file-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],accept:[1],maxSize:[2,"max-size"],fileName:[32],isDragging:[32],uploading:[32],error:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-hyperlink-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-image-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],accept:[1],maxSize:[2,"max-size"],previewUrl:[32],fileName:[32],isDragging:[32],uploading:[32],error:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-list-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],multiple:[4],locale:[1],listItems:[16],error:[32],selected:[32]}],[2,"mrd-longtext-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-number-field",{name:[1],label:[1],value:[2],placeholder:[1],required:[4],disabled:[4],locale:[1],dataType:[1,"data-type"],decimalPrecision:[2,"decimal-precision"],displayValue:[32],error:[32]}],[2,"mrd-relation-field",{name:[1],label:[1],required:[4],disabled:[4],locale:[1],relatedClass:[1,"related-class"],mostSignificantClass:[1,"most-significant-class"],displayType:[1,"display-type"],editBehavior:[1,"edit-behavior"],commonRelation:[1,"common-relation"],multiple:[4],dropdownValues:[16],value:[1],searchQuery:[32],searchResults:[32],allRecords:[32],isLoading:[32],selectedItems:[32],showResults:[32],error:[32],highlightedIndex:[32],setAllRecords:[64],setSearchResults:[64],setLoading:[64]},null,{allRecords:[{allRecordsChanged:0}]}],[2,"mrd-text-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-textarea-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32],editorReady:[32]}],[2,"mrd-time-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32]}]]]],e))));