@likable-hair/svelte 4.0.14 → 4.0.16
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/composed/forms/AsyncAutocomplete.svelte +1 -1
- package/dist/components/composed/forms/AsyncAutocomplete.svelte.d.ts +1 -1
- package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte +4 -8
- package/dist/components/composed/forms/CountriesAutocomplete.svelte +1 -1
- package/dist/components/composed/forms/DatePickerTextField.svelte +1 -1
- package/dist/components/composed/forms/DatePickerTextField.svelte.d.ts +1 -1
- package/dist/components/composed/forms/YearPickerTextField.svelte +1 -1
- package/dist/components/composed/forms/YearPickerTextField.svelte.d.ts +1 -1
- package/dist/components/composed/list/DynamicTable.svelte +135 -108
- package/dist/components/composed/list/DynamicTable.svelte.d.ts +36 -12
- package/dist/components/composed/search/DynamicFilters.svelte +68 -55
- package/dist/components/composed/search/FilterEditor.svelte +6 -5
- package/dist/components/composed/search/Filters.css +1 -0
- package/dist/components/composed/search/Filters.svelte +11 -3
- package/dist/components/composed/search/Filters.svelte.d.ts +1 -0
- package/dist/components/layouts/CollapsibleSideBarLayout.css +15 -3
- package/dist/components/layouts/CollapsibleSideBarLayout.svelte +394 -129
- package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +54 -21
- package/dist/components/simple/charts/BarChart.svelte +69 -52
- package/dist/components/simple/charts/BarChart.svelte.d.ts +7 -36
- package/dist/components/simple/charts/LineChart.svelte +62 -41
- package/dist/components/simple/charts/LineChart.svelte.d.ts +8 -35
- package/dist/components/simple/charts/PieChart.svelte +29 -21
- package/dist/components/simple/charts/PieChart.svelte.d.ts +9 -22
- package/dist/components/simple/common/Menu.svelte +2 -2
- package/dist/components/simple/common/materialDesign.css +1 -1
- package/dist/components/simple/forms/Autocomplete.svelte +7 -7
- package/dist/components/simple/forms/Checkbox.svelte +3 -1
- package/dist/components/simple/forms/FileInputList.svelte +226 -63
- package/dist/components/simple/forms/FileInputList.svelte.d.ts +3 -0
- package/dist/components/simple/lists/SidebarMenuList.svelte +7 -7
- package/dist/components/simple/media/Icon.svelte +2 -2
- package/dist/components/simple/media/Icon.svelte.d.ts +1 -1
- package/dist/utils/filters/filters.d.ts +2 -0
- package/dist/utils/filters/filters.js +2 -2
- package/package.json +1 -1
- package/dist/components/simple/charts/Bar.svelte +0 -41
- package/dist/components/simple/charts/Bar.svelte.d.ts +0 -12
- package/dist/components/simple/charts/Line.svelte +0 -38
- package/dist/components/simple/charts/Line.svelte.d.ts +0 -12
- package/dist/components/simple/charts/Pie.svelte +0 -25
- package/dist/components/simple/charts/Pie.svelte.d.ts +0 -12
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import debounceStore from "../../../stores/debounce";
|
|
6
6
|
import { writable } from 'svelte/store';
|
|
7
7
|
import Menu from "../../simple/common/Menu.svelte";
|
|
8
|
-
let { items = [], values =
|
|
8
|
+
let { items = [], values = $bindable(), multiple = false, searcher, placeholder, searchThreshold = 2, debounceTimeout = 500, searching = false, search = false, searchText = $bindable(), maxVisibleChips, menuOpened = $bindable(false), mobileDrawer = false, closeOnSelect = false, disabled = false, menuAnchor, menuWidth, chipLabelSnippet, itemLabelSnippet, onchange, } = $props();
|
|
9
9
|
const searchTextValue = writable(searchText);
|
|
10
10
|
let searchTextDebounce = $derived(debounceStore(searchTextValue, debounceTimeout));
|
|
11
11
|
$effect(() => {
|
|
@@ -51,10 +51,9 @@ function handleCancel(nativeEvent) {
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
<style>
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
54
|
+
.button-container {
|
|
55
|
+
display: flex;
|
|
56
|
+
flex-direction: column-reverse;
|
|
58
57
|
}
|
|
59
58
|
|
|
60
59
|
@media (min-width: 769px){
|
|
@@ -62,6 +61,7 @@ function handleCancel(nativeEvent) {
|
|
|
62
61
|
justify-content: end;
|
|
63
62
|
align-items: center;
|
|
64
63
|
gap: 15px;
|
|
64
|
+
flex-direction: row;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -82,10 +82,6 @@ function handleCancel(nativeEvent) {
|
|
|
82
82
|
cursor: pointer;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
.button-container {
|
|
86
|
-
display: flex;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
85
|
.link-button-container {
|
|
90
86
|
height: 45px;
|
|
91
87
|
display: flex;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">import Autocomplete, {} from "../../simple/forms/Autocomplete.svelte";
|
|
2
2
|
import { countriesOptions } from '../../../utils/countries';
|
|
3
3
|
import FlagIcon from "../../simple/media/FlagIcon.svelte";
|
|
4
|
-
let { autocompleteProps = {}, selected = $bindable(
|
|
4
|
+
let { autocompleteProps = {}, selected = $bindable(), items = countriesOptions, onblur, onchange, onclose, onfocus, onkeydown, class: clazz = {} } = $props();
|
|
5
5
|
</script>
|
|
6
6
|
|
|
7
7
|
<Autocomplete
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script lang="ts">import IMask, {
|
|
1
|
+
<script lang="ts">import IMask, {} from 'imask';
|
|
2
2
|
import SimpleTextField from "../../simple/forms/SimpleTextField.svelte";
|
|
3
3
|
import DatePicker from "../../simple/dates/DatePicker.svelte";
|
|
4
4
|
import Menu from "../../simple/common/Menu.svelte";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InputMask } from 'imask';
|
|
1
|
+
import { type InputMask } from 'imask';
|
|
2
2
|
import SimpleTextField from "../../simple/forms/SimpleTextField.svelte";
|
|
3
3
|
import { type ComponentProps, type Snippet } from 'svelte';
|
|
4
4
|
import type { DateStat } from '../../simple/dates/utils';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script lang="ts">import IMask, {
|
|
1
|
+
<script lang="ts">import IMask, {} from 'imask';
|
|
2
2
|
import SimpleTextField from "../../simple/forms/SimpleTextField.svelte";
|
|
3
3
|
import Menu from "../../simple/common/Menu.svelte";
|
|
4
4
|
import Icon from "../../simple/media/Icon.svelte";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InputMask } from 'imask';
|
|
1
|
+
import { type InputMask } from 'imask';
|
|
2
2
|
import SimpleTextField from "../../simple/forms/SimpleTextField.svelte";
|
|
3
3
|
import { type ComponentProps, type Snippet } from 'svelte';
|
|
4
4
|
declare const YearPickerTextField: import("svelte").Component<{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script lang="ts" generics="Item extends {[key: string]: any}">import { Checkbox, Chip, Converter, CountriesAutocomplete, DatePickerTextField, Drawer, FilterBuilder, FlagIcon, Icon, MediaQuery, Menu, ToolTip } from "../../..";
|
|
1
|
+
<script lang="ts" generics="Item extends {[key: string]: any} = {[key: string]: any}, SubItem extends {[key: string]: any} = {[key: string]: any}">import { Checkbox, Chip, Converter, CountriesAutocomplete, DatePickerTextField, Drawer, FilterBuilder, FlagIcon, Icon, MediaQuery, Menu, ToolTip } from "../../..";
|
|
2
2
|
import { DateTime } from "luxon";
|
|
3
3
|
import { onMount, tick } from "svelte";
|
|
4
4
|
import { quintOut } from "svelte/easing";
|
|
@@ -435,7 +435,12 @@ function handleClearQuickFilter(quickFilter, dispatchFiltersChange = true) {
|
|
|
435
435
|
}
|
|
436
436
|
}
|
|
437
437
|
if (dispatchFiltersChange) {
|
|
438
|
-
quickFilters = quickFilters
|
|
438
|
+
quickFilters = quickFilters.map(f => {
|
|
439
|
+
if (f.title == quickFilter.title) {
|
|
440
|
+
return { ...quickFilter };
|
|
441
|
+
}
|
|
442
|
+
return f;
|
|
443
|
+
});
|
|
439
444
|
handleFiltersChange();
|
|
440
445
|
}
|
|
441
446
|
return globalBuilder;
|
|
@@ -503,7 +508,12 @@ function handleApplyClick(quickFilter, dispatchCustomFilterClick = false) {
|
|
|
503
508
|
}
|
|
504
509
|
else {
|
|
505
510
|
quickFilter.active = true;
|
|
506
|
-
quickFilters = quickFilters
|
|
511
|
+
quickFilters = quickFilters.map(f => {
|
|
512
|
+
if (f.title == quickFilter.title) {
|
|
513
|
+
return { ...quickFilter };
|
|
514
|
+
}
|
|
515
|
+
return f;
|
|
516
|
+
});
|
|
507
517
|
globalBuilder = quickFilterBuilder(globalBuilder, quickFilter);
|
|
508
518
|
handleFiltersChange();
|
|
509
519
|
quickFilterActivator = undefined;
|
|
@@ -850,7 +860,7 @@ $effect(() => {
|
|
|
850
860
|
});
|
|
851
861
|
async function updateRemainingWidth() {
|
|
852
862
|
if (tableContainer != null && !!tableContainer && mainHeader) {
|
|
853
|
-
const containerWidth = tableContainer.getBoundingClientRect().width -
|
|
863
|
+
const containerWidth = tableContainer.getBoundingClientRect().width - 26;
|
|
854
864
|
if (containerWidth) {
|
|
855
865
|
const totalResizableWidth = headersToShowInTable.reduce((sum, head) => {
|
|
856
866
|
let th = headersHTML[head.value];
|
|
@@ -907,90 +917,95 @@ function resizeHeader(th, header) {
|
|
|
907
917
|
{/if}
|
|
908
918
|
|
|
909
919
|
{#if searchBarVisible || filtersVisible || appendSnippet}
|
|
910
|
-
<
|
|
911
|
-
|
|
912
|
-
{
|
|
913
|
-
{#if
|
|
914
|
-
{
|
|
915
|
-
|
|
916
|
-
<div style="margin-right: 20px;">
|
|
917
|
-
<SimpleTextField
|
|
918
|
-
placeholder={searchBarPlaceholder}
|
|
919
|
-
appendInnerIcon="mdi-magnify"
|
|
920
|
-
bind:value={searchText}
|
|
921
|
-
bind:input={searchBarInput}
|
|
922
|
-
onkeydown={handleSearchBoxKeydown}
|
|
923
|
-
--simple-textfield-default-width="450px"
|
|
924
|
-
--simple-textfield-border-radius= 0.5rem
|
|
925
|
-
--simple-textfield-background-color= transparent
|
|
926
|
-
--simple-textfield-box-shadow= 'inset 0 0 0 1px rgb(var(--global-color-background-500))'
|
|
927
|
-
--simple-textfield-focus-box-shadow='inset 0 0 0 2px rgb(var(--global-color-primary-500))'
|
|
928
|
-
/>
|
|
929
|
-
</div>
|
|
930
|
-
{/if}
|
|
931
|
-
{/if}
|
|
932
|
-
|
|
933
|
-
{#if filtersVisible}
|
|
934
|
-
<div>
|
|
935
|
-
{#if dynamicFilters}
|
|
936
|
-
<Filters
|
|
937
|
-
bind:filters
|
|
938
|
-
onapplyFilter={() => {
|
|
939
|
-
handleSearchChange(searchText);
|
|
940
|
-
}}
|
|
941
|
-
onremoveFilter={e => { handleRemoveFilter(e.detail.filter) }}
|
|
942
|
-
onremoveAllFilters={() => handleRemoveAllFilters()}
|
|
943
|
-
--filters-default-wrapper-width="100%"
|
|
944
|
-
{lang}
|
|
945
|
-
{dateLocale}
|
|
946
|
-
{editFilterMode}
|
|
947
|
-
{showActiveFilters}
|
|
948
|
-
appendSnippet={filterAppendSnippet}
|
|
949
|
-
customChipSnippet={customFilterChipSnippet}
|
|
950
|
-
>
|
|
951
|
-
{#snippet contentSnippet({ filters, mAndDown, updateMultiFilterValues, })}
|
|
952
|
-
{#key filters}
|
|
953
|
-
<DynamicFilters
|
|
954
|
-
{lang}
|
|
955
|
-
{filters}
|
|
956
|
-
{mAndDown}
|
|
957
|
-
onchange={e => updateFilterValues(e.detail.filter, updateMultiFilterValues)}
|
|
958
|
-
{updateMultiFilterValues}
|
|
959
|
-
>
|
|
960
|
-
{#snippet customSnippet({ filter, mAndDown, updateCustomFilterValues })}
|
|
961
|
-
{@render customFilterSnippet?.({ filter, mAndDown, updateCustomFilterValues })}
|
|
962
|
-
{/snippet}
|
|
963
|
-
</DynamicFilters>
|
|
964
|
-
{/key}
|
|
965
|
-
{/snippet}
|
|
966
|
-
</Filters>
|
|
920
|
+
<MediaQuery>
|
|
921
|
+
{#snippet defaultSnippet({ mAndDown })}
|
|
922
|
+
<div class="searchbar-and-filter-container {mAndDown ? 'mobile' : 'desktop'}">
|
|
923
|
+
{#if searchBarVisible}
|
|
924
|
+
{#if searchBarSnippet}
|
|
925
|
+
{@render searchBarSnippet({ handleSearchChange })}
|
|
967
926
|
{:else}
|
|
968
|
-
<
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
927
|
+
<div style="margin-right: {mAndDown ? '0px' : '20px'};">
|
|
928
|
+
<SimpleTextField
|
|
929
|
+
placeholder={searchBarPlaceholder}
|
|
930
|
+
appendInnerIcon="mdi-magnify"
|
|
931
|
+
bind:value={searchText}
|
|
932
|
+
bind:input={searchBarInput}
|
|
933
|
+
onkeydown={handleSearchBoxKeydown}
|
|
934
|
+
--simple-textfield-width={mAndDown ? "100%" : "450px"}
|
|
935
|
+
--simple-textfield-border-radius= 0.5rem
|
|
936
|
+
--simple-textfield-background-color= transparent
|
|
937
|
+
--simple-textfield-box-shadow= 'inset 0 0 0 1px rgb(var(--global-color-background-500))'
|
|
938
|
+
--simple-textfield-focus-box-shadow='inset 0 0 0 2px rgb(var(--global-color-primary-500))'
|
|
939
|
+
/>
|
|
940
|
+
</div>
|
|
941
|
+
{/if}
|
|
942
|
+
{/if}
|
|
943
|
+
|
|
944
|
+
<div class="filter-container">
|
|
945
|
+
{#if filtersVisible}
|
|
946
|
+
<div>
|
|
947
|
+
{#if dynamicFilters}
|
|
948
|
+
<Filters
|
|
949
|
+
bind:filters
|
|
950
|
+
onapplyFilter={() => {
|
|
951
|
+
handleSearchChange(searchText);
|
|
952
|
+
}}
|
|
953
|
+
onremoveFilter={e => { handleRemoveFilter(e.detail.filter) }}
|
|
954
|
+
onremoveAllFilters={() => handleRemoveAllFilters()}
|
|
955
|
+
--filters-default-wrapper-width="100%"
|
|
956
|
+
{lang}
|
|
957
|
+
{dateLocale}
|
|
958
|
+
{editFilterMode}
|
|
959
|
+
{showActiveFilters}
|
|
960
|
+
drawerSpace='40rem'
|
|
961
|
+
appendSnippet={filterAppendSnippet}
|
|
962
|
+
customChipSnippet={customFilterChipSnippet}
|
|
963
|
+
>
|
|
964
|
+
{#snippet contentSnippet({ filters, mAndDown, updateMultiFilterValues, })}
|
|
965
|
+
{#key filters}
|
|
966
|
+
<DynamicFilters
|
|
967
|
+
{lang}
|
|
968
|
+
{filters}
|
|
969
|
+
{mAndDown}
|
|
970
|
+
onchange={e => updateFilterValues(e.detail.filter, updateMultiFilterValues)}
|
|
971
|
+
{updateMultiFilterValues}
|
|
972
|
+
>
|
|
973
|
+
{#snippet customSnippet({ filter, mAndDown, updateCustomFilterValues })}
|
|
974
|
+
{@render customFilterSnippet?.({ filter, mAndDown, updateCustomFilterValues })}
|
|
975
|
+
{/snippet}
|
|
976
|
+
</DynamicFilters>
|
|
977
|
+
{/key}
|
|
978
|
+
{/snippet}
|
|
979
|
+
</Filters>
|
|
980
|
+
{:else}
|
|
981
|
+
<Filters
|
|
982
|
+
bind:filters
|
|
983
|
+
onapplyFilter={() => {
|
|
984
|
+
handleSearchChange(searchText);
|
|
985
|
+
}}
|
|
986
|
+
onremoveFilter={e => { handleRemoveFilter(e.detail.filter) }}
|
|
987
|
+
onremoveAllFilters={() => handleRemoveAllFilters()}
|
|
988
|
+
--filters-default-wrapper-width="100%"
|
|
989
|
+
{lang}
|
|
990
|
+
{dateLocale}
|
|
991
|
+
{editFilterMode}
|
|
992
|
+
{showActiveFilters}
|
|
993
|
+
appendSnippet={filterAppendSnippet}
|
|
994
|
+
customChipSnippet={customFilterChipSnippet}
|
|
995
|
+
customSnippet={customFilterSnippet}
|
|
996
|
+
>
|
|
997
|
+
</Filters>
|
|
998
|
+
{/if}
|
|
999
|
+
</div>
|
|
985
1000
|
{/if}
|
|
1001
|
+
|
|
1002
|
+
<div>
|
|
1003
|
+
{@render appendSnippet?.()}
|
|
1004
|
+
</div>
|
|
986
1005
|
</div>
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
<div>
|
|
991
|
-
{@render appendSnippet?.()}
|
|
992
|
-
</div>
|
|
993
|
-
</div>
|
|
1006
|
+
</div>
|
|
1007
|
+
{/snippet}
|
|
1008
|
+
</MediaQuery>
|
|
994
1009
|
{/if}
|
|
995
1010
|
|
|
996
1011
|
{#if quickFiltersVisible || numberOfResultsVisible}
|
|
@@ -1153,7 +1168,7 @@ function resizeHeader(th, header) {
|
|
|
1153
1168
|
bind:this={headersHTML['customize-headers']}
|
|
1154
1169
|
>
|
|
1155
1170
|
{#if customizeHeaders}
|
|
1156
|
-
<div style="display: flex; justify-content:
|
|
1171
|
+
<div style="display: flex; justify-content: start;">
|
|
1157
1172
|
<Icon
|
|
1158
1173
|
name="mdi-plus-circle-outline"
|
|
1159
1174
|
onclick={() => (openHeaderDrawer = true)}
|
|
@@ -1200,6 +1215,7 @@ function resizeHeader(th, header) {
|
|
|
1200
1215
|
{#each renderedRows as row, indexRow}
|
|
1201
1216
|
<tr
|
|
1202
1217
|
class="item-row"
|
|
1218
|
+
class:pointer={!!onrowClick}
|
|
1203
1219
|
data-key={row.item[uniqueKey]}
|
|
1204
1220
|
style:background-color={
|
|
1205
1221
|
!!row.item.disableEdit
|
|
@@ -1359,24 +1375,9 @@ function resizeHeader(th, header) {
|
|
|
1359
1375
|
<tbody>
|
|
1360
1376
|
{#each row.subItems as subItem, indexSubItem}
|
|
1361
1377
|
<tr
|
|
1362
|
-
onclick={() => handleRowClick(subItem)}
|
|
1363
|
-
class:row-activator={cellEditorIndexRow == indexSubItem && cellEditorSubItem}
|
|
1364
1378
|
>
|
|
1365
1379
|
{#each subHeaders as subHeader, indexSubHeader}
|
|
1366
1380
|
<td
|
|
1367
|
-
class:cell-edit-activator={cellEditorIndexHeader == indexSubHeader && cellEditorIndexRow == indexSubItem && cellEditorSubItem}
|
|
1368
|
-
class:hover-cell={cellEdit && !loading && !!subHeader.cellEditorInfo}
|
|
1369
|
-
onclick={(e) => {
|
|
1370
|
-
handleCellClick(
|
|
1371
|
-
e,
|
|
1372
|
-
subItem,
|
|
1373
|
-
subHeader.cellEditorInfo,
|
|
1374
|
-
subItem[subHeader.value],
|
|
1375
|
-
indexSubItem,
|
|
1376
|
-
indexSubHeader,
|
|
1377
|
-
true
|
|
1378
|
-
);
|
|
1379
|
-
}}
|
|
1380
1381
|
>
|
|
1381
1382
|
{#if subHeader.type.key == "custom"}
|
|
1382
1383
|
{@render customSubRowSnippet?.({ index: indexSubItem, columnIndex: indexSubHeader, header: subHeader, row: subItem})}
|
|
@@ -1702,6 +1703,9 @@ function resizeHeader(th, header) {
|
|
|
1702
1703
|
/>
|
|
1703
1704
|
</div>
|
|
1704
1705
|
{:else if quickFilterActive.type.key === "date"}
|
|
1706
|
+
<div style="font-weight: 500; margin-bottom: 8px;">
|
|
1707
|
+
{quickFilterActive.title}
|
|
1708
|
+
</div>
|
|
1705
1709
|
<div onclick={e => e.stopPropagation()} role="presentation" tabindex="-1">
|
|
1706
1710
|
<div>
|
|
1707
1711
|
<DatePickerTextField
|
|
@@ -1764,10 +1768,7 @@ function resizeHeader(th, header) {
|
|
|
1764
1768
|
</div>
|
|
1765
1769
|
|
|
1766
1770
|
{#if quickFilterActive.type.key != "boolean"}
|
|
1767
|
-
<div style:
|
|
1768
|
-
<Divider --divider-color=rgb(var(--global-color-contrast-100)) />
|
|
1769
|
-
</div>
|
|
1770
|
-
<div style:grid-row="3" style:grid-column="2" style:margin-top="-15px">
|
|
1771
|
+
<div style:grid-row="3" style:grid-column="2" style:margin-top="-10px">
|
|
1771
1772
|
<ConfirmOrCancelButtons
|
|
1772
1773
|
confirmDisable={saveEditDisabled}
|
|
1773
1774
|
confirmText={lang == 'en' ? "Apply" : 'Applica'}
|
|
@@ -2112,22 +2113,44 @@ function resizeHeader(th, header) {
|
|
|
2112
2113
|
flex-direction: row;
|
|
2113
2114
|
}
|
|
2114
2115
|
|
|
2115
|
-
.filter-container {
|
|
2116
|
+
.searchbar-and-filter-container {
|
|
2116
2117
|
display: flex;
|
|
2118
|
+
margin-bottom: 16px;
|
|
2119
|
+
}
|
|
2120
|
+
|
|
2121
|
+
.searchbar-and-filter-container.desktop {
|
|
2117
2122
|
flex-direction: row;
|
|
2123
|
+
}
|
|
2124
|
+
|
|
2125
|
+
.searchbar-and-filter-container.mobile {
|
|
2126
|
+
flex-direction: column;
|
|
2127
|
+
gap: 8px;
|
|
2128
|
+
}
|
|
2129
|
+
|
|
2130
|
+
.filter-container {
|
|
2131
|
+
display: flex;
|
|
2118
2132
|
justify-content: space-between;
|
|
2119
|
-
|
|
2133
|
+
flex-grow: 1;
|
|
2120
2134
|
}
|
|
2121
2135
|
|
|
2122
2136
|
.quick-filters {
|
|
2123
2137
|
display: flex;
|
|
2124
2138
|
flex-direction: row;
|
|
2125
|
-
|
|
2139
|
+
overflow-x: auto;
|
|
2140
|
+
white-space: nowrap;
|
|
2141
|
+
padding-bottom: 4px;
|
|
2142
|
+
gap: 8px;
|
|
2143
|
+
}
|
|
2144
|
+
|
|
2145
|
+
.quick-filters::-webkit-scrollbar:horizontal {
|
|
2146
|
+
height: 12px;
|
|
2126
2147
|
}
|
|
2127
2148
|
|
|
2128
2149
|
.quick-filters-results-container {
|
|
2129
2150
|
display: flex;
|
|
2130
2151
|
justify-content: space-between;
|
|
2152
|
+
gap: 8px;
|
|
2153
|
+
margin-bottom: 8px;
|
|
2131
2154
|
}
|
|
2132
2155
|
|
|
2133
2156
|
.vertical-quick-filters {
|
|
@@ -2225,6 +2248,7 @@ function resizeHeader(th, header) {
|
|
|
2225
2248
|
display: flex;
|
|
2226
2249
|
align-items: center;
|
|
2227
2250
|
gap: 4px;
|
|
2251
|
+
min-width: 90px;
|
|
2228
2252
|
}
|
|
2229
2253
|
|
|
2230
2254
|
.resizer {
|
|
@@ -2239,4 +2263,7 @@ function resizeHeader(th, header) {
|
|
|
2239
2263
|
.filler {
|
|
2240
2264
|
padding: 0 !important;
|
|
2241
2265
|
}
|
|
2266
|
+
.pointer {
|
|
2267
|
+
cursor: pointer;
|
|
2268
|
+
}
|
|
2242
2269
|
</style>
|
|
@@ -10,6 +10,12 @@ import type { QuickFilter } from "../../../utils/filters/quickFilters";
|
|
|
10
10
|
import type { UIEventHandler } from "svelte/elements";
|
|
11
11
|
declare class __sveltets_Render<Item extends {
|
|
12
12
|
[key: string]: any;
|
|
13
|
+
} = {
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
}, SubItem extends {
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
} = {
|
|
18
|
+
[key: string]: any;
|
|
13
19
|
}> {
|
|
14
20
|
props(): {
|
|
15
21
|
headers?: (import("../../simple/lists/SimpleTable.svelte").Header<unknown> & {
|
|
@@ -117,7 +123,7 @@ declare class __sveltets_Render<Item extends {
|
|
|
117
123
|
disableEdit?: boolean;
|
|
118
124
|
rowDisableBackgroundColor?: string;
|
|
119
125
|
};
|
|
120
|
-
subItems: (
|
|
126
|
+
subItems: (SubItem & {
|
|
121
127
|
disableEdit?: boolean;
|
|
122
128
|
rowDisableBackgroundColor?: string;
|
|
123
129
|
})[];
|
|
@@ -334,7 +340,7 @@ declare class __sveltets_Render<Item extends {
|
|
|
334
340
|
disableEdit?: boolean;
|
|
335
341
|
rowDisableBackgroundColor?: string;
|
|
336
342
|
};
|
|
337
|
-
subItems: (
|
|
343
|
+
subItems: (SubItem & {
|
|
338
344
|
disableEdit?: boolean;
|
|
339
345
|
rowDisableBackgroundColor?: string;
|
|
340
346
|
})[];
|
|
@@ -381,7 +387,7 @@ declare class __sveltets_Render<Item extends {
|
|
|
381
387
|
disableEdit?: boolean;
|
|
382
388
|
rowDisableBackgroundColor?: string;
|
|
383
389
|
};
|
|
384
|
-
subItems: (
|
|
390
|
+
subItems: (SubItem & {
|
|
385
391
|
disableEdit?: boolean;
|
|
386
392
|
rowDisableBackgroundColor?: string;
|
|
387
393
|
})[];
|
|
@@ -459,14 +465,14 @@ declare class __sveltets_Render<Item extends {
|
|
|
459
465
|
}]> | undefined;
|
|
460
466
|
subRowAppendSnippet?: Snippet<[{
|
|
461
467
|
index: number;
|
|
462
|
-
row?: (
|
|
468
|
+
row?: (SubItem & {
|
|
463
469
|
disableEdit?: boolean;
|
|
464
470
|
rowDisableBackgroundColor?: string;
|
|
465
471
|
}) | undefined;
|
|
466
472
|
}]> | undefined;
|
|
467
473
|
subRowActionsSnippet?: Snippet<[{
|
|
468
474
|
index: number;
|
|
469
|
-
row?: (
|
|
475
|
+
row?: (SubItem & {
|
|
470
476
|
disableEdit?: boolean;
|
|
471
477
|
rowDisableBackgroundColor?: string;
|
|
472
478
|
}) | undefined;
|
|
@@ -507,7 +513,7 @@ declare class __sveltets_Render<Item extends {
|
|
|
507
513
|
info?: string;
|
|
508
514
|
maxWidth?: string;
|
|
509
515
|
};
|
|
510
|
-
row:
|
|
516
|
+
row: SubItem & {
|
|
511
517
|
disableEdit?: boolean;
|
|
512
518
|
rowDisableBackgroundColor?: string;
|
|
513
519
|
};
|
|
@@ -526,16 +532,34 @@ declare class __sveltets_Render<Item extends {
|
|
|
526
532
|
interface $$IsomorphicComponent {
|
|
527
533
|
new <Item extends {
|
|
528
534
|
[key: string]: any;
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
}
|
|
535
|
+
} = {
|
|
536
|
+
[key: string]: any;
|
|
537
|
+
}, SubItem extends {
|
|
538
|
+
[key: string]: any;
|
|
539
|
+
} = {
|
|
540
|
+
[key: string]: any;
|
|
541
|
+
}>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item, SubItem>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item, SubItem>['props']>, ReturnType<__sveltets_Render<Item, SubItem>['events']>, ReturnType<__sveltets_Render<Item, SubItem>['slots']>> & {
|
|
542
|
+
$$bindings?: ReturnType<__sveltets_Render<Item, SubItem>['bindings']>;
|
|
543
|
+
} & ReturnType<__sveltets_Render<Item, SubItem>['exports']>;
|
|
532
544
|
<Item extends {
|
|
533
545
|
[key: string]: any;
|
|
534
|
-
}
|
|
535
|
-
|
|
546
|
+
} = {
|
|
547
|
+
[key: string]: any;
|
|
548
|
+
}, SubItem extends {
|
|
549
|
+
[key: string]: any;
|
|
550
|
+
} = {
|
|
551
|
+
[key: string]: any;
|
|
552
|
+
}>(internal: unknown, props: ReturnType<__sveltets_Render<Item, SubItem>['props']> & {}): ReturnType<__sveltets_Render<Item, SubItem>['exports']>;
|
|
553
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
536
554
|
}
|
|
537
555
|
declare const DynamicTable: $$IsomorphicComponent;
|
|
538
556
|
type DynamicTable<Item extends {
|
|
539
557
|
[key: string]: any;
|
|
540
|
-
}
|
|
558
|
+
} = {
|
|
559
|
+
[key: string]: any;
|
|
560
|
+
}, SubItem extends {
|
|
561
|
+
[key: string]: any;
|
|
562
|
+
} = {
|
|
563
|
+
[key: string]: any;
|
|
564
|
+
}> = InstanceType<typeof DynamicTable<Item, SubItem>>;
|
|
541
565
|
export default DynamicTable;
|