nexa-ui-kit 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/NAlert.js +48 -27
- package/dist/components/NAlert.nexa +12 -6
- package/dist/components/NAutocomplete.js +24 -19
- package/dist/components/NAutocomplete.nexa +3 -3
- package/dist/components/NBottomSheet.js +17 -17
- package/dist/components/NBottomSheet.nexa +2 -2
- package/dist/components/NButton.js +58 -58
- package/dist/components/NButton.nexa +10 -9
- package/dist/components/NCard.js +1 -1
- package/dist/components/NCard.nexa +1 -1
- package/dist/components/NCheckbox.js +22 -18
- package/dist/components/NCheckbox.nexa +2 -1
- package/dist/components/NChips.js +12 -9
- package/dist/components/NChips.nexa +1 -1
- package/dist/components/NDataTable.js +359 -41
- package/dist/components/NDataTable.nexa +318 -10
- package/dist/components/NDatepicker.js +51 -42
- package/dist/components/NDatepicker.nexa +3 -3
- package/dist/components/NInput.js +50 -40
- package/dist/components/NInput.nexa +4 -3
- package/dist/components/NInputNumber.js +17 -12
- package/dist/components/NInputNumber.nexa +2 -2
- package/dist/components/NModal.js +33 -27
- package/dist/components/NModal.nexa +4 -4
- package/dist/components/NMultiSelect.js +46 -37
- package/dist/components/NMultiSelect.nexa +3 -3
- package/dist/components/NPaginator.js +28 -20
- package/dist/components/NPaginator.nexa +4 -4
- package/dist/components/NPassword.js +60 -46
- package/dist/components/NPassword.nexa +5 -4
- package/dist/components/NProgressBar.js +4 -4
- package/dist/components/NProgressBar.nexa +4 -4
- package/dist/components/NSelect.js +67 -62
- package/dist/components/NSelect.nexa +4 -4
- package/dist/components/NTag.js +26 -23
- package/dist/components/NTag.nexa +6 -6
- package/dist/components/NToastContainer.js +64 -48
- package/dist/components/NToastContainer.nexa +6 -3
- package/dist/components/NTreeMenu.js +23 -21
- package/dist/components/NTreeMenu.nexa +1 -1
- package/dist/styles/tokens.css +18 -0
- package/package.json +4 -4
- package/src/components/NAlert.nexa +12 -6
- package/src/components/NAutocomplete.nexa +3 -3
- package/src/components/NBottomSheet.nexa +2 -2
- package/src/components/NButton.nexa +10 -9
- package/src/components/NCard.nexa +1 -1
- package/src/components/NCheckbox.nexa +2 -1
- package/src/components/NChips.nexa +1 -1
- package/src/components/NDataTable.nexa +318 -10
- package/src/components/NDatepicker.nexa +3 -3
- package/src/components/NInput.nexa +4 -3
- package/src/components/NInputNumber.nexa +2 -2
- package/src/components/NModal.nexa +4 -4
- package/src/components/NMultiSelect.nexa +3 -3
- package/src/components/NPaginator.nexa +4 -4
- package/src/components/NPassword.nexa +5 -4
- package/src/components/NProgressBar.nexa +4 -4
- package/src/components/NSelect.nexa +4 -4
- package/src/components/NTag.nexa +6 -6
- package/src/components/NToastContainer.nexa +6 -3
- package/src/components/NTreeMenu.nexa +1 -1
- package/src/styles/tokens.css +18 -0
|
@@ -2,9 +2,9 @@ import { signal, computed, effect, h, hText, defineComponent, registerComponent,
|
|
|
2
2
|
import NPaginator from './NPaginator.js'
|
|
3
3
|
|
|
4
4
|
const _sfc_main = defineComponent({
|
|
5
|
-
__scopeId: 'data-v-
|
|
5
|
+
__scopeId: 'data-v-12cb4cef',
|
|
6
6
|
__hmrId: 'NDataTable_nexa',
|
|
7
|
-
props: { value: { type: Array, default: () => [] }, columns: { type: Array, default: () => [] }, stripedRows: { type: Boolean, default: false }, hoverRows: { type: Boolean, default: true }, size: { type: String, default: 'md' }, scrollable: { type: Boolean, default: true }, paginator: { type: Boolean, default: true }, rows: { type: Number, default: 10 }, first: { type: Number, default: 0 }, rowsPerPageOptions: { type: Array, default: () => [10, 20, 50] }, selectionMode: { type: String, default: '' }, selection: { type: null, default: null }, dataKey: { type: String, default: '' }, sortField: { type: String, default: '' }, sortOrder: { type: Number, default: 1 }, resizableColumns: { type: Boolean, default: true }, columnResizeMode: { type: String, default: 'fit' }, filterDisplay: { type: String, default: 'row' }, globalFilter: { type: String, default: '' }, globalFilterFields: { type: Array, default: null }, filters: { type: null, default: null }, lazy: { type: Boolean, default: false }, totalRecords: { type: Number, default: 0 }, emptyMessage: { type: String, default: 'No records found' }, showGridlines: { type: Boolean, default: false } },
|
|
7
|
+
props: { value: { type: Array, default: () => [] }, columns: { type: Array, default: () => [] }, stripedRows: { type: Boolean, default: false }, hoverRows: { type: Boolean, default: true }, size: { type: String, default: 'md' }, scrollable: { type: Boolean, default: true }, paginator: { type: Boolean, default: true }, rows: { type: Number, default: 10 }, first: { type: Number, default: 0 }, rowsPerPageOptions: { type: Array, default: () => [10, 20, 50] }, selectionMode: { type: String, default: '' }, selection: { type: null, default: null }, dataKey: { type: String, default: '' }, sortField: { type: String, default: '' }, sortOrder: { type: Number, default: 1 }, resizableColumns: { type: Boolean, default: true }, columnResizeMode: { type: String, default: 'fit' }, filterDisplay: { type: String, default: 'row' }, globalFilter: { type: String, default: '' }, globalFilterFields: { type: Array, default: null }, filters: { type: null, default: null }, lazy: { type: Boolean, default: false }, totalRecords: { type: Number, default: 0 }, emptyMessage: { type: String, default: 'No records found' }, showGridlines: { type: Boolean, default: false }, searchPlaceholder: { type: String, default: 'Search...' }, filterPlaceholder: { type: String, default: 'Filter' }, loading: { type: Boolean, default: false } },
|
|
8
8
|
emits: ['update:first', 'update:rows', 'update:selection', 'update:sortField', 'update:sortOrder', 'update:globalFilter', 'update:filters', 'updateFirst', 'updateRows', 'updateSelection', 'updateSortField', 'updateSortOrder', 'updateGlobalFilter', 'updateFilters', 'page', 'rowSelect', 'rowUnselect', 'sort', 'filter'],
|
|
9
9
|
setup(props, setupContext) {
|
|
10
10
|
const { emit, slots, slots: $slots } = setupContext
|
|
@@ -166,72 +166,100 @@ const _sfc_main = defineComponent({
|
|
|
166
166
|
})
|
|
167
167
|
// Injected render function
|
|
168
168
|
_sfc_main.render = function(ctx) {
|
|
169
|
-
let { internalFirst, internalRows, internalSortField, internalSortOrder, internalFilters, effectiveFilters, columnWidths, resizing, internalSelection, lastPropGlobal, lastPropSelection, normalizeColumns, getRowKey, effectiveSelection, isRowSelected, toggleRowSelection, allVisibleSelected, toggleAllVisible, getHeaderContent, getRawValue, getCellContent, matchFilter, filteredRows, sortedRows, totalRecords, visibleRows, setSort, onSortClick, setGlobal, setColumnFilter, onColumnFilterInput, onPage, getWidth, startResize, NPaginator: _ntc_NPaginator, $slots, emit, value, columns, stripedRows, hoverRows, size, scrollable, paginator, rows, first, rowsPerPageOptions, selectionMode, selection, dataKey, sortField, sortOrder, resizableColumns, columnResizeMode, filterDisplay, globalFilter, globalFilterFields, filters, lazy, emptyMessage, showGridlines, Fragment: _ntc_Fragment } = ctx
|
|
170
|
-
return h('div', { class: ["n-dt", [`n-dt-${size}`, showGridlines ? 'is-grid' : '', scrollable ? 'is-scroll' : '']], "data-v-
|
|
171
|
-
"\
|
|
172
|
-
h('div', { class: "n-dt-toolbar", "data-v-
|
|
173
|
-
|
|
174
|
-
h('
|
|
175
|
-
|
|
169
|
+
let { internalFirst, internalRows, internalSortField, internalSortOrder, internalFilters, effectiveFilters, columnWidths, resizing, internalSelection, lastPropGlobal, lastPropSelection, normalizeColumns, getRowKey, effectiveSelection, isRowSelected, toggleRowSelection, allVisibleSelected, toggleAllVisible, getHeaderContent, getRawValue, getCellContent, matchFilter, filteredRows, sortedRows, totalRecords, visibleRows, setSort, onSortClick, setGlobal, setColumnFilter, onColumnFilterInput, onPage, getWidth, startResize, NPaginator: _ntc_NPaginator, $slots, emit, value, columns, stripedRows, hoverRows, size, scrollable, paginator, rows, first, rowsPerPageOptions, selectionMode, selection, dataKey, sortField, sortOrder, resizableColumns, columnResizeMode, filterDisplay, globalFilter, globalFilterFields, filters, lazy, emptyMessage, showGridlines, searchPlaceholder, filterPlaceholder, loading, Fragment: _ntc_Fragment } = ctx
|
|
170
|
+
return h('div', { class: ["n-dt", [`n-dt-${size}`, showGridlines ? 'is-grid' : '', scrollable ? 'is-scroll' : '']], "aria-busy": loading ? 'true' : undefined, "data-v-12cb4cef": "" }, [
|
|
171
|
+
"\n ",
|
|
172
|
+
h('div', { class: "n-dt-toolbar", "data-v-12cb4cef": "" }, [
|
|
173
|
+
"\r\n ",
|
|
174
|
+
h('div', { class: "n-dt-global", "data-v-12cb4cef": "" }, [
|
|
175
|
+
"\r\n ",
|
|
176
|
+
h('svg', { viewBox: "0 0 24 24", width: "16", height: "16", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", focusable: "false", "aria-hidden": "true", "data-v-12cb4cef": "" }, [
|
|
177
|
+
h('circle', { cx: "11", cy: "11", r: "8", "data-v-12cb4cef": "" }),
|
|
178
|
+
h('line', { x1: "21", y1: "21", x2: "16.65", y2: "16.65", "data-v-12cb4cef": "" })
|
|
179
|
+
]),
|
|
180
|
+
"\r\n ",
|
|
181
|
+
h('input', { class: "n-dt-global-input", value: effectiveFilters.value.__global || '', placeholder: searchPlaceholder, onInput: setGlobal, "data-v-12cb4cef": "" }),
|
|
182
|
+
"\r\n "
|
|
183
|
+
]),
|
|
184
|
+
"\r\n "
|
|
176
185
|
]),
|
|
177
186
|
"\r\n ",
|
|
178
|
-
h('div', { class: "n-dt-wrapper", "data-v-
|
|
187
|
+
h('div', { class: "n-dt-wrapper", "data-v-12cb4cef": "" }, [
|
|
179
188
|
"\r\n ",
|
|
180
|
-
h('table', { class: ["n-dt-table", { 'is-striped': stripedRows, 'is-hover': hoverRows }], "data-v-
|
|
189
|
+
h('table', { class: ["n-dt-table", { 'is-striped': stripedRows, 'is-hover': hoverRows }], "data-v-12cb4cef": "" }, [
|
|
181
190
|
"\r\n ",
|
|
182
|
-
h('thead', { class: "n-dt-thead", "data-v-
|
|
191
|
+
h('thead', { class: "n-dt-thead", "data-v-12cb4cef": "" }, [
|
|
183
192
|
"\r\n ",
|
|
184
|
-
h('tr', { class: "n-dt-head-row", "data-v-
|
|
193
|
+
h('tr', { class: "n-dt-head-row", "data-v-12cb4cef": "" }, [
|
|
185
194
|
"\r\n ",
|
|
186
|
-
(selectionMode) ? h('th', { class: "n-dt-th is-selection", "data-v-
|
|
187
|
-
|
|
195
|
+
(selectionMode) ? h('th', { class: "n-dt-th is-selection", "data-v-12cb4cef": "" }, [
|
|
196
|
+
"\r\n ",
|
|
197
|
+
(selectionMode === 'multiple') ? h('button', { class: ["n-dt-selectbox", { 'is-checked': allVisibleSelected.value }], type: "button", onClick: ($event) => { $event.stopPropagation(); (toggleAllVisible)($event) }, "aria-label": allVisibleSelected.value ? 'Deselect all' : 'Select all', "data-v-12cb4cef": "" }, [
|
|
198
|
+
"\r\n ",
|
|
199
|
+
h('svg', { viewBox: "0 0 24 24", width: "14", height: "14", fill: "none", stroke: "currentColor", "stroke-width": "3", "stroke-linecap": "round", "stroke-linejoin": "round", focusable: "false", "aria-hidden": "true", "data-v-12cb4cef": "" }, [
|
|
200
|
+
h('path', { d: "M20 6L9 17l-5-5", "data-v-12cb4cef": "" })
|
|
201
|
+
]),
|
|
202
|
+
"\r\n "
|
|
203
|
+
]) : null
|
|
188
204
|
]) : null,
|
|
189
205
|
(normalizeColumns.value).map((col, index) =>
|
|
190
|
-
h('th', { class: ["n-dt-th", [`is-${col.align}`, col.sortable ? 'is-sortable' : '']], key: col.field, style: { width: getWidth(col) || undefined, minWidth: col.minWidth }, "data-field": col.field, onClick: onSortClick, "data-v-
|
|
206
|
+
h('th', { class: ["n-dt-th", [`is-${col.align}`, col.sortable ? 'is-sortable' : '']], key: col.field, style: { width: getWidth(col) || undefined, minWidth: col.minWidth }, "data-field": col.field, onClick: onSortClick, "data-v-12cb4cef": "" }, [
|
|
191
207
|
"\r\n ",
|
|
192
|
-
h('div', { class: "n-dt-th-content", "data-v-
|
|
208
|
+
h('div', { class: "n-dt-th-content", "data-v-12cb4cef": "" }, [
|
|
193
209
|
"\r\n ",
|
|
194
|
-
h('span', { class: "n-dt-th-text", "data-v-
|
|
210
|
+
h('span', { class: "n-dt-th-text", "data-v-12cb4cef": "" }, [
|
|
195
211
|
$slots.value && $slots.value[`header-${col.field}`] ? $slots[`header-${col.field}`]({ column: col }) : getHeaderContent(col)
|
|
196
212
|
]),
|
|
197
213
|
"\r\n ",
|
|
198
|
-
(col.sortable) ? h('span', { class: ["n-dt-sort", { 'is-active': internalSortField.value === col.field }], "data-v-
|
|
214
|
+
(col.sortable) ? h('span', { class: ["n-dt-sort", { 'is-active': internalSortField.value === col.field }], "data-v-12cb4cef": "" }, [
|
|
199
215
|
"\r\n ",
|
|
200
|
-
(internalSortField.value
|
|
201
|
-
"
|
|
202
|
-
])
|
|
203
|
-
|
|
204
|
-
|
|
216
|
+
h('svg', { class: ["n-dt-sort-arrow n-dt-sort-arrow-up", { 'is-on': internalSortField.value === col.field && internalSortOrder.value === 1 }], viewBox: "0 0 24 24", width: "16", height: "16", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", focusable: "false", "aria-hidden": "true", "data-v-12cb4cef": "" }, [
|
|
217
|
+
h('path', { d: "M12 19V5M5 12l7-7 7 7", "data-v-12cb4cef": "" })
|
|
218
|
+
]),
|
|
219
|
+
"\r\n ",
|
|
220
|
+
h('svg', { class: ["n-dt-sort-arrow n-dt-sort-arrow-down", { 'is-on': internalSortField.value === col.field && internalSortOrder.value === -1 }], viewBox: "0 0 24 24", width: "16", height: "16", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", focusable: "false", "aria-hidden": "true", "data-v-12cb4cef": "" }, [
|
|
221
|
+
h('path', { d: "M12 5v14M19 12l-7 7-7-7", "data-v-12cb4cef": "" })
|
|
222
|
+
]),
|
|
205
223
|
"\r\n "
|
|
206
224
|
]) : null
|
|
207
225
|
]),
|
|
208
226
|
"\r\n ",
|
|
209
|
-
(resizableColumns) ? h('span', { class: "n-dt-resizer", "data-field": col.field, onMousedown: startResize, "data-v-
|
|
227
|
+
(resizableColumns) ? h('span', { class: "n-dt-resizer", "data-field": col.field, onMousedown: startResize, "data-v-12cb4cef": "" }) : null
|
|
210
228
|
])
|
|
211
229
|
),
|
|
212
230
|
"\r\n "
|
|
213
231
|
]),
|
|
214
232
|
"\r\n ",
|
|
215
|
-
(filterDisplay === 'row') ? h('tr', { class: "n-dt-filter-row", "data-v-
|
|
216
|
-
|
|
233
|
+
(filterDisplay === 'row') ? h('tr', { class: "n-dt-filter-row", "data-v-12cb4cef": "" }, [
|
|
234
|
+
"\r\n ",
|
|
235
|
+
(selectionMode) ? h('th', { class: "n-dt-th is-selection", "data-v-12cb4cef": "" }) : null,
|
|
217
236
|
(normalizeColumns.value).map((col, index) =>
|
|
218
|
-
h('th', { class: ["n-dt-th", `is-${col.align}`], key: col.field, style: { width: getWidth(col) || undefined, minWidth: col.minWidth }, "data-v-
|
|
219
|
-
|
|
237
|
+
h('th', { class: ["n-dt-th", `is-${col.align}`], key: col.field, style: { width: getWidth(col) || undefined, minWidth: col.minWidth }, "data-v-12cb4cef": "" }, [
|
|
238
|
+
"\r\n ",
|
|
239
|
+
(col.filterable) ? h('input', { class: "n-dt-filter", "data-field": col.field, value: (effectiveFilters.value[col.field]?.value) || '', placeholder: filterPlaceholder, onInput: onColumnFilterInput, "data-v-12cb4cef": "" }) : null
|
|
220
240
|
])
|
|
221
|
-
)
|
|
241
|
+
),
|
|
242
|
+
"\r\n "
|
|
222
243
|
]) : null
|
|
223
244
|
]),
|
|
224
245
|
"\r\n ",
|
|
225
|
-
h('tbody', { class: "n-dt-tbody", "data-v-
|
|
246
|
+
h('tbody', { class: "n-dt-tbody", "data-v-12cb4cef": "" }, [
|
|
226
247
|
"\r\n ",
|
|
227
248
|
(visibleRows.value).map((row, i) =>
|
|
228
|
-
h('tr', { class: ["n-dt-row", { 'is-selected': isRowSelected(row, i + internalFirst.value) }], key: getRowKey(row, i + internalFirst.value), onClick: ($event) => { toggleRowSelection(row, i + internalFirst.value) }, "data-v-
|
|
249
|
+
h('tr', { class: ["n-dt-row", { 'is-selected': isRowSelected(row, i + internalFirst.value) }], key: getRowKey(row, i + internalFirst.value), onClick: ($event) => { toggleRowSelection(row, i + internalFirst.value) }, "data-v-12cb4cef": "" }, [
|
|
229
250
|
"\r\n ",
|
|
230
|
-
(selectionMode) ? h('td', { class: "n-dt-td is-selection", "data-v-
|
|
231
|
-
|
|
251
|
+
(selectionMode) ? h('td', { class: "n-dt-td is-selection", "data-v-12cb4cef": "" }, [
|
|
252
|
+
"\r\n ",
|
|
253
|
+
(selectionMode === 'multiple') ? h('button', { class: ["n-dt-selectbox", { 'is-checked': isRowSelected(row, i + internalFirst.value) }], type: "button", onClick: ($event) => { $event.stopPropagation(); (($event) => { toggleRowSelection(row, i + internalFirst.value) })($event) }, "aria-label": isRowSelected(row, i + internalFirst.value) ? 'Deselect row' : 'Select row', "data-v-12cb4cef": "" }, [
|
|
254
|
+
"\r\n ",
|
|
255
|
+
h('svg', { viewBox: "0 0 24 24", width: "14", height: "14", fill: "none", stroke: "currentColor", "stroke-width": "3", "stroke-linecap": "round", "stroke-linejoin": "round", focusable: "false", "aria-hidden": "true", "data-v-12cb4cef": "" }, [
|
|
256
|
+
h('path', { d: "M20 6L9 17l-5-5", "data-v-12cb4cef": "" })
|
|
257
|
+
]),
|
|
258
|
+
"\r\n "
|
|
259
|
+
]) : null
|
|
232
260
|
]) : null,
|
|
233
261
|
(normalizeColumns.value).map((col, index) =>
|
|
234
|
-
h('td', { class: ["n-dt-td", `is-${col.align}`], key: col.field, style: { width: getWidth(col) || undefined, minWidth: col.minWidth }, "data-v-
|
|
262
|
+
h('td', { class: ["n-dt-td", `is-${col.align}`], key: col.field, style: { width: getWidth(col) || undefined, minWidth: col.minWidth }, "data-v-12cb4cef": "" }, [
|
|
235
263
|
"\r\n ",
|
|
236
264
|
$slots.value && $slots.value[`body-${col.field}`] ? $slots[`body-${col.field}`]({ data: row, column: col, index: i + internalFirst.value }) : getCellContent(row, col, i + internalFirst.value),
|
|
237
265
|
"\r\n "
|
|
@@ -241,8 +269,8 @@ _sfc_main.render = function(ctx) {
|
|
|
241
269
|
])
|
|
242
270
|
),
|
|
243
271
|
"\r\n ",
|
|
244
|
-
(visibleRows.value.length === 0) ? h('tr', { class: "n-dt-empty-row", "data-v-
|
|
245
|
-
h('td', { class: "n-dt-empty", colspan: normalizeColumns.value.length + (selectionMode ? 1 : 0), "data-v-
|
|
272
|
+
(visibleRows.value.length === 0) ? h('tr', { class: "n-dt-empty-row", "data-v-12cb4cef": "" }, [
|
|
273
|
+
h('td', { class: "n-dt-empty", colspan: normalizeColumns.value.length + (selectionMode ? 1 : 0), "data-v-12cb4cef": "" }, [
|
|
246
274
|
emptyMessage
|
|
247
275
|
])
|
|
248
276
|
]) : null
|
|
@@ -252,13 +280,303 @@ _sfc_main.render = function(ctx) {
|
|
|
252
280
|
"\r\n "
|
|
253
281
|
]),
|
|
254
282
|
"\r\n ",
|
|
255
|
-
(paginator) ? h(_ntc_NPaginator, { first: internalFirst.value, rows: internalRows.value, totalRecords: totalRecords.value, rowsPerPageOptions: rowsPerPageOptions, onPage: onPage, "data-v-
|
|
283
|
+
(paginator) ? h(_ntc_NPaginator, { first: internalFirst.value, rows: internalRows.value, totalRecords: totalRecords.value, rowsPerPageOptions: rowsPerPageOptions, onPage: onPage, "data-v-12cb4cef": "" }) : null
|
|
256
284
|
])
|
|
257
285
|
}
|
|
258
|
-
_sfc_main.__scopeId = 'data-v-
|
|
286
|
+
_sfc_main.__scopeId = 'data-v-12cb4cef'
|
|
259
287
|
_sfc_main.__hmrId = 'NDataTable_nexa'
|
|
260
288
|
|
|
261
289
|
export default _sfc_main
|
|
262
290
|
|
|
263
|
-
const __style = `.n-dt[data-v-
|
|
264
|
-
|
|
291
|
+
const __style = `.n-dt[data-v-12cb4cef]{
|
|
292
|
+
border: 1px solid var(--n-color-border);
|
|
293
|
+
border-radius: var(--n-radius-lg);
|
|
294
|
+
background: var(--n-color-surface);
|
|
295
|
+
overflow: hidden;
|
|
296
|
+
font-family: var(--n-font-sans);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.n-dt.is-grid[data-v-12cb4cef]{
|
|
300
|
+
border-color: var(--n-color-border);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.n-dt.is-grid .n-dt-th[data-v-12cb4cef],
|
|
304
|
+
.n-dt.is-grid .n-dt-td[data-v-12cb4cef]{
|
|
305
|
+
border: 1px solid var(--n-color-border);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.n-dt-toolbar[data-v-12cb4cef]{
|
|
309
|
+
display: flex;
|
|
310
|
+
align-items: center;
|
|
311
|
+
justify-content: space-between;
|
|
312
|
+
padding: 0.75rem 1rem;
|
|
313
|
+
border-bottom: 1px solid var(--n-color-border);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.n-dt-global[data-v-12cb4cef]{
|
|
317
|
+
display: flex;
|
|
318
|
+
align-items: center;
|
|
319
|
+
gap: 0.5rem;
|
|
320
|
+
color: var(--n-color-text-muted);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.n-dt-global-input[data-v-12cb4cef]{
|
|
324
|
+
width: 260px;
|
|
325
|
+
max-width: 100%;
|
|
326
|
+
background: transparent;
|
|
327
|
+
border: 1px solid var(--n-color-border);
|
|
328
|
+
border-radius: var(--n-radius-md);
|
|
329
|
+
padding: 0.45rem 0.75rem;
|
|
330
|
+
color: var(--n-color-text);
|
|
331
|
+
font-size: var(--n-text-sm);
|
|
332
|
+
outline: none;
|
|
333
|
+
box-sizing: border-box;
|
|
334
|
+
transition: border-color 0.15s ease;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.n-dt-global-input[data-v-12cb4cef]:focus{
|
|
338
|
+
border-color: var(--n-color-primary);
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.n-dt-wrapper[data-v-12cb4cef]{
|
|
342
|
+
width: 100%;
|
|
343
|
+
overflow: auto;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.n-dt-table[data-v-12cb4cef]{
|
|
347
|
+
width: 100%;
|
|
348
|
+
border-collapse: collapse;
|
|
349
|
+
table-layout: fixed;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
.n-dt-thead[data-v-12cb4cef]{
|
|
353
|
+
background: var(--n-color-surface);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
.n-dt-th[data-v-12cb4cef]{
|
|
357
|
+
position: relative;
|
|
358
|
+
padding: 0.65rem 0.85rem;
|
|
359
|
+
border-bottom: 2px solid var(--n-color-border);
|
|
360
|
+
color: var(--n-color-text-secondary);
|
|
361
|
+
font-size: var(--n-text-sm);
|
|
362
|
+
font-weight: var(--n-weight-semibold);
|
|
363
|
+
user-select: none;
|
|
364
|
+
vertical-align: middle;
|
|
365
|
+
text-align: left;
|
|
366
|
+
background: var(--n-color-surface);
|
|
367
|
+
transition: background 0.15s ease;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.n-dt-th.is-sortable[data-v-12cb4cef]{
|
|
371
|
+
cursor: pointer;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.n-dt-th.is-sortable[data-v-12cb4cef]:hover{
|
|
375
|
+
background: var(--n-color-glass);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.n-dt-th.is-right[data-v-12cb4cef]{
|
|
379
|
+
text-align: right;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.n-dt-th.is-center[data-v-12cb4cef]{
|
|
383
|
+
text-align: center;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.n-dt-th.is-selection[data-v-12cb4cef]{
|
|
387
|
+
width: 3rem;
|
|
388
|
+
text-align: center;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
.n-dt-th-content[data-v-12cb4cef]{
|
|
392
|
+
display: flex;
|
|
393
|
+
align-items: center;
|
|
394
|
+
gap: 0.35rem;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.n-dt-th.is-right .n-dt-th-content[data-v-12cb4cef]{
|
|
398
|
+
justify-content: flex-end;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
.n-dt-th.is-center .n-dt-th-content[data-v-12cb4cef]{
|
|
402
|
+
justify-content: center;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.n-dt-th-text[data-v-12cb4cef]{
|
|
406
|
+
overflow: hidden;
|
|
407
|
+
text-overflow: ellipsis;
|
|
408
|
+
white-space: nowrap;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
.n-dt-sort[data-v-12cb4cef]{
|
|
412
|
+
display: inline-flex;
|
|
413
|
+
flex-direction: column;
|
|
414
|
+
align-items: center;
|
|
415
|
+
gap: 0;
|
|
416
|
+
line-height: 1;
|
|
417
|
+
margin-left: auto;
|
|
418
|
+
flex-shrink: 0;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
.n-dt-sort-arrow[data-v-12cb4cef]{
|
|
422
|
+
display: block;
|
|
423
|
+
color: var(--n-color-border);
|
|
424
|
+
transition: color 0.15s ease;
|
|
425
|
+
margin: -3px 0;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
.n-dt-sort-arrow-up.is-on[data-v-12cb4cef]{
|
|
429
|
+
color: var(--n-color-primary);
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
.n-dt-sort-arrow-down.is-on[data-v-12cb4cef]{
|
|
433
|
+
color: var(--n-color-primary);
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
.n-dt-th.is-sortable[data-v-12cb4cef]:hover .n-dt-sort-arrow{
|
|
437
|
+
color: var(--n-color-text-muted);
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.n-dt-resizer[data-v-12cb4cef]{
|
|
441
|
+
position: absolute;
|
|
442
|
+
right: 0;
|
|
443
|
+
top: 0;
|
|
444
|
+
bottom: 0;
|
|
445
|
+
width: 6px;
|
|
446
|
+
cursor: col-resize;
|
|
447
|
+
background: transparent;
|
|
448
|
+
transition: background 0.15s ease;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
.n-dt-resizer[data-v-12cb4cef]:hover{
|
|
452
|
+
background: var(--n-color-primary);
|
|
453
|
+
opacity: 0.4;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.n-dt-filter-row .n-dt-th[data-v-12cb4cef]{
|
|
457
|
+
border-bottom: 1px solid var(--n-color-border);
|
|
458
|
+
padding: 0.5rem 0.6rem;
|
|
459
|
+
background: var(--n-color-surface);
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
.n-dt-filter[data-v-12cb4cef]{
|
|
463
|
+
width: 100%;
|
|
464
|
+
max-width: 100%;
|
|
465
|
+
display: block;
|
|
466
|
+
background: var(--n-color-bg);
|
|
467
|
+
border: 1px solid var(--n-color-border);
|
|
468
|
+
border-radius: var(--n-radius-sm);
|
|
469
|
+
padding: 0.3rem 0.45rem;
|
|
470
|
+
color: var(--n-color-text);
|
|
471
|
+
font-size: var(--n-text-xs);
|
|
472
|
+
outline: none;
|
|
473
|
+
box-sizing: border-box;
|
|
474
|
+
transition: border-color 0.15s ease;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
.n-dt-filter[data-v-12cb4cef]:focus{
|
|
478
|
+
border-color: var(--n-color-primary);
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
.n-dt-tbody .n-dt-row{
|
|
482
|
+
transition: background 0.15s ease;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
.n-dt-tbody .n-dt-row.is-hover:hover{
|
|
486
|
+
background: var(--n-color-glass);
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.n-dt-tbody .n-dt-row.is-selected{
|
|
490
|
+
background: var(--n-color-primary-light);
|
|
491
|
+
outline: none;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
.n-dt-tbody .n-dt-row.is-hover.is-selected:hover{
|
|
495
|
+
background: var(--n-color-primary-light);
|
|
496
|
+
filter: brightness(0.96);
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
.n-dt-table.is-striped .n-dt-tbody .n-dt-row:nth-child(even){
|
|
500
|
+
background: var(--n-color-glass);
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
.n-dt-table.is-striped .n-dt-tbody .n-dt-row:nth-child(even).is-selected{
|
|
504
|
+
background: var(--n-color-primary-light);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
.n-dt-td[data-v-12cb4cef]{
|
|
508
|
+
padding: 0.6rem 0.85rem;
|
|
509
|
+
border-bottom: 1px solid var(--n-color-border);
|
|
510
|
+
color: var(--n-color-text);
|
|
511
|
+
font-size: var(--n-text-sm);
|
|
512
|
+
vertical-align: middle;
|
|
513
|
+
text-align: left;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
.n-dt-td.is-right[data-v-12cb4cef]{
|
|
517
|
+
text-align: right;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
.n-dt-td.is-center[data-v-12cb4cef]{
|
|
521
|
+
text-align: center;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
.n-dt-td.is-selection[data-v-12cb4cef]{
|
|
525
|
+
width: 3rem;
|
|
526
|
+
text-align: center;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
.n-dt-selectbox[data-v-12cb4cef]{
|
|
530
|
+
width: 20px;
|
|
531
|
+
height: 20px;
|
|
532
|
+
border: 2px solid var(--n-color-border);
|
|
533
|
+
border-radius: var(--n-radius-sm);
|
|
534
|
+
background: transparent;
|
|
535
|
+
cursor: pointer;
|
|
536
|
+
display: inline-flex;
|
|
537
|
+
align-items: center;
|
|
538
|
+
justify-content: center;
|
|
539
|
+
padding: 0;
|
|
540
|
+
transition: all 0.15s ease;
|
|
541
|
+
color: transparent;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
.n-dt-selectbox.is-checked[data-v-12cb4cef]{
|
|
545
|
+
background: var(--n-color-primary);
|
|
546
|
+
border-color: var(--n-color-primary);
|
|
547
|
+
color: white;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
.n-dt-selectbox[data-v-12cb4cef]:hover:not(.is-checked){
|
|
551
|
+
border-color: var(--n-color-primary);
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
.n-dt-selectbox svg[data-v-12cb4cef]{
|
|
555
|
+
display: block;
|
|
556
|
+
opacity: 0;
|
|
557
|
+
transition: opacity 0.1s ease;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
.n-dt-selectbox.is-checked svg[data-v-12cb4cef]{
|
|
561
|
+
opacity: 1;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
.n-dt-empty-row .n-dt-empty[data-v-12cb4cef]{
|
|
565
|
+
padding: 2rem 1rem;
|
|
566
|
+
text-align: center;
|
|
567
|
+
color: var(--n-color-text-muted);
|
|
568
|
+
font-size: var(--n-text-sm);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
.n-dt-sm .n-dt-th[data-v-12cb4cef],
|
|
572
|
+
.n-dt-sm .n-dt-td[data-v-12cb4cef]{
|
|
573
|
+
padding: 0.4rem 0.6rem;
|
|
574
|
+
font-size: var(--n-text-xs);
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
.n-dt-lg .n-dt-th[data-v-12cb4cef],
|
|
578
|
+
.n-dt-lg .n-dt-td[data-v-12cb4cef]{
|
|
579
|
+
padding: 0.85rem 1rem;
|
|
580
|
+
font-size: var(--n-text-base);
|
|
581
|
+
}`
|
|
582
|
+
injectStyle('data-v-12cb4cef', __style)
|