do-ui-design-system 1.1.18 → 1.1.20
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/atoms/Toggle/Toggle.svelte +100 -0
- package/dist/atoms/Toggle/Toggle.svelte.d.ts +9 -0
- package/dist/atoms/Toggle/Toggle.svelte.d.ts.map +1 -0
- package/dist/atoms/index.d.ts +2 -1
- package/dist/atoms/index.d.ts.map +1 -1
- package/dist/atoms/index.js +2 -1
- package/dist/do-theme/table.css +64 -28
- package/dist/molecules/Pagination/Pagination.svelte +1 -0
- package/dist/organisms/TableBasic/TableBasic.svelte +69 -41
- package/dist/organisms/TableBasic/TableBasic.svelte.d.ts +1 -1
- package/dist/organisms/TableBasic/TableBasic.svelte.d.ts.map +1 -1
- package/dist/organisms/TableBasic/TableBasic.types.d.ts +2 -0
- package/dist/organisms/TableBasic/TableBasic.types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
let {
|
|
3
|
+
checked = $bindable(false),
|
|
4
|
+
disabled = false,
|
|
5
|
+
label = ''
|
|
6
|
+
}: {
|
|
7
|
+
checked?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
label?: string;
|
|
10
|
+
} = $props();
|
|
11
|
+
|
|
12
|
+
const toggle = () => {
|
|
13
|
+
if (!disabled) {
|
|
14
|
+
checked = !checked;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<label class="do-toggle do-toggle--xs" class:disabled>
|
|
20
|
+
<button
|
|
21
|
+
type="button"
|
|
22
|
+
aria-label="sens-option"
|
|
23
|
+
onclick={toggle}
|
|
24
|
+
{disabled}
|
|
25
|
+
class="do-toggle-track"
|
|
26
|
+
class:checked
|
|
27
|
+
>
|
|
28
|
+
<span class="do-toggle-thumb" class:checked></span>
|
|
29
|
+
</button>
|
|
30
|
+
{#if label}
|
|
31
|
+
<span class="do-toggle-text">{label}</span>
|
|
32
|
+
{/if}
|
|
33
|
+
</label>
|
|
34
|
+
|
|
35
|
+
<style>
|
|
36
|
+
.do-toggle {
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
gap: 0.75rem;
|
|
40
|
+
cursor: pointer;
|
|
41
|
+
|
|
42
|
+
&.disabled {
|
|
43
|
+
opacity: 0.5;
|
|
44
|
+
cursor: not-allowed;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.do-toggle-track {
|
|
48
|
+
position: relative;
|
|
49
|
+
height: 1.25rem;
|
|
50
|
+
width: 2.5rem;
|
|
51
|
+
border-radius: 9999px;
|
|
52
|
+
background-color: #52525b; /* zinc-600 */
|
|
53
|
+
border: none;
|
|
54
|
+
cursor: pointer;
|
|
55
|
+
transition: background-color 200ms;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.do-toggle-track.checked {
|
|
59
|
+
background-color: #2563eb; /* blue-600 */
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.do-toggle-thumb {
|
|
63
|
+
position: absolute;
|
|
64
|
+
top: 0.125rem;
|
|
65
|
+
left: 0.125rem;
|
|
66
|
+
height: 1rem;
|
|
67
|
+
width: 1rem;
|
|
68
|
+
border-radius: 9999px;
|
|
69
|
+
background-color: white;
|
|
70
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
71
|
+
transition: transform 200ms;
|
|
72
|
+
transform: translateX(0);
|
|
73
|
+
display: block;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.do-toggle-thumb.checked {
|
|
77
|
+
transform: translateX(1.25rem);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.do-toggle-text {
|
|
81
|
+
font-size: 0.875rem;
|
|
82
|
+
color: #e4e4e7; /* zinc-200 */
|
|
83
|
+
}
|
|
84
|
+
&.do-toggle--xs {
|
|
85
|
+
.do-toggle-track {
|
|
86
|
+
height: 1rem;
|
|
87
|
+
width: 1.8rem;
|
|
88
|
+
}
|
|
89
|
+
.do-toggle-thumb {
|
|
90
|
+
top: 0.1rem;
|
|
91
|
+
left: 0.15rem;
|
|
92
|
+
height: 0.75rem;
|
|
93
|
+
width: 0.75rem;
|
|
94
|
+
}
|
|
95
|
+
.do-toggle-thumb.checked {
|
|
96
|
+
transform: translateX(0.8rem);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
</style>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type $$ComponentProps = {
|
|
2
|
+
checked?: boolean;
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
label?: string;
|
|
5
|
+
};
|
|
6
|
+
declare const Toggle: import("svelte").Component<$$ComponentProps, {}, "checked">;
|
|
7
|
+
type Toggle = ReturnType<typeof Toggle>;
|
|
8
|
+
export default Toggle;
|
|
9
|
+
//# sourceMappingURL=Toggle.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toggle.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/atoms/Toggle/Toggle.svelte.ts"],"names":[],"mappings":"AAGC,KAAK,gBAAgB,GAAI;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AA4BH,QAAA,MAAM,MAAM,6DAAwC,CAAC;AACrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AACxC,eAAe,MAAM,CAAC"}
|
package/dist/atoms/index.d.ts
CHANGED
|
@@ -3,5 +3,6 @@ import Button from './Button/Button.svelte';
|
|
|
3
3
|
import Card from './Card/Card.svelte';
|
|
4
4
|
import Chip from './Chip/Chip.svelte';
|
|
5
5
|
import Icon from './Icons/Icon.svelte';
|
|
6
|
-
|
|
6
|
+
import Toggle from './Toggle/Toggle.svelte';
|
|
7
|
+
export { Card, Chip, Badge, Button, Toggle, Icon };
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/atoms/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,IAAI,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/atoms/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/atoms/index.js
CHANGED
|
@@ -3,4 +3,5 @@ import Button from './Button/Button.svelte';
|
|
|
3
3
|
import Card from './Card/Card.svelte';
|
|
4
4
|
import Chip from './Chip/Chip.svelte';
|
|
5
5
|
import Icon from './Icons/Icon.svelte';
|
|
6
|
-
|
|
6
|
+
import Toggle from './Toggle/Toggle.svelte';
|
|
7
|
+
export { Card, Chip, Badge, Button, Toggle, Icon };
|
package/dist/do-theme/table.css
CHANGED
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
display: flex;
|
|
4
4
|
align-items: center;
|
|
5
5
|
justify-content: space-between;
|
|
6
|
+
gap: 1rem;
|
|
6
7
|
margin-bottom: 1rem;
|
|
7
8
|
|
|
8
9
|
.do-table__header__left__tags {
|
|
9
10
|
display: flex;
|
|
11
|
+
flex-wrap: wrap;
|
|
10
12
|
align-items: center;
|
|
11
13
|
gap: 0.5rem;
|
|
12
14
|
}
|
|
@@ -20,35 +22,57 @@
|
|
|
20
22
|
display: flex;
|
|
21
23
|
align-items: flex-end;
|
|
22
24
|
gap: 0.75rem;
|
|
23
|
-
flex-wrap: wrap;
|
|
24
25
|
}
|
|
25
|
-
}
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
position: relative;
|
|
27
|
+
.do-table__partial-match {
|
|
28
|
+
display: inline-flex;
|
|
29
|
+
gap: 0.3rem;
|
|
30
|
+
align-items: center;
|
|
31
|
+
font-size: 0.8rem;
|
|
33
32
|
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
h5 {
|
|
34
|
+
max-width: 10rem;
|
|
35
|
+
}
|
|
36
36
|
}
|
|
37
|
-
}
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
.do-table__header__right__date-range {
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
background-color: #1e1e1e;
|
|
42
|
+
border-radius: 8px;
|
|
43
|
+
gap: 1rem;
|
|
44
|
+
padding: 0.5rem 1rem;
|
|
45
|
+
position: relative;
|
|
46
|
+
|
|
47
|
+
h5 {
|
|
48
|
+
margin: 0;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
45
51
|
|
|
46
|
-
.do-table__date-
|
|
52
|
+
.do-table__date-fields {
|
|
47
53
|
display: flex;
|
|
48
|
-
|
|
49
|
-
gap: 0.
|
|
54
|
+
align-items: center;
|
|
55
|
+
gap: 0.5rem;
|
|
56
|
+
position: relative;
|
|
57
|
+
|
|
58
|
+
.do-table__date-fields__field {
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: column;
|
|
61
|
+
gap: 0.25rem;
|
|
62
|
+
}
|
|
50
63
|
}
|
|
51
64
|
}
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
.do-table__date-error {
|
|
69
|
+
position: absolute;
|
|
70
|
+
white-space: nowrap;
|
|
71
|
+
left: 10px;
|
|
72
|
+
bottom: -0.7rem;
|
|
73
|
+
font-size: 0.75rem;
|
|
74
|
+
color: red;
|
|
75
|
+
}
|
|
52
76
|
}
|
|
53
77
|
|
|
54
78
|
.do-table-wrapper {
|
|
@@ -142,11 +166,30 @@
|
|
|
142
166
|
}
|
|
143
167
|
}
|
|
144
168
|
|
|
169
|
+
.do-table__empty {
|
|
170
|
+
td {
|
|
171
|
+
text-align: center;
|
|
172
|
+
color: var(--do-table-text);
|
|
173
|
+
opacity: 0.5;
|
|
174
|
+
|
|
175
|
+
.do-table__empty__wrapper {
|
|
176
|
+
display: flex;
|
|
177
|
+
align-items: center;
|
|
178
|
+
justify-content: center;
|
|
179
|
+
border: 1px solid white;
|
|
180
|
+
margin: 10px;
|
|
181
|
+
border-radius: 10px;
|
|
182
|
+
min-height: 6rem;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
145
187
|
.do-table__content__th-filter {
|
|
146
188
|
padding: 0.2rem 0.5rem;
|
|
147
189
|
|
|
148
190
|
input {
|
|
149
191
|
width: 90%;
|
|
192
|
+
background-color: #222225;
|
|
150
193
|
|
|
151
194
|
&::placeholder {
|
|
152
195
|
color: #c8c8c8;
|
|
@@ -211,12 +254,5 @@
|
|
|
211
254
|
}
|
|
212
255
|
}
|
|
213
256
|
|
|
214
|
-
|
|
215
|
-
position: absolute;
|
|
216
|
-
white-space: nowrap;
|
|
217
|
-
bottom: -1rem;
|
|
218
|
-
left: 0;
|
|
219
|
-
font-size: 0.75rem;
|
|
220
|
-
color: red;
|
|
221
|
-
}
|
|
257
|
+
|
|
222
258
|
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
- `columns`: ColumnDef<T>[] - column definitions `{ key: keyof T, label: string, maxWidth?: number }` — `maxWidth` in rem
|
|
18
18
|
- `actionColumns?`: ActionColumnDef<T>[] - icon button columns `{ key: string, icon: IconNames, label?: string, showHeader?: boolean, onClick: (row: T) => void }`
|
|
19
19
|
- `tagConfig?`: `{ column: keyof T, label: string }` - enables tag filter buttons in the header
|
|
20
|
-
- `dateConfig?`: `{ columnFrom?: keyof T, columnTo?: keyof T, mode?: 'year' | 'date' }` - enables date range filter;
|
|
20
|
+
- `dateConfig?`: `{ columnFrom?: keyof T, columnTo?: keyof T, mode?: 'year' | 'date', label?: string, partialMatchLabel?: string }` - enables date range filter; when both columns are set, default filters strict range (both ends inside), partial match switch allows overlap
|
|
21
21
|
- `idKey?`: keyof T - row identifier key (default `'id'`)
|
|
22
22
|
- `headerActions?`: HeaderAction[] - `{ icon: IconNames, label: string, onClick: () => void, disabled?: boolean }` - action buttons in the table header
|
|
23
23
|
- `pageSize?`: number - rows per page (default `25`)
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
- `onSelectionChange?`: `(ids: (string | number)[]) => void` - callback fired when row selection changes
|
|
26
26
|
-->
|
|
27
27
|
<script lang="ts">
|
|
28
|
-
import { Button, Icon } from '../../atoms/index.js';
|
|
28
|
+
import { Button, Icon, Toggle } from '../../atoms/index.js';
|
|
29
29
|
import type { IconNames } from '../../do-theme/index.ts';
|
|
30
30
|
import IconButton from '../../molecules/IconButton/IconButton.svelte';
|
|
31
31
|
import Pagination from '../../molecules/Pagination/Pagination.svelte';
|
|
@@ -77,6 +77,8 @@
|
|
|
77
77
|
const currentYear = new Date().getFullYear();
|
|
78
78
|
const years = Array.from({ length: 30 }, (_, i) => String(currentYear - i));
|
|
79
79
|
|
|
80
|
+
let partialMatch: boolean = $state(false);
|
|
81
|
+
|
|
80
82
|
const clearDates = () => {
|
|
81
83
|
dateFrom = '';
|
|
82
84
|
dateTo = '';
|
|
@@ -132,9 +134,15 @@
|
|
|
132
134
|
if (dateConfig.columnFrom && dateConfig.columnTo) {
|
|
133
135
|
const from = normalize(String(row[dateConfig.columnFrom]));
|
|
134
136
|
const to = normalize(String(row[dateConfig.columnTo]));
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
137
|
+
if (partialMatch) {
|
|
138
|
+
// overlap: alguna parte del rango coincide con el filtro
|
|
139
|
+
if (dateTo && from > dateTo) return false;
|
|
140
|
+
if (dateFrom && to < dateFrom) return false;
|
|
141
|
+
} else {
|
|
142
|
+
// estricto: inicio y fin deben estar dentro del rango del filtro
|
|
143
|
+
if (dateFrom && from > dateFrom) return false;
|
|
144
|
+
if (dateTo && to < dateTo) return false;
|
|
145
|
+
}
|
|
138
146
|
} else if (dateConfig.columnFrom) {
|
|
139
147
|
const from = normalize(String(row[dateConfig.columnFrom]));
|
|
140
148
|
if (dateFrom && from < dateFrom) return false;
|
|
@@ -267,47 +275,58 @@
|
|
|
267
275
|
{#if dateConfig}
|
|
268
276
|
<div class="do-table__header__right__dates">
|
|
269
277
|
<div class="do-table__header__right__date-range">
|
|
270
|
-
<h5>Rango fechas</h5>
|
|
278
|
+
<h5>{dateConfig?.label ?? 'Rango de fechas'}</h5>
|
|
271
279
|
<div class="do-table__date-fields">
|
|
272
|
-
<div class="do-table__date-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
<
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
280
|
+
<div class="do-table__date-fields">
|
|
281
|
+
<div class="do-table__date-fields__field">
|
|
282
|
+
{#if dateMode === 'year'}
|
|
283
|
+
<select bind:value={dateFrom} class="do-select">
|
|
284
|
+
<option value="">Desde</option>
|
|
285
|
+
{#each years as year}
|
|
286
|
+
<option value={year}>{year}</option>
|
|
287
|
+
{/each}
|
|
288
|
+
</select>
|
|
289
|
+
{:else}
|
|
290
|
+
<input type="date" bind:value={dateFrom} class="do-input" />
|
|
291
|
+
{/if}
|
|
292
|
+
</div>
|
|
293
|
+
|
|
294
|
+
<Icon name="icon-arrow" size="0.7rem" />
|
|
295
|
+
|
|
296
|
+
<div class="do-table__date-fields__field">
|
|
297
|
+
{#if dateMode === 'year'}
|
|
298
|
+
<select bind:value={dateTo} class="do-select">
|
|
299
|
+
<option value="">Hasta</option>
|
|
300
|
+
{#each years as year}
|
|
301
|
+
<option value={year}>{year}</option>
|
|
302
|
+
{/each}
|
|
303
|
+
</select>
|
|
304
|
+
{:else}
|
|
305
|
+
<input type="date" bind:value={dateTo} class="do-input" />
|
|
306
|
+
{/if}
|
|
307
|
+
</div>
|
|
308
|
+
|
|
309
|
+
{#if dateFrom || dateTo}
|
|
310
|
+
<IconButton
|
|
311
|
+
iconName="icon-close"
|
|
312
|
+
ariaLabel="limpiar fechas"
|
|
313
|
+
variant="do-btn-link"
|
|
314
|
+
size="do-btn-sm"
|
|
315
|
+
circle
|
|
316
|
+
onClick={clearDates}
|
|
317
|
+
/>
|
|
282
318
|
{/if}
|
|
283
319
|
</div>
|
|
284
|
-
|
|
285
|
-
<div class="do-table__date-fields__field">
|
|
286
|
-
{#if dateMode === 'year'}
|
|
287
|
-
<select bind:value={dateTo} class="do-select">
|
|
288
|
-
<option value="">Hasta</option>
|
|
289
|
-
{#each years as year}
|
|
290
|
-
<option value={year}>{year}</option>
|
|
291
|
-
{/each}
|
|
292
|
-
</select>
|
|
293
|
-
{:else}
|
|
294
|
-
<input type="date" bind:value={dateTo} class="do-input" />
|
|
295
|
-
{/if}
|
|
296
|
-
</div>
|
|
297
|
-
|
|
298
|
-
{#if dateError}
|
|
299
|
-
<span class="do-table__date-error">{dateError}</span>
|
|
300
|
-
{/if}
|
|
301
320
|
</div>
|
|
321
|
+
{#if dateConfig?.columnFrom && dateConfig?.columnTo && !dateError}
|
|
322
|
+
<label class="do-table__partial-match">
|
|
323
|
+
<Toggle bind:checked={partialMatch} />
|
|
324
|
+
<h5>{dateConfig?.partialMatchLabel ?? 'Incluir coincidencias parciales'}</h5>
|
|
325
|
+
</label>
|
|
326
|
+
{/if}
|
|
302
327
|
|
|
303
|
-
{#if
|
|
304
|
-
<
|
|
305
|
-
iconName="icon-close"
|
|
306
|
-
ariaLabel="limpiar fechas"
|
|
307
|
-
variant="do-btn-secondary"
|
|
308
|
-
circle
|
|
309
|
-
onClick={clearDates}
|
|
310
|
-
/>
|
|
328
|
+
{#if dateError}
|
|
329
|
+
<span class="do-table__date-error">{dateError || 'Error'}</span>
|
|
311
330
|
{/if}
|
|
312
331
|
</div>
|
|
313
332
|
</div>
|
|
@@ -405,6 +424,15 @@
|
|
|
405
424
|
</thead>
|
|
406
425
|
|
|
407
426
|
<tbody>
|
|
427
|
+
{#if filtered().length === 0}
|
|
428
|
+
<tr class="do-table__empty">
|
|
429
|
+
<td colspan={columns.length + actionColumns.length + (showCheckbox ? 1 : 0)}>
|
|
430
|
+
<div class="do-table__empty__wrapper">
|
|
431
|
+
<p>No hay coincidencias</p>
|
|
432
|
+
</div>
|
|
433
|
+
</td>
|
|
434
|
+
</tr>
|
|
435
|
+
{/if}
|
|
408
436
|
{#each paginated() as row (row[idKey])}
|
|
409
437
|
{@const isSelected = selected.has(row[idKey])}
|
|
410
438
|
<tr class="do-row" class:selected={isSelected}>
|
|
@@ -30,7 +30,7 @@ type Props<T extends Record<string, any>> = {
|
|
|
30
30
|
* - `columns`: ColumnDef<T>[] - column definitions `{ key: keyof T, label: string, maxWidth?: number }` — `maxWidth` in rem
|
|
31
31
|
* - `actionColumns?`: ActionColumnDef<T>[] - icon button columns `{ key: string, icon: IconNames, label?: string, showHeader?: boolean, onClick: (row: T) => void }`
|
|
32
32
|
* - `tagConfig?`: `{ column: keyof T, label: string }` - enables tag filter buttons in the header
|
|
33
|
-
* - `dateConfig?`: `{ columnFrom?: keyof T, columnTo?: keyof T, mode?: 'year' | 'date' }` - enables date range filter;
|
|
33
|
+
* - `dateConfig?`: `{ columnFrom?: keyof T, columnTo?: keyof T, mode?: 'year' | 'date', label?: string, partialMatchLabel?: string }` - enables date range filter; when both columns are set, default filters strict range (both ends inside), partial match switch allows overlap
|
|
34
34
|
* - `idKey?`: keyof T - row identifier key (default `'id'`)
|
|
35
35
|
* - `headerActions?`: HeaderAction[] - `{ icon: IconNames, label: string, onClick: () => void, disabled?: boolean }` - action buttons in the table header
|
|
36
36
|
* - `pageSize?`: number - rows per page (default `25`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBasic.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/organisms/TableBasic/TableBasic.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,eAAe,EACf,SAAS,EAET,MAAM,uBAAuB,CAAC;AAG/B,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IAC3C,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAChB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;CACvD,CAAC;
|
|
1
|
+
{"version":3,"file":"TableBasic.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/organisms/TableBasic/TableBasic.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,eAAe,EACf,SAAS,EAET,MAAM,uBAAuB,CAAC;AAG/B,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IAC3C,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAChB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;CACvD,CAAC;AAwYH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,QAAA,MAAM,UAAU,gDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBasic.types.d.ts","sourceRoot":"","sources":["../../../src/lib/organisms/TableBasic/TableBasic.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;AAClD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACvB,MAAM,EAAE,MAAM,CAAC,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"TableBasic.types.d.ts","sourceRoot":"","sources":["../../../src/lib/organisms/TableBasic/TableBasic.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;AAClD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACvB,MAAM,EAAE,MAAM,CAAC,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACvB,GAAG,EAAE,MAAM,CAAC,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACpD,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAChB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;CAC1D,CAAC"}
|