@ibobbyts/svelte-ui-utils 0.1.2 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +112 -15
- package/dist/data-table/BaseDataTable.svelte +70 -41
- package/dist/data-table/BaseDataTable.svelte.d.ts +1 -0
- package/dist/data-table/BaseDataTable.svelte.d.ts.map +1 -1
- package/dist/data-table/DataTable.svelte +4 -0
- package/dist/data-table/DataTable.svelte.d.ts +1 -0
- package/dist/data-table/DataTable.svelte.d.ts.map +1 -1
- package/dist/data-table/DateRangeFilter.svelte +27 -0
- package/dist/data-table/DateRangeFilter.svelte.d.ts +1 -0
- package/dist/data-table/DateRangeFilter.svelte.d.ts.map +1 -1
- package/dist/data-table/FilterControl.svelte +3 -0
- package/dist/data-table/FilterControl.svelte.d.ts.map +1 -1
- package/dist/data-table/FilterTable.svelte +2 -0
- package/dist/data-table/FilterTable.svelte.d.ts.map +1 -1
- package/dist/data-table/NumberRangeFilter.svelte +2 -0
- package/dist/data-table/NumberRangeFilter.svelte.d.ts.map +1 -1
- package/dist/data-table/index.d.ts +1 -1
- package/dist/data-table/index.d.ts.map +1 -1
- package/dist/data-table/types.d.ts +8 -2
- package/dist/data-table/types.d.ts.map +1 -1
- package/dist/dropdown/Dropdown.svelte +2 -0
- package/dist/dropdown/Dropdown.svelte.d.ts.map +1 -1
- package/dist/dropdown-search/DropdownSearch.svelte +358 -38
- package/dist/dropdown-search/DropdownSearch.svelte.d.ts +8 -1
- package/dist/dropdown-search/DropdownSearch.svelte.d.ts.map +1 -1
- package/dist/dropdown-search/DropdownSearchMultiSelect.svelte +92 -0
- package/dist/dropdown-search/DropdownSearchMultiSelect.svelte.d.ts +53 -0
- package/dist/dropdown-search/DropdownSearchMultiSelect.svelte.d.ts.map +1 -0
- package/dist/dropdown-search/index.d.ts +3 -2
- package/dist/dropdown-search/index.d.ts.map +1 -1
- package/dist/dropdown-search/index.js +2 -1
- package/dist/dropdown-search/state.d.ts +2 -0
- package/dist/dropdown-search/state.d.ts.map +1 -1
- package/dist/dropdown-search/state.js +7 -0
- package/dist/dropdown-search/types.d.ts +8 -0
- package/dist/dropdown-search/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/modal/ConfirmDialog.svelte +69 -0
- package/dist/modal/ConfirmDialog.svelte.d.ts +44 -0
- package/dist/modal/ConfirmDialog.svelte.d.ts.map +1 -0
- package/dist/modal/Modal.svelte +131 -0
- package/dist/modal/Modal.svelte.d.ts +43 -0
- package/dist/modal/Modal.svelte.d.ts.map +1 -0
- package/dist/modal/index.d.ts +4 -0
- package/dist/modal/index.d.ts.map +1 -0
- package/dist/modal/index.js +2 -0
- package/dist/modal/types.d.ts +3 -0
- package/dist/modal/types.d.ts.map +1 -0
- package/dist/modal/types.js +1 -0
- package/dist/pagination/Pagination.svelte +2 -0
- package/dist/pagination/Pagination.svelte.d.ts.map +1 -1
- package/dist/style.css +295 -4
- package/dist/toast/Toast.svelte +2 -0
- package/dist/toast/Toast.svelte.d.ts.map +1 -1
- package/dist/toast/ToastManager.svelte +2 -0
- package/dist/toast/ToastManager.svelte.d.ts.map +1 -1
- package/package.json +6 -1
package/README.md
CHANGED
|
@@ -10,13 +10,19 @@ Install from the public npm registry. No GitHub Packages token is required.
|
|
|
10
10
|
With Bun:
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
bun add @ibobbyts/svelte-ui-utils@0.
|
|
13
|
+
bun add @ibobbyts/svelte-ui-utils@0.2.0
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Canonical Bun pull address:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
@ibobbyts/svelte-ui-utils@0.2.0
|
|
14
20
|
```
|
|
15
21
|
|
|
16
22
|
With npm:
|
|
17
23
|
|
|
18
24
|
```bash
|
|
19
|
-
npm install @ibobbyts/svelte-ui-utils@0.
|
|
25
|
+
npm install @ibobbyts/svelte-ui-utils@0.2.0
|
|
20
26
|
```
|
|
21
27
|
|
|
22
28
|
The repository does not track `dist/`; releases and local integration builds run
|
|
@@ -34,7 +40,8 @@ import '@ibobbyts/svelte-ui-utils/style.css';
|
|
|
34
40
|
<script lang="ts">
|
|
35
41
|
import { ToastManager, toast } from '@ibobbyts/svelte-ui-utils/toast';
|
|
36
42
|
import { Dropdown } from '@ibobbyts/svelte-ui-utils/dropdown';
|
|
37
|
-
import { DropdownSearch } from '@ibobbyts/svelte-ui-utils/dropdown-search';
|
|
43
|
+
import { DropdownSearch, DropdownSearchMultiSelect } from '@ibobbyts/svelte-ui-utils/dropdown-search';
|
|
44
|
+
import { Modal, ConfirmDialog } from '@ibobbyts/svelte-ui-utils/modal';
|
|
38
45
|
import { DataTable, DateRangeFilter, FilterTable, NumberRangeFilter } from '@ibobbyts/svelte-ui-utils/table';
|
|
39
46
|
</script>
|
|
40
47
|
```
|
|
@@ -42,7 +49,7 @@ import '@ibobbyts/svelte-ui-utils/style.css';
|
|
|
42
49
|
The package root also re-exports the public modules:
|
|
43
50
|
|
|
44
51
|
```ts
|
|
45
|
-
import { ToastManager, Dropdown, DropdownSearch, DataTable } from '@ibobbyts/svelte-ui-utils';
|
|
52
|
+
import { ToastManager, Dropdown, DropdownSearch, Modal, DataTable } from '@ibobbyts/svelte-ui-utils';
|
|
46
53
|
```
|
|
47
54
|
|
|
48
55
|
## Toast
|
|
@@ -118,6 +125,78 @@ Server-side code and Node tests that only need pure helpers should import from
|
|
|
118
125
|
`@ibobbyts/svelte-ui-utils/dropdown-search/state` so they do not load Svelte
|
|
119
126
|
component files.
|
|
120
127
|
|
|
128
|
+
Set `multiselect={true}` when the search box should collect multiple selected
|
|
129
|
+
items as chips. `DropdownSearchMultiSelect` is a convenience wrapper with the
|
|
130
|
+
same controlled contract:
|
|
131
|
+
|
|
132
|
+
```svelte
|
|
133
|
+
<script lang="ts">
|
|
134
|
+
import { DropdownSearchMultiSelect, type DropdownSearchItem } from '@ibobbyts/svelte-ui-utils/dropdown-search';
|
|
135
|
+
|
|
136
|
+
let selectedMembers: DropdownSearchItem[] = [];
|
|
137
|
+
</script>
|
|
138
|
+
|
|
139
|
+
<DropdownSearchMultiSelect
|
|
140
|
+
language="en_us"
|
|
141
|
+
placeholder="Search members"
|
|
142
|
+
selectedItems={selectedMembers}
|
|
143
|
+
selectedItemsLabel="Selected members"
|
|
144
|
+
removeSelectedItemLabel={(item) => `Remove ${item.title}`}
|
|
145
|
+
{loadOptions}
|
|
146
|
+
onSelectedItemsChange={(items) => {
|
|
147
|
+
selectedMembers = items;
|
|
148
|
+
}}
|
|
149
|
+
/>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
In multiselect mode, the text input remains a search query. Selecting an item
|
|
153
|
+
adds or removes it from `selectedItems`, clears the query, and emits both
|
|
154
|
+
`onChange` and `onSelectedItemsChange`.
|
|
155
|
+
|
|
156
|
+
## Modal and ConfirmDialog
|
|
157
|
+
|
|
158
|
+
```svelte
|
|
159
|
+
<script lang="ts">
|
|
160
|
+
import { ConfirmDialog, Modal } from '@ibobbyts/svelte-ui-utils/modal';
|
|
161
|
+
|
|
162
|
+
let modalOpen = false;
|
|
163
|
+
let confirmOpen = false;
|
|
164
|
+
</script>
|
|
165
|
+
|
|
166
|
+
<button type="button" on:click={() => (modalOpen = true)}>Open modal</button>
|
|
167
|
+
|
|
168
|
+
<Modal
|
|
169
|
+
open={modalOpen}
|
|
170
|
+
title="Edit record"
|
|
171
|
+
description="Update the shared fields."
|
|
172
|
+
closeLabel="Close dialog"
|
|
173
|
+
onClose={() => (modalOpen = false)}
|
|
174
|
+
>
|
|
175
|
+
<p>Dialog body content goes here.</p>
|
|
176
|
+
<svelte:fragment slot="footer">
|
|
177
|
+
<button type="button" class="suu-modal__button" on:click={() => (modalOpen = false)}>Cancel</button>
|
|
178
|
+
<button type="button" class="suu-modal__button suu-modal__button--primary">Save</button>
|
|
179
|
+
</svelte:fragment>
|
|
180
|
+
</Modal>
|
|
181
|
+
|
|
182
|
+
<ConfirmDialog
|
|
183
|
+
open={confirmOpen}
|
|
184
|
+
title="Delete file"
|
|
185
|
+
message="This cannot be undone."
|
|
186
|
+
confirmLabel="Delete"
|
|
187
|
+
cancelLabel="Cancel"
|
|
188
|
+
intent="danger"
|
|
189
|
+
onClose={() => (confirmOpen = false)}
|
|
190
|
+
onConfirm={() => {
|
|
191
|
+
confirmOpen = false;
|
|
192
|
+
}}
|
|
193
|
+
/>
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Both components are controlled by the consuming app. `Modal` calls `onClose`
|
|
197
|
+
from the close button, backdrop, or Escape key when dismissible; it does not
|
|
198
|
+
mutate `open` internally.
|
|
199
|
+
|
|
121
200
|
## Dropdown
|
|
122
201
|
|
|
123
202
|
```svelte
|
|
@@ -156,7 +235,15 @@ pagination bars. `DataTable` uses this same component for its page-size picker.
|
|
|
156
235
|
|
|
157
236
|
const columns = [
|
|
158
237
|
{ key: 'name', header: 'Name', sortable: true },
|
|
159
|
-
{
|
|
238
|
+
{
|
|
239
|
+
key: 'createdAt',
|
|
240
|
+
header: 'Created',
|
|
241
|
+
sortable: true,
|
|
242
|
+
headerHorizontalAlign: 'center',
|
|
243
|
+
headerVerticalAlign: 'middle',
|
|
244
|
+
cellHorizontalAlign: 'right',
|
|
245
|
+
cellVerticalAlign: 'top'
|
|
246
|
+
}
|
|
160
247
|
];
|
|
161
248
|
|
|
162
249
|
let sort = null;
|
|
@@ -189,9 +276,17 @@ pagination bars. `DataTable` uses this same component for its page-size picker.
|
|
|
189
276
|
default, including a page-size selector. Use `language` for package-owned
|
|
190
277
|
defaults such as empty state, pagination label, and page-size label; use
|
|
191
278
|
`pageSizeLabel` or `emptyText` when a specific app needs to override them.
|
|
192
|
-
Use `showPagination={false}` for static tables.
|
|
193
|
-
|
|
194
|
-
|
|
279
|
+
Use `showPagination={false}` for static tables. Use `showHeader={false}` for
|
|
280
|
+
tables that should render body rows without a header section. Sortable headers
|
|
281
|
+
preserve the current window scroll position by default and wait for an async
|
|
282
|
+
`onSortChange` before restoring scroll position.
|
|
283
|
+
|
|
284
|
+
Column alignment is configured separately for headers and body cells.
|
|
285
|
+
Horizontal alignment accepts `left`, `center`, or `right`; vertical alignment
|
|
286
|
+
accepts `top`, `middle`, or `bottom`. Header alignment defaults to
|
|
287
|
+
`left`/`middle`; cell alignment defaults to `left`/`top`.
|
|
288
|
+
Use `headerHorizontalAlign`, `headerVerticalAlign`, `cellHorizontalAlign`, and
|
|
289
|
+
`cellVerticalAlign` instead of the older combined `align` field.
|
|
195
290
|
|
|
196
291
|
`Pagination` is also available as a standalone module when an app needs
|
|
197
292
|
pagination outside `DataTable`:
|
|
@@ -271,9 +366,11 @@ to a parent that does not wrap the dropdown menu directly.
|
|
|
271
366
|
`dateRange` renders two browser date inputs plus preset buttons:
|
|
272
367
|
`last 24 hours`, `last 7 days`, `last 30 days`, `today`, `this week`,
|
|
273
368
|
`this month`, and `this year`. Manual changes emit `{ startDate, endDate,
|
|
274
|
-
preset: null }`.
|
|
275
|
-
|
|
276
|
-
|
|
369
|
+
preset: null }`. Pass `defaultPreset` to apply a preset on mount when the
|
|
370
|
+
current value is empty. Clicking the currently active preset clears both date
|
|
371
|
+
inputs and emits an empty range. The `last24Hours` preset also emits
|
|
372
|
+
`startDateTime` and `endDateTime` so a consuming app can run an exact timestamp
|
|
373
|
+
query while still showing the covered dates in the inputs.
|
|
277
374
|
|
|
278
375
|
`numberRange` renders min/max number inputs and supports `prefixLabel`, for
|
|
279
376
|
example `$` for currency filters.
|
|
@@ -356,9 +453,9 @@ explicitly requested.
|
|
|
356
453
|
|
|
357
454
|
```bash
|
|
358
455
|
gh repo create iBobbyTS/svelte-ui-utils --public --source . --remote origin --push
|
|
359
|
-
git tag v0.
|
|
360
|
-
git push origin v0.
|
|
361
|
-
gh release create v0.
|
|
456
|
+
git tag v0.2.0
|
|
457
|
+
git push origin v0.2.0
|
|
458
|
+
gh release create v0.2.0 --title "v0.2.0" --notes "Publish public npm package"
|
|
362
459
|
gh run watch
|
|
363
460
|
```
|
|
364
461
|
|
|
@@ -373,7 +470,7 @@ consumer project and installs the released npm version without registry-specific
|
|
|
373
470
|
tokens:
|
|
374
471
|
|
|
375
472
|
```bash
|
|
376
|
-
bun add @ibobbyts/svelte-ui-utils@0.
|
|
473
|
+
bun add @ibobbyts/svelte-ui-utils@0.2.0 svelte
|
|
377
474
|
```
|
|
378
475
|
|
|
379
476
|
Use it after each release when a Bun-based project will consume the package.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<svelte:options runes={false} />
|
|
2
|
+
|
|
1
3
|
<script lang="ts">
|
|
2
4
|
import { onMount } from 'svelte';
|
|
3
5
|
import { getUiMessages, type UiLanguage } from '../i18n.js';
|
|
@@ -15,6 +17,7 @@
|
|
|
15
17
|
export let rows: unknown[] = [];
|
|
16
18
|
export let columns: DataTableColumn[] = [];
|
|
17
19
|
export let sort: SortState | null = null;
|
|
20
|
+
export let showHeader = true;
|
|
18
21
|
export let zebra = true;
|
|
19
22
|
export let bordered = true;
|
|
20
23
|
export let verticalSeparators = false;
|
|
@@ -63,7 +66,7 @@
|
|
|
63
66
|
}
|
|
64
67
|
|
|
65
68
|
function updateStickyHeader() {
|
|
66
|
-
if (!stickyHeader || typeof window === 'undefined' || !tableElement) {
|
|
69
|
+
if (!showHeader || !stickyHeader || typeof window === 'undefined' || !tableElement) {
|
|
67
70
|
stickyHeaderVisible = false;
|
|
68
71
|
return;
|
|
69
72
|
}
|
|
@@ -161,6 +164,22 @@
|
|
|
161
164
|
return column.class ?? '';
|
|
162
165
|
}
|
|
163
166
|
|
|
167
|
+
function resolveHeaderHorizontalAlign(column: DataTableColumn) {
|
|
168
|
+
return column.headerHorizontalAlign ?? 'left';
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
function resolveHeaderVerticalAlign(column: DataTableColumn) {
|
|
172
|
+
return column.headerVerticalAlign ?? 'middle';
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
function resolveCellHorizontalAlign(column: DataTableColumn) {
|
|
176
|
+
return column.cellHorizontalAlign ?? 'left';
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
function resolveCellVerticalAlign(column: DataTableColumn) {
|
|
180
|
+
return column.cellVerticalAlign ?? 'top';
|
|
181
|
+
}
|
|
182
|
+
|
|
164
183
|
onMount(() => {
|
|
165
184
|
const update = () => queueStickyHeaderUpdate();
|
|
166
185
|
const observer = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(update) : undefined;
|
|
@@ -187,6 +206,7 @@
|
|
|
187
206
|
rows;
|
|
188
207
|
columns;
|
|
189
208
|
sort;
|
|
209
|
+
showHeader;
|
|
190
210
|
stickyHeader;
|
|
191
211
|
resolvedStickyHeaderTop;
|
|
192
212
|
queueStickyHeaderUpdate();
|
|
@@ -196,7 +216,7 @@
|
|
|
196
216
|
<div class:suu-table-wrap--borderless={!bordered} class="suu-table-wrap" style:--suu-table-sticky-top={resolvedStickyHeaderTop}>
|
|
197
217
|
<span bind:this={stickyHeaderOffsetProbe} class="suu-table__sticky-offset-probe" aria-hidden="true"></span>
|
|
198
218
|
|
|
199
|
-
{#if stickyHeaderVisible}
|
|
219
|
+
{#if showHeader && stickyHeaderVisible}
|
|
200
220
|
<div
|
|
201
221
|
class="suu-table__sticky-clone"
|
|
202
222
|
style:left={`${stickyHeaderLeft}px`}
|
|
@@ -217,7 +237,8 @@
|
|
|
217
237
|
<th
|
|
218
238
|
class={column.headerClass}
|
|
219
239
|
aria-sort={column.sortable ? getAriaSort(sort, column.key) : undefined}
|
|
220
|
-
data-align={column
|
|
240
|
+
data-horizontal-align={resolveHeaderHorizontalAlign(column)}
|
|
241
|
+
data-vertical-align={resolveHeaderVerticalAlign(column)}
|
|
221
242
|
scope="col"
|
|
222
243
|
style:width={stickyHeaderColumnWidths[columnIndex] ? `${stickyHeaderColumnWidths[columnIndex]}px` : undefined}
|
|
223
244
|
style:min-width={stickyHeaderColumnWidths[columnIndex] ? `${stickyHeaderColumnWidths[columnIndex]}px` : undefined}
|
|
@@ -259,54 +280,62 @@
|
|
|
259
280
|
class:suu-table--layout-auto={tableLayout === 'auto'}
|
|
260
281
|
class:suu-table--layout-fixed={tableLayout === 'fixed'}
|
|
261
282
|
class:suu-table--sticky-header={stickyHeader}
|
|
262
|
-
class:suu-table--sticky-header-shadowed={stickyHeaderVisible}
|
|
283
|
+
class:suu-table--sticky-header-shadowed={showHeader && stickyHeaderVisible}
|
|
263
284
|
class:suu-table--zebra={zebra}
|
|
264
285
|
class:suu-table--vertical-separators={verticalSeparators}
|
|
265
286
|
class="suu-table"
|
|
266
287
|
>
|
|
267
|
-
|
|
268
|
-
<
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
<
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
<
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
288
|
+
{#if showHeader}
|
|
289
|
+
<thead>
|
|
290
|
+
<tr>
|
|
291
|
+
{#each columns as column (column.key)}
|
|
292
|
+
<th
|
|
293
|
+
class={column.headerClass}
|
|
294
|
+
aria-sort={column.sortable ? getAriaSort(sort, column.key) : undefined}
|
|
295
|
+
data-horizontal-align={resolveHeaderHorizontalAlign(column)}
|
|
296
|
+
data-vertical-align={resolveHeaderVerticalAlign(column)}
|
|
297
|
+
scope="col"
|
|
298
|
+
>
|
|
299
|
+
{#if column.sortable}
|
|
300
|
+
<button class="suu-table__sort-button" type="button" on:click={() => handleSort(column)}>
|
|
301
|
+
<span><slot name="header" {column} {sort}>{column.header}</slot></span>
|
|
302
|
+
<span class="suu-table__sort-indicator" aria-hidden="true">
|
|
303
|
+
{#if sort?.key === column.key && sort.direction === 'asc'}
|
|
304
|
+
<svg class="suu-table__sort-icon suu-table__sort-icon--asc" viewBox="0 0 16 16" aria-hidden="true" focusable="false">
|
|
305
|
+
<path d="M5 9.5 8 6.5l3 3" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" />
|
|
306
|
+
</svg>
|
|
307
|
+
{:else if sort?.key === column.key}
|
|
308
|
+
<svg class="suu-table__sort-icon suu-table__sort-icon--desc" viewBox="0 0 16 16" aria-hidden="true" focusable="false">
|
|
309
|
+
<path d="m5 6.5 3 3 3-3" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" />
|
|
310
|
+
</svg>
|
|
311
|
+
{:else}
|
|
312
|
+
<svg class="suu-table__sort-icon suu-table__sort-icon--both" viewBox="0 0 16 16" aria-hidden="true" focusable="false">
|
|
313
|
+
<path d="M5 6.5 8 3.5l3 3" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" />
|
|
314
|
+
<path d="m5 9.5 3 3 3-3" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" />
|
|
315
|
+
</svg>
|
|
316
|
+
{/if}
|
|
317
|
+
</span>
|
|
318
|
+
</button>
|
|
319
|
+
{:else}
|
|
320
|
+
<slot name="header" {column} {sort}>{column.header}</slot>
|
|
321
|
+
{/if}
|
|
322
|
+
</th>
|
|
323
|
+
{/each}
|
|
324
|
+
</tr>
|
|
325
|
+
</thead>
|
|
326
|
+
{/if}
|
|
303
327
|
<tbody>
|
|
304
328
|
{#if rows.length > 0}
|
|
305
329
|
{#each rows as row, rowIndex (resolveRowKey(row, rowIndex))}
|
|
306
330
|
<tr {...resolveRowAttributes(row, rowIndex)} class={resolveRowClass(row, rowIndex)}>
|
|
307
331
|
{#each columns as column (column.key)}
|
|
308
332
|
{@const value = getCellValue(row, column)}
|
|
309
|
-
<td
|
|
333
|
+
<td
|
|
334
|
+
class={resolveCellClass(column, row, value)}
|
|
335
|
+
data-horizontal-align={resolveCellHorizontalAlign(column)}
|
|
336
|
+
data-vertical-align={resolveCellVerticalAlign(column)}
|
|
337
|
+
data-nowrap={column.nowrap === false ? 'false' : 'true'}
|
|
338
|
+
>
|
|
310
339
|
<slot name="cell" {row} {column} {value}>{value as string}</slot>
|
|
311
340
|
</td>
|
|
312
341
|
{/each}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDataTable.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/BaseDataTable.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,KAAK,EAER,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,SAAS,EACV,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseDataTable.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/BaseDataTable.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,KAAK,EAER,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,SAAS,EACV,MAAM,YAAY,CAAC;AAmTtB,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAUD,QAAA,MAAM,aAAa;WAf0d,OAAO,EAAE;cAAY,eAAe,EAAE;WAAS,SAAS,GAAG,IAAI;;;;;kBAAkJ,eAAe;;sBAAwD,MAAM,GAAG,SAAS;yBAAuB,MAAM,GAAG,SAAS;;eAAiE,UAAU;gBAAc,MAAM,GAAG,SAAS;aAAW,eAAe,GAAG,SAAS;eAAa,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,SAAS;oBAAkB,sBAAsB,GAAG,SAAS;mBAAiB,0BAA0B,GAAG,SAAS;;;;;;;;;;;;;cAeljC,CAAC;AACvF,KAAK,aAAa,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,eAAe,aAAa,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<svelte:options runes={false} />
|
|
2
|
+
|
|
1
3
|
<script lang="ts">
|
|
2
4
|
import BaseDataTable from './BaseDataTable.svelte';
|
|
3
5
|
import Pagination from '../pagination/Pagination.svelte';
|
|
@@ -20,6 +22,7 @@
|
|
|
20
22
|
export let emptyText: string | undefined = undefined;
|
|
21
23
|
export let sort: SortState | null = null;
|
|
22
24
|
export let onSortChange: DataTableSortChangeHandler | undefined = undefined;
|
|
25
|
+
export let showHeader = true;
|
|
23
26
|
export let showPagination = true;
|
|
24
27
|
export let page = 1;
|
|
25
28
|
export let pageSize = 20;
|
|
@@ -70,6 +73,7 @@
|
|
|
70
73
|
{rows}
|
|
71
74
|
{columns}
|
|
72
75
|
{sort}
|
|
76
|
+
{showHeader}
|
|
73
77
|
{zebra}
|
|
74
78
|
{bordered}
|
|
75
79
|
{verticalSeparators}
|
|
@@ -21,6 +21,7 @@ declare const DataTable: $$__sveltets_2_IsomorphicComponent<{
|
|
|
21
21
|
emptyText?: string | undefined;
|
|
22
22
|
sort?: SortState | null;
|
|
23
23
|
onSortChange?: DataTableSortChangeHandler | undefined;
|
|
24
|
+
showHeader?: boolean;
|
|
24
25
|
showPagination?: boolean;
|
|
25
26
|
page?: number;
|
|
26
27
|
pageSize?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/DataTable.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EACR,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,uBAAuB,EAEvB,SAAS,EACV,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTable.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/DataTable.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EACR,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,uBAAuB,EAEvB,SAAS,EACV,MAAM,YAAY,CAAC;AAmEtB,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAUD,QAAA,MAAM,SAAS;WAfosB,OAAO,EAAE;cAAY,eAAe,EAAE;aAAW,eAAe,GAAG,SAAS;eAAa,UAAU;gBAAc,MAAM,GAAG,SAAS;WAAS,SAAS,GAAG,IAAI;mBAAiB,0BAA0B,GAAG,SAAS;;;;;gBAAsI,MAAM,GAAG,SAAS;sBAAoB,MAAM,EAAE;oBAAkB,MAAM,GAAG,SAAS;;yBAA+D,uBAAuB,GAAG,SAAS;;;;kBAAkH,eAAe;;sBAAwD,MAAM,GAAG,SAAS;yBAAuB,MAAM,GAAG,SAAS;;eAAiE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,SAAS;oBAAkB,sBAAsB,GAAG,SAAS;;;;;;;;;;;;;;;cAetjD,CAAC;AACnF,KAAK,SAAS,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC;AAClD,eAAe,SAAS,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
<svelte:options runes={false} />
|
|
2
|
+
|
|
1
3
|
<script lang="ts">
|
|
4
|
+
import { onMount } from 'svelte';
|
|
2
5
|
import { getUiMessages, type UiLanguage } from '../i18n.js';
|
|
3
6
|
import type { DateRangeFilterValue, DateRangePreset } from './types.js';
|
|
4
7
|
|
|
@@ -11,6 +14,7 @@
|
|
|
11
14
|
export let startLabel: string | undefined = undefined;
|
|
12
15
|
export let endLabel: string | undefined = undefined;
|
|
13
16
|
export let presetLabels: Partial<Record<DateRangePreset, string>> = {};
|
|
17
|
+
export let defaultPreset: DateRangePreset | undefined = undefined;
|
|
14
18
|
export let now: () => Date = () => new Date();
|
|
15
19
|
export let weekStartsOn: 0 | 1 = 1;
|
|
16
20
|
export let onChange: ((value: DateRangeFilterValue) => void) | undefined = undefined;
|
|
@@ -125,6 +129,18 @@
|
|
|
125
129
|
onChange?.(next);
|
|
126
130
|
}
|
|
127
131
|
|
|
132
|
+
function emptyRange(): DateRangeFilterValue {
|
|
133
|
+
return {
|
|
134
|
+
startDate: '',
|
|
135
|
+
endDate: '',
|
|
136
|
+
preset: null
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function isEmptyRange(nextValue: DateRangeFilterValue) {
|
|
141
|
+
return !nextValue.startDate && !nextValue.endDate && nextValue.preset === null;
|
|
142
|
+
}
|
|
143
|
+
|
|
128
144
|
function updateDate(part: 'startDate' | 'endDate', nextValue: string) {
|
|
129
145
|
emit({
|
|
130
146
|
startDate: part === 'startDate' ? nextValue : value.startDate,
|
|
@@ -134,12 +150,23 @@
|
|
|
134
150
|
}
|
|
135
151
|
|
|
136
152
|
function applyPreset(preset: DateRangePreset) {
|
|
153
|
+
if (value.preset === preset) {
|
|
154
|
+
emit(emptyRange());
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
|
|
137
158
|
emit(resolvePreset(preset));
|
|
138
159
|
}
|
|
139
160
|
|
|
140
161
|
function labelFor(preset: DateRangePreset) {
|
|
141
162
|
return presetLabels[preset] ?? messages.dateRange.presetLabels[preset];
|
|
142
163
|
}
|
|
164
|
+
|
|
165
|
+
onMount(() => {
|
|
166
|
+
if (defaultPreset && isEmptyRange(value)) {
|
|
167
|
+
emit(resolvePreset(defaultPreset));
|
|
168
|
+
}
|
|
169
|
+
});
|
|
143
170
|
</script>
|
|
144
171
|
|
|
145
172
|
<div class="suu-date-range-filter">
|
|
@@ -19,6 +19,7 @@ declare const DateRangeFilter: $$__sveltets_2_IsomorphicComponent<{
|
|
|
19
19
|
startLabel?: string | undefined;
|
|
20
20
|
endLabel?: string | undefined;
|
|
21
21
|
presetLabels?: Partial<Record<DateRangePreset, string>>;
|
|
22
|
+
defaultPreset?: DateRangePreset | undefined;
|
|
22
23
|
now?: () => Date;
|
|
23
24
|
weekStartsOn?: 0 | 1;
|
|
24
25
|
onChange?: ((value: DateRangeFilterValue) => void) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangeFilter.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/DateRangeFilter.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DateRangeFilter.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/DateRangeFilter.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiMxE,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,eAAe;YAVkN,oBAAoB;eAAa,UAAU;iBAAe,MAAM,GAAG,SAAS;eAAa,MAAM,GAAG,SAAS;mBAAiB,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;oBAAkB,eAAe,GAAG,SAAS;UAAQ,MAAM,IAAI;mBAAiB,CAAC,GAAG,CAAC;eAAa,CAAC,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC,GAAG,SAAS;;;kBAU5b,CAAC;AACnF,KAAK,eAAe,GAAG,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,eAAe,eAAe,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<svelte:options runes={false} />
|
|
2
|
+
|
|
1
3
|
<script lang="ts">
|
|
2
4
|
import DropdownSearch from '../dropdown-search/DropdownSearch.svelte';
|
|
3
5
|
import type { UiLanguage } from '../i18n.js';
|
|
@@ -112,6 +114,7 @@
|
|
|
112
114
|
startLabel={control.startLabel}
|
|
113
115
|
endLabel={control.endLabel}
|
|
114
116
|
presetLabels={control.presetLabels ?? {}}
|
|
117
|
+
defaultPreset={control.defaultPreset}
|
|
115
118
|
now={control.now ?? (() => new Date())}
|
|
116
119
|
weekStartsOn={control.weekStartsOn ?? 1}
|
|
117
120
|
onChange={(detail) => control.type === 'dateRange' && void control.onChange(detail)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterControl.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/FilterControl.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterControl.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/FilterControl.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA4IhD,QAAA,MAAM,aAAa,KAA+E,CAAC;AACjF,KAAK,aAAa,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,eAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterTable.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/FilterTable.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterTable.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/FilterTable.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAgCjD,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,WAAW;WAV4C,cAAc,EAAE;eAAa,UAAU;;;kBAUJ,CAAC;AAC/E,KAAK,WAAW,GAAG,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberRangeFilter.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/NumberRangeFilter.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"NumberRangeFilter.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/NumberRangeFilter.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAuEzD,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,iBAAiB;YAVqL,sBAAsB;eAAa,UAAU;eAAa,MAAM,GAAG,SAAS;eAAa,MAAM,GAAG,SAAS;;UAA0C,MAAM,GAAG,SAAS;UAAQ,MAAM,GAAG,SAAS;WAAS,MAAM,GAAG,MAAM;YAAU,MAAM,GAAG,SAAS;eAAa,CAAC,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC,GAAG,SAAS;;;kBAU7Z,CAAC;AACrF,KAAK,iBAAiB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,eAAe,iBAAiB,CAAC"}
|
|
@@ -7,5 +7,5 @@ export { filter } from './filter.js';
|
|
|
7
7
|
export { getUiMessages, resolveUiLanguage, uiLanguages } from '../i18n.js';
|
|
8
8
|
export { getAriaSort, getCellValue, getPageCount, normalizePagination, setDataTableFilters, setDataTablePageSize, setDataTablePagination, setDataTableSort, toggleSort } from './state.js';
|
|
9
9
|
export type { UiLanguage, UiMessages } from '../i18n.js';
|
|
10
|
-
export type { CheckboxFilterDefinition, CheckboxFilterControl, DataTableColumn, DataTableCellValue, DataTableClassValue, DataTableLayout, DateRangeFilterDefinition, DateRangeFilterControl, DateRangeFilterValue, DateRangePreset, DataTableRowAttributes, DataTableRowKey, DataTableSortChangeHandler, DataTableState, DataTableStateChangeHandler, DropdownSearchFilterDefinition, DropdownSearchFilterControl, FilterDefinition, FilterButtonControl, FilterContainerControl, FilterControl, FilterLinkControl, FilterOption, FilterSelectControl, FilterState, FilterTableRow, FilterValue, NumberRangeFilterDefinition, NumberRangeFilterControl, NumberRangeFilterValue, PaginationState, PaginationChangeHandler, PaginationDropdownPlacement, RadioFilterDefinition, RadioFilterControl, SortDirection, SortState } from './types.js';
|
|
10
|
+
export type { CheckboxFilterDefinition, CheckboxFilterControl, DataTableColumn, DataTableCellValue, DataTableClassValue, DataTableHorizontalAlign, DataTableLayout, DataTableVerticalAlign, DateRangeFilterDefinition, DateRangeFilterControl, DateRangeFilterValue, DateRangePreset, DataTableRowAttributes, DataTableRowKey, DataTableSortChangeHandler, DataTableState, DataTableStateChangeHandler, DropdownSearchFilterDefinition, DropdownSearchFilterControl, FilterDefinition, FilterButtonControl, FilterContainerControl, FilterControl, FilterLinkControl, FilterOption, FilterSelectControl, FilterState, FilterTableRow, FilterValue, NumberRangeFilterDefinition, NumberRangeFilterControl, NumberRangeFilterValue, PaginationState, PaginationChangeHandler, PaginationDropdownPlacement, RadioFilterDefinition, RadioFilterControl, SortDirection, SortState } from './types.js';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,WAAW,EACX,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACV,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,WAAW,EACX,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACV,MAAM,YAAY,CAAC"}
|
|
@@ -25,11 +25,16 @@ export type DataTableCellValue = unknown;
|
|
|
25
25
|
export type DataTableClassValue<Row = unknown> = string | undefined | null | ((row: Row, value: DataTableCellValue, column: DataTableColumn<Row>) => string | undefined | null);
|
|
26
26
|
export type DataTableRowKey<Row = unknown> = string | ((row: Row, index: number) => string | number);
|
|
27
27
|
export type DataTableRowAttributes<Row = unknown> = (row: Row, index: number) => Record<string, string | number | boolean | null | undefined>;
|
|
28
|
+
export type DataTableHorizontalAlign = 'left' | 'center' | 'right';
|
|
29
|
+
export type DataTableVerticalAlign = 'top' | 'middle' | 'bottom';
|
|
28
30
|
export interface DataTableColumn<Row = unknown> {
|
|
29
31
|
key: string;
|
|
30
|
-
header
|
|
32
|
+
header?: string;
|
|
31
33
|
sortable?: boolean;
|
|
32
|
-
|
|
34
|
+
headerHorizontalAlign?: DataTableHorizontalAlign;
|
|
35
|
+
headerVerticalAlign?: DataTableVerticalAlign;
|
|
36
|
+
cellHorizontalAlign?: DataTableHorizontalAlign;
|
|
37
|
+
cellVerticalAlign?: DataTableVerticalAlign;
|
|
33
38
|
class?: DataTableClassValue<Row>;
|
|
34
39
|
headerClass?: string;
|
|
35
40
|
nowrap?: boolean;
|
|
@@ -117,6 +122,7 @@ export interface DateRangeFilterControl {
|
|
|
117
122
|
startLabel?: string;
|
|
118
123
|
endLabel?: string;
|
|
119
124
|
presetLabels?: Partial<Record<DateRangePreset, string>>;
|
|
125
|
+
defaultPreset?: DateRangePreset;
|
|
120
126
|
now?: () => Date;
|
|
121
127
|
weekStartsOn?: 0 | 1;
|
|
122
128
|
onChange: (value: DateRangeFilterValue) => void | Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,6BAA6B,EAC7B,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,MAAM,0BAA0B,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnF,MAAM,MAAM,2BAA2B,GAAG,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAE5D,MAAM,MAAM,uBAAuB,GAAG,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5F,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,oBAAoB,GACpB,sBAAsB,GACtB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEzC,MAAM,MAAM,mBAAmB,CAAC,GAAG,GAAG,OAAO,IACzC,MAAM,GACN,SAAS,GACT,IAAI,GACJ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAEvG,MAAM,MAAM,eAAe,CAAC,GAAG,GAAG,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC,CAAC;AAErG,MAAM,MAAM,sBAAsB,CAAC,GAAG,GAAG,OAAO,IAAI,CAClD,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAElE,MAAM,WAAW,eAAe,CAAC,GAAG,GAAG,OAAO;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/data-table/types.ts"],"names":[],"mappings":"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"}
|