@sellmate/design-system 1.3.0 → 1.4.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/dist/cjs/{component.table-CMqGfEui.js → component.table-qOFez3z3.js} +3 -0
- package/dist/cjs/design-system.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sd-calendar_2.cjs.entry.js +6 -5
- package/dist/cjs/sd-key-value-table.cjs.entry.js +1 -1
- package/dist/cjs/sd-pagination_4.cjs.entry.js +19 -28
- package/dist/cjs/sd-table.cjs.entry.js +25 -27
- package/dist/cjs/{sd-table.config-BIpldZtw.js → sd-table.config-B7psrvV4.js} +4 -2
- package/dist/cjs/sd-td.cjs.entry.js +18 -9
- package/dist/collection/components/sd-calendar/sd-calendar.css +2 -0
- package/dist/collection/components/sd-calendar/sd-calendar.js +5 -4
- package/dist/collection/components/sd-table/sd-table.js +24 -26
- package/dist/collection/components/sd-table/sd-td/sd-td.js +18 -9
- package/dist/collection/components/sd-table/sd-tr/sd-tr.css +6 -2
- package/dist/collection/components/sd-table/sd-tr/sd-tr.js +16 -25
- package/dist/components/{p-BkWaPXXj.js → p-BDVrZ5mV.js} +1 -1
- package/dist/components/p-CETxX4-M.js +1 -0
- package/dist/components/p-DQFHAKL_.js +1 -0
- package/dist/components/p-DiP0LJGq.js +1 -0
- package/dist/components/{p-CPuyhF6g.js → p-DwgaMhOM.js} +1 -1
- package/dist/components/p-DykVq5VY.js +1 -0
- package/dist/components/sd-calendar.js +1 -1
- package/dist/components/sd-date-picker.js +1 -1
- package/dist/components/sd-key-value-table.js +1 -1
- package/dist/components/sd-table.js +1 -1
- package/dist/components/sd-td.js +1 -1
- package/dist/components/sd-thead.js +1 -1
- package/dist/components/sd-tr.js +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/p-29fd86d8.entry.js +1 -0
- package/dist/design-system/p-36d744fb.entry.js +1 -0
- package/dist/design-system/{p-fe0a5368.entry.js → p-42f7febe.entry.js} +1 -1
- package/dist/design-system/p-522d1481.entry.js +1 -0
- package/dist/design-system/p-DQFHAKL_.js +1 -0
- package/dist/design-system/p-DykVq5VY.js +1 -0
- package/dist/design-system/{p-00854a0a.entry.js → p-d890a680.entry.js} +1 -1
- package/dist/esm/{component.table-BnfUIhUj.js → component.table-DQFHAKL_.js} +3 -0
- package/dist/esm/design-system.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sd-calendar_2.entry.js +6 -5
- package/dist/esm/sd-key-value-table.entry.js +1 -1
- package/dist/esm/sd-pagination_4.entry.js +19 -28
- package/dist/esm/{sd-table.config-B-VgXXT7.js → sd-table.config-DU7Pc6YH.js} +4 -2
- package/dist/esm/sd-table.entry.js +25 -27
- package/dist/esm/sd-td.entry.js +18 -9
- package/dist/types/components/sd-table/sd-table.d.ts +1 -1
- package/dist/types/components/sd-table/sd-td/sd-td.d.ts +2 -2
- package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +1 -2
- package/hydrate/index.js +70 -66
- package/hydrate/index.mjs +70 -66
- package/package.json +1 -1
- package/dist/components/p-B8o25hOw.js +0 -1
- package/dist/components/p-BnfUIhUj.js +0 -1
- package/dist/components/p-WAsath62.js +0 -1
- package/dist/components/p-mmdt-WnS.js +0 -1
- package/dist/design-system/p-563b6fc2.entry.js +0 -1
- package/dist/design-system/p-BnfUIhUj.js +0 -1
- package/dist/design-system/p-f721a6c6.entry.js +0 -1
- package/dist/design-system/p-ffaa4b5d.entry.js +0 -1
- package/dist/design-system/p-mmdt-WnS.js +0 -1
|
@@ -39,9 +39,8 @@ export declare class SdTr {
|
|
|
39
39
|
private getSpanFor;
|
|
40
40
|
private isCovered;
|
|
41
41
|
private getCellClassFor;
|
|
42
|
+
private getFramePaddingStyle;
|
|
42
43
|
private expandCellClass;
|
|
43
|
-
private isVisualLastRow;
|
|
44
|
-
private isVisualLastRowForSelfRow;
|
|
45
44
|
private isVisualLastRowBeforeSeparator;
|
|
46
45
|
private isVisualLastRowBeforeSeparatorForSelfRow;
|
|
47
46
|
render(): any;
|
package/hydrate/index.js
CHANGED
|
@@ -6718,7 +6718,7 @@ const CALENDAR_LAYOUT = {
|
|
|
6718
6718
|
};
|
|
6719
6719
|
const WEEK_LABELS = ['일', '월', '화', '수', '목', '금', '토'];
|
|
6720
6720
|
|
|
6721
|
-
const sdCalendarCss = () => `sd-calendar{display:block}sd-calendar .sd-calendar{display:flex;flex-direction:column;gap:var(--calendar-gap);width:328px;min-height:328px;padding:var(--calendar-padding);background:var(--calendar-bg);border-radius:var(--calendar-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.2);user-select:none}sd-calendar .sd-calendar__header{display:flex;align-items:center;justify-content:center;gap:var(--calendar-header-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__nav-group{display:inline-flex;align-items:center;gap:var(--calendar-gap)}sd-calendar .sd-calendar__nav-group-month{width:100%}sd-calendar .sd-calendar__label{display:inline-flex;align-items:center;justify-content:center;min-width:40px;text-align:center}sd-calendar .sd-calendar__label-month{width:100%}sd-calendar .sd-calendar__divider{display:inline-block;width:1px;height:16px;background:var(--calendar-header-divider)}sd-calendar .sd-calendar__week{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size))}sd-calendar .sd-calendar__week-cell{display:inline-flex;align-items:center;justify-content:center;height:20px;font-size:var(--calendar-week-font-size);line-height:var(--calendar-week-line-height);font-weight:var(--calendar-week-font-weight);color:var(--calendar-week-color)}sd-calendar .sd-calendar__grid{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size));row-gap:var(--calendar-grid-row-gap)}sd-calendar .sd-calendar__day{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;width:var(--calendar-day-size);min-height:var(--calendar-day-circle-size);padding:0;border:none;background:transparent;cursor:pointer;font-size:var(--calendar-day-font-size);line-height:var(--calendar-day-line-height);font-weight:var(--calendar-day-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__day-circle{display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-circle-size);height:var(--calendar-day-circle-size);border-radius:calc(var(--calendar-day-circle-radius) * 1px);border:1px solid transparent;box-sizing:border-box}sd-calendar .sd-calendar__day:not(:disabled):hover .sd-calendar__day-circle{border-radius:16px;border:1px solid var(--calendar-day-hover-border)}sd-calendar .sd-calendar__day--today .sd-calendar__day-circle{font-weight:700}sd-calendar .sd-calendar__day--selected .sd-calendar__day-circle{border-radius:16px;background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-calendar .sd-calendar__day--selected:not(:disabled):hover .sd-calendar__day-circle{background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-calendar .sd-calendar__day--disabled{color:var(--calendar-day-disabled-text);background:none !important;cursor:not-allowed}sd-calendar .sd-calendar__day--empty{visibility:hidden;pointer-events:none}sd-calendar .sd-calendar__dot-row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--calendar-day-dot-gap);width:100%;padding-top:var(--calendar-day-dot-padding-y);padding-bottom:var(--calendar-day-dot-padding-y)}sd-calendar .sd-calendar__dot{display:inline-block;width:var(--calendar-day-dot-size);height:var(--calendar-day-dot-size);border-radius:50%}sd-calendar .sd-calendar__divider-bottom{display:block;width:100%;height:1px;background:var(--calendar-header-divider)}sd-calendar .sd-calendar__legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:var(--calendar-legend-group-gap);row-gap:4px;font-size:var(--calendar-legend-font-size);line-height:var(--calendar-legend-line-height);font-weight:var(--calendar-legend-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__legend-item{display:inline-flex;align-items:center;gap:var(--calendar-legend-gap)}sd-calendar .sd-calendar__legend-dot{display:inline-block;width:var(--calendar-day-dot-size);height:var(--calendar-day-dot-size);border-radius:50%;flex-shrink:0}sd-calendar .sd-calendar__legend-label{display:inline-block}`;
|
|
6721
|
+
const sdCalendarCss = () => `sd-calendar{display:block}sd-calendar .sd-calendar{display:flex;flex-direction:column;gap:var(--calendar-gap);width:328px;min-height:328px;padding:var(--calendar-padding);background:var(--calendar-bg);border-radius:var(--calendar-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.2);user-select:none}sd-calendar .sd-calendar__header{display:flex;align-items:center;justify-content:center;gap:var(--calendar-header-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__nav-group{display:inline-flex;align-items:center;gap:var(--calendar-gap)}sd-calendar .sd-calendar__nav-group-month{width:100%}sd-calendar .sd-calendar__label{display:inline-flex;align-items:center;justify-content:center;min-width:40px;text-align:center}sd-calendar .sd-calendar__label-month{width:100%}sd-calendar .sd-calendar__divider{display:inline-block;width:1px;height:16px;background:var(--calendar-header-divider)}sd-calendar .sd-calendar__week{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size))}sd-calendar .sd-calendar__week-cell{display:inline-flex;align-items:center;justify-content:center;height:20px;font-size:var(--calendar-week-font-size);line-height:var(--calendar-week-line-height);font-weight:var(--calendar-week-font-weight);color:var(--calendar-week-color)}sd-calendar .sd-calendar__grid{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size));row-gap:var(--calendar-grid-row-gap)}sd-calendar .sd-calendar__day{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;width:var(--calendar-day-size);min-height:var(--calendar-day-circle-size);padding:0;border:none;background:transparent;cursor:pointer;font-size:var(--calendar-day-font-size);line-height:var(--calendar-day-line-height);font-weight:var(--calendar-day-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__day-circle{display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-circle-size);height:var(--calendar-day-circle-size);border-radius:calc(var(--calendar-day-circle-radius) * 1px);border:1px solid transparent;box-sizing:border-box}sd-calendar .sd-calendar__day:not(:disabled):hover .sd-calendar__day-circle{border-radius:16px;border:1px solid var(--calendar-day-hover-border)}sd-calendar .sd-calendar__day--today .sd-calendar__day-circle{font-weight:700}sd-calendar .sd-calendar__day--selected .sd-calendar__day-circle{border-radius:16px;background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-calendar .sd-calendar__day--selected:not(:disabled):hover .sd-calendar__day-circle{background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-calendar .sd-calendar__day--disabled{color:var(--calendar-day-disabled-text);background:none !important;cursor:not-allowed}sd-calendar .sd-calendar__day--empty{visibility:hidden;pointer-events:none}sd-calendar .sd-calendar__dot-row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--calendar-day-dot-gap);box-sizing:border-box;width:100%;min-height:14px;padding-top:var(--calendar-day-dot-padding-y);padding-bottom:var(--calendar-day-dot-padding-y)}sd-calendar .sd-calendar__dot{display:inline-block;width:var(--calendar-day-dot-size);height:var(--calendar-day-dot-size);border-radius:50%}sd-calendar .sd-calendar__divider-bottom{display:block;width:100%;height:1px;background:var(--calendar-header-divider)}sd-calendar .sd-calendar__legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:var(--calendar-legend-group-gap);row-gap:4px;font-size:var(--calendar-legend-font-size);line-height:var(--calendar-legend-line-height);font-weight:var(--calendar-legend-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__legend-item{display:inline-flex;align-items:center;gap:var(--calendar-legend-gap)}sd-calendar .sd-calendar__legend-dot{display:inline-block;width:var(--calendar-day-dot-size);height:var(--calendar-day-dot-size);border-radius:50%;flex-shrink:0}sd-calendar .sd-calendar__legend-label{display:inline-block}`;
|
|
6722
6722
|
|
|
6723
6723
|
class SdCalendar {
|
|
6724
6724
|
constructor(hostRef) {
|
|
@@ -6894,7 +6894,8 @@ class SdCalendar {
|
|
|
6894
6894
|
};
|
|
6895
6895
|
const eventMap = this.eventMap;
|
|
6896
6896
|
const legend = this.legendItems;
|
|
6897
|
-
|
|
6897
|
+
const hasEvents = (this.events?.length ?? 0) > 0;
|
|
6898
|
+
return (hAsync("div", { key: '79cfdb58f8d44085c87cfea6458e60654bfa09bb', class: "sd-calendar", style: cssVars }, hAsync("div", { key: '065620bcd155de11ef2272720de57ef6fcd9fd20', class: "sd-calendar__header" }, hAsync("div", { key: 'ae27c8fe51c44137932b18cc83b64dcce7e2bbaa', class: "sd-calendar__nav-group" }, hAsync("sd-ghost-button", { key: '8207f6d77705999419f451db032c059564ea0c17', ariaLabel: "prevYear", size: "xxs", icon: "chevronLeft", onClick: this.goPrevYear }), hAsync("span", { key: 'b5bf63784dd06c3ce5a4d4c5514fea22efb08793', class: "sd-calendar__label" }, this.currentYear), hAsync("sd-ghost-button", { key: '14512de68825e3b158704c3084306029ade8fcc1', ariaLabel: "nextYear", size: "xxs", icon: "chevronRight", onClick: this.goNextYear })), hAsync("span", { key: 'e37eb90d72c2e64b8ebb1da4ddf3fccb7ff18cc3', class: "sd-calendar__divider", "aria-hidden": "true" }), hAsync("div", { key: '07b1696b663ddb992e5a8d8b5ab98205ba136d9d', class: "sd-calendar__nav-group sd-calendar__nav-group-month" }, hAsync("sd-ghost-button", { key: 'b742889a44643d3e4d3b6da90784923c40e5a07f', ariaLabel: "prevMonth", size: "xxs", icon: "chevronLeft", onClick: this.goPrevMonth }), hAsync("span", { key: 'c97402106312c3a6eb220798263ba818419e7d27', class: "sd-calendar__label sd-calendar__label-month" }, this.currentMonth, "\uC6D4"), hAsync("sd-ghost-button", { key: '55411b1328acb781d71a7a84996d2a29886612cd', ariaLabel: "nextMonth", size: "xxs", icon: "chevronRight", onClick: this.goNextMonth }))), hAsync("div", { key: 'd10b03d31be412b545999d7e70bd9a349e5f1880', class: "sd-calendar__week" }, WEEK_LABELS.map(label => (hAsync("span", { key: label, class: "sd-calendar__week-cell" }, label)))), hAsync("div", { key: '0b8f82db3753fe08435b07dee695d49a192786c0', class: "sd-calendar__grid" }, this.cells.map(cell => {
|
|
6898
6899
|
const isSelected = cell.inCurrentMonth && this.value !== '' && this.value === cell.date;
|
|
6899
6900
|
const isToday = cell.inCurrentMonth && today === cell.date;
|
|
6900
6901
|
const isDisabled = cell.inCurrentMonth && this.isDisabled(cell.date);
|
|
@@ -6905,10 +6906,10 @@ class SdCalendar {
|
|
|
6905
6906
|
'sd-calendar__day--today': isToday,
|
|
6906
6907
|
'sd-calendar__day--selected': isSelected,
|
|
6907
6908
|
'sd-calendar__day--disabled': isDisabled,
|
|
6908
|
-
}, disabled: !cell.inCurrentMonth || isDisabled, tabindex: !cell.inCurrentMonth ? -1 : undefined, "aria-hidden": !cell.inCurrentMonth ? 'true' : undefined, onClick: () => cell.inCurrentMonth && this.handleDayClick(cell) }, hAsync("span", { class: "sd-calendar__day-circle" }, cell.inCurrentMonth ? cell.day : ''),
|
|
6909
|
+
}, disabled: !cell.inCurrentMonth || isDisabled, tabindex: !cell.inCurrentMonth ? -1 : undefined, "aria-hidden": !cell.inCurrentMonth ? 'true' : undefined, onClick: () => cell.inCurrentMonth && this.handleDayClick(cell) }, hAsync("span", { class: "sd-calendar__day-circle" }, cell.inCurrentMonth ? cell.day : ''), hasEvents && (hAsync("span", { class: "sd-calendar__dot-row", "aria-hidden": "true" }, dayEvents?.map((ev, i) => (hAsync("span", { key: `${ev.color}|${ev.label}|${i}`, class: "sd-calendar__dot", style: { backgroundColor: ev.color } })))))));
|
|
6909
6910
|
})), legend.length > 0 && [
|
|
6910
|
-
hAsync("span", { key: '
|
|
6911
|
-
hAsync("div", { key: '
|
|
6911
|
+
hAsync("span", { key: 'a837c5956da658561fcbd2e646b0abbb0fa84a20', class: "sd-calendar__divider-bottom", "aria-hidden": "true" }),
|
|
6912
|
+
hAsync("div", { key: '190b9947e5ecd627fad03b40c58c2e0c8719daaa', class: "sd-calendar__legend" }, legend.map(item => (hAsync("span", { key: `${item.color}|${item.label}`, class: "sd-calendar__legend-item" }, hAsync("span", { class: "sd-calendar__legend-dot", style: { backgroundColor: item.color }, "aria-hidden": "true" }), hAsync("span", { class: "sd-calendar__legend-label" }, item.label))))),
|
|
6912
6913
|
]));
|
|
6913
6914
|
}
|
|
6914
6915
|
static get watchers() { return {
|
|
@@ -10711,6 +10712,9 @@ const table = {
|
|
|
10711
10712
|
paddingY: "6"
|
|
10712
10713
|
},
|
|
10713
10714
|
paddingX: "16",
|
|
10715
|
+
frame: {
|
|
10716
|
+
padding: "8"
|
|
10717
|
+
},
|
|
10714
10718
|
typography: {
|
|
10715
10719
|
fontFamily: "Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif",
|
|
10716
10720
|
fontWeight: "400",
|
|
@@ -14364,7 +14368,9 @@ const TABLE_BODY_LAYOUT = {
|
|
|
14364
14368
|
height: tableTokens.table.body.dense.height,
|
|
14365
14369
|
paddingY: tableTokens.table.body.dense.paddingY,
|
|
14366
14370
|
},
|
|
14367
|
-
paddingX: tableTokens.table.body.paddingX
|
|
14371
|
+
paddingX: tableTokens.table.body.paddingX,
|
|
14372
|
+
framePadding: tableTokens.table.body.frame.padding,
|
|
14373
|
+
};
|
|
14368
14374
|
const TABLE_BODY_TYPOGRAPHY = {
|
|
14369
14375
|
fontFamily: tableTokens.table.body.typography.fontFamily,
|
|
14370
14376
|
fontWeight: tableTokens.table.body.typography.fontWeight,
|
|
@@ -14433,7 +14439,9 @@ class SdTable {
|
|
|
14433
14439
|
get effectiveRowHeight() {
|
|
14434
14440
|
if (this.rowHeight != null)
|
|
14435
14441
|
return this.rowHeight;
|
|
14436
|
-
return this.dense
|
|
14442
|
+
return this.dense
|
|
14443
|
+
? Number(TABLE_BODY_LAYOUT.dense.height)
|
|
14444
|
+
: Number(TABLE_BODY_LAYOUT.default.height);
|
|
14437
14445
|
}
|
|
14438
14446
|
virtualBuffer = 5;
|
|
14439
14447
|
virtualEndThreshold = 10;
|
|
@@ -14627,7 +14635,6 @@ class SdTable {
|
|
|
14627
14635
|
el.unregisterSpanSync = this.unregisterSpanSync.bind(this);
|
|
14628
14636
|
el.getSpanSync = this.getSpanSync.bind(this);
|
|
14629
14637
|
el.isCoveredSync = this.isCoveredSync.bind(this);
|
|
14630
|
-
el.isVisualLastRowSync = this.isVisualLastRowSync.bind(this);
|
|
14631
14638
|
el.registerSeparatorSync = this.registerSeparatorSync.bind(this);
|
|
14632
14639
|
el.unregisterSeparatorSync = this.unregisterSeparatorSync.bind(this);
|
|
14633
14640
|
el.isVisualLastRowBeforeSeparatorSync = this.isVisualLastRowBeforeSeparatorSync.bind(this);
|
|
@@ -14638,6 +14645,7 @@ class SdTable {
|
|
|
14638
14645
|
el.registerUseFrameSync = this.registerUseFrameSync.bind(this);
|
|
14639
14646
|
el.unregisterUseFrameSync = this.unregisterUseFrameSync.bind(this);
|
|
14640
14647
|
el.hasUseFrameInRowSync = this.hasUseFrameInRowSync.bind(this);
|
|
14648
|
+
el.isCellUseFrameSync = this.isCellUseFrameSync.bind(this);
|
|
14641
14649
|
if (Array.isArray(this.rows)) {
|
|
14642
14650
|
this.rowCount = this.rows.length;
|
|
14643
14651
|
this.pushRowsToChildren(this.rows);
|
|
@@ -14715,8 +14723,15 @@ class SdTable {
|
|
|
14715
14723
|
}
|
|
14716
14724
|
});
|
|
14717
14725
|
this.noDataContentResizeObserver.observe(target);
|
|
14718
|
-
|
|
14719
|
-
|
|
14726
|
+
readTask(() => {
|
|
14727
|
+
if (!this.noDataContentEl)
|
|
14728
|
+
return;
|
|
14729
|
+
const measured = Math.ceil(this.noDataContentEl.scrollHeight);
|
|
14730
|
+
const next = Math.max(60, measured);
|
|
14731
|
+
if (next !== this.noDataBodyHeight) {
|
|
14732
|
+
this.noDataBodyHeight = next;
|
|
14733
|
+
}
|
|
14734
|
+
});
|
|
14720
14735
|
}
|
|
14721
14736
|
// light DOM(manual mode 자식)과 shadow DOM(autoThead/autoTbody fallback) 양쪽 모두에서 자식을 찾는다.
|
|
14722
14737
|
queryChildEl(selector) {
|
|
@@ -14840,6 +14855,9 @@ class SdTable {
|
|
|
14840
14855
|
const fields = this.useFrameRegistry.get(rowKey);
|
|
14841
14856
|
return fields != null && fields.size > 0;
|
|
14842
14857
|
}
|
|
14858
|
+
isCellUseFrameSync(rowKey, field) {
|
|
14859
|
+
return this.useFrameRegistry.get(rowKey)?.has(field) ?? false;
|
|
14860
|
+
}
|
|
14843
14861
|
isRowSelectedSync(row) {
|
|
14844
14862
|
return Array.from(this.innerSelected).some(r => r[this.rowKey ?? 'id'] === row[this.rowKey ?? 'id']);
|
|
14845
14863
|
}
|
|
@@ -15108,7 +15126,7 @@ class SdTable {
|
|
|
15108
15126
|
return false;
|
|
15109
15127
|
}
|
|
15110
15128
|
// rowspan을 반영한 셀의 시각적 하단 행 인덱스를 반환한다.
|
|
15111
|
-
//
|
|
15129
|
+
// isVisualLastRowBeforeSeparatorSync 헬퍼.
|
|
15112
15130
|
resolveVisualBottom(rowKey, field) {
|
|
15113
15131
|
const myRowIdx = this.resolveRowIndex(rowKey);
|
|
15114
15132
|
if (myRowIdx == null)
|
|
@@ -15117,20 +15135,6 @@ class SdTable {
|
|
|
15117
15135
|
const rs = Math.max(1, span?.rowspan ?? 1);
|
|
15118
15136
|
return myRowIdx + rs - 1;
|
|
15119
15137
|
}
|
|
15120
|
-
// 셀의 시각적 하단이 테이블(또는 현재 페이지)의 마지막 행인지 판정.
|
|
15121
|
-
// 마지막 행에 border-bottom: none을 적용하기 위함.
|
|
15122
|
-
isVisualLastRowSync(rowKey, field) {
|
|
15123
|
-
if (this.rowCount <= 0)
|
|
15124
|
-
return false;
|
|
15125
|
-
const visualBottom = this.resolveVisualBottom(rowKey, field);
|
|
15126
|
-
if (visualBottom == null)
|
|
15127
|
-
return false;
|
|
15128
|
-
const pageInfo = this.getPaginationInfoSync();
|
|
15129
|
-
const lastVisibleIdx = pageInfo
|
|
15130
|
-
? Math.min(pageInfo.endIndex - 1, this.rowCount - 1)
|
|
15131
|
-
: this.rowCount - 1;
|
|
15132
|
-
return visualBottom === lastVisibleIdx;
|
|
15133
|
-
}
|
|
15134
15138
|
registerSeparatorSync(prevRowKey) {
|
|
15135
15139
|
const idx = this.resolveRowIndex(prevRowKey);
|
|
15136
15140
|
if (idx != null)
|
|
@@ -15247,25 +15251,25 @@ class SdTable {
|
|
|
15247
15251
|
'--table-body-line-height': `${TABLE_BODY_TYPOGRAPHY.lineHeight}px`,
|
|
15248
15252
|
'--table-body-text-decoration': TABLE_BODY_TYPOGRAPHY.textDecoration,
|
|
15249
15253
|
};
|
|
15250
|
-
return (hAsync(Host, { key: '
|
|
15254
|
+
return (hAsync(Host, { key: '2b7c1eaf862c45c73751af6035a022e8ce0314b4', style: hostStyle }, hAsync("div", { key: '35851e539eef8ff69ff03bd31f5d55d95eb8bf7a', class: "sd-table__container", style: {
|
|
15251
15255
|
'--table-width': this.width,
|
|
15252
15256
|
'--table-height': effectiveTableHeight,
|
|
15253
15257
|
'--table-container-height': `calc(${effectiveTableHeight} - ${paginationHeight}px)`,
|
|
15254
|
-
} }, hAsync("div", { key: '
|
|
15258
|
+
} }, hAsync("div", { key: 'e3bf5576fd1b1ee9ffab5d240de904204f4288d5', class: {
|
|
15255
15259
|
'sd-table__wrapper': true,
|
|
15256
15260
|
'sd-table__wrapper--radius-use-top': this.radius === 'useTop',
|
|
15257
|
-
} }, hAsync("div", { key: '
|
|
15261
|
+
} }, hAsync("div", { key: 'a67ebcb802a3ed443cca1fc33a00787642e08e84', class: {
|
|
15258
15262
|
'sd-table__scroll-container': true,
|
|
15259
15263
|
'sd-table__scroll-container--loading': this.isLoading,
|
|
15260
15264
|
'sd-table__scroll-container--no-data': isNoData,
|
|
15261
|
-
} }, this.isLoading && (hAsync("div", { key: '
|
|
15265
|
+
} }, this.isLoading && (hAsync("div", { key: '2cdaff94dab50598c05364930dd3e763a6f2f79a', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, hAsync("sd-circle-progress", { key: '49211d7555a38996d3fd9cfce0df50bb626fa1d6', indeterminate: true }))), isNoData && (hAsync(hAsync.Fragment, null, hAsync("div", { key: '3da9d42ecedbdc63858a06040f0e22d265a8183b', class: "sd-table__no-data-header-overlay" }), hAsync("div", { key: '20b5d8be682572a4ddbce21b6cd265894d014499', class: "sd-table__no-data" }, hAsync("div", { key: 'a024fa084f4a137a70fe176cee6918b4f701fd42', class: "sd-table__no-data-content", ref: el => {
|
|
15262
15266
|
this.noDataContentEl = el;
|
|
15263
15267
|
if (el)
|
|
15264
15268
|
this.syncNoDataContentObserver();
|
|
15265
|
-
} }, hAsync("slot", { key: '
|
|
15269
|
+
} }, hAsync("slot", { key: '9603eefa63fd5bc05dfa132c6be2302497d4c228', name: "no-data" }, hAsync("span", { key: '0dad4e143d8251e375f748d1e5e1a77909fab164' }, this.resolvedNoDataLabel)))))), hAsync("table", { key: '83325a8970f18bb9cf7a78dc665d16a24edc18da', class: this.tableClasses }, this.autoThead ? (hAsync("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, hAsync("sd-thead", { rows: this.rows ?? [] }))) : (hAsync("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (hAsync("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, hAsync("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (hAsync("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
|
|
15266
15270
|
this.pagination.rowsPerPage > 0 &&
|
|
15267
15271
|
this.rowCount > 0 &&
|
|
15268
|
-
!this.useVirtualScroll && (hAsync("div", { key: '
|
|
15272
|
+
!this.useVirtualScroll && (hAsync("div", { key: '935b0f916cbc1de29a7f6b3805a5a3c25eaba467', class: "sd-table__pagination" }, hAsync("sd-pagination", { key: '7faad5d0b2efe652a9ed989910551aa8bc5592ec', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (hAsync("sd-select", { key: 'd514c41459a60ac47ffcd476a635c47386232c50', value: this.useInternalPagination
|
|
15269
15273
|
? this.innerRowsPerPage
|
|
15270
15274
|
: this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", emitValue: true, onSdUpdate: e => {
|
|
15271
15275
|
if (!this.isRowsPerPageValue(e.detail))
|
|
@@ -15922,11 +15926,13 @@ class SdTd {
|
|
|
15922
15926
|
this.syncSlotName();
|
|
15923
15927
|
this.syncSpanRegistration();
|
|
15924
15928
|
this.syncCellClassRegistration(oldField);
|
|
15929
|
+
this.syncUseFrameRegistration(oldField);
|
|
15925
15930
|
}
|
|
15926
15931
|
handleRowKeyChange(_newKey, oldKey) {
|
|
15927
15932
|
this.syncSlotName();
|
|
15928
15933
|
this.syncSpanRegistration();
|
|
15929
15934
|
this.syncCellClassRegistration(undefined, oldKey);
|
|
15935
|
+
this.syncUseFrameRegistration(undefined, oldKey);
|
|
15930
15936
|
}
|
|
15931
15937
|
handleSpanChange() {
|
|
15932
15938
|
this.syncSpanRegistration();
|
|
@@ -15937,15 +15943,15 @@ class SdTd {
|
|
|
15937
15943
|
handleDividerChange() {
|
|
15938
15944
|
this.syncCellClassRegistration();
|
|
15939
15945
|
}
|
|
15940
|
-
|
|
15941
|
-
this.
|
|
15946
|
+
handleUseFrameChange() {
|
|
15947
|
+
this.syncUseFrameRegistration();
|
|
15942
15948
|
this.requestParentTrUpdate();
|
|
15943
15949
|
}
|
|
15944
15950
|
componentWillLoad() {
|
|
15945
15951
|
this.syncSlotName();
|
|
15946
15952
|
this.syncSpanRegistration();
|
|
15947
15953
|
this.syncCellClassRegistration();
|
|
15948
|
-
this.
|
|
15954
|
+
this.syncUseFrameRegistration();
|
|
15949
15955
|
// slot 타이밍 엇갈림 대응: 부모 sd-tr forceUpdate로 슬롯 재매칭
|
|
15950
15956
|
const parentTr = this.el.parentElement;
|
|
15951
15957
|
if (parentTr?.tagName?.toLowerCase() === 'sd-tr') ;
|
|
@@ -15954,7 +15960,7 @@ class SdTd {
|
|
|
15954
15960
|
this.syncSlotName();
|
|
15955
15961
|
this.syncSpanRegistration();
|
|
15956
15962
|
this.syncCellClassRegistration();
|
|
15957
|
-
this.
|
|
15963
|
+
this.syncUseFrameRegistration();
|
|
15958
15964
|
}
|
|
15959
15965
|
// React StrictMode에서는 disconnect/reconnect 사이클이 일어나면서
|
|
15960
15966
|
// 동일 인스턴스의 componentWillLoad는 더 이상 호출되지 않는다.
|
|
@@ -15962,7 +15968,7 @@ class SdTd {
|
|
|
15962
15968
|
connectedCallback() {
|
|
15963
15969
|
this.syncSpanRegistration();
|
|
15964
15970
|
this.syncCellClassRegistration();
|
|
15965
|
-
this.
|
|
15971
|
+
this.syncUseFrameRegistration();
|
|
15966
15972
|
}
|
|
15967
15973
|
disconnectedCallback() {
|
|
15968
15974
|
const table = this.findTable();
|
|
@@ -16016,9 +16022,16 @@ class SdTd {
|
|
|
16016
16022
|
table.registerCellClassSync(String(this.rowKey), this.field, combinedClass);
|
|
16017
16023
|
this.requestParentTrUpdate();
|
|
16018
16024
|
}
|
|
16019
|
-
|
|
16025
|
+
syncUseFrameRegistration(prevField, prevRowKey) {
|
|
16020
16026
|
const table = this.findTable();
|
|
16021
|
-
if (!table
|
|
16027
|
+
if (!table)
|
|
16028
|
+
return;
|
|
16029
|
+
const oldField = prevField ?? this.field;
|
|
16030
|
+
const oldRowKey = prevRowKey ?? (this.rowKey != null ? String(this.rowKey) : undefined);
|
|
16031
|
+
if (oldField !== '' && oldRowKey != null) {
|
|
16032
|
+
table.unregisterUseFrameSync?.(oldRowKey, oldField);
|
|
16033
|
+
}
|
|
16034
|
+
if (this.field === '' || this.rowKey == null)
|
|
16022
16035
|
return;
|
|
16023
16036
|
if (this.useFrame) {
|
|
16024
16037
|
table.registerUseFrameSync?.(String(this.rowKey), this.field);
|
|
@@ -16039,7 +16052,7 @@ class SdTd {
|
|
|
16039
16052
|
}
|
|
16040
16053
|
}
|
|
16041
16054
|
render() {
|
|
16042
|
-
return (hAsync(Host, { key: '
|
|
16055
|
+
return (hAsync(Host, { key: '505b602b609050870e7e80df9157dbc50d0cb8c1', class: { [`align-${this.align}`]: Boolean(this.align) } }, hAsync("slot", { key: '9910f02d98ce5e115b2a380954dd0a994f9f1c12' })));
|
|
16043
16056
|
}
|
|
16044
16057
|
static get watchers() { return {
|
|
16045
16058
|
"field": [{
|
|
@@ -16064,7 +16077,7 @@ class SdTd {
|
|
|
16064
16077
|
"handleDividerChange": 0
|
|
16065
16078
|
}],
|
|
16066
16079
|
"useFrame": [{
|
|
16067
|
-
"
|
|
16080
|
+
"handleUseFrameChange": 0
|
|
16068
16081
|
}]
|
|
16069
16082
|
}; }
|
|
16070
16083
|
static get style() { return sdTdCss(); }
|
|
@@ -17281,7 +17294,7 @@ class SdTooltip {
|
|
|
17281
17294
|
}; }
|
|
17282
17295
|
}
|
|
17283
17296
|
|
|
17284
|
-
const sdTrCss = () => `sd-tr{display:contents}sd-tr *{box-sizing:border-box}.tr{display:table-row}.tr:hover .td{background-color:#F9F9F9}.tr--no-hover:hover .td{background-color:white}.td{display:table-cell;height:var(--table-body-height, 44px);padding:var(--table-body-padding-y, 0) var(--table-body-padding-x, 16px);border-bottom:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);background:white;vertical-align:middle;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.td--left{text-align:left}.td--center{text-align:center}.td--right{text-align:right}.td--selected{position:relative;width:52px !important;max-width:52px !important;min-width:52px !important;padding:0 10px 0 24px;text-align:left}.td--selected sd-checkbox label{position:relative}.td--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.td.sticky-left{position:sticky;background-color:white;z-index:100 !important;left:var(--sticky-left-offset, 0)}.td.sticky-right{position:sticky;background-color:white;z-index:100 !important;right:var(--sticky-right-offset, 0)}.td.sticky-left-edge:after{content:"";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.td.sticky-right-edge:after{content:"";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.td.sticky-left-edge.is-scrolled-left{overflow:visible}.td.sticky-left-edge.is-scrolled-left:after{opacity:1}.td.sticky-right-edge.is-scrolled-right{overflow:visible}.td.sticky-right-edge.is-scrolled-right:after{opacity:1}.tr:hover .td.sticky-left,.tr:hover .td.sticky-right{background-color:#F9F9F9}.tr--no-hover:hover .td.sticky-left,.tr--no-hover:hover .td.sticky-right{background-color:white}.td.td
|
|
17297
|
+
const sdTrCss = () => `sd-tr{display:contents}sd-tr *{box-sizing:border-box}.tr{display:table-row}.tr:hover .td{background-color:#F9F9F9}.tr--no-hover:hover .td{background-color:white}.tr--separator:hover .td{background-color:var(--table-separator-color, #eeeeee)}.td{display:table-cell;height:var(--table-body-height, 44px);padding:var(--table-body-padding-y, 0) var(--table-body-padding-x, 16px);border-bottom:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);background:white;vertical-align:middle;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.td--left{text-align:left}.td--center{text-align:center}.td--right{text-align:right}.td--selected{position:relative;width:52px !important;max-width:52px !important;min-width:52px !important;padding:0 10px 0 24px;text-align:left}.td--selected sd-checkbox label{position:relative}.td--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.td.sticky-left{position:sticky;background-color:white;z-index:100 !important;left:var(--sticky-left-offset, 0)}.td.sticky-right{position:sticky;background-color:white;z-index:100 !important;right:var(--sticky-right-offset, 0)}.td.sticky-left-edge:after{content:"";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.td.sticky-right-edge:after{content:"";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.td.sticky-left-edge.is-scrolled-left{overflow:visible}.td.sticky-left-edge.is-scrolled-left:after{opacity:1}.td.sticky-right-edge.is-scrolled-right{overflow:visible}.td.sticky-right-edge.is-scrolled-right:after{opacity:1}.tr:hover .td.sticky-left,.tr:hover .td.sticky-right{background-color:#F9F9F9}.tr--no-hover:hover .td.sticky-left,.tr--no-hover:hover .td.sticky-right{background-color:white}.tr--separator:hover .td.sticky-left,.tr--separator:hover .td.sticky-right{background-color:var(--table-separator-color, #eeeeee)}.tr--separator .td--separator{height:var(--table-separator-width, 6px);padding:0;background-color:var(--table-separator-color, #eeeeee);border-bottom:none}.td.td--before-separator{border-bottom:none}.td--divider-left{border-left:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1)}.td--divider-right{border-right:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1)}`;
|
|
17285
17298
|
|
|
17286
17299
|
class SdTr {
|
|
17287
17300
|
constructor(hostRef) {
|
|
@@ -17455,6 +17468,13 @@ class SdTr {
|
|
|
17455
17468
|
const fieldName = typeof col.field === 'string' ? col.field : col.name;
|
|
17456
17469
|
return this.tableEl.getCellClassSync(this.rowKey, fieldName);
|
|
17457
17470
|
}
|
|
17471
|
+
getFramePaddingStyle(field) {
|
|
17472
|
+
if (!this._dense)
|
|
17473
|
+
return undefined;
|
|
17474
|
+
if (!(this.tableEl?.isCellUseFrameSync?.(this.rowKey, field) ?? false))
|
|
17475
|
+
return undefined;
|
|
17476
|
+
return { padding: `${TABLE_BODY_LAYOUT.framePadding}px` };
|
|
17477
|
+
}
|
|
17458
17478
|
expandCellClass(classStr) {
|
|
17459
17479
|
if (classStr == null || classStr === '')
|
|
17460
17480
|
return {};
|
|
@@ -17463,20 +17483,6 @@ class SdTr {
|
|
|
17463
17483
|
.filter(Boolean)
|
|
17464
17484
|
.map(c => [c, true]));
|
|
17465
17485
|
}
|
|
17466
|
-
isVisualLastRow(col) {
|
|
17467
|
-
if (!this.tableEl?.isVisualLastRowSync)
|
|
17468
|
-
return false;
|
|
17469
|
-
const fieldName = typeof col.field === 'string' ? col.field : col.name;
|
|
17470
|
-
return this.tableEl.isVisualLastRowSync(this.rowKey, fieldName);
|
|
17471
|
-
}
|
|
17472
|
-
// selectable td는 column 정보가 없으므로 빈 field로 평가한다.
|
|
17473
|
-
// 해당 위치는 rowspan을 등록할 수 없으므로 spanRegistry에 매칭이 없고,
|
|
17474
|
-
// 결과적으로 "내 row 자체가 시각적 마지막인지"가 판정된다.
|
|
17475
|
-
isVisualLastRowForSelfRow() {
|
|
17476
|
-
if (!this.tableEl?.isVisualLastRowSync)
|
|
17477
|
-
return false;
|
|
17478
|
-
return this.tableEl.isVisualLastRowSync(this.rowKey, '');
|
|
17479
|
-
}
|
|
17480
17486
|
isVisualLastRowBeforeSeparator(col) {
|
|
17481
17487
|
if (!this.tableEl?.isVisualLastRowBeforeSeparatorSync)
|
|
17482
17488
|
return false;
|
|
@@ -17497,12 +17503,13 @@ class SdTr {
|
|
|
17497
17503
|
const hasRowspan = this.tableEl?.hasRowspanSync?.() ?? false;
|
|
17498
17504
|
const isUseFrameRow = this.tableEl?.hasUseFrameInRowSync?.(this.rowKey) ?? false;
|
|
17499
17505
|
const effectiveDense = this._dense && !isUseFrameRow;
|
|
17500
|
-
const
|
|
17506
|
+
const rowLayoutY = effectiveDense ? TABLE_BODY_LAYOUT.dense : TABLE_BODY_LAYOUT.default;
|
|
17507
|
+
const rowPaddingX = this._dense && isUseFrameRow ? TABLE_BODY_LAYOUT.paddingX : TABLE_BODY_LAYOUT.paddingX;
|
|
17501
17508
|
const rowStyle = {
|
|
17502
17509
|
'display': this.isVisible ? '' : 'none',
|
|
17503
|
-
'--table-body-height': `${
|
|
17504
|
-
'--table-body-padding-y': `${
|
|
17505
|
-
'--table-body-padding-x': `${
|
|
17510
|
+
'--table-body-height': `${rowLayoutY.height}px`,
|
|
17511
|
+
'--table-body-padding-y': `${rowLayoutY.paddingY}px`,
|
|
17512
|
+
'--table-body-padding-x': `${rowPaddingX}px`,
|
|
17506
17513
|
'--table-body-font-family': TABLE_BODY_TYPOGRAPHY.fontFamily,
|
|
17507
17514
|
'--table-body-font-weight': TABLE_BODY_TYPOGRAPHY.fontWeight,
|
|
17508
17515
|
'--table-body-font-size': `${TABLE_BODY_TYPOGRAPHY.fontSize}px`,
|
|
@@ -17520,7 +17527,6 @@ class SdTr {
|
|
|
17520
17527
|
return (hAsync(Host, { style: rowStyle }, hAsync("tr", { class: { 'tr': true, 'tr--no-hover': hasRowspan } }, this._selectable && (hAsync("td", { class: {
|
|
17521
17528
|
'td': true,
|
|
17522
17529
|
'td--selected': true,
|
|
17523
|
-
'td--last-row': this.isVisualLastRowForSelfRow(),
|
|
17524
17530
|
'td--before-separator': this.isVisualLastRowBeforeSeparatorForSelfRow(),
|
|
17525
17531
|
'sticky-left': true,
|
|
17526
17532
|
'sticky-left-edge': stickyLeftCount === 0,
|
|
@@ -17528,19 +17534,19 @@ class SdTr {
|
|
|
17528
17534
|
}, style: { '--sticky-left-offset': '0px' } }, hAsync("sd-checkbox", { value: this.isSelected(), onSdUpdate: () => this.handleSelect() }))), stickyLeftCols.map((col, idx) => {
|
|
17529
17535
|
if (this.isCovered(idx))
|
|
17530
17536
|
return null;
|
|
17537
|
+
const fieldName = typeof col.field === 'string' ? col.field : col.name;
|
|
17531
17538
|
const span = this.getSpanFor(col);
|
|
17532
17539
|
const sdCellClass = this.getCellClassFor(col);
|
|
17533
17540
|
return (hAsync("td", { key: col.name, rowSpan: span?.rowspan, colSpan: span?.colspan, class: {
|
|
17534
17541
|
'td': true,
|
|
17535
17542
|
[`td--${col.align || 'left'}`]: true,
|
|
17536
|
-
'td--last-row': this.isVisualLastRow(col),
|
|
17537
17543
|
'td--before-separator': this.isVisualLastRowBeforeSeparator(col),
|
|
17538
17544
|
'sticky-left': true,
|
|
17539
17545
|
'sticky-left-edge': idx === stickyLeftCount - 1,
|
|
17540
17546
|
'is-scrolled-left': idx === stickyLeftCount - 1 && this._scrolledLeft,
|
|
17541
17547
|
[`${col.tdClass}`]: Boolean(col.tdClass),
|
|
17542
17548
|
...this.expandCellClass(sdCellClass),
|
|
17543
|
-
}, style: this.getStickyStyle(idx) }, hAsync("slot", { name: `${this.tableId}-${
|
|
17549
|
+
}, style: { ...this.getStickyStyle(idx), ...this.getFramePaddingStyle(fieldName) } }, hAsync("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, hAsync("span", null, this.getCellValue(col)))));
|
|
17544
17550
|
}), middleCols.map((col, relativeIdx) => {
|
|
17545
17551
|
const actualColIdx = stickyLeftCount + relativeIdx;
|
|
17546
17552
|
if (this.isCovered(actualColIdx))
|
|
@@ -17551,11 +17557,10 @@ class SdTr {
|
|
|
17551
17557
|
return (hAsync("td", { key: col.name, rowSpan: span?.rowspan, colSpan: span?.colspan, class: {
|
|
17552
17558
|
'td': true,
|
|
17553
17559
|
[`td--${col.align || 'left'}`]: true,
|
|
17554
|
-
'td--last-row': this.isVisualLastRow(col),
|
|
17555
17560
|
'td--before-separator': this.isVisualLastRowBeforeSeparator(col),
|
|
17556
17561
|
[`${col.tdClass}`]: Boolean(col.tdClass),
|
|
17557
17562
|
...this.expandCellClass(sdCellClass),
|
|
17558
|
-
}, style: this.getStickyStyle(actualColIdx) }, hAsync("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, hAsync("span", null, this.getCellValue(col)))));
|
|
17563
|
+
}, style: { ...this.getStickyStyle(actualColIdx), ...this.getFramePaddingStyle(fieldName) } }, hAsync("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, hAsync("span", null, this.getCellValue(col)))));
|
|
17559
17564
|
}), stickyRightCols.map((col, relativeIdx) => {
|
|
17560
17565
|
const actualColIdx = this.visibleColumns.length - stickyRightCount + relativeIdx;
|
|
17561
17566
|
if (this.isCovered(actualColIdx))
|
|
@@ -17566,14 +17571,13 @@ class SdTr {
|
|
|
17566
17571
|
return (hAsync("td", { key: col.name, rowSpan: span?.rowspan, colSpan: span?.colspan, class: {
|
|
17567
17572
|
'td': true,
|
|
17568
17573
|
[`td--${col.align || 'left'}`]: true,
|
|
17569
|
-
'td--last-row': this.isVisualLastRow(col),
|
|
17570
17574
|
'td--before-separator': this.isVisualLastRowBeforeSeparator(col),
|
|
17571
17575
|
'sticky-right': true,
|
|
17572
17576
|
'sticky-right-edge': relativeIdx === 0,
|
|
17573
17577
|
'is-scrolled-right': relativeIdx === 0 && this._scrolledRight,
|
|
17574
17578
|
[`${col.tdClass}`]: Boolean(col.tdClass),
|
|
17575
17579
|
...this.expandCellClass(sdCellClass),
|
|
17576
|
-
}, style: this.getStickyStyle(actualColIdx) }, hAsync("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, hAsync("span", null, this.getCellValue(col)))));
|
|
17580
|
+
}, style: { ...this.getStickyStyle(actualColIdx), ...this.getFramePaddingStyle(fieldName) } }, hAsync("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, hAsync("span", null, this.getCellValue(col)))));
|
|
17577
17581
|
}))));
|
|
17578
17582
|
}
|
|
17579
17583
|
static get style() { return sdTrCss(); }
|