@sellmate/design-system 1.0.75 → 1.0.76
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/design-system.cjs.js +1 -1
- package/dist/cjs/index.cjs.js +5 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sd-button_4.cjs.entry.js +2 -2
- package/dist/cjs/sd-ghost-button.cjs.entry.js +10 -5
- package/dist/cjs/sd-modal-container.cjs.entry.js +76 -68
- package/dist/cjs/sd-pagination_5.cjs.entry.js +889 -0
- package/dist/cjs/sd-radio-button.cjs.entry.js +6 -1
- package/dist/cjs/sd-select-v2-list-item_4.cjs.entry.js +65 -5
- package/dist/cjs/sd-switch.cjs.entry.js +1 -1
- package/dist/cjs/sd-table.cjs.entry.js +167 -20
- package/dist/cjs/sd-tabs.cjs.entry.js +1 -1
- package/dist/cjs/sd-tag.cjs.entry.js +2 -2
- package/dist/cjs/sd-td.cjs.entry.js +53 -1
- package/dist/cjs/sd-text-link.cjs.entry.js +3 -3
- package/dist/cjs/sd-textarea.cjs.entry.js +1 -1
- package/dist/cjs/sd-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/sd-toast.cjs.entry.js +2 -2
- package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
- package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +10 -5
- package/dist/collection/components/sd-modal-container/sd-modal-container.js +77 -71
- package/dist/collection/components/sd-radio-button/sd-radio-button.js +6 -1
- package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.js +103 -3
- package/dist/collection/components/sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.js +2 -2
- package/dist/collection/components/sd-select-v2/sd-select-v2.js +82 -4
- package/dist/collection/components/sd-switch/sd-switch.js +1 -1
- package/dist/collection/components/sd-table/sd-table.css +1 -1
- package/dist/collection/components/sd-table/sd-table.js +170 -21
- package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +7 -2
- package/dist/collection/components/sd-table/sd-td/sd-td.js +91 -1
- package/dist/collection/components/sd-table/sd-thead/sd-thead.js +9 -4
- package/dist/collection/components/sd-table/sd-tr/sd-tr.css +8 -0
- package/dist/collection/components/sd-table/sd-tr/sd-tr.js +62 -12
- package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
- package/dist/collection/components/sd-tag/sd-tag.js +2 -2
- package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
- package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
- package/dist/collection/components/sd-toast/sd-toast.js +2 -2
- package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
- package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
- package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
- package/dist/collection/utils/modal.js +5 -0
- package/dist/components/index.js +1 -1
- package/dist/components/{p-BALOEavB.js → p-6AvsuYqF.js} +1 -1
- package/dist/components/{p-CTwEbxRN.js → p-6PsyRF61.js} +1 -1
- package/dist/components/{p-DEBakAhm.js → p-7DKZPPev.js} +1 -1
- package/dist/components/p-BBD_1E3n.js +1 -0
- package/dist/components/p-BQvugXhH.js +1 -0
- package/dist/components/p-BRfPoWUn.js +1 -0
- package/dist/components/{p-CHFGWh0m.js → p-C-BOe23n.js} +1 -1
- package/dist/components/p-C7h8lwnU.js +1 -0
- package/dist/components/{p-SDBnyM8D.js → p-CUg9NH6y.js} +1 -1
- package/dist/components/{p-C3dI7f7C.js → p-CgMyz4NQ.js} +1 -1
- package/dist/components/p-Csfj4h1A.js +1 -0
- package/dist/components/{p-Bp0B8tcl.js → p-DAC3TaZV.js} +1 -1
- package/dist/components/p-DfOYYI9m.js +1 -0
- package/dist/components/{p-H-9uoufd.js → p-d4UB2UF7.js} +1 -1
- package/dist/components/p-eEC3ITv0.js +1 -0
- package/dist/components/{p-CWEeXx2E.js → p-nVHDJc9g.js} +1 -1
- package/dist/components/{p-D8fG9Yt7.js → p-rnbt1m4L.js} +1 -1
- package/dist/components/sd-action-modal.js +1 -1
- package/dist/components/sd-barcode-input.js +1 -1
- package/dist/components/sd-chip.js +1 -1
- package/dist/components/sd-confirm-modal.js +1 -1
- package/dist/components/sd-date-picker-calendar.js +1 -1
- package/dist/components/sd-date-picker.js +1 -1
- package/dist/components/sd-date-range-picker-calendar.js +1 -1
- package/dist/components/sd-date-range-picker.js +1 -1
- package/dist/components/sd-field.js +1 -1
- package/dist/components/sd-file-picker.js +1 -1
- package/dist/components/sd-ghost-button.js +1 -1
- package/dist/components/sd-guide.js +1 -1
- package/dist/components/sd-input.js +1 -1
- package/dist/components/sd-modal-container.js +1 -1
- package/dist/components/sd-number-input.js +1 -1
- package/dist/components/sd-popover.js +1 -1
- package/dist/components/sd-radio-button.js +1 -1
- package/dist/components/sd-select-dropdown.js +1 -1
- package/dist/components/sd-select-group.js +1 -1
- package/dist/components/sd-select-multiple-group.js +1 -1
- package/dist/components/sd-select-multiple.js +1 -1
- package/dist/components/sd-select-search-input.js +1 -1
- package/dist/components/sd-select-v2-listbox.js +1 -1
- package/dist/components/sd-select-v2-trigger.js +1 -1
- package/dist/components/sd-select-v2.js +1 -1
- package/dist/components/sd-select.js +1 -1
- package/dist/components/sd-switch.js +1 -1
- package/dist/components/sd-table.js +1 -1
- package/dist/components/sd-tabs.js +1 -1
- package/dist/components/sd-tag.js +1 -1
- package/dist/components/sd-tbody.js +1 -1
- package/dist/components/sd-td.js +1 -1
- package/dist/components/sd-text-link.js +1 -1
- package/dist/components/sd-textarea.js +1 -1
- package/dist/components/sd-thead.js +1 -1
- package/dist/components/sd-toast-container.js +1 -1
- package/dist/components/sd-toast.js +1 -1
- package/dist/components/sd-toggle.js +1 -1
- package/dist/components/sd-tooltip.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/index.esm.js +1 -1
- package/dist/design-system/p-0e1b27cc.entry.js +1 -0
- package/dist/design-system/p-11029f6e.entry.js +1 -0
- package/dist/design-system/{p-cc62c180.entry.js → p-140b40ab.entry.js} +1 -1
- package/dist/design-system/p-34f7345b.entry.js +1 -0
- package/dist/design-system/p-363c9451.entry.js +1 -0
- package/dist/design-system/{p-fdcfaa7c.entry.js → p-506f2b68.entry.js} +1 -1
- package/dist/design-system/{p-8200b5f2.entry.js → p-531a6a82.entry.js} +1 -1
- package/dist/design-system/p-55b65a41.entry.js +1 -0
- package/dist/design-system/{p-d1dfa0e1.entry.js → p-68d0d67e.entry.js} +1 -1
- package/dist/design-system/p-7fe3a466.entry.js +1 -0
- package/dist/design-system/{p-05a1c092.entry.js → p-9466cd93.entry.js} +1 -1
- package/dist/design-system/{p-33bec0e3.entry.js → p-b683f2fe.entry.js} +1 -1
- package/dist/design-system/p-c521e731.entry.js +1 -0
- package/dist/design-system/{p-16a15368.entry.js → p-c9eb70f5.entry.js} +1 -1
- package/dist/design-system/p-d1846df9.entry.js +1 -0
- package/dist/design-system/{p-2d154fe0.entry.js → p-fdb52620.entry.js} +1 -1
- package/dist/esm/design-system.js +1 -1
- package/dist/esm/index.js +5 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sd-button_4.entry.js +2 -2
- package/dist/esm/sd-ghost-button.entry.js +10 -5
- package/dist/esm/sd-modal-container.entry.js +76 -68
- package/dist/esm/sd-pagination_5.entry.js +883 -0
- package/dist/esm/sd-radio-button.entry.js +6 -1
- package/dist/esm/sd-select-v2-list-item_4.entry.js +65 -5
- package/dist/esm/sd-switch.entry.js +1 -1
- package/dist/esm/sd-table.entry.js +168 -21
- package/dist/esm/sd-tabs.entry.js +1 -1
- package/dist/esm/sd-tag.entry.js +2 -2
- package/dist/esm/sd-td.entry.js +53 -1
- package/dist/esm/sd-text-link.entry.js +3 -3
- package/dist/esm/sd-textarea.entry.js +1 -1
- package/dist/esm/sd-toast-container.entry.js +1 -1
- package/dist/esm/sd-toast.entry.js +2 -2
- package/dist/esm/sd-toggle.entry.js +1 -1
- package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +1 -0
- package/dist/types/components/sd-modal-container/sd-modal-container.config.d.ts +1 -1
- package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +6 -4
- package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +1 -0
- package/dist/types/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.d.ts +9 -0
- package/dist/types/components/sd-select-v2/sd-select-v2.d.ts +4 -0
- package/dist/types/components/sd-table/sd-table.d.ts +17 -0
- package/dist/types/components/sd-table/sd-td/sd-td.d.ts +8 -0
- package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +4 -0
- package/dist/types/components.d.ts +52 -0
- package/hydrate/index.js +481 -141
- package/hydrate/index.mjs +481 -141
- package/package.json +1 -1
- package/dist/cjs/sd-pagination_2.cjs.entry.js +0 -427
- package/dist/cjs/sd-tbody.cjs.entry.js +0 -66
- package/dist/cjs/sd-thead.cjs.entry.js +0 -179
- package/dist/cjs/sd-tr.cjs.entry.js +0 -171
- package/dist/components/p-Bbs5Ws0k.js +0 -1
- package/dist/components/p-CgL8_FSD.js +0 -1
- package/dist/components/p-DuMkBStM.js +0 -1
- package/dist/components/p-vQDL-PZ8.js +0 -1
- package/dist/design-system/p-380198bc.entry.js +0 -1
- package/dist/design-system/p-6b537e2f.entry.js +0 -1
- package/dist/design-system/p-6e90fb80.entry.js +0 -1
- package/dist/design-system/p-7b77c65c.entry.js +0 -1
- package/dist/design-system/p-8f88bd67.entry.js +0 -1
- package/dist/design-system/p-ba5fea6f.entry.js +0 -1
- package/dist/design-system/p-be54d6bd.entry.js +0 -1
- package/dist/design-system/p-c3379a6e.entry.js +0 -1
- package/dist/design-system/p-dc07d618.entry.js +0 -1
- package/dist/design-system/p-ef09409c.entry.js +0 -1
- package/dist/design-system/p-f8237991.entry.js +0 -1
- package/dist/esm/sd-pagination_2.entry.js +0 -424
- package/dist/esm/sd-tbody.entry.js +0 -64
- package/dist/esm/sd-thead.entry.js +0 -177
- package/dist/esm/sd-tr.entry.js +0 -169
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('./index-Dptupbm0.js');
|
|
4
|
-
var constants = require('./constants-DJRV1upE.js');
|
|
5
|
-
|
|
6
|
-
const sdTheadCss = () => `sd-thead{display:contents}sd-thead *{box-sizing:border-box}.thead{display:table-header-group;height:36px}.thead--sticky{position:sticky;top:0;z-index:120}.tr{display:table-row;width:100%}.th{display:table-cell;background:#F5FAFF;height:36px;padding:0 16px;font-weight:500;vertical-align:middle;border-bottom:1px solid #E1E1E1;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th--selected{position:relative;width:52px !important;max-width:52px !important;min-width:52px !important;padding:0 10px 0 24px;text-align:left}.th--selected sd-checkbox label{position:relative}.th--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.th.sticky-left{position:sticky;background-color:#F5FAFF;z-index:110 !important;left:var(--sticky-left-offset, 0)}.th.sticky-right{position:sticky;background-color:#F5FAFF;z-index:110 !important;right:var(--sticky-right-offset, 0)}.th.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}.th.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}.th.sticky-left-edge.is-scrolled-left{overflow:visible}.th.sticky-left-edge.is-scrolled-left:after{opacity:1}.th.sticky-right-edge.is-scrolled-right{overflow:visible}.th.sticky-right-edge.is-scrolled-right:after{opacity:1}.th__content{display:flex;flex-flow:row nowrap;align-items:center;gap:4px}.th__content--left{justify-content:flex-start}.th__content--center{justify-content:center}.th__content--right{justify-content:flex-end}.th__content--label{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th__resizer{position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:16px;cursor:col-resize;z-index:3;border-left:1px solid #CCCCCC;border-right:1px solid #CCCCCC}.th__resizer--left{right:auto;left:0}`;
|
|
7
|
-
|
|
8
|
-
const SdThead = class {
|
|
9
|
-
constructor(hostRef) {
|
|
10
|
-
index.registerInstance(this, hostRef);
|
|
11
|
-
}
|
|
12
|
-
get el() { return index.getElement(this); }
|
|
13
|
-
columns;
|
|
14
|
-
selectable;
|
|
15
|
-
resizable;
|
|
16
|
-
stickyColumn;
|
|
17
|
-
stickyHeader;
|
|
18
|
-
scrolledLeft;
|
|
19
|
-
scrolledRight;
|
|
20
|
-
rows = [];
|
|
21
|
-
columnWidths = [];
|
|
22
|
-
tableId = '';
|
|
23
|
-
_columns = [];
|
|
24
|
-
_selectable = false;
|
|
25
|
-
_resizable = false;
|
|
26
|
-
_stickyColumn = { left: 0, right: 0 };
|
|
27
|
-
_stickyHeader = false;
|
|
28
|
-
_scrolledLeft = false;
|
|
29
|
-
_scrolledRight = false;
|
|
30
|
-
tableEl = null;
|
|
31
|
-
handleColumnsChange(newCols) {
|
|
32
|
-
if (Array.isArray(newCols) && (this.columnWidths ?? []).length === 0) {
|
|
33
|
-
this.columnWidths = newCols.map(c => parseInt(c.width || '120', 10));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
componentWillLoad() {
|
|
37
|
-
this.syncTableContext();
|
|
38
|
-
this.columnWidths = Array.isArray(this.columnWidths) ? this.columnWidths : [];
|
|
39
|
-
this.resolveConfig();
|
|
40
|
-
if ((this.columnWidths ?? []).length === 0) {
|
|
41
|
-
this.columnWidths = this._columns.map(c => parseInt(c.width || '120', 10));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
componentDidLoad() {
|
|
45
|
-
this.syncTableContext();
|
|
46
|
-
this.resolveConfig();
|
|
47
|
-
}
|
|
48
|
-
syncTableContext() {
|
|
49
|
-
const table = this.el.closest('sd-table');
|
|
50
|
-
this.tableEl = table;
|
|
51
|
-
const fromMethod = table?.getTableIdSync?.();
|
|
52
|
-
const fromAttr = table?.getAttribute(constants.TABLE_ID_ATTR);
|
|
53
|
-
const resolvedTableId = (fromMethod && fromMethod !== 'undefined' ? fromMethod : null) ??
|
|
54
|
-
(fromAttr && fromAttr !== 'undefined' ? fromAttr : null) ??
|
|
55
|
-
'';
|
|
56
|
-
if (resolvedTableId && resolvedTableId !== this.tableId) {
|
|
57
|
-
this.tableId = resolvedTableId;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
resolveConfig() {
|
|
61
|
-
const config = this.tableEl?.getConfigSync?.();
|
|
62
|
-
const resolvedColumns = Array.isArray(this.columns)
|
|
63
|
-
? this.columns
|
|
64
|
-
: Array.isArray(config?.columns)
|
|
65
|
-
? config.columns
|
|
66
|
-
: [];
|
|
67
|
-
this._columns = resolvedColumns;
|
|
68
|
-
this._selectable = this.selectable ?? config?.selectable ?? false;
|
|
69
|
-
this._resizable = this.resizable ?? config?.resizable ?? false;
|
|
70
|
-
this._stickyColumn = this.stickyColumn ?? config?.stickyColumn ?? { left: 0, right: 0 };
|
|
71
|
-
this._stickyHeader = this.stickyHeader ?? config?.stickyHeader ?? false;
|
|
72
|
-
this._scrolledLeft = this.scrolledLeft ?? config?.scrolledLeft ?? false;
|
|
73
|
-
this._scrolledRight = this.scrolledRight ?? config?.scrolledRight ?? false;
|
|
74
|
-
if (Array.isArray(config?.columnWidths) && (this.columnWidths ?? []).length === 0) {
|
|
75
|
-
this.columnWidths = [...config.columnWidths];
|
|
76
|
-
}
|
|
77
|
-
if (!Array.isArray(this.columnWidths)) {
|
|
78
|
-
this.columnWidths = [];
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
async refreshConfig() {
|
|
82
|
-
this.resolveConfig();
|
|
83
|
-
}
|
|
84
|
-
async setColumnWidths(widths) {
|
|
85
|
-
this.columnWidths = Array.isArray(widths) ? widths : [];
|
|
86
|
-
}
|
|
87
|
-
async refreshSelection() {
|
|
88
|
-
const checkbox = this.el.querySelector('sd-checkbox');
|
|
89
|
-
if (checkbox) {
|
|
90
|
-
checkbox.value = this.getIsAllChecked();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
get visibleColumns() {
|
|
94
|
-
return this._columns.filter(col => col.visible !== false);
|
|
95
|
-
}
|
|
96
|
-
getStickyStyle(colIdx) {
|
|
97
|
-
if (this.tableEl?.getStickyStyleSync) {
|
|
98
|
-
return this.tableEl.getStickyStyleSync(colIdx);
|
|
99
|
-
}
|
|
100
|
-
const leftOffset = this.columnWidths.slice(0, colIdx).reduce((a, b) => a + b, 0) + (this._selectable ? 52 : 0);
|
|
101
|
-
const rightOffset = this.columnWidths
|
|
102
|
-
.filter((_, i) => i >= this.visibleColumns.length - (this._stickyColumn.right || 0) && i > colIdx)
|
|
103
|
-
.reduce((a, b) => a + b, 0);
|
|
104
|
-
return {
|
|
105
|
-
'--sticky-left-offset': `${leftOffset}px`,
|
|
106
|
-
'--sticky-right-offset': `${rightOffset}px`,
|
|
107
|
-
'width': `${this.columnWidths[colIdx]}px`,
|
|
108
|
-
'minWidth': `${this.columnWidths[colIdx]}px`,
|
|
109
|
-
'maxWidth': `${this.columnWidths[colIdx]}px`,
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
handleResize(index, event, reversed = false) {
|
|
113
|
-
if (this.tableEl?.handleResize) {
|
|
114
|
-
this.tableEl.handleResize(index, event, reversed);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
handleSelectAll(checked) {
|
|
118
|
-
const currentState = this.getIsAllChecked();
|
|
119
|
-
const nextChecked = currentState === null ? false : !!checked;
|
|
120
|
-
const safeRows = Array.isArray(this.rows) ? this.rows : [];
|
|
121
|
-
if (this.tableEl?.toggleSelectAllSync) {
|
|
122
|
-
this.tableEl.toggleSelectAllSync(nextChecked, safeRows);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
getIsAllChecked() {
|
|
126
|
-
const safeRows = Array.isArray(this.rows) ? this.rows : [];
|
|
127
|
-
if (this.tableEl?.getIsAllCheckedSync && safeRows.length > 0) {
|
|
128
|
-
return this.tableEl.getIsAllCheckedSync(safeRows);
|
|
129
|
-
}
|
|
130
|
-
return false;
|
|
131
|
-
}
|
|
132
|
-
render() {
|
|
133
|
-
const safeRows = Array.isArray(this.rows) ? this.rows : [];
|
|
134
|
-
const stickyLeftCount = this._stickyColumn.left || 0;
|
|
135
|
-
const stickyRightCount = this._stickyColumn.right || 0;
|
|
136
|
-
const stickyLeftCols = this.visibleColumns.slice(0, stickyLeftCount);
|
|
137
|
-
const middleCols = this.visibleColumns.slice(stickyLeftCount, this.visibleColumns.length - stickyRightCount);
|
|
138
|
-
const stickyRightCols = this.visibleColumns.slice(this.visibleColumns.length - stickyRightCount);
|
|
139
|
-
return (index.h(index.Host, { key: '2358499ef65d88005d03b1246604c0fd8eefdde1', slot: `${this.tableId}-head` }, index.h("thead", { key: '49bb43a19aeb83f3a60367b26dbb6535ebcec743', class: {
|
|
140
|
-
'thead': true,
|
|
141
|
-
'thead--sticky': this._stickyHeader,
|
|
142
|
-
} }, index.h("tr", { key: 'cd6388d79e9a4a5d9edbbda05601abbbefcb1ff4', class: "tr" }, this._selectable && (index.h("th", { key: 'fa09e82368d45e9fb1d32838ef44e609c698609d', class: {
|
|
143
|
-
'th': true,
|
|
144
|
-
'th--selected': true,
|
|
145
|
-
'sticky-left': true,
|
|
146
|
-
'sticky-left-edge': stickyLeftCount === 0,
|
|
147
|
-
'is-scrolled-left': stickyLeftCount === 0 && this._scrolledLeft,
|
|
148
|
-
}, style: { '--sticky-left-offset': '0px' } }, index.h("sd-checkbox", { key: '5ab4861aecfac9495101363d5bd809d077c7dbc3', value: this.getIsAllChecked(), disabled: !safeRows.length, onSdUpdate: (e) => this.handleSelectAll(e.detail) }))), stickyLeftCols.map((col, idx) => (index.h("th", { key: col.name, class: {
|
|
149
|
-
'th': true,
|
|
150
|
-
[`${col.thClass}`]: Boolean(col.thClass),
|
|
151
|
-
'sticky-left': true,
|
|
152
|
-
'sticky-left-edge': idx === stickyLeftCount - 1,
|
|
153
|
-
'is-scrolled-left': idx === stickyLeftCount - 1 && this._scrolledLeft,
|
|
154
|
-
}, style: { ...col.thStyle, ...this.getStickyStyle(idx) } }, index.h("div", { class: `th__content th__content--${col.align || 'left'}` }, index.h("div", { class: "th__content--label" }, col.label), col.usePageMoveIcon && index.h("sd-icon", { name: "pageMove", size: "12", color: "#006AC1" }), col.tooltip && (index.h("sd-tooltip", { ...col.tooltipOptions }, index.h("div", { slot: "content" }, col.tooltip.map(text => (index.h("p", null, text))))))), this._resizable && (index.h("div", { class: "th__resizer", onMouseDown: (evt) => this.handleResize(idx, evt) }))))), middleCols.map((col, relativeIdx) => {
|
|
155
|
-
const actualColIdx = stickyLeftCount + relativeIdx;
|
|
156
|
-
return (index.h("th", { key: col.name, class: {
|
|
157
|
-
th: true,
|
|
158
|
-
[`${col.thClass}`]: Boolean(col.thClass),
|
|
159
|
-
}, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) } }, index.h("div", { class: `th__content th__content--${col.align || 'left'}` }, index.h("div", { class: "th__content--label" }, col.label), col.usePageMoveIcon && index.h("sd-icon", { name: "pageMove", size: "12", color: "#006AC1" }), col.tooltip && (index.h("sd-tooltip", { ...col.tooltipOptions }, index.h("div", { slot: "content" }, col.tooltip.map(text => (index.h("p", null, text))))))), this._resizable && (index.h("div", { class: "th__resizer", onMouseDown: (evt) => this.handleResize(actualColIdx, evt) }))));
|
|
160
|
-
}), stickyRightCols.map((col, relativeIdx) => {
|
|
161
|
-
const actualColIdx = this.visibleColumns.length - stickyRightCount + relativeIdx;
|
|
162
|
-
return (index.h("th", { key: col.name, class: {
|
|
163
|
-
'th': true,
|
|
164
|
-
[`${col.thClass}`]: Boolean(col.thClass),
|
|
165
|
-
'sticky-right': true,
|
|
166
|
-
'sticky-right-edge': relativeIdx === 0,
|
|
167
|
-
'is-scrolled-right': relativeIdx === 0 && this._scrolledRight,
|
|
168
|
-
}, style: { ...col.thStyle, ...this.getStickyStyle(actualColIdx) } }, index.h("div", { class: `th__content th__content--${col.align || 'left'}` }, index.h("div", { class: "th__content--label" }, col.label), col.usePageMoveIcon && index.h("sd-icon", { name: "pageMove", size: "12", color: "#006AC1" }), col.tooltip && (index.h("sd-tooltip", { ...col.tooltipOptions }, index.h("div", { slot: "content" }, col.tooltip.map(text => (index.h("p", null, text))))))), this._resizable && (index.h("div", { class: "th__resizer th__resizer--left", onMouseDown: (evt) => this.handleResize(actualColIdx, evt, true) }))));
|
|
169
|
-
})))));
|
|
170
|
-
}
|
|
171
|
-
static get watchers() { return {
|
|
172
|
-
"columns": [{
|
|
173
|
-
"handleColumnsChange": 0
|
|
174
|
-
}]
|
|
175
|
-
}; }
|
|
176
|
-
};
|
|
177
|
-
SdThead.style = sdTheadCss();
|
|
178
|
-
|
|
179
|
-
exports.sd_thead = SdThead;
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('./index-Dptupbm0.js');
|
|
4
|
-
var constants = require('./constants-DJRV1upE.js');
|
|
5
|
-
|
|
6
|
-
const sdTrCss = () => `sd-tr{display:contents}sd-tr *{box-sizing:border-box}.tr{display:table-row}.tr:hover .td{background-color:#F9F9F9}.td{display:table-cell;height:44px;padding:0 16px;border-bottom:1px solid #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}`;
|
|
7
|
-
|
|
8
|
-
const SdTr = class {
|
|
9
|
-
constructor(hostRef) {
|
|
10
|
-
index.registerInstance(this, hostRef);
|
|
11
|
-
}
|
|
12
|
-
get el() { return index.getElement(this); }
|
|
13
|
-
columns;
|
|
14
|
-
selectable;
|
|
15
|
-
stickyColumn;
|
|
16
|
-
rowKey = '';
|
|
17
|
-
row = {};
|
|
18
|
-
tableId = '';
|
|
19
|
-
columnWidths = [];
|
|
20
|
-
isVisible = true;
|
|
21
|
-
_columns = [];
|
|
22
|
-
_selectable = false;
|
|
23
|
-
_stickyColumn = { left: 0, right: 0 };
|
|
24
|
-
_scrolledLeft = false;
|
|
25
|
-
_scrolledRight = false;
|
|
26
|
-
tableEl = null;
|
|
27
|
-
componentWillLoad() {
|
|
28
|
-
this.syncTableContext();
|
|
29
|
-
this.columnWidths = this.columnWidths ?? [];
|
|
30
|
-
this.resolveConfig();
|
|
31
|
-
this.columnWidths = this._columns.map(c => parseInt(c.width || '120', 10));
|
|
32
|
-
this.updateVisibilitySync();
|
|
33
|
-
}
|
|
34
|
-
componentDidLoad() {
|
|
35
|
-
this.syncTableContext();
|
|
36
|
-
}
|
|
37
|
-
syncTableContext() {
|
|
38
|
-
const table = this.el.closest('sd-table');
|
|
39
|
-
this.tableEl = table;
|
|
40
|
-
const fromMethod = table?.getTableIdSync?.();
|
|
41
|
-
const fromAttr = table?.getAttribute(constants.TABLE_ID_ATTR);
|
|
42
|
-
const resolvedTableId = (fromMethod && fromMethod !== 'undefined' ? fromMethod : null) ??
|
|
43
|
-
(fromAttr && fromAttr !== 'undefined' ? fromAttr : null) ??
|
|
44
|
-
'';
|
|
45
|
-
if (resolvedTableId && resolvedTableId !== this.tableId) {
|
|
46
|
-
this.tableId = resolvedTableId;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
resolveConfig() {
|
|
50
|
-
const config = this.tableEl?.getConfigSync?.();
|
|
51
|
-
this._columns = this.columns ?? config?.columns ?? [];
|
|
52
|
-
this._selectable = this.selectable ?? config?.selectable ?? false;
|
|
53
|
-
this._stickyColumn = this.stickyColumn ?? config?.stickyColumn ?? { left: 0, right: 0 };
|
|
54
|
-
this._scrolledLeft = config?.scrolledLeft ?? false;
|
|
55
|
-
this._scrolledRight = config?.scrolledRight ?? false;
|
|
56
|
-
if (config?.columnWidths && (this.columnWidths ?? []).length === 0) {
|
|
57
|
-
this.columnWidths = [...config.columnWidths];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
async refreshConfig() {
|
|
61
|
-
this.resolveConfig();
|
|
62
|
-
}
|
|
63
|
-
async updateVisibility() {
|
|
64
|
-
this.updateVisibilitySync();
|
|
65
|
-
}
|
|
66
|
-
updateVisibilitySync() {
|
|
67
|
-
const rowIndex = parseInt(this.rowKey, 10);
|
|
68
|
-
const pageInfo = this.tableEl?.getPaginationInfoSync?.();
|
|
69
|
-
if (!pageInfo) {
|
|
70
|
-
this.isVisible = true;
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
this.isVisible = rowIndex >= pageInfo.startIndex && rowIndex < pageInfo.endIndex;
|
|
74
|
-
}
|
|
75
|
-
async setColumnWidths(widths) {
|
|
76
|
-
this.columnWidths = widths;
|
|
77
|
-
}
|
|
78
|
-
async refreshSelection() {
|
|
79
|
-
const checkbox = this.el.querySelector('sd-checkbox');
|
|
80
|
-
if (checkbox) {
|
|
81
|
-
checkbox.value = this.isSelected();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
get visibleColumns() {
|
|
85
|
-
return this._columns.filter(col => col.visible !== false);
|
|
86
|
-
}
|
|
87
|
-
formatValue(value) {
|
|
88
|
-
if (value === null || value === undefined) {
|
|
89
|
-
return '';
|
|
90
|
-
}
|
|
91
|
-
if (typeof value === 'number') {
|
|
92
|
-
return value.toLocaleString();
|
|
93
|
-
}
|
|
94
|
-
return String(value);
|
|
95
|
-
}
|
|
96
|
-
getCellValue(column) {
|
|
97
|
-
const { field, format, name } = column;
|
|
98
|
-
const value = typeof field === 'function' ? field(this.row) : field ? this.row[field] : this.row[name];
|
|
99
|
-
return format ? format(value, this.row) : this.formatValue(value);
|
|
100
|
-
}
|
|
101
|
-
getStickyStyle(colIdx) {
|
|
102
|
-
if (this.tableEl?.getStickyStyleSync) {
|
|
103
|
-
return this.tableEl.getStickyStyleSync(colIdx);
|
|
104
|
-
}
|
|
105
|
-
const leftOffset = this.columnWidths.slice(0, colIdx).reduce((a, b) => a + b, 0) + (this._selectable ? 52 : 0);
|
|
106
|
-
const rightOffset = this.columnWidths
|
|
107
|
-
.filter((_, i) => i >= this.visibleColumns.length - (this._stickyColumn.right || 0) && i > colIdx)
|
|
108
|
-
.reduce((a, b) => a + b, 0);
|
|
109
|
-
return {
|
|
110
|
-
'--sticky-left-offset': `${leftOffset}px`,
|
|
111
|
-
'--sticky-right-offset': `${rightOffset}px`,
|
|
112
|
-
'width': `${this.columnWidths[colIdx]}px`,
|
|
113
|
-
'minWidth': `${this.columnWidths[colIdx]}px`,
|
|
114
|
-
'maxWidth': `${this.columnWidths[colIdx]}px`,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
isSelected() {
|
|
118
|
-
if (this.tableEl?.isRowSelectedSync) {
|
|
119
|
-
return this.tableEl.isRowSelectedSync(this.row);
|
|
120
|
-
}
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
handleSelect() {
|
|
124
|
-
if (this.tableEl?.updateRowSelectSync) {
|
|
125
|
-
this.tableEl.updateRowSelectSync(this.row);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
render() {
|
|
129
|
-
const stickyLeftCount = this._stickyColumn.left || 0;
|
|
130
|
-
const stickyRightCount = this._stickyColumn.right || 0;
|
|
131
|
-
const stickyLeftCols = this.visibleColumns.slice(0, stickyLeftCount);
|
|
132
|
-
const middleCols = this.visibleColumns.slice(stickyLeftCount, this.visibleColumns.length - stickyRightCount);
|
|
133
|
-
const stickyRightCols = this.visibleColumns.slice(this.visibleColumns.length - stickyRightCount);
|
|
134
|
-
return (index.h(index.Host, { key: 'd6259e5c87cce0fa70f1d849e11416ad69b0cac1', style: { display: this.isVisible ? '' : 'none' } }, index.h("tr", { key: '90e36c39bede0e07fc1c4d90183a73ebc99b6ed8', class: "tr" }, this._selectable && (index.h("td", { key: '601f1747063d8e73803304abc2cd767f420f359c', class: {
|
|
135
|
-
'td': true,
|
|
136
|
-
'td--selected': true,
|
|
137
|
-
'sticky-left': true,
|
|
138
|
-
'sticky-left-edge': stickyLeftCount === 0,
|
|
139
|
-
'is-scrolled-left': stickyLeftCount === 0 && this._scrolledLeft,
|
|
140
|
-
}, style: { '--sticky-left-offset': '0px' } }, index.h("sd-checkbox", { key: '97068a623d3b7876c7e6392e3f5ed81cfc60d592', value: this.isSelected(), onSdUpdate: () => this.handleSelect() }))), stickyLeftCols.map((col, idx) => (index.h("td", { key: col.name, class: {
|
|
141
|
-
'td': true,
|
|
142
|
-
[`td--${col.align || 'left'}`]: true,
|
|
143
|
-
'sticky-left': true,
|
|
144
|
-
'sticky-left-edge': idx === stickyLeftCount - 1,
|
|
145
|
-
'is-scrolled-left': idx === stickyLeftCount - 1 && this._scrolledLeft,
|
|
146
|
-
[`${col.tdClass}`]: Boolean(col.tdClass),
|
|
147
|
-
}, style: this.getStickyStyle(idx) }, index.h("slot", { name: `${this.tableId}-${typeof col.field === 'string' ? col.field : col.name}-${this.rowKey}` }, index.h("span", null, this.getCellValue(col)))))), middleCols.map((col, relativeIdx) => {
|
|
148
|
-
const actualColIdx = stickyLeftCount + relativeIdx;
|
|
149
|
-
const fieldName = typeof col.field === 'string' ? col.field : col.name;
|
|
150
|
-
return (index.h("td", { key: col.name, class: {
|
|
151
|
-
td: true,
|
|
152
|
-
[`td--${col.align || 'left'}`]: true,
|
|
153
|
-
[`${col.tdClass}`]: Boolean(col.tdClass),
|
|
154
|
-
}, style: this.getStickyStyle(actualColIdx) }, index.h("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, index.h("span", null, this.getCellValue(col)))));
|
|
155
|
-
}), stickyRightCols.map((col, relativeIdx) => {
|
|
156
|
-
const actualColIdx = this.visibleColumns.length - stickyRightCount + relativeIdx;
|
|
157
|
-
const fieldName = typeof col.field === 'string' ? col.field : col.name;
|
|
158
|
-
return (index.h("td", { key: col.name, class: {
|
|
159
|
-
'td': true,
|
|
160
|
-
[`td--${col.align || 'left'}`]: true,
|
|
161
|
-
'sticky-right': true,
|
|
162
|
-
'sticky-right-edge': relativeIdx === 0,
|
|
163
|
-
'is-scrolled-right': relativeIdx === 0 && this._scrolledRight,
|
|
164
|
-
[`${col.tdClass}`]: Boolean(col.tdClass),
|
|
165
|
-
}, style: this.getStickyStyle(actualColIdx) }, index.h("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, index.h("span", null, this.getCellValue(col)))));
|
|
166
|
-
}))));
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
SdTr.style = sdTrCss();
|
|
170
|
-
|
|
171
|
-
exports.sd_tr = SdTr;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as t,H as s,c as e,h as o,t as i}from"./p-CNAzAL53.js";import{d as n}from"./p-DaAhgdib.js";var a={size:"16",icon:"12"},r={size:"24",icon:"16"},d={size:"28",icon:"20"},b={size:"36",icon:"24"},c={size:"62",icon:"32"},u={sm:"4",md:"6"},h={opacity:"5%"},l={disabled:"#BBBBBB"},g={content:"#888888",hover:{bg:"#222222"}},m={content:"#E30000",hover:{bg:"#E30000"}},f={content:"#025497",hover:{bg:"#0075FF"}},p={content:"#FFFFFF",disabled:"#E1E1E1",hover:{bg:"#FFFFFF"}};const v={xxs:{size:Number(a.size),icon:Number(a.icon)},xs:{size:Number(r.size),icon:Number(r.icon)},sm:{size:Number(d.size),icon:Number(d.icon)},md:{size:Number(b.size),icon:Number(b.icon)},lg:{size:Number(c.size),icon:Number(c.icon)}},z={xxs:Number(u.sm),xs:Number(u.sm),sm:Number(u.sm),md:Number(u.md),lg:Number(u.md)},x=h.opacity,y={default:g.content,danger:m.content,action:f.content,inverse:p.content},F={default:g.hover.bg,danger:m.hover.bg,action:f.hover.bg,inverse:p.hover.bg},N=l.disabled,k={default:N,danger:N,action:N,inverse:p.disabled},E=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.click=e(this,"sdClick",7)}icon;size="sm";intent="default";ariaLabel="";disabled=!1;click;hasWarnedMissingAriaLabel=!1;handleClick=t=>{this.disabled?t.preventDefault():this.click.emit(t)};componentWillRender(){this.warnIfMissingAriaLabel()}warnIfMissingAriaLabel(){this.ariaLabel.trim()?this.hasWarnedMissingAriaLabel=!1:this.hasWarnedMissingAriaLabel||(console.warn(`[sd-ghost-button] icon-only buttons require \`ariaLabel\`. Received icon="${this.icon}".`),this.hasWarnedMissingAriaLabel=!0)}render(){const t=v[this.size],s=this.disabled?k[this.intent??"default"]:y[this.intent??"default"],e=this.ariaLabel.trim()||void 0;return o("button",{key:"34c5026b4819b624b19d1773bad413b689633c2a",class:{"sd-ghost-button":!0,"sd-ghost-button--disabled":this.disabled},type:"button",disabled:this.disabled,"aria-label":e,style:{"--sd-ghost-button-size":`${t.size}px`,"--sd-ghost-button-radius":`${z[this.size]}px`,"--sd-ghost-button-hover-bg":F[this.intent??"default"],"--sd-ghost-button-hover-opacity":x,"--sd-ghost-button-accent":"#0075FF"},onClick:this.handleClick},o("sd-icon",{key:"063f7cfabfdbf0f4f2f4c1a2c811e6c3734d941f",name:this.icon,size:t.icon,color:s}))}static get style(){return'sd-ghost-button{display:inline-flex;width:fit-content;height:fit-content}.sd-ghost-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--sd-ghost-button-size);height:var(--sd-ghost-button-size);padding:0;border:none;border-radius:var(--sd-ghost-button-radius);background:transparent;cursor:pointer;box-sizing:border-box;transition:box-shadow 0.2s ease;-webkit-user-select:none;user-select:none}.sd-ghost-button::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--sd-ghost-button-hover-bg);opacity:0;transition:opacity 0.2s ease;pointer-events:none}.sd-ghost-button:hover:not(.sd-ghost-button--disabled)::before{opacity:var(--sd-ghost-button-hover-opacity)}.sd-ghost-button:focus-visible{outline:0;box-shadow:0 0 0 2px var(--sd-ghost-button-accent)}.sd-ghost-button--disabled{cursor:not-allowed}'}},[512,"sd-ghost-button",{icon:[1],size:[1],intent:[1],ariaLabel:[1,"aria-label"],disabled:[4]}]);function w(){"undefined"!=typeof customElements&&["sd-ghost-button","sd-icon"].forEach((t=>{switch(t){case"sd-ghost-button":customElements.get(i(t))||customElements.define(i(t),E);break;case"sd-icon":customElements.get(i(t))||n()}}))}export{E as S,w as d}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as t,H as s,c as e,h as i,t as o}from"./p-CNAzAL53.js";import{n as r}from"./p-CCwNgVmC.js";import{d as h}from"./p-BZm6KN1s.js";import{d as a}from"./p-BZc6lwGD.js";import{d}from"./p-Bp0B8tcl.js";import{d as l}from"./p-BM0sVq5Z.js";import{d as n}from"./p-DaAhgdib.js";import{d as c}from"./p-iAWNMLXh.js";import{d as p}from"./p-DWMY9O2B.js";import{d as m}from"./p-9ZtJl4s6.js";import{d as u}from"./p-DuMkBStM.js";import{d as g}from"./p-BALOEavB.js";import{d as b}from"./p-CTwEbxRN.js";const f=t(class t extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.update=e(this,"sdUpdate",7),this.dropDownShow=e(this,"sdDropDownShow",7)}static VIEWPORT_PADDING=20;static PORTAL_OFFSET_Y=4;static CLOSE_ANIMATION_DURATION=150;get el(){return this}type="default";value=null;options=[];placeholder="선택";maxDropdownWidth="640px";dropdownHeight="260px";disabled=!1;label="";labelWidth="";addonLabel="";addonAlign="start";error=!1;hint="";errorMessage="";rules=[];icon=void 0;labelTooltip="";labelTooltipProps=null;emitValue=!1;width="";isOpen=!1;isAnimatingOut=!1;triggerWidth="200px";resolvedDropdownHeight="260px";resolvedMaxDropdownWidth="640px";focused=!1;hovered=!1;update;dropDownShow;async sdFocus(){this.disabled||await(this.triggerComponentRef?.sdFocus())}async sdOpen(){await new Promise((t=>setTimeout(t,0))),this.disabled||this.isOpen||(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)}triggerRef;triggerComponentRef;closeAnimationTimer;name=r();triggerHasFocus=!1;watchIsOpen(t){this.syncFocusedState(t),this.dropDownShow.emit({isOpen:t})}get isMulti(){return"multi"===this.type||"multi_depth"===this.type}get displayText(){if(this.isMulti){if(!Array.isArray(this.value)||0===this.value.length)return"";const t=this.flattenOptions(this.options);return this.value.map((s=>{if(null!=s&&"object"==typeof s){const e=s;return e.label??t.find((t=>t.value===e.value))?.label??""}return t.find((t=>t.value===s))?.label??""})).filter(Boolean).join(", ")}if(null==this.value)return"";if(!this.emitValue&&"object"==typeof this.value&&!Array.isArray(this.value))return this.value.label??"";const t=this.flattenOptions(this.options).find((t=>t.value===this.value));return t?.label??""}flattenOptions(t){return t.flatMap((t=>t.children?this.flattenOptions(t.children):[t]))}getSelectedOptions(){const t=this.value;return t&&Array.isArray(t)?this.emitValue?t.map((t=>this.findOriginalOption(t,this.options))).filter((t=>!!t)):t:[]}toMultiValue(t){return this.emitValue?t.map((t=>t.value)):t}parsePixelValue(t,s){const e=Number.parseFloat(t);return Number.isFinite(e)?e:s}updateDropdownViewportConstraints(){if(!this.triggerRef)return;const s=this.triggerRef.getBoundingClientRect(),e=t.VIEWPORT_PADDING,i=t.PORTAL_OFFSET_Y,o=this.parsePixelValue(this.dropdownHeight,260),r=this.parsePixelValue(this.maxDropdownWidth,640),h=Math.max(window.innerHeight-s.bottom-e-i,0),a=Math.max(s.top-e-i,0),d=Math.max(h,a),l=Math.max(window.innerWidth-2*e,0);this.resolvedDropdownHeight=`${Math.min(o,d)}px`,this.resolvedMaxDropdownWidth=`${Math.min(r,l)}px`}handleViewportResize=()=>{this.isOpen&&this.updateDropdownViewportConstraints()};findOriginalOption(t,s){for(const e of s){if(e.value===t)return e;if(e.children){const s=this.findOriginalOption(t,e.children);if(s)return s}}}closeDropdown(){this.isOpen&&(this.isOpen=!1,this.isAnimatingOut=!0,this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.closeAnimationTimer=setTimeout((()=>{this.isAnimatingOut=!1}),t.CLOSE_ANIMATION_DURATION))}prepareDropdownGeometry(){this.triggerRef&&(this.triggerWidth=`${this.triggerRef.offsetWidth}px`),this.updateDropdownViewportConstraints()}syncFocusedState(t=this.isOpen){this.focused=t||this.triggerHasFocus}handleTriggerFocus=()=>{this.triggerHasFocus=!0,this.syncFocusedState()};handleTriggerBlur=()=>{this.triggerHasFocus=!1,this.syncFocusedState()};handleTriggerClick=()=>{this.isOpen?this.closeDropdown():(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)};emitUpdate(t){this.update.emit(t)}handleOptionSelect=t=>{const{option:s,leaves:e}=t;if(this.isMulti)this.handleMultiSelect(s,e);else{this.closeDropdown(),this.value=this.emitValue?s.value:s;const t=this.value;requestAnimationFrame((()=>{this.emitUpdate(t)}))}};handleMultiSelect(t,s){const e=this.getSelectedOptions();let i;if(t.children)if(s.every((t=>e.some((s=>s.value===t.value))))){const t=new Set(s.map((t=>t.value)));i=e.filter((s=>!t.has(s.value)))}else{const t=new Set(e.map((t=>t.value))),o=s.filter((s=>!t.has(s.value)));i=[...e,...o]}else i=e.some((s=>s.value===t.value))?e.filter((s=>s.value!==t.value)):[...e,t];this.value=this.toMultiValue(i),this.emitUpdate(this.value)}connectedCallback(){window.addEventListener("resize",this.handleViewportResize)}disconnectedCallback(){window.removeEventListener("resize",this.handleViewportResize),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer)}render(){const s={open:this.isOpen,parentRef:this.triggerRef,viewportPadding:t.VIEWPORT_PADDING,onSdClose:()=>{this.closeDropdown()}};return i("sd-field",{key:"76b432c04fa0f9fca70e63e9c7d16ed768fc9dd1",name:this.name,label:this.label,labelWidth:this.labelWidth,addonLabel:this.addonLabel,addonAlign:this.addonAlign,hint:this.hint,errorMessage:this.errorMessage,width:this.width,rules:this.rules,error:this.error,disabled:this.disabled,focused:this.focused,hovered:this.hovered,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,onMouseEnter:()=>{this.hovered=!0},onMouseLeave:()=>{this.hovered=!1}},i("div",{key:"dba3a313b7e0171a441540877aacdc7d5c2e7f04",class:"sd-select-v2",ref:t=>{this.triggerRef=t}},i("sd-select-v2-trigger",{key:"7790357558f174eb70b15ed72574f738b062c479",ref:t=>{this.triggerComponentRef=t},displayText:this.displayText,placeholder:this.placeholder,disabled:this.disabled,isOpen:this.isOpen,onSdTriggerClick:this.handleTriggerClick,onSdTriggerFocus:this.handleTriggerFocus,onSdTriggerBlur:this.handleTriggerBlur})),(this.isOpen||this.isAnimatingOut)&&i("sd-portal",{key:"672f3583b24e363b74d184d13866ee19a78b04d9",...s},i("sd-select-v2-listbox",{key:"f71d95ad06c74356e4d5ce94da7e720c002390b6",type:this.type,options:this.options,value:this.value,emitValue:this.emitValue,triggerWidth:this.triggerWidth,maxWidth:this.resolvedMaxDropdownWidth,maxHeight:this.resolvedDropdownHeight,onSdOptionSelect:t=>this.handleOptionSelect(t.detail)})))}static get watchers(){return{isOpen:[{watchIsOpen:0}]}}static get style(){return"sd-select-v2{display:inline-flex}sd-select-v2 sd-portal{display:none}sd-select-v2 .sd-select-v2{position:relative;width:100%;height:100%}"}},[512,"sd-select-v2",{type:[1],value:[1032],options:[16],placeholder:[1],maxDropdownWidth:[1,"max-dropdown-width"],dropdownHeight:[1,"dropdown-height"],disabled:[4],label:[1],labelWidth:[8,"label-width"],addonLabel:[1,"addon-label"],addonAlign:[1,"addon-align"],error:[1028],hint:[1],errorMessage:[1,"error-message"],rules:[16],icon:[16],labelTooltip:[1,"label-tooltip"],labelTooltipProps:[16],emitValue:[4,"emit-value"],width:[8],name:[1],isOpen:[32],isAnimatingOut:[32],triggerWidth:[32],resolvedDropdownHeight:[32],resolvedMaxDropdownWidth:[32],focused:[32],hovered:[32],sdFocus:[64],sdOpen:[64]},void 0,{isOpen:[{watchIsOpen:0}]}]);function w(){"undefined"!=typeof customElements&&["sd-select-v2","sd-button","sd-checkbox","sd-field","sd-floating-portal","sd-icon","sd-portal","sd-select-v2-list-item","sd-select-v2-list-item-search","sd-select-v2-listbox","sd-select-v2-trigger","sd-tooltip"].forEach((t=>{switch(t){case"sd-select-v2":customElements.get(o(t))||customElements.define(o(t),f);break;case"sd-button":customElements.get(o(t))||h();break;case"sd-checkbox":customElements.get(o(t))||a();break;case"sd-field":customElements.get(o(t))||d();break;case"sd-floating-portal":customElements.get(o(t))||l();break;case"sd-icon":customElements.get(o(t))||n();break;case"sd-portal":customElements.get(o(t))||c();break;case"sd-select-v2-list-item":customElements.get(o(t))||p();break;case"sd-select-v2-list-item-search":customElements.get(o(t))||m();break;case"sd-select-v2-listbox":customElements.get(o(t))||u();break;case"sd-select-v2-trigger":customElements.get(o(t))||g();break;case"sd-tooltip":customElements.get(o(t))||b()}}))}export{f as S,w as d}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as t,H as s,c as e,h as i,t as h}from"./p-CNAzAL53.js";import{c as o,d as r,f as n,E as l,e as c}from"./p-C4uWhzoG.js";import{d}from"./p-BZc6lwGD.js";import{d as a}from"./p-DaAhgdib.js";import{d as u}from"./p-DWMY9O2B.js";import{d as m}from"./p-9ZtJl4s6.js";const p=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.optionSelect=e(this,"sdOptionSelect",7)}type="default";options=[];value=null;emitValue=!1;triggerWidth="200px";maxWidth="640px";maxHeight="260px";searchKeyword="";isScrolled=!1;focusedIndex=-1;optionSelect;listEl;lastScrolledIndex=-1;keydownAttached=!1;suppressHover=!1;get isDepth(){return"default_depth"===this.type||"multi_depth"===this.type}get isMulti(){return"multi"===this.type||"multi_depth"===this.type}get showSearch(){return(this.isDepth?o(this.options):this.options.length)>=r}get filteredOptions(){if(!this.searchKeyword)return this.options;if(this.isDepth)return n(this.options,this.searchKeyword);const t=this.searchKeyword.toLowerCase();return this.options.filter((s=>s.label.toLowerCase().includes(t)))}get isEmpty(){return this.isDepth?0===o(this.filteredOptions)&&0===this.filteredOptions.length:0===this.filteredOptions.length}getSelectedValues(){return this.value&&Array.isArray(this.value)?this.emitValue?new Set(this.value):new Set(this.value.map((t=>t.value))):new Set}isOptionSelected(t){return this.isMulti?this.getSelectedValues().has(t.value):this.emitValue||null==this.value||"object"!=typeof this.value||Array.isArray(this.value)?this.value===t.value:this.value.value===t.value}getGroupSelectionState(t){if(!this.isMulti||!t.children)return!1;const s=this.getSelectedValues();if(0===s.size)return!1;const e=this.collectVisibleLeaves(t);if(0===e.length)return!1;const i=e.filter((t=>s.has(t.value))).length;return 0!==i&&(i===e.length||null)}getCountInfo(t){if(!this.isMulti||!t.children)return;const s=this.getSelectedValues(),e=this.collectVisibleLeaves(t);return{selected:e.filter((t=>s.has(t.value))).length,total:e.length}}findOriginalOption(t,s){for(const e of s){if(e.value===t)return e;if(e.children){const s=this.findOriginalOption(t,e.children);if(s)return s}}}collectLeaves(t){return t.children?t.children.flatMap((t=>this.collectLeaves(t))):[t]}collectVisibleLeaves(t){if(t.disabled)return[];if(!t.children)return[t];if(0===t.children.length){const s=this.findOriginalOption(t.value,this.options);return s?this.collectLeaves(s).filter((t=>!t.disabled)):[]}return t.children.flatMap((t=>this.collectVisibleLeaves(t)))}get navigableOptions(){const t=[],s=e=>{for(const i of e){const e=!!i.children;(!e||this.isMulti)&&!i.disabled&&t.push(i),e&&i.children&&i.children.length>0&&s(i.children)}};return s(this.filteredOptions),t}isOptionFocused(t){if(this.focusedIndex<0)return!1;const s=this.navigableOptions[this.focusedIndex];return!!s&&s.value===t.value}resetFocusOnFilter(){this.focusedIndex=this.navigableOptions.length>0?0:-1,this.suppressHover&&(document.removeEventListener("mousemove",this.releaseHoverSuppress,!0),this.suppressHover=!1)}handleSearchFilter=t=>{this.searchKeyword=t.detail};handleScroll=t=>{this.isScrolled=t.target.scrollTop>0};emitOptionSelect(t){this.optionSelect.emit({option:t,leaves:this.collectVisibleLeaves(t)})}handleOptionClick=t=>{t.stopPropagation(),this.emitOptionSelect(t.detail)};handleOptionHover=t=>{if(this.suppressHover)return;const s=this.navigableOptions.findIndex((s=>s.value===t.value));s>=0&&(this.focusedIndex=s)};releaseHoverSuppress=()=>{this.suppressHover=!1,document.removeEventListener("mousemove",this.releaseHoverSuppress,!0)};handleKeyDown=t=>{const s=this.navigableOptions;if("ArrowDown"===t.key){if(0===s.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<0?0:(this.focusedIndex+1)%s.length,this.beginHoverSuppression()}else if("ArrowUp"===t.key){if(0===s.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<=0?s.length-1:this.focusedIndex-1,this.beginHoverSuppression()}else if("Enter"===t.key){if(this.focusedIndex<0||this.focusedIndex>=s.length)return;t.preventDefault(),t.stopPropagation(),this.emitOptionSelect(s[this.focusedIndex])}};beginHoverSuppression(){this.suppressHover||(this.suppressHover=!0,document.addEventListener("mousemove",this.releaseHoverSuppress,!0))}scrollFocusedIntoView(){const t=this.listEl,s=t?.querySelector(".sd-select-v2-list-item--focused");if(!t||!s)return;const e=t.getBoundingClientRect(),i=s.getBoundingClientRect();i.top<e.top?t.scrollTop+=i.top-e.top:i.bottom>e.bottom&&(t.scrollTop+=i.bottom-e.bottom)}connectedCallback(){this.keydownAttached||(document.addEventListener("keydown",this.handleKeyDown,!0),this.keydownAttached=!0)}disconnectedCallback(){this.keydownAttached&&(document.removeEventListener("keydown",this.handleKeyDown,!0),this.keydownAttached=!1),this.suppressHover&&(document.removeEventListener("mousemove",this.releaseHoverSuppress,!0),this.suppressHover=!1)}componentDidRender(){this.focusedIndex!==this.lastScrolledIndex&&(this.lastScrolledIndex=this.focusedIndex,this.focusedIndex>=0&&this.scrollFocusedIntoView())}renderOptions(t,s=1){return t.map((t=>{const e=!!t.children;return[i("sd-select-v2-list-item",{option:t,depth:s,isSelected:e?this.getGroupSelectionState(t):this.isOptionSelected(t),isFocused:this.isOptionFocused(t),useCheckbox:this.isMulti,countInfo:this.getCountInfo(t),onSdListItemClick:this.handleOptionClick,onMouseEnter:()=>this.handleOptionHover(t)}),e&&t.children?this.renderOptions(t.children,s+1):null]}))}render(){return i("div",{key:"d4d80ebd565436cd929961a2f9ce50adf92c124b",class:"sd-select-v2-listbox",style:{"--listbox-trigger-width":this.triggerWidth,"--listbox-max-width":this.maxWidth,"--listbox-max-height":this.maxHeight,"--listbox-radius":`${c.radius}px`}},this.showSearch&&i("sd-select-v2-list-item-search",{key:"bd549975fe6187aa7e77e718c8d2ba4a6d6e33de",isScrolled:this.isScrolled,onSdSearchFilter:this.handleSearchFilter}),i("div",{key:"4ac6a1512781942fef3e42d6ca32762962df1836",class:"sd-select-v2-listbox__list",onScroll:this.handleScroll,ref:t=>{this.listEl=t}},this.isEmpty?i("div",{class:"sd-select-v2-listbox__empty"},l):this.isDepth?this.renderOptions(this.filteredOptions):this.filteredOptions.map((t=>i("sd-select-v2-list-item",{option:t,depth:1,isSelected:this.isOptionSelected(t),isFocused:this.isOptionFocused(t),useCheckbox:this.isMulti,onSdListItemClick:this.handleOptionClick,onMouseEnter:()=>this.handleOptionHover(t)})))))}static get watchers(){return{searchKeyword:[{resetFocusOnFilter:0}]}}static get style(){return":host{display:block}:host .sd-select-v2-listbox{display:flex;flex-direction:column;width:var(--listbox-trigger-width);max-width:var(--listbox-max-width);max-height:var(--listbox-max-height);border-radius:var(--listbox-radius);background:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);overflow:hidden;outline:none}:host .sd-select-v2-listbox__list{flex:1;min-height:0;overflow-y:auto;padding-bottom:0}:host .sd-select-v2-listbox__empty{padding:12px;text-align:center;font-size:12px;line-height:20px;color:#888888}"}},[513,"sd-select-v2-listbox",{type:[1],options:[16],value:[8],emitValue:[4,"emit-value"],triggerWidth:[1,"trigger-width"],maxWidth:[1,"max-width"],maxHeight:[1,"max-height"],searchKeyword:[32],isScrolled:[32],focusedIndex:[32]},void 0,{searchKeyword:[{resetFocusOnFilter:0}]}]);function f(){"undefined"!=typeof customElements&&["sd-select-v2-listbox","sd-checkbox","sd-icon","sd-select-v2-list-item","sd-select-v2-list-item-search"].forEach((t=>{switch(t){case"sd-select-v2-listbox":customElements.get(h(t))||customElements.define(h(t),p);break;case"sd-checkbox":customElements.get(h(t))||d();break;case"sd-icon":customElements.get(h(t))||a();break;case"sd-select-v2-list-item":customElements.get(h(t))||u();break;case"sd-select-v2-list-item-search":customElements.get(h(t))||m()}}))}export{p as S,f as d}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as t,H as s,c as e,h as a,t as o}from"./p-CNAzAL53.js";import{d as n}from"./p-Bbs5Ws0k.js";import{d}from"./p-DaAhgdib.js";var i={bg:"#07284A",content:"#FFFFFF"},c={bg:"#FB4444",content:"#FFFFFF"},r={bg:"#FFC700",content:"#222222"},l={bg:"#00973C",content:"#FFFFFF"},b={bg:"#005CC9",content:"#FFFFFF"};const f={default:{bg:i.bg,content:i.content},danger:{bg:c.bg,content:c.content},caution:{bg:r.bg,content:r.content},complete:{bg:l.bg,content:l.content},accent:{bg:b.bg,content:b.content}},p={iconSize:"16"},g=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.close=e(this,"sdClose",7)}icon;message;link;linkLabel;useClose=!1;type="default";close;render(){const t=f[this.type]??f.default,s=Number(p.iconSize);return a("div",{key:"d4b73e2503514143f5174bc8859baf0e59c2f8da",style:{"--sd-toast-bg":t.bg,"--sd-toast-text":t.content}},a("div",{key:"7334daee691fb03a1005c2afac64033554489046",class:"sd-toast",role:"status","aria-live":"polite","aria-atomic":"true"},this.icon&&a("div",{key:"297ada835b0710bf43a936b02e53b0873b7f4af3",class:"sd-toast__icon"},a("sd-icon",{key:"b5bc4716df28231dc7af15db63595ae9044189b5",name:this.icon,size:s,color:t.content})),a("div",{key:"d0239c8f8b495fbdaedad0f65a6d0a0edfaada60",class:"sd-toast__content"},a("span",{key:"dc70d403673bb8f99cfd91393054a86bf17e5ac2",class:"sd-toast__message"},this.message)),this.link&&a("a",{key:"1a76bcee482720693b501d3a13c54e720bbe44fc",href:this.link,class:"sd-toast__link",target:"_blank",rel:"noopener noreferrer"},this.linkLabel||this.link),this.useClose&&a("sd-ghost-button",{key:"a8dc3c15cabf5ca4e075e75c4fb2744dd5da4fa0",class:"sd-toast__close",icon:"close",intent:"caution"===this.type?"default":"inverse",ariaLabel:"close",size:"xs",onClick:()=>this.close.emit()})))}static get style(){return"sd-toast{display:block;width:fit-content;height:fit-content}sd-toast .sd-toast{display:flex;width:fit-content;align-items:center;gap:var(--sd-toast-gap, 16px);padding:var(--sd-toast-padding-y, 12px) var(--sd-toast-padding-x, 24px);border-radius:var(--sd-toast-radius, 8px);background-color:var(--sd-toast-bg);color:var(--sd-toast-text);box-shadow:2px 2px 8px 2px rgba(0, 0, 0, 0.2)}sd-toast .sd-toast__icon{display:flex;align-items:center;flex-shrink:0}sd-toast .sd-toast__content{display:flex;flex:1}sd-toast .sd-toast__message{font-size:14px;line-height:24px;font-weight:700;white-space:nowrap}sd-toast .sd-toast__link{font-size:14px;line-height:24px;font-weight:700;color:var(--sd-toast-text);text-decoration:underline;cursor:pointer;transition:opacity 0.2s ease;margin-left:4px}sd-toast .sd-toast__link:hover{opacity:0.8}sd-toast .sd-toast__button{flex-shrink:0}sd-toast .sd-toast__button button{color:var(--button-text-color, inherit) !important}sd-toast .sd-toast__close{flex-shrink:0}"}},[512,"sd-toast",{icon:[1],message:[1],link:[1],linkLabel:[1,"link-label"],useClose:[4,"use-close"],type:[1]}]);function h(){"undefined"!=typeof customElements&&["sd-toast","sd-ghost-button","sd-icon"].forEach((t=>{switch(t){case"sd-toast":customElements.get(o(t))||customElements.define(o(t),g);break;case"sd-ghost-button":customElements.get(o(t))||n();break;case"sd-icon":customElements.get(o(t))||d()}}))}export{g as S,h as d}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,a as s,h as o,H as e}from"./p-Bp7ytJz5.js";import{T as a}from"./p-sZMi_32I.js";const d=class{constructor(s){t(this,s)}get el(){return s(this)}rows=[];tableId="";topSpacerHeight=0;bottomSpacerHeight=0;tableEl=null;handleRowsChange(t){const s=t??[];this.tableEl?.setRowCountSync&&this.tableEl.setRowCountSync(s.length)}componentWillLoad(){this.syncTableContext(),this.rows=this.rows??[],this.tableEl?.setRowCountSync&&this.tableEl.setRowCountSync(this.rows.length),this.el.setSpacersSync=(t,s)=>{this.topSpacerHeight=t,this.bottomSpacerHeight=s}}componentDidLoad(){this.syncTableContext()}syncTableContext(){const t=this.el.closest("sd-table");this.tableEl=t;const s=t?.getTableIdSync?.(),o=t?.getAttribute(a),e=(s&&"undefined"!==s?s:null)??(o&&"undefined"!==o?o:null)??"";e&&e!==this.tableId&&(this.tableId=e)}render(){const t=this.rows.length>0;return o(e,{key:"e4c64dbf97185bbc6eaec4b883c65dc8ebd34ece",slot:`${this.tableId}-body`},o("tbody",{key:"b2fb886684a5a6055d3af659bba75dd9bc801b73",class:{tbody:!0,"tbody--empty":!t}},t?[this.topSpacerHeight>0&&o("tr",{key:"spacer-top",class:"tbody__spacer",style:{height:`${this.topSpacerHeight}px`,display:"block"}}),o("slot",null),this.bottomSpacerHeight>0&&o("tr",{key:"spacer-bottom",class:"tbody__spacer",style:{height:`${this.bottomSpacerHeight}px`,display:"block"}})]:o("tr",{class:"tbody__no-data-row"},o("td",{class:"tbody__no-data-cell",colSpan:100},o("slot",{name:"no-data"})))))}static get watchers(){return{rows:[{handleRowsChange:0}]}}};d.style=":host{display:contents}:host *{box-sizing:border-box}.tbody{display:table-row-group}.tbody--empty .tbody__no-data-row{display:table-row}.tbody--empty .tbody__no-data-cell{display:table-cell;padding:0;border-bottom:none}";export{d as sd_tbody}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as s,h as e}from"./p-Bp7ytJz5.js";var o={size:"16",icon:"12"},i={size:"24",icon:"16"},n={size:"28",icon:"20"},r={size:"36",icon:"24"},a={size:"62",icon:"32"},b={sm:"4",md:"6"},d={opacity:"5%"},c={disabled:"#BBBBBB"},h={content:"#888888",hover:{bg:"#222222"}},u={content:"#E30000",hover:{bg:"#E30000"}},l={content:"#025497",hover:{bg:"#0075FF"}},g={content:"#FFFFFF",disabled:"#E1E1E1",hover:{bg:"#FFFFFF"}};const m={xxs:{size:Number(o.size),icon:Number(o.icon)},xs:{size:Number(i.size),icon:Number(i.icon)},sm:{size:Number(n.size),icon:Number(n.icon)},md:{size:Number(r.size),icon:Number(r.icon)},lg:{size:Number(a.size),icon:Number(a.icon)}},f={xxs:Number(b.sm),xs:Number(b.sm),sm:Number(b.sm),md:Number(b.md),lg:Number(b.md)},v=d.opacity,p={default:h.content,danger:u.content,action:l.content,inverse:g.content},z={default:h.hover.bg,danger:u.hover.bg,action:l.hover.bg,inverse:g.hover.bg},x=c.disabled,F={default:x,danger:x,action:x,inverse:g.disabled},y=class{constructor(e){t(this,e),this.click=s(this,"sdClick",7)}icon;size="sm";intent="default";ariaLabel="";disabled=!1;click;hasWarnedMissingAriaLabel=!1;handleClick=t=>{this.disabled?t.preventDefault():this.click.emit(t)};componentWillRender(){this.warnIfMissingAriaLabel()}warnIfMissingAriaLabel(){this.ariaLabel.trim()?this.hasWarnedMissingAriaLabel=!1:this.hasWarnedMissingAriaLabel||(console.warn(`[sd-ghost-button] icon-only buttons require \`ariaLabel\`. Received icon="${this.icon}".`),this.hasWarnedMissingAriaLabel=!0)}render(){const t=m[this.size],s=this.disabled?F[this.intent??"default"]:p[this.intent??"default"],o=this.ariaLabel.trim()||void 0;return e("button",{key:"34c5026b4819b624b19d1773bad413b689633c2a",class:{"sd-ghost-button":!0,"sd-ghost-button--disabled":this.disabled},type:"button",disabled:this.disabled,"aria-label":o,style:{"--sd-ghost-button-size":`${t.size}px`,"--sd-ghost-button-radius":`${f[this.size]}px`,"--sd-ghost-button-hover-bg":z[this.intent??"default"],"--sd-ghost-button-hover-opacity":v,"--sd-ghost-button-accent":"#0075FF"},onClick:this.handleClick},e("sd-icon",{key:"063f7cfabfdbf0f4f2f4c1a2c811e6c3734d941f",name:this.icon,size:t.icon,color:s}))}};y.style='sd-ghost-button{display:inline-flex;width:fit-content;height:fit-content}.sd-ghost-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--sd-ghost-button-size);height:var(--sd-ghost-button-size);padding:0;border:none;border-radius:var(--sd-ghost-button-radius);background:transparent;cursor:pointer;box-sizing:border-box;transition:box-shadow 0.2s ease;-webkit-user-select:none;user-select:none}.sd-ghost-button::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--sd-ghost-button-hover-bg);opacity:0;transition:opacity 0.2s ease;pointer-events:none}.sd-ghost-button:hover:not(.sd-ghost-button--disabled)::before{opacity:var(--sd-ghost-button-hover-opacity)}.sd-ghost-button:focus-visible{outline:0;box-shadow:0 0 0 2px var(--sd-ghost-button-accent)}.sd-ghost-button--disabled{cursor:not-allowed}';export{y as sd_ghost_button}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as e,F as s,a as n}from"./p-Bp7ytJz5.js";import{n as a}from"./p-CCwNgVmC.js";var o={default:{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",fontSize:"12",fontWeight:"500",lineHeight:"20"},selected:{fontWeight:"700"}},r={bg:{hover:"#EEEEEE",selected:"#E6F1FF"},content:{default:"#555555",hover:"#004290",selected:"#004290"}};const h={height:`${"24"}px`,paddingX:`${"6"}px`,radius:`${"6"}px`,gap:`${"12"}px`,moveGap:`${{gap:"4"}.gap}px`,iconSize:Number("12")},d={fontFamily:o.default.fontFamily,fontSize:`${o.default.fontSize}px`,lineHeight:`${o.default.lineHeight}px`,fontWeightDefault:o.default.fontWeight,fontWeightSelected:o.selected.fontWeight},l={contentDefault:r.content.default,contentHover:r.content.hover,contentSelected:r.content.selected,bgHover:r.bg.hover,bgSelected:r.bg.selected,iconDefault:"#888888"},g=10,p={1:24,2:34,3:40,4:48,5:56},c=class{constructor(e){t(this,e),this.pageChange=i(this,"sdPageChange",7)}currentPage=1;lastPage=1;simple=!1;pageChange;get pageNumbers(){const t=Math.floor((this.currentPage-1)/g)*g+1,i=Math.min(t+g-1,this.lastPage);return Array.from({length:i-t+1},((i,e)=>t+e))}get buttonWidth(){const t=(this.pageNumbers.at(-1)??1).toString().length;return p[t]||p[1]}get isFirstGroup(){return this.currentPage<=g}get isLastGroup(){return Math.floor((this.currentPage-1)/g)*g+1+g-1>=this.lastPage}handlePageChange=t=>{t<1||t>this.lastPage||(this.currentPage=t,this.pageChange.emit(t))};handleGroupChange=t=>{const i=Math.min(Math.max(this.currentPage+("forward"===t?g:-10),1),this.lastPage);this.handlePageChange(i)};renderNavButton(t,i,s){return e("button",{type:"button",class:"sd-pagination__nav","aria-label":i,onClick:s},e("sd-icon",{name:t,size:h.iconSize,color:l.iconDefault}))}renderPrevButtons(){return this.simple?this.currentPage<=1?null:e(s,null,this.renderNavButton("chevronLeftEnd","Go to first page",(()=>this.handlePageChange(1))),this.renderNavButton("chevronLeft","Go to previous page",(()=>this.handlePageChange(this.currentPage-1)))):this.isFirstGroup?null:e(s,null,this.renderNavButton("chevronLeftEnd","Go to first page",(()=>this.handlePageChange(1))),this.renderNavButton("chevronLeft","Go to previous page group",(()=>this.handleGroupChange("backward"))))}renderNextButtons(){return this.simple?this.currentPage>=this.lastPage?null:e(s,null,this.renderNavButton("chevronRight","Go to next page",(()=>this.handlePageChange(this.currentPage+1))),this.renderNavButton("chevronRightEnd","Go to last page",(()=>this.handlePageChange(this.lastPage)))):this.isLastGroup?null:e(s,null,this.renderNavButton("chevronRight","Go to next page group",(()=>this.handleGroupChange("forward"))),this.renderNavButton("chevronRightEnd","Go to last page",(()=>this.handlePageChange(this.lastPage))))}render(){return e("div",{key:"386fdd2d1c0b5a7284c299201f19fd3384670ab1",class:{"sd-pagination":!0,"sd-pagination--simple":this.simple},style:{"--sd-pagination-height":h.height,"--sd-pagination-padding-x":h.paddingX,"--sd-pagination-radius":h.radius,"--sd-pagination-gap":h.gap,"--sd-pagination-move-gap":h.moveGap,"--sd-pagination-font-family":d.fontFamily,"--sd-pagination-font-size":d.fontSize,"--sd-pagination-line-height":d.lineHeight,"--sd-pagination-font-weight-default":d.fontWeightDefault,"--sd-pagination-font-weight-selected":d.fontWeightSelected,"--sd-pagination-content":l.contentDefault,"--sd-pagination-content-hover":l.contentHover,"--sd-pagination-content-selected":l.contentSelected,"--sd-pagination-bg-hover":l.bgHover,"--sd-pagination-bg-selected":l.bgSelected,"--sd-pagination-item-width":`${this.buttonWidth}px`}},e("div",{key:"cd73997ae59f87b70c31e88fd5b4246bd6044bd0",class:"sd-pagination__group sd-pagination__group--prev"},this.renderPrevButtons()),this.simple?e("div",{class:"sd-pagination__info"},e("span",{class:"sd-pagination__current"},this.currentPage),e("span",{class:"sd-pagination__divider"},"/"),e("span",{class:"sd-pagination__last"},this.lastPage)):e("div",{class:"sd-pagination__numbers"},this.pageNumbers.map((t=>e("button",{type:"button","aria-current":this.currentPage===t?"page":void 0,class:{"sd-pagination__item":!0,"sd-pagination__item--selected":this.currentPage===t},onClick:()=>this.handlePageChange(t)},t)))),e("div",{key:"86389ea83d2965efdd938d2f9b2e2c3469f05fe8",class:"sd-pagination__group sd-pagination__group--next"},this.renderNextButtons()))}};c.style="sd-pagination{display:inline-flex}.sd-pagination{display:inline-flex;align-items:center;gap:var(--sd-pagination-gap);font-family:var(--sd-pagination-font-family)}.sd-pagination__group{display:inline-flex;align-items:center;gap:var(--sd-pagination-move-gap);min-width:calc(var(--sd-pagination-height) * 2 + var(--sd-pagination-move-gap))}.sd-pagination__group--prev{justify-content:flex-end}.sd-pagination__group--next{justify-content:flex-start}.sd-pagination__numbers{display:inline-flex;align-items:center;gap:var(--sd-pagination-move-gap)}.sd-pagination__nav{display:inline-flex;align-items:center;justify-content:center;width:var(--sd-pagination-height);height:var(--sd-pagination-height);padding:0;background:transparent;border:0;border-radius:var(--sd-pagination-radius);cursor:pointer;outline:none}.sd-pagination__nav:hover{background-color:var(--sd-pagination-bg-hover)}.sd-pagination__item{display:inline-flex;align-items:center;justify-content:center;width:var(--sd-pagination-item-width);height:var(--sd-pagination-height);padding:0 var(--sd-pagination-padding-x);background:transparent;border:0;border-radius:var(--sd-pagination-radius);color:var(--sd-pagination-content);font-size:var(--sd-pagination-font-size);font-weight:var(--sd-pagination-font-weight-default);line-height:var(--sd-pagination-line-height);cursor:pointer;outline:none;box-sizing:border-box}.sd-pagination__item:hover{background-color:var(--sd-pagination-bg-hover);color:var(--sd-pagination-content-hover)}.sd-pagination__item--selected{background-color:var(--sd-pagination-bg-selected);color:var(--sd-pagination-content-selected);font-weight:var(--sd-pagination-font-weight-selected)}.sd-pagination__item--selected:hover{background-color:var(--sd-pagination-bg-selected);color:var(--sd-pagination-content-selected)}.sd-pagination__info{display:inline-flex;align-items:center;gap:var(--sd-pagination-move-gap);height:var(--sd-pagination-height);padding:0 var(--sd-pagination-padding-x);color:var(--sd-pagination-content);font-size:var(--sd-pagination-font-size);font-weight:var(--sd-pagination-font-weight-default);line-height:var(--sd-pagination-line-height)}.sd-pagination__current{color:var(--sd-pagination-content-selected);font-weight:var(--sd-pagination-font-weight-selected)}";const u=class{constructor(e){t(this,e),this.update=i(this,"sdUpdate",7),this.dropDownShow=i(this,"sdDropDownShow",7)}static VIEWPORT_PADDING=20;static PORTAL_OFFSET_Y=4;static CLOSE_ANIMATION_DURATION=150;get el(){return n(this)}type="default";value=null;options=[];placeholder="선택";maxDropdownWidth="640px";dropdownHeight="260px";disabled=!1;label="";labelWidth="";addonLabel="";addonAlign="start";error=!1;hint="";errorMessage="";rules=[];icon=void 0;labelTooltip="";labelTooltipProps=null;emitValue=!1;width="";isOpen=!1;isAnimatingOut=!1;triggerWidth="200px";resolvedDropdownHeight="260px";resolvedMaxDropdownWidth="640px";focused=!1;hovered=!1;update;dropDownShow;async sdFocus(){this.disabled||await(this.triggerComponentRef?.sdFocus())}async sdOpen(){await new Promise((t=>setTimeout(t,0))),this.disabled||this.isOpen||(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)}triggerRef;triggerComponentRef;closeAnimationTimer;name=a();triggerHasFocus=!1;watchIsOpen(t){this.syncFocusedState(t),this.dropDownShow.emit({isOpen:t})}get isMulti(){return"multi"===this.type||"multi_depth"===this.type}get displayText(){if(this.isMulti){if(!Array.isArray(this.value)||0===this.value.length)return"";const t=this.flattenOptions(this.options);return this.value.map((i=>{if(null!=i&&"object"==typeof i){const e=i;return e.label??t.find((t=>t.value===e.value))?.label??""}return t.find((t=>t.value===i))?.label??""})).filter(Boolean).join(", ")}if(null==this.value)return"";if(!this.emitValue&&"object"==typeof this.value&&!Array.isArray(this.value))return this.value.label??"";const t=this.flattenOptions(this.options).find((t=>t.value===this.value));return t?.label??""}flattenOptions(t){return t.flatMap((t=>t.children?this.flattenOptions(t.children):[t]))}getSelectedOptions(){const t=this.value;return t&&Array.isArray(t)?this.emitValue?t.map((t=>this.findOriginalOption(t,this.options))).filter((t=>!!t)):t:[]}toMultiValue(t){return this.emitValue?t.map((t=>t.value)):t}parsePixelValue(t,i){const e=Number.parseFloat(t);return Number.isFinite(e)?e:i}updateDropdownViewportConstraints(){if(!this.triggerRef)return;const t=this.triggerRef.getBoundingClientRect(),i=u.VIEWPORT_PADDING,e=u.PORTAL_OFFSET_Y,s=this.parsePixelValue(this.dropdownHeight,260),n=this.parsePixelValue(this.maxDropdownWidth,640),a=Math.max(window.innerHeight-t.bottom-i-e,0),o=Math.max(t.top-i-e,0),r=Math.max(a,o),h=Math.max(window.innerWidth-2*i,0);this.resolvedDropdownHeight=`${Math.min(s,r)}px`,this.resolvedMaxDropdownWidth=`${Math.min(n,h)}px`}handleViewportResize=()=>{this.isOpen&&this.updateDropdownViewportConstraints()};findOriginalOption(t,i){for(const e of i){if(e.value===t)return e;if(e.children){const i=this.findOriginalOption(t,e.children);if(i)return i}}}closeDropdown(){this.isOpen&&(this.isOpen=!1,this.isAnimatingOut=!0,this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.closeAnimationTimer=setTimeout((()=>{this.isAnimatingOut=!1}),u.CLOSE_ANIMATION_DURATION))}prepareDropdownGeometry(){this.triggerRef&&(this.triggerWidth=`${this.triggerRef.offsetWidth}px`),this.updateDropdownViewportConstraints()}syncFocusedState(t=this.isOpen){this.focused=t||this.triggerHasFocus}handleTriggerFocus=()=>{this.triggerHasFocus=!0,this.syncFocusedState()};handleTriggerBlur=()=>{this.triggerHasFocus=!1,this.syncFocusedState()};handleTriggerClick=()=>{this.isOpen?this.closeDropdown():(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)};emitUpdate(t){this.update.emit(t)}handleOptionSelect=t=>{const{option:i,leaves:e}=t;if(this.isMulti)this.handleMultiSelect(i,e);else{this.closeDropdown(),this.value=this.emitValue?i.value:i;const t=this.value;requestAnimationFrame((()=>{this.emitUpdate(t)}))}};handleMultiSelect(t,i){const e=this.getSelectedOptions();let s;if(t.children)if(i.every((t=>e.some((i=>i.value===t.value))))){const t=new Set(i.map((t=>t.value)));s=e.filter((i=>!t.has(i.value)))}else{const t=new Set(e.map((t=>t.value))),n=i.filter((i=>!t.has(i.value)));s=[...e,...n]}else s=e.some((i=>i.value===t.value))?e.filter((i=>i.value!==t.value)):[...e,t];this.value=this.toMultiValue(s),this.emitUpdate(this.value)}connectedCallback(){window.addEventListener("resize",this.handleViewportResize)}disconnectedCallback(){window.removeEventListener("resize",this.handleViewportResize),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer)}render(){const t={open:this.isOpen,parentRef:this.triggerRef,viewportPadding:u.VIEWPORT_PADDING,onSdClose:()=>{this.closeDropdown()}};return e("sd-field",{key:"76b432c04fa0f9fca70e63e9c7d16ed768fc9dd1",name:this.name,label:this.label,labelWidth:this.labelWidth,addonLabel:this.addonLabel,addonAlign:this.addonAlign,hint:this.hint,errorMessage:this.errorMessage,width:this.width,rules:this.rules,error:this.error,disabled:this.disabled,focused:this.focused,hovered:this.hovered,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,onMouseEnter:()=>{this.hovered=!0},onMouseLeave:()=>{this.hovered=!1}},e("div",{key:"dba3a313b7e0171a441540877aacdc7d5c2e7f04",class:"sd-select-v2",ref:t=>{this.triggerRef=t}},e("sd-select-v2-trigger",{key:"7790357558f174eb70b15ed72574f738b062c479",ref:t=>{this.triggerComponentRef=t},displayText:this.displayText,placeholder:this.placeholder,disabled:this.disabled,isOpen:this.isOpen,onSdTriggerClick:this.handleTriggerClick,onSdTriggerFocus:this.handleTriggerFocus,onSdTriggerBlur:this.handleTriggerBlur})),(this.isOpen||this.isAnimatingOut)&&e("sd-portal",{key:"672f3583b24e363b74d184d13866ee19a78b04d9",...t},e("sd-select-v2-listbox",{key:"f71d95ad06c74356e4d5ce94da7e720c002390b6",type:this.type,options:this.options,value:this.value,emitValue:this.emitValue,triggerWidth:this.triggerWidth,maxWidth:this.resolvedMaxDropdownWidth,maxHeight:this.resolvedDropdownHeight,onSdOptionSelect:t=>this.handleOptionSelect(t.detail)})))}static get watchers(){return{isOpen:[{watchIsOpen:0}]}}};u.style="sd-select-v2{display:inline-flex}sd-select-v2 sd-portal{display:none}sd-select-v2 .sd-select-v2{position:relative;width:100%;height:100%}";export{c as sd_pagination,u as sd_select_v2}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,a as e,h as s,H as i}from"./p-Bp7ytJz5.js";import{T as o}from"./p-sZMi_32I.js";const h=class{constructor(e){t(this,e)}get el(){return e(this)}columns;selectable;resizable;stickyColumn;stickyHeader;scrolledLeft;scrolledRight;rows=[];columnWidths=[];tableId="";_columns=[];_selectable=!1;_resizable=!1;_stickyColumn={left:0,right:0};_stickyHeader=!1;_scrolledLeft=!1;_scrolledRight=!1;tableEl=null;handleColumnsChange(t){Array.isArray(t)&&0===(this.columnWidths??[]).length&&(this.columnWidths=t.map((t=>parseInt(t.width||"120",10))))}componentWillLoad(){this.syncTableContext(),this.columnWidths=Array.isArray(this.columnWidths)?this.columnWidths:[],this.resolveConfig(),0===(this.columnWidths??[]).length&&(this.columnWidths=this._columns.map((t=>parseInt(t.width||"120",10))))}componentDidLoad(){this.syncTableContext(),this.resolveConfig()}syncTableContext(){const t=this.el.closest("sd-table");this.tableEl=t;const e=t?.getTableIdSync?.(),s=t?.getAttribute(o),i=(e&&"undefined"!==e?e:null)??(s&&"undefined"!==s?s:null)??"";i&&i!==this.tableId&&(this.tableId=i)}resolveConfig(){const t=this.tableEl?.getConfigSync?.(),e=Array.isArray(this.columns)?this.columns:Array.isArray(t?.columns)?t.columns:[];this._columns=e,this._selectable=this.selectable??t?.selectable??!1,this._resizable=this.resizable??t?.resizable??!1,this._stickyColumn=this.stickyColumn??t?.stickyColumn??{left:0,right:0},this._stickyHeader=this.stickyHeader??t?.stickyHeader??!1,this._scrolledLeft=this.scrolledLeft??t?.scrolledLeft??!1,this._scrolledRight=this.scrolledRight??t?.scrolledRight??!1,Array.isArray(t?.columnWidths)&&0===(this.columnWidths??[]).length&&(this.columnWidths=[...t.columnWidths]),Array.isArray(this.columnWidths)||(this.columnWidths=[])}async refreshConfig(){this.resolveConfig()}async setColumnWidths(t){this.columnWidths=Array.isArray(t)?t:[]}async refreshSelection(){const t=this.el.querySelector("sd-checkbox");t&&(t.value=this.getIsAllChecked())}get visibleColumns(){return this._columns.filter((t=>!1!==t.visible))}getStickyStyle(t){return this.tableEl?.getStickyStyleSync?this.tableEl.getStickyStyleSync(t):{"--sticky-left-offset":`${this.columnWidths.slice(0,t).reduce(((t,e)=>t+e),0)+(this._selectable?52:0)}px`,"--sticky-right-offset":`${this.columnWidths.filter(((e,s)=>s>=this.visibleColumns.length-(this._stickyColumn.right||0)&&s>t)).reduce(((t,e)=>t+e),0)}px`,width:`${this.columnWidths[t]}px`,minWidth:`${this.columnWidths[t]}px`,maxWidth:`${this.columnWidths[t]}px`}}handleResize(t,e,s=!1){this.tableEl?.handleResize&&this.tableEl.handleResize(t,e,s)}handleSelectAll(t){const e=null!==this.getIsAllChecked()&&!!t,s=Array.isArray(this.rows)?this.rows:[];this.tableEl?.toggleSelectAllSync&&this.tableEl.toggleSelectAllSync(e,s)}getIsAllChecked(){const t=Array.isArray(this.rows)?this.rows:[];return!!(this.tableEl?.getIsAllCheckedSync&&t.length>0)&&this.tableEl.getIsAllCheckedSync(t)}render(){const t=Array.isArray(this.rows)?this.rows:[],e=this._stickyColumn.left||0,o=this._stickyColumn.right||0,h=this.visibleColumns.slice(0,e),l=this.visibleColumns.slice(e,this.visibleColumns.length-o),n=this.visibleColumns.slice(this.visibleColumns.length-o);return s(i,{key:"2358499ef65d88005d03b1246604c0fd8eefdde1",slot:`${this.tableId}-head`},s("thead",{key:"49bb43a19aeb83f3a60367b26dbb6535ebcec743",class:{thead:!0,"thead--sticky":this._stickyHeader}},s("tr",{key:"cd6388d79e9a4a5d9edbbda05601abbbefcb1ff4",class:"tr"},this._selectable&&s("th",{key:"fa09e82368d45e9fb1d32838ef44e609c698609d",class:{th:!0,"th--selected":!0,"sticky-left":!0,"sticky-left-edge":0===e,"is-scrolled-left":0===e&&this._scrolledLeft},style:{"--sticky-left-offset":"0px"}},s("sd-checkbox",{key:"5ab4861aecfac9495101363d5bd809d077c7dbc3",value:this.getIsAllChecked(),disabled:!t.length,onSdUpdate:t=>this.handleSelectAll(t.detail)})),h.map(((t,i)=>s("th",{key:t.name,class:{th:!0,[`${t.thClass}`]:Boolean(t.thClass),"sticky-left":!0,"sticky-left-edge":i===e-1,"is-scrolled-left":i===e-1&&this._scrolledLeft},style:{...t.thStyle,...this.getStickyStyle(i)}},s("div",{class:`th__content th__content--${t.align||"left"}`},s("div",{class:"th__content--label"},t.label),t.usePageMoveIcon&&s("sd-icon",{name:"pageMove",size:"12",color:"#006AC1"}),t.tooltip&&s("sd-tooltip",{...t.tooltipOptions},s("div",{slot:"content"},t.tooltip.map((t=>s("p",null,t)))))),this._resizable&&s("div",{class:"th__resizer",onMouseDown:t=>this.handleResize(i,t)})))),l.map(((t,i)=>{const o=e+i;return s("th",{key:t.name,class:{th:!0,[`${t.thClass}`]:Boolean(t.thClass)},style:{...t.thStyle,...this.getStickyStyle(o)}},s("div",{class:`th__content th__content--${t.align||"left"}`},s("div",{class:"th__content--label"},t.label),t.usePageMoveIcon&&s("sd-icon",{name:"pageMove",size:"12",color:"#006AC1"}),t.tooltip&&s("sd-tooltip",{...t.tooltipOptions},s("div",{slot:"content"},t.tooltip.map((t=>s("p",null,t)))))),this._resizable&&s("div",{class:"th__resizer",onMouseDown:t=>this.handleResize(o,t)}))})),n.map(((t,e)=>{const i=this.visibleColumns.length-o+e;return s("th",{key:t.name,class:{th:!0,[`${t.thClass}`]:Boolean(t.thClass),"sticky-right":!0,"sticky-right-edge":0===e,"is-scrolled-right":0===e&&this._scrolledRight},style:{...t.thStyle,...this.getStickyStyle(i)}},s("div",{class:`th__content th__content--${t.align||"left"}`},s("div",{class:"th__content--label"},t.label),t.usePageMoveIcon&&s("sd-icon",{name:"pageMove",size:"12",color:"#006AC1"}),t.tooltip&&s("sd-tooltip",{...t.tooltipOptions},s("div",{slot:"content"},t.tooltip.map((t=>s("p",null,t)))))),this._resizable&&s("div",{class:"th__resizer th__resizer--left",onMouseDown:t=>this.handleResize(i,t,!0)}))})))))}static get watchers(){return{columns:[{handleColumnsChange:0}]}}};h.style='sd-thead{display:contents}sd-thead *{box-sizing:border-box}.thead{display:table-header-group;height:36px}.thead--sticky{position:sticky;top:0;z-index:120}.tr{display:table-row;width:100%}.th{display:table-cell;background:#F5FAFF;height:36px;padding:0 16px;font-weight:500;vertical-align:middle;border-bottom:1px solid #E1E1E1;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th--selected{position:relative;width:52px !important;max-width:52px !important;min-width:52px !important;padding:0 10px 0 24px;text-align:left}.th--selected sd-checkbox label{position:relative}.th--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.th.sticky-left{position:sticky;background-color:#F5FAFF;z-index:110 !important;left:var(--sticky-left-offset, 0)}.th.sticky-right{position:sticky;background-color:#F5FAFF;z-index:110 !important;right:var(--sticky-right-offset, 0)}.th.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}.th.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}.th.sticky-left-edge.is-scrolled-left{overflow:visible}.th.sticky-left-edge.is-scrolled-left:after{opacity:1}.th.sticky-right-edge.is-scrolled-right{overflow:visible}.th.sticky-right-edge.is-scrolled-right:after{opacity:1}.th__content{display:flex;flex-flow:row nowrap;align-items:center;gap:4px}.th__content--left{justify-content:flex-start}.th__content--center{justify-content:center}.th__content--right{justify-content:flex-end}.th__content--label{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th__resizer{position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:16px;cursor:col-resize;z-index:3;border-left:1px solid #CCCCCC;border-right:1px solid #CCCCCC}.th__resizer--left{right:auto;left:0}';export{h as sd_thead}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,a as e,f as s,h as i,H as n}from"./p-Bp7ytJz5.js";import{T as d}from"./p-sZMi_32I.js";const a=class{constructor(e){t(this,e)}get el(){return e(this)}field;rowKey;align;handleFieldChange(){this.syncSlotName()}handleRowKeyChange(){this.syncSlotName()}componentWillLoad(){this.syncSlotName();const t=this.el.parentElement;"sd-tr"===t?.tagName?.toLowerCase()&&s(t)}componentDidLoad(){this.syncSlotName()}syncSlotName(){const t=this.el.closest("sd-table"),e=t?.getTableIdSync?.(),s=t?.getAttribute(d),i=(e&&"undefined"!==e?e:null)??(s&&"undefined"!==s?s:null)??"";this.field&&void 0!==this.rowKey&&i&&this.el.setAttribute("slot",`${i}-${this.field}-${this.rowKey}`)}render(){return i(n,{key:"672c967273dac405ed4a47fa5939463265075681",class:{[`align-${this.align}`]:Boolean(this.align)}},i("slot",{key:"c15e572fdf4a8c68fff8b69b586dfbf9f01dce1b"}))}static get watchers(){return{field:[{handleFieldChange:0}],rowKey:[{handleRowKeyChange:0}]}}};a.style="sd-td *{box-sizing:border-box}sd-td{display:contents}sd-td.align-left{text-align:left}sd-td.align-center{text-align:center}sd-td.align-right{text-align:right}";export{a as sd_td}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as s,h as a}from"./p-Bp7ytJz5.js";var e={bg:"#07284A",content:"#FFFFFF"},o={bg:"#FB4444",content:"#FFFFFF"},n={bg:"#FFC700",content:"#222222"},d={bg:"#00973C",content:"#FFFFFF"},i={bg:"#005CC9",content:"#FFFFFF"};const c={default:{bg:e.bg,content:e.content},danger:{bg:o.bg,content:o.content},caution:{bg:n.bg,content:n.content},complete:{bg:d.bg,content:d.content},accent:{bg:i.bg,content:i.content}},r={iconSize:"16"},l=class{constructor(a){t(this,a),this.close=s(this,"sdClose",7)}icon;message;link;linkLabel;useClose=!1;type="default";close;render(){const t=c[this.type]??c.default,s=Number(r.iconSize);return a("div",{key:"d4b73e2503514143f5174bc8859baf0e59c2f8da",style:{"--sd-toast-bg":t.bg,"--sd-toast-text":t.content}},a("div",{key:"7334daee691fb03a1005c2afac64033554489046",class:"sd-toast",role:"status","aria-live":"polite","aria-atomic":"true"},this.icon&&a("div",{key:"297ada835b0710bf43a936b02e53b0873b7f4af3",class:"sd-toast__icon"},a("sd-icon",{key:"b5bc4716df28231dc7af15db63595ae9044189b5",name:this.icon,size:s,color:t.content})),a("div",{key:"d0239c8f8b495fbdaedad0f65a6d0a0edfaada60",class:"sd-toast__content"},a("span",{key:"dc70d403673bb8f99cfd91393054a86bf17e5ac2",class:"sd-toast__message"},this.message)),this.link&&a("a",{key:"1a76bcee482720693b501d3a13c54e720bbe44fc",href:this.link,class:"sd-toast__link",target:"_blank",rel:"noopener noreferrer"},this.linkLabel||this.link),this.useClose&&a("sd-ghost-button",{key:"a8dc3c15cabf5ca4e075e75c4fb2744dd5da4fa0",class:"sd-toast__close",icon:"close",intent:"caution"===this.type?"default":"inverse",ariaLabel:"close",size:"xs",onClick:()=>this.close.emit()})))}};l.style="sd-toast{display:block;width:fit-content;height:fit-content}sd-toast .sd-toast{display:flex;width:fit-content;align-items:center;gap:var(--sd-toast-gap, 16px);padding:var(--sd-toast-padding-y, 12px) var(--sd-toast-padding-x, 24px);border-radius:var(--sd-toast-radius, 8px);background-color:var(--sd-toast-bg);color:var(--sd-toast-text);box-shadow:2px 2px 8px 2px rgba(0, 0, 0, 0.2)}sd-toast .sd-toast__icon{display:flex;align-items:center;flex-shrink:0}sd-toast .sd-toast__content{display:flex;flex:1}sd-toast .sd-toast__message{font-size:14px;line-height:24px;font-weight:700;white-space:nowrap}sd-toast .sd-toast__link{font-size:14px;line-height:24px;font-weight:700;color:var(--sd-toast-text);text-decoration:underline;cursor:pointer;transition:opacity 0.2s ease;margin-left:4px}sd-toast .sd-toast__link:hover{opacity:0.8}sd-toast .sd-toast__button{flex-shrink:0}sd-toast .sd-toast__button button{color:var(--button-text-color, inherit) !important}sd-toast .sd-toast__close{flex-shrink:0}";export{l as sd_toast}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,a as e,h as i,H as s}from"./p-Bp7ytJz5.js";import{T as o}from"./p-sZMi_32I.js";const l=class{constructor(e){t(this,e)}get el(){return e(this)}columns;selectable;stickyColumn;rowKey="";row={};tableId="";columnWidths=[];isVisible=!0;_columns=[];_selectable=!1;_stickyColumn={left:0,right:0};_scrolledLeft=!1;_scrolledRight=!1;tableEl=null;componentWillLoad(){this.syncTableContext(),this.columnWidths=this.columnWidths??[],this.resolveConfig(),this.columnWidths=this._columns.map((t=>parseInt(t.width||"120",10))),this.updateVisibilitySync()}componentDidLoad(){this.syncTableContext()}syncTableContext(){const t=this.el.closest("sd-table");this.tableEl=t;const e=t?.getTableIdSync?.(),i=t?.getAttribute(o),s=(e&&"undefined"!==e?e:null)??(i&&"undefined"!==i?i:null)??"";s&&s!==this.tableId&&(this.tableId=s)}resolveConfig(){const t=this.tableEl?.getConfigSync?.();this._columns=this.columns??t?.columns??[],this._selectable=this.selectable??t?.selectable??!1,this._stickyColumn=this.stickyColumn??t?.stickyColumn??{left:0,right:0},this._scrolledLeft=t?.scrolledLeft??!1,this._scrolledRight=t?.scrolledRight??!1,t?.columnWidths&&0===(this.columnWidths??[]).length&&(this.columnWidths=[...t.columnWidths])}async refreshConfig(){this.resolveConfig()}async updateVisibility(){this.updateVisibilitySync()}updateVisibilitySync(){const t=parseInt(this.rowKey,10),e=this.tableEl?.getPaginationInfoSync?.();this.isVisible=!e||t>=e.startIndex&&t<e.endIndex}async setColumnWidths(t){this.columnWidths=t}async refreshSelection(){const t=this.el.querySelector("sd-checkbox");t&&(t.value=this.isSelected())}get visibleColumns(){return this._columns.filter((t=>!1!==t.visible))}formatValue(t){return null==t?"":"number"==typeof t?t.toLocaleString():String(t)}getCellValue(t){const{field:e,format:i,name:s}=t,o="function"==typeof e?e(this.row):e?this.row[e]:this.row[s];return i?i(o,this.row):this.formatValue(o)}getStickyStyle(t){return this.tableEl?.getStickyStyleSync?this.tableEl.getStickyStyleSync(t):{"--sticky-left-offset":`${this.columnWidths.slice(0,t).reduce(((t,e)=>t+e),0)+(this._selectable?52:0)}px`,"--sticky-right-offset":`${this.columnWidths.filter(((e,i)=>i>=this.visibleColumns.length-(this._stickyColumn.right||0)&&i>t)).reduce(((t,e)=>t+e),0)}px`,width:`${this.columnWidths[t]}px`,minWidth:`${this.columnWidths[t]}px`,maxWidth:`${this.columnWidths[t]}px`}}isSelected(){return!!this.tableEl?.isRowSelectedSync&&this.tableEl.isRowSelectedSync(this.row)}handleSelect(){this.tableEl?.updateRowSelectSync&&this.tableEl.updateRowSelectSync(this.row)}render(){const t=this._stickyColumn.left||0,e=this._stickyColumn.right||0,o=this.visibleColumns.slice(0,t),l=this.visibleColumns.slice(t,this.visibleColumns.length-e),n=this.visibleColumns.slice(this.visibleColumns.length-e);return i(s,{key:"d6259e5c87cce0fa70f1d849e11416ad69b0cac1",style:{display:this.isVisible?"":"none"}},i("tr",{key:"90e36c39bede0e07fc1c4d90183a73ebc99b6ed8",class:"tr"},this._selectable&&i("td",{key:"601f1747063d8e73803304abc2cd767f420f359c",class:{td:!0,"td--selected":!0,"sticky-left":!0,"sticky-left-edge":0===t,"is-scrolled-left":0===t&&this._scrolledLeft},style:{"--sticky-left-offset":"0px"}},i("sd-checkbox",{key:"97068a623d3b7876c7e6392e3f5ed81cfc60d592",value:this.isSelected(),onSdUpdate:()=>this.handleSelect()})),o.map(((e,s)=>i("td",{key:e.name,class:{td:!0,[`td--${e.align||"left"}`]:!0,"sticky-left":!0,"sticky-left-edge":s===t-1,"is-scrolled-left":s===t-1&&this._scrolledLeft,[`${e.tdClass}`]:Boolean(e.tdClass)},style:this.getStickyStyle(s)},i("slot",{name:`${this.tableId}-${"string"==typeof e.field?e.field:e.name}-${this.rowKey}`},i("span",null,this.getCellValue(e)))))),l.map(((e,s)=>{const o=t+s,l="string"==typeof e.field?e.field:e.name;return i("td",{key:e.name,class:{td:!0,[`td--${e.align||"left"}`]:!0,[`${e.tdClass}`]:Boolean(e.tdClass)},style:this.getStickyStyle(o)},i("slot",{name:`${this.tableId}-${l}-${this.rowKey}`},i("span",null,this.getCellValue(e))))})),n.map(((t,s)=>{const o=this.visibleColumns.length-e+s,l="string"==typeof t.field?t.field:t.name;return i("td",{key:t.name,class:{td:!0,[`td--${t.align||"left"}`]:!0,"sticky-right":!0,"sticky-right-edge":0===s,"is-scrolled-right":0===s&&this._scrolledRight,[`${t.tdClass}`]:Boolean(t.tdClass)},style:this.getStickyStyle(o)},i("slot",{name:`${this.tableId}-${l}-${this.rowKey}`},i("span",null,this.getCellValue(t))))}))))}};l.style='sd-tr{display:contents}sd-tr *{box-sizing:border-box}.tr{display:table-row}.tr:hover .td{background-color:#F9F9F9}.td{display:table-cell;height:44px;padding:0 16px;border-bottom:1px solid #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}';export{l as sd_tr}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as o,h as e}from"./p-Bp7ytJz5.js";var d={height:"24",paddingX:"8",typography:{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",fontSize:"12",fontWeight:"500",textDecoration:"none",lineHeight:"20"}},i={height:"28",paddingX:"12",typography:{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",fontSize:"12",fontWeight:"500",textDecoration:"none",lineHeight:"20"}},r="4",a={width:"1",default:"#CCCCCC",select:"#0075FF",disabled:"#CCCCCC"},n={default:"#FFFFFF",hover:"#0075FF",select:"#FFFFFF",disabled:"#E1E1E1"},s={default:"#555555",hover:"#FFFFFF",select:"#0075FF",disabled:"#888888"},b={gap:"-1"};const l={xs:{height:Number(d.height),paddingX:Number(d.paddingX),fontSize:Number(d.typography.fontSize),lineHeight:Number(d.typography.lineHeight),fontWeight:d.typography.fontWeight,fontFamily:d.typography.fontFamily,textDecoration:d.typography.textDecoration},sm:{height:Number(i.height),paddingX:Number(i.paddingX),fontSize:Number(i.typography.fontSize),lineHeight:Number(i.typography.lineHeight),fontWeight:i.typography.fontWeight,fontFamily:i.typography.fontFamily,textDecoration:i.typography.textDecoration}},u=Number(r),c=Number(a.width),h=Number(b.gap),p={border:{default:a.default,select:a.select,disabled:a.disabled},bg:{default:n.default,hover:n.hover,select:n.select,disabled:n.disabled},content:{default:s.default,hover:s.hover,select:s.select,disabled:s.disabled}},g=class{constructor(e){t(this,e),this.change=o(this,"sdUpdate",7)}value;options=[];size="sm";disabled=!1;name;change;handleRadioChange=(t,o)=>{this.disabled||o||(this.value=t,this.change.emit(t))};isOptionSelected(t){return this.value===t.value}isOptionDisabled(t){return this.disabled||!!t.disabled}getButtonClasses(t){const o=["sd-radio-button__option",this.isOptionSelected(t)?"sd-radio-button__option--selected":"sd-radio-button__option--unselected"];return this.isOptionDisabled(t)&&o.push("sd-radio-button__option--disabled"),o.join(" ")}getGroupClasses(){return["sd-radio-button",`sd-radio-button--${this.size}`].join(" ")}_groupName;get groupName(){return this._groupName||(this._groupName=this.name||`sd-radio-button-${crypto.randomUUID()}`),this._groupName}render(){const t=l[this.size],o={"--sd-radio-button-height":`${t.height}px`,"--sd-radio-button-padding-x":`${t.paddingX}px`,"--sd-radio-button-font-family":t.fontFamily,"--sd-radio-button-font-weight":t.fontWeight,"--sd-radio-button-font-size":`${t.fontSize}px`,"--sd-radio-button-line-height":`${t.lineHeight}px`,"--sd-radio-button-text-decoration":t.textDecoration,"--sd-radio-button-radius":`${u}px`,"--sd-radio-button-border-width":`${c}px`,"--sd-radio-button-group-gap":`${h}px`,"--sd-radio-button-border-default":p.border.default,"--sd-radio-button-border-select":p.border.select,"--sd-radio-button-border-disabled":p.border.disabled,"--sd-radio-button-bg-default":p.bg.default,"--sd-radio-button-bg-hover":p.bg.hover,"--sd-radio-button-bg-select":p.bg.select,"--sd-radio-button-bg-disabled":p.bg.disabled,"--sd-radio-button-content-default":p.content.default,"--sd-radio-button-content-hover":p.content.hover,"--sd-radio-button-content-select":p.content.select,"--sd-radio-button-content-disabled":p.content.disabled};return e("div",{key:"67c8e7ad03fb6ee4cabd06591e3e11e5d38914f0",class:this.getGroupClasses(),style:o,role:"radiogroup","aria-disabled":this.disabled.toString()},this.options.map((t=>{const o=this.isOptionSelected(t),d=this.isOptionDisabled(t);return e("label",{key:`radio-${t.value}`,class:this.getButtonClasses(t),"aria-label":t.label||"radio option","data-label":t.label},e("input",{type:"radio",name:this.groupName,value:t.value.toString(),checked:o,disabled:d,onInput:()=>this.handleRadioChange(t.value,t.disabled)}),t.label&&e("span",{class:"sd-radio-button__label"},t.label))})))}};g.style="sd-radio-button{display:inline-flex;width:fit-content;height:fit-content}.sd-radio-button{display:inline-flex;flex-flow:row nowrap;gap:0}.sd-radio-button__option{display:flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;height:var(--sd-radio-button-height);padding:0 var(--sd-radio-button-padding-x);border:var(--sd-radio-button-border-width) solid var(--sd-radio-button-border-default);background-color:var(--sd-radio-button-bg-default);color:var(--sd-radio-button-content-default);font-family:var(--sd-radio-button-font-family);font-weight:var(--sd-radio-button-font-weight);font-size:var(--sd-radio-button-font-size);line-height:var(--sd-radio-button-line-height);text-decoration:var(--sd-radio-button-text-decoration);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease}.sd-radio-button__option input{display:none}.sd-radio-button__option:not(:first-child){margin-left:var(--sd-radio-button-group-gap)}.sd-radio-button__option:first-child{border-top-left-radius:var(--sd-radio-button-radius);border-bottom-left-radius:var(--sd-radio-button-radius)}.sd-radio-button__option:last-child{border-top-right-radius:var(--sd-radio-button-radius);border-bottom-right-radius:var(--sd-radio-button-radius)}.sd-radio-button__option:only-child{border-radius:var(--sd-radio-button-radius)}.sd-radio-button__option--selected{background-color:var(--sd-radio-button-bg-select);border-color:var(--sd-radio-button-border-select);color:var(--sd-radio-button-content-select);z-index:1}.sd-radio-button__option:hover:not(.sd-radio-button__option--disabled){background-color:var(--sd-radio-button-bg-hover);border-color:var(--sd-radio-button-border-select);color:var(--sd-radio-button-content-hover);z-index:2}.sd-radio-button__option--disabled{background-color:var(--sd-radio-button-bg-disabled);border-color:var(--sd-radio-button-border-disabled);color:var(--sd-radio-button-content-disabled);cursor:not-allowed}.sd-radio-button__label{user-select:none;-webkit-user-select:none}";export{g as sd_radio_button}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,a as s,d as i,h,H as a}from"./p-Bp7ytJz5.js";import{T as n}from"./p-sZMi_32I.js";let l=(t=21)=>{let e="",s=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&s[t]];return e};const d=class{constructor(s){t(this,s),this.sdSelectChange=e(this,"sdSelectChange",7),this.sdPageChange=e(this,"sdPageChange",7),this.sdRowsPerPageChange=e(this,"sdRowsPerPageChange",7),this.sdVirtualUpdate=e(this,"sdVirtualUpdate",7),this.sdVirtualReachEnd=e(this,"sdVirtualReachEnd",7)}static DEFAULT_NO_DATA_LABEL="데이터가 없습니다.";get el(){return s(this)}tableId=l(8);fallbackTableId=l(8);columns=[];rows;selected=[];rowKey="id";selectable=!1;resizable=!1;width;height;stickyHeader=!1;stickyColumn={left:0,right:0};noDataLabel=d.DEFAULT_NO_DATA_LABEL;resolvedNoDataLabel=d.DEFAULT_NO_DATA_LABEL;isLoading=!1;pagination;useInternalPagination=!1;useRowsPerPageSelect=!1;useVirtualScroll=!1;rowHeight=40;virtualBuffer=5;virtualEndThreshold=10;rowsPerPageOption=[{label:"10개씩 보기",value:10},{label:"25개씩 보기",value:25},{label:"50개씩 보기",value:50},{label:"100개씩 보기",value:100}];sdSelectChange;sdPageChange;sdRowsPerPageChange;sdVirtualUpdate;sdVirtualReachEnd;currentPage=1;innerRowsPerPage=10;innerSelected=new Set;columnWidths=[];scrolledLeft=!1;scrolledRight=!1;rowCount=0;loadingScrollTop=0;vsStart=0;vsEnd=0;lastReachEndNotifiedRowCount=-1;scrollContainer=null;onScroll;toFiniteNumber(t,e){const s="number"==typeof t?t:Number(t);return Number.isFinite(s)?s:e}isRowsPerPageValue(t){return null===t||"string"==typeof t||"number"==typeof t}isValidTableId(t){return"string"==typeof t&&t.trim().length>0&&"undefined"!==t&&"null"!==t}getResolvedTableId(){if(this.isValidTableId(this.tableId))return this.tableId;const t=this.el?.getAttribute(n);return this.isValidTableId(t)?t:this.fallbackTableId}syncTableIdAttribute(){const t=this.getResolvedTableId();this.el?.getAttribute(n)!==t&&this.el.setAttribute(n,t)}handleIsLoadingChange(t){t&&(this.loadingScrollTop=this.scrollContainer?.scrollTop??0)}handleUseVirtualScrollChange(t){t&&i((()=>this.propagateVirtualUpdate()))}handleColumnsChange(t){this.columnWidths=t.map((t=>parseInt(t.width||"120",10))),this.refreshChildrenConfig()}handleRowsChange(t){Array.isArray(t)&&(this.rowCount=t.length,this.useVirtualScroll&&this.propagateVirtualUpdate(!0),this.pushRowsToChildren(t))}handleTableIdChange(){this.syncTableIdAttribute()}handleNoDataLabelChange(t){this.resolvedNoDataLabel="string"==typeof t&&t.trim().length>0&&"undefined"!==t&&"null"!==t?t:d.DEFAULT_NO_DATA_LABEL}handleConfigChange(){this.refreshChildrenConfig()}handleSelectedChange(t){this.innerSelected=new Set(t)}handlePaginationChange(t){t?.page&&t.page!==this.currentPage&&(this.currentPage=t.page),t?.rowsPerPage&&t.rowsPerPage!==this.innerRowsPerPage&&(this.innerRowsPerPage=t.rowsPerPage)}componentWillLoad(){this.syncTableIdAttribute(),this.handleNoDataLabelChange(this.noDataLabel),this.innerSelected=new Set(this.selected||[]),this.columnWidths=(this.columns||[]).map((t=>parseInt(t.width||"120",10))),this.pagination?.page&&(this.currentPage=this.pagination.page),this.pagination?.rowsPerPage&&(this.innerRowsPerPage=this.pagination.rowsPerPage);const t=this.el;t.isRowSelectedSync=this.isRowSelectedSync.bind(this),t.updateRowSelectSync=this.updateRowSelectSync.bind(this),t.toggleSelectAllSync=this.toggleSelectAllSync.bind(this),t.getIsAllCheckedSync=this.getIsAllCheckedSync.bind(this),t.getStickyStyleSync=this.getStickyStyleSync.bind(this),t.setRowCountSync=this.setRowCountSync.bind(this),t.handleResize=this.handleResize.bind(this),t.getPaginationInfoSync=this.getPaginationInfoSync.bind(this),t.getVirtualScrollRangeSync=this.getVirtualScrollRangeSync.bind(this),t.getConfigSync=this.getConfigSync.bind(this),t.getTableIdSync=()=>this.getResolvedTableId(),t.getVirtualScrollConfigSync=this.getVirtualScrollConfigSync.bind(this),t.calculateVisibleRange=this.calculateVisibleRange.bind(this),Array.isArray(this.rows)&&(this.rowCount=this.rows.length,this.pushRowsToChildren(this.rows))}componentDidLoad(){Array.isArray(this.rows)&&this.pushRowsToChildren(this.rows),i((()=>{const t=this.el.shadowRoot?.querySelector(".sd-table__wrapper");if(!t)return;let e=!1;this.onScroll=()=>{const s=t.scrollLeft,i=s>0,h=s+t.clientWidth<t.scrollWidth;this.scrolledLeft===i&&this.scrolledRight===h||(this.scrolledLeft=i,this.scrolledRight=h,this.refreshChildrenConfig()),this.useVirtualScroll&&!e&&(e=!0,requestAnimationFrame((()=>{e=!1,this.propagateVirtualUpdate()})))},this.scrollContainer=t,t.addEventListener("scroll",this.onScroll,{passive:!0}),this.onScroll(),this.useVirtualScroll&&this.propagateVirtualUpdate()}))}disconnectedCallback(){this.scrollContainer&&this.onScroll&&this.scrollContainer.removeEventListener("scroll",this.onScroll)}pushRowsToChildren(t){const e=this.el.querySelector("sd-tbody");e&&(e.rows=t);const s=this.el.querySelector("sd-thead");s&&(s.rows=t)}handleStructureSlotChange=()=>{Array.isArray(this.rows)&&this.pushRowsToChildren(this.rows),this.refreshChildrenConfig()};refreshChildrenSelection(){const t=this.el.querySelector("sd-thead"),e=this.el.querySelectorAll("sd-tr");t?.refreshSelection?.(),e.forEach((t=>t?.refreshSelection?.()))}refreshChildrenConfig(){const t=this.el.querySelector("sd-thead"),e=this.el.querySelectorAll("sd-tr");t?.refreshConfig?.(),e.forEach((t=>t?.refreshConfig?.()))}maybeEmitVirtualReachEnd(t,e){const s=Math.max(1,this.virtualEndThreshold);e>=Math.max(0,this.rowCount-s)&&this.lastReachEndNotifiedRowCount!==this.rowCount&&(this.lastReachEndNotifiedRowCount=this.rowCount,this.sdVirtualReachEnd.emit({from:t,to:e,rowCount:this.rowCount,threshold:s}))}propagateVirtualUpdate(t=!1){if(!this.scrollContainer||!this.useVirtualScroll)return;const e=this.toFiniteNumber(this.scrollContainer.scrollTop,0),s=this.toFiniteNumber(this.scrollContainer.clientHeight,0),{start:i,end:h}=this.calculateVisibleRange(e,s);if(!Number.isFinite(i)||!Number.isFinite(h))return;const a=this.vsStart!==i||this.vsEnd!==h;if(!a&&!t)return;this.vsStart=i,this.vsEnd=h;const n=i*this.rowHeight,l=Math.max(0,(this.rowCount-h)*this.rowHeight),d=this.el.querySelector("sd-tbody");d?.setSpacersSync?.(n,l),a&&this.sdVirtualUpdate.emit({from:i,to:h}),this.maybeEmitVirtualReachEnd(i,h)}getVirtualScrollConfigSync(){return{useVirtualScroll:this.useVirtualScroll,rowHeight:this.rowHeight,virtualBuffer:this.virtualBuffer,vsStart:this.vsStart,vsEnd:this.vsEnd,rowCount:this.rowCount}}getConfigSync(){return{columns:this.columns,selectable:this.selectable,resizable:this.resizable,stickyColumn:this.stickyColumn,stickyHeader:this.stickyHeader,scrolledLeft:this.scrolledLeft,scrolledRight:this.scrolledRight,columnWidths:this.columnWidths}}isRowSelectedSync(t){return Array.from(this.innerSelected).some((e=>e[this.rowKey]===t[this.rowKey]))}async isRowSelected(t){return this.isRowSelectedSync(t)}updateRowSelectSync(t){const e=Array.from(this.innerSelected),s=this.isRowSelectedSync(t)?e.filter((e=>e[this.rowKey]!==t[this.rowKey])):[...e,t];s.length!==e.length&&(this.innerSelected=new Set(s),this.selected=Array.from(this.innerSelected),this.sdSelectChange.emit(Array.from(this.innerSelected)),this.refreshChildrenSelection())}async updateRowSelect(t){this.updateRowSelectSync(t)}toggleSelectAllSync(t,e){if(t){const t=new Set([...e]);this.innerSelected=new Set([...this.innerSelected,...t])}else{const t=e.map((t=>t[this.rowKey]));this.innerSelected=new Set([...this.innerSelected].filter((e=>!t.includes(e[this.rowKey]))))}this.selected=Array.from(this.innerSelected),this.sdSelectChange.emit(Array.from(this.innerSelected)),this.refreshChildrenSelection()}async toggleSelectAll(t,e){this.toggleSelectAllSync(t,e)}getIsAllCheckedSync(t){const e=t.length,s=t.filter((t=>Array.from(this.innerSelected).some((e=>e[this.rowKey]===t[this.rowKey])))).length;return 0!==s&&(s===e||null)}async getIsAllChecked(t){return this.getIsAllCheckedSync(t)}changePage(t){this.useInternalPagination?(this.currentPage=t,this.sdPageChange.emit(this.currentPage),this.updateRowsVisibility()):this.sdPageChange.emit(t)}updateRowsVisibility(){this.el.querySelectorAll("sd-tr").forEach((t=>t?.updateVisibility?.()))}changeRowsPerPage(t){const e=t?Number(t):0;if(!this.useInternalPagination)return void this.sdRowsPerPageChange.emit(e);this.innerRowsPerPage=e;const s=Math.max(1,Math.ceil(this.rowCount/e));this.currentPage>s&&(this.currentPage=s),this.sdRowsPerPageChange.emit(e),this.updateRowsVisibility()}get lastPageNumber(){if(this.useInternalPagination)return Math.max(1,Math.ceil(this.rowCount/this.innerRowsPerPage));const{lastPage:t,rowsPerPage:e=10}=this.pagination||{};return t??Math.max(1,Math.ceil(this.rowCount/e))}handleResize(t,e,s=!1){if("undefined"==typeof document)return;const i=e.clientX,h=this.columnWidths[t],a=e=>{const a=this.columns[t];if(!a)return;const n=a.maxWidth||9999,l=e.clientX-i,d=Math.min(Math.max(h+(s?-l:l),a.minWidth||50),n);this.columnWidths=this.columnWidths.map(((e,s)=>s===t?d:e));const r=this.el.querySelector("sd-thead"),o=this.el.querySelectorAll("sd-tr");r?.setColumnWidths?.(this.columnWidths),o.forEach((t=>t?.setColumnWidths?.(this.columnWidths)));const c=this.stickyColumn?.right||0,b=this.columns.filter((t=>!1!==t.visible)).length;c>0&&t===b-c&&requestAnimationFrame((()=>{this.onScroll?.()}))},n=()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",n)};document.addEventListener("mousemove",a),document.addEventListener("mouseup",n)}getStickyStyleSync(t){return{"--sticky-left-offset":`${this.columnWidths.slice(0,t).reduce(((t,e)=>t+e),this.selectable?52:0)}px`,"--sticky-right-offset":`${this.columnWidths.filter(((e,s)=>s>=this.columns.filter((t=>!1!==t.visible)).length-(this.stickyColumn?.right||0)&&s>t)).reduce(((t,e)=>t+e),0)}px`,width:`${this.columnWidths[t]}px`,minWidth:`${this.columnWidths[t]}px`,maxWidth:`${this.columnWidths[t]}px`}}async getStickyStyle(t){return this.getStickyStyleSync(t)}setRowCountSync(t){const e=Math.max(0,Math.floor(this.toFiniteNumber(t,0)));e!==this.rowCount&&(this.lastReachEndNotifiedRowCount=-1),this.rowCount=e,this.useVirtualScroll&&this.propagateVirtualUpdate(!0)}async setRowCount(t){this.setRowCountSync(t)}calculateVisibleRange(t,e){const s=Math.max(1,this.toFiniteNumber(this.rowHeight,40)),i=Math.max(0,Math.floor(this.toFiniteNumber(this.virtualBuffer,5))),h=Math.max(0,this.toFiniteNumber(t,0)),a=Math.max(0,this.toFiniteNumber(e,0)),n=Math.max(0,Math.floor(this.toFiniteNumber(this.rowCount,0))),l=Math.floor(h/s),d=Math.ceil(a/s);return{start:Math.max(0,l-i),end:Math.min(n,l+d+i)}}getPaginationInfoSync(){if(!this.useInternalPagination||!this.pagination)return null;const t=(this.currentPage-1)*this.innerRowsPerPage;return{startIndex:t,endIndex:t+this.innerRowsPerPage,currentPage:this.currentPage,rowsPerPage:this.innerRowsPerPage}}async getPaginationInfo(){return this.getPaginationInfoSync()}getVirtualScrollRangeSync(){return this.useVirtualScroll&&this.vsEnd>0?{from:this.vsStart,to:this.vsEnd}:null}get tableClasses(){return["sd-table",this.stickyHeader&&"sd-table--sticky-header",this.selectable&&"sd-table--selectable",this.resizable&&"sd-table--resizable",(this.selectable||(this.stickyColumn?.left??0)>0||(this.stickyColumn?.right??0)>0)&&"sd-table--sticky-column",this.scrolledLeft&&"sd-table--scrolled-left",this.scrolledRight&&"sd-table--scrolled-right",0===this.rowCount&&!this.isLoading&&"sd-table--no-data"].filter(Boolean).join(" ")}render(){const t=this.getResolvedTableId();return h(a,{key:"0b90643721a90b7bb59a6c31f6edeb313849b973"},h("div",{key:"e55fe4f476dbea4888a168861e7e6d6951d7d489",class:"sd-table__container",style:{"--table-width":this.width,"--table-height":this.height,"--table-container-height":`calc(${this.height||"100%"} - ${this.pagination&&this.rowCount>0&&!this.useVirtualScroll?48:0}px)`}},h("div",{key:"de18a900037a7b2f619dd22981c30ed76f5a8111",class:{"sd-table__clip":!0,"sd-table__clip--has-pagination":!(!(this.pagination&&this.pagination.rowsPerPage>0&&this.rowCount>0)||this.useVirtualScroll)}},h("div",{key:"028e0982d415033adaf420ee6b953241c8f3dbec",class:{"sd-table__wrapper":!0,"sd-table__wrapper--loading":this.isLoading,"sd-table__wrapper--no-data":0===this.rowCount&&!this.isLoading}},this.isLoading&&h("div",{key:"8c9110c9c2c26cddbbed8e1f2782ecfaafd3679c",class:"sd-table__loading",style:{top:`${this.loadingScrollTop}px`}},h("sd-circle-progress",{key:"51b61f91b0ecebf63fe3e65b94012963f0375e5c",indeterminate:!0})),0===this.rowCount&&!this.isLoading&&h("div",{key:"0a7a45049014869b8164b081a251218d3c814e87",class:"sd-table__no-data"},h("slot",{key:"d4b6219e5dcaaa22be3360f7f0f05a8b32533890",name:"no-data"},h("span",{key:"c76848aad8a1d3967f3cd239090e97266e46ab3e"},this.resolvedNoDataLabel))),h("table",{key:"2b560d112402549c7043b337d944b0de88c3ba0e",class:this.tableClasses},h("slot",{key:"1c4583148df6a585f389c1bed0426fa4a3cb4899",name:`${t}-head`,onSlotchange:this.handleStructureSlotChange}),h("slot",{key:"a5d983106de61c829f9cbeb541d1908fee48468c",name:`${t}-body`,onSlotchange:this.handleStructureSlotChange})))),this.pagination&&this.pagination.rowsPerPage>0&&this.rowCount>0&&!this.useVirtualScroll&&h("div",{key:"004355d84e2cfc2fd38a9d4811f14fd66dc5c21b",class:"sd-table__pagination"},h("sd-pagination",{key:"463586c7e57782a7989962f73cb3d4e8c04f5bce",currentPage:this.useInternalPagination?this.currentPage:this.pagination.page,lastPage:this.useInternalPagination?this.lastPageNumber:this.pagination.lastPage,onSdPageChange:t=>this.changePage(t.detail)}),this.useRowsPerPageSelect&&h("sd-select-v2",{key:"1f26de447da63ef0c4a24ffb49666a0687db9991",value:this.useInternalPagination?this.innerRowsPerPage:this.pagination.rowsPerPage,options:this.rowsPerPageOption,width:"128px",emitValue:!0,onSdUpdate:t=>{this.isRowsPerPageValue(t.detail)&&this.changeRowsPerPage(t.detail)}}))))}static get watchers(){return{isLoading:[{handleIsLoadingChange:0}],useVirtualScroll:[{handleUseVirtualScrollChange:0}],columns:[{handleColumnsChange:0}],rows:[{handleRowsChange:0}],tableId:[{handleTableIdChange:0}],noDataLabel:[{handleNoDataLabelChange:0}],selectable:[{handleConfigChange:0}],resizable:[{handleConfigChange:0}],stickyColumn:[{handleConfigChange:0}],stickyHeader:[{handleConfigChange:0}],selected:[{handleSelectedChange:0}],pagination:[{handlePaginationChange:0}]}}};d.style="sd-table,:host{display:block;width:100%;max-width:100%;min-width:0}sd-table *,:host *{box-sizing:border-box}.sd-table__container{height:var(--table-height, auto);width:var(--table-width, 100%);max-width:100%;min-width:0;color:#222222;display:flex;flex-direction:column}.sd-table__clip{width:100%;min-width:0;height:var(--table-container-height, 400px);border:1px solid #E1E1E1;border-radius:8px;overflow:hidden}.sd-table__clip--has-pagination{border-radius:8px 8px 0 0}.sd-table__wrapper{width:100%;height:100%;display:flex;flex-direction:column;position:relative;font-size:12px;overflow:auto;background:#FFFFFF}.sd-table__wrapper--loading{overflow:hidden !important;pointer-events:none}.sd-table__wrapper--no-data{overflow:hidden;pointer-events:none}.sd-table__no-data{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#888888;pointer-events:none;z-index:200;background:rgba(255, 255, 255, 0.6)}.sd-table__loading{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255, 255, 255, 0.6);z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:none}.sd-table{background-color:white;display:table;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.sd-table--selectable sd-thead,.sd-table--selectable sd-tbody{--selectable:true}.sd-table--sticky-header sd-thead thead{position:sticky;top:0;z-index:120}.sd-table--sticky-column sd-thead,.sd-table--sticky-column sd-tbody{--sticky-column:true}.sd-table--scrolled-left sd-thead,.sd-table--scrolled-left sd-tbody{--scrolled-left:true}.sd-table--scrolled-right sd-thead,.sd-table--scrolled-right sd-tbody{--scrolled-right:true}.sd-table--resizable sd-thead{--resizable:true}.sd-table--no-data sd-thead{opacity:0.4}.sd-table__pagination{position:relative;background:#F9F9F9;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #E1E1E1;border-top:none;border-radius:0 0 8px 8px}.sd-table__pagination sd-select-v2{position:absolute;right:10px;top:50%;transform:translateY(-50%)}";export{d as sd_table}
|