@likable-hair/svelte 3.3.28 → 3.3.30
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/buttons/ActivableButton.svelte +2 -6
- package/dist/components/composed/buttons/ActivableButton.svelte.d.ts +32 -36
- package/dist/components/composed/common/MenuOrDrawer.svelte +25 -35
- package/dist/components/composed/common/MenuOrDrawer.svelte.d.ts +25 -50
- package/dist/components/composed/common/MenuOrDrawerOptions.svelte +34 -40
- package/dist/components/composed/common/MenuOrDrawerOptions.svelte.d.ts +21 -35
- package/dist/components/composed/common/QuickActions.svelte +29 -57
- package/dist/components/composed/common/QuickActions.svelte.d.ts +20 -24
- package/dist/components/composed/common/ToolTip.svelte +22 -31
- package/dist/components/composed/common/ToolTip.svelte.d.ts +43 -32
- package/dist/components/composed/forms/AsyncAutocomplete.svelte +23 -44
- package/dist/components/composed/forms/AsyncAutocomplete.svelte.d.ts +39 -44
- package/dist/components/composed/forms/AvatarDropdown.svelte +27 -57
- package/dist/components/composed/forms/AvatarDropdown.svelte.d.ts +41 -45
- package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte +17 -35
- package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte.d.ts +37 -41
- package/dist/components/composed/forms/CountriesAutocomplete.svelte +7 -16
- package/dist/components/composed/forms/CountriesAutocomplete.svelte.d.ts +60 -31
- package/dist/components/composed/forms/DatePickerTextField.svelte +114 -166
- package/dist/components/composed/forms/DatePickerTextField.svelte.d.ts +63 -67
- package/dist/components/composed/forms/Dropdown.svelte +21 -51
- package/dist/components/composed/forms/Dropdown.svelte.d.ts +43 -48
- package/dist/components/composed/forms/IconsDropdown.svelte +33 -61
- package/dist/components/composed/forms/IconsDropdown.svelte.d.ts +26 -30
- package/dist/components/composed/forms/LabelAndSelect.svelte +7 -32
- package/dist/components/composed/forms/LabelAndSelect.svelte.d.ts +31 -35
- package/dist/components/composed/forms/LabelAndTextField.svelte +5 -30
- package/dist/components/composed/forms/LabelAndTextField.svelte.d.ts +42 -46
- package/dist/components/composed/forms/ToggleList.svelte +33 -59
- package/dist/components/composed/forms/ToggleList.svelte.d.ts +17 -21
- package/dist/components/composed/forms/YearPickerTextField.svelte +74 -114
- package/dist/components/composed/forms/YearPickerTextField.svelte.d.ts +49 -53
- package/dist/components/composed/list/DynamicTable.css +2 -0
- package/dist/components/composed/list/DynamicTable.svelte +1070 -1434
- package/dist/components/composed/list/DynamicTable.svelte.d.ts +366 -370
- package/dist/components/composed/list/PaginatedTable.svelte +81 -140
- package/dist/components/composed/list/PaginatedTable.svelte.d.ts +110 -108
- package/dist/components/composed/progress/HorizontalStackedProgress.css +4 -0
- package/dist/components/composed/progress/HorizontalStackedProgress.svelte +47 -63
- package/dist/components/composed/progress/HorizontalStackedProgress.svelte.d.ts +22 -25
- package/dist/components/composed/search/DynamicFilters.svelte +83 -105
- package/dist/components/composed/search/DynamicFilters.svelte.d.ts +27 -31
- package/dist/components/composed/search/FilterEditor.svelte +80 -106
- package/dist/components/composed/search/FilterEditor.svelte.d.ts +33 -37
- package/dist/components/composed/search/Filters.svelte +294 -362
- package/dist/components/composed/search/Filters.svelte.d.ts +52 -56
- package/dist/components/composed/search/GlobalSearchTextField.svelte +41 -79
- package/dist/components/composed/search/GlobalSearchTextField.svelte.d.ts +39 -43
- package/dist/components/composed/search/MobileFilterEditor.svelte +93 -135
- package/dist/components/composed/search/MobileFilterEditor.svelte.d.ts +35 -39
- package/dist/components/composed/search/SearchBar.svelte +5 -28
- package/dist/components/composed/search/SearchBar.svelte.d.ts +30 -34
- package/dist/components/composed/search/SearchResults.svelte +7 -42
- package/dist/components/composed/search/SearchResults.svelte.d.ts +36 -40
- package/dist/components/composed/shop/ProductCard.svelte +4 -18
- package/dist/components/composed/shop/ProductCard.svelte.d.ts +28 -32
- package/dist/components/composed/shop/ProductsGrid.svelte +2 -22
- package/dist/components/composed/shop/ProductsGrid.svelte.d.ts +40 -44
- package/dist/components/layouts/CollapsibleSideBarLayout.svelte +29 -55
- package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +54 -85
- package/dist/components/layouts/StableDividedSideBarLayout.svelte +17 -47
- package/dist/components/layouts/StableDividedSideBarLayout.svelte.d.ts +32 -50
- package/dist/components/layouts/UnstableDividedSideBarLayout.svelte +30 -53
- package/dist/components/layouts/UnstableDividedSideBarLayout.svelte.d.ts +63 -103
- package/dist/components/simple/buttons/Button.svelte +32 -78
- package/dist/components/simple/buttons/Button.svelte.d.ts +35 -47
- package/dist/components/simple/buttons/LinkButton.svelte +22 -54
- package/dist/components/simple/buttons/LinkButton.svelte.d.ts +33 -50
- package/dist/components/simple/charts/GanymedeBarChart.svelte +134 -172
- package/dist/components/simple/charts/GanymedeBarChart.svelte.d.ts +46 -50
- package/dist/components/simple/charts/GanymedeLineChart.svelte +115 -157
- package/dist/components/simple/charts/GanymedeLineChart.svelte.d.ts +47 -51
- package/dist/components/simple/charts/GanymedePieChart.svelte +39 -62
- package/dist/components/simple/charts/GanymedePieChart.svelte.d.ts +33 -37
- package/dist/components/simple/common/Card.svelte +1 -20
- package/dist/components/simple/common/Card.svelte.d.ts +38 -51
- package/dist/components/simple/common/CollapsibleDivider.svelte +11 -23
- package/dist/components/simple/common/CollapsibleDivider.svelte.d.ts +25 -29
- package/dist/components/simple/common/Divider.svelte +2 -8
- package/dist/components/simple/common/Divider.svelte.d.ts +19 -23
- package/dist/components/simple/common/Gesture.svelte +46 -64
- package/dist/components/simple/common/Gesture.svelte.d.ts +17 -21
- package/dist/components/simple/common/InfiniteScroll.svelte +29 -52
- package/dist/components/simple/common/InfiniteScroll.svelte.d.ts +20 -24
- package/dist/components/simple/common/IntersectionObserver.svelte +32 -45
- package/dist/components/simple/common/IntersectionObserver.svelte.d.ts +21 -34
- package/dist/components/simple/common/MediaQuery.svelte +21 -30
- package/dist/components/simple/common/MediaQuery.svelte.d.ts +30 -34
- package/dist/components/simple/common/Menu.svelte +303 -290
- package/dist/components/simple/common/Menu.svelte.d.ts +40 -51
- package/dist/components/simple/common/Playground.svelte +17 -18
- package/dist/components/simple/common/Playground.svelte.d.ts +15 -19
- package/dist/components/simple/common/VerticalDraggableList.svelte +16 -35
- package/dist/components/simple/common/VerticalDraggableList.svelte.d.ts +29 -33
- package/dist/components/simple/dashboards/DashboardGridShaper.svelte +26 -32
- package/dist/components/simple/dashboards/DashboardGridShaper.svelte.d.ts +12 -16
- package/dist/components/simple/dates/Calendar.svelte +28 -52
- package/dist/components/simple/dates/Calendar.svelte.d.ts +41 -45
- package/dist/components/simple/dates/DatePicker.svelte +60 -90
- package/dist/components/simple/dates/DatePicker.svelte.d.ts +40 -44
- package/dist/components/simple/dates/MonthSelector.svelte +15 -37
- package/dist/components/simple/dates/MonthSelector.svelte.d.ts +31 -35
- package/dist/components/simple/dates/TimePicker.svelte +31 -45
- package/dist/components/simple/dates/TimePicker.svelte.d.ts +20 -24
- package/dist/components/simple/dates/TimePickerTextField.svelte +35 -56
- package/dist/components/simple/dates/TimePickerTextField.svelte.d.ts +24 -28
- package/dist/components/simple/dates/YearSelector.svelte +29 -54
- package/dist/components/simple/dates/YearSelector.svelte.d.ts +31 -35
- package/dist/components/simple/dialogs/Dialog.svelte +62 -92
- package/dist/components/simple/dialogs/Dialog.svelte.d.ts +28 -42
- package/dist/components/simple/forms/Autocomplete.svelte +150 -207
- package/dist/components/simple/forms/Autocomplete.svelte.d.ts +79 -83
- package/dist/components/simple/forms/Checkbox.svelte +25 -40
- package/dist/components/simple/forms/Checkbox.svelte.d.ts +22 -25
- package/dist/components/simple/forms/FileInput.svelte +48 -88
- package/dist/components/simple/forms/FileInput.svelte.d.ts +33 -37
- package/dist/components/simple/forms/FileInputList.svelte +37 -62
- package/dist/components/simple/forms/FileInputList.svelte.d.ts +35 -39
- package/dist/components/simple/forms/RadioButton.svelte +3 -11
- package/dist/components/simple/forms/RadioButton.svelte.d.ts +27 -31
- package/dist/components/simple/forms/Select.svelte +3 -16
- package/dist/components/simple/forms/Select.svelte.d.ts +20 -24
- package/dist/components/simple/forms/SimpleTextField.svelte +6 -53
- package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +60 -64
- package/dist/components/simple/forms/Switch.svelte +16 -30
- package/dist/components/simple/forms/Switch.svelte.d.ts +21 -25
- package/dist/components/simple/forms/Textarea.svelte +2 -27
- package/dist/components/simple/forms/Textarea.svelte.d.ts +37 -41
- package/dist/components/simple/forms/Textfield.svelte +18 -56
- package/dist/components/simple/forms/Textfield.svelte.d.ts +51 -55
- package/dist/components/simple/forms/TreeEditor.svelte +95 -141
- package/dist/components/simple/forms/TreeEditor.svelte.d.ts +38 -42
- package/dist/components/simple/forms/TreeEditorItem.svelte +42 -77
- package/dist/components/simple/forms/TreeEditorItem.svelte.d.ts +50 -54
- package/dist/components/simple/forms/VerticalSwitch.svelte +1 -11
- package/dist/components/simple/forms/VerticalSwitch.svelte.d.ts +28 -32
- package/dist/components/simple/forms/VerticalTextSwitch.svelte +3 -15
- package/dist/components/simple/forms/VerticalTextSwitch.svelte.d.ts +26 -30
- package/dist/components/simple/lists/ColorInvertedSelector.svelte +23 -53
- package/dist/components/simple/lists/ColorInvertedSelector.svelte.d.ts +42 -46
- package/dist/components/simple/lists/HierarchyMenu.svelte +19 -38
- package/dist/components/simple/lists/HierarchyMenu.svelte.d.ts +30 -34
- package/dist/components/simple/lists/Paginator.svelte +41 -50
- package/dist/components/simple/lists/Paginator.svelte.d.ts +19 -23
- package/dist/components/simple/lists/SelectableMenuList.svelte +15 -43
- package/dist/components/simple/lists/SelectableMenuList.svelte.d.ts +20 -24
- package/dist/components/simple/lists/SelectableVerticalList.svelte +59 -100
- package/dist/components/simple/lists/SelectableVerticalList.svelte.d.ts +47 -51
- package/dist/components/simple/lists/SidebarMenuList.svelte +71 -116
- package/dist/components/simple/lists/SidebarMenuList.svelte.d.ts +22 -26
- package/dist/components/simple/lists/SimpleTable.svelte +154 -264
- package/dist/components/simple/lists/SimpleTable.svelte.d.ts +66 -70
- package/dist/components/simple/loaders/CircularLoader.svelte +5 -16
- package/dist/components/simple/loaders/CircularLoader.svelte.d.ts +15 -19
- package/dist/components/simple/loaders/Skeleton.svelte +2 -3
- package/dist/components/simple/loaders/Skeleton.svelte.d.ts +12 -16
- package/dist/components/simple/media/AttachmentDownloader.svelte +3 -17
- package/dist/components/simple/media/AttachmentDownloader.svelte.d.ts +28 -32
- package/dist/components/simple/media/Avatar.svelte +12 -18
- package/dist/components/simple/media/Avatar.svelte.d.ts +20 -31
- package/dist/components/simple/media/Carousel.svelte +11 -29
- package/dist/components/simple/media/Carousel.svelte.d.ts +24 -28
- package/dist/components/simple/media/DescriptiveAvatar.svelte +4 -12
- package/dist/components/simple/media/DescriptiveAvatar.svelte.d.ts +28 -44
- package/dist/components/simple/media/FlagIcon.svelte +5 -8
- package/dist/components/simple/media/FlagIcon.svelte.d.ts +15 -19
- package/dist/components/simple/media/Gallery.svelte +29 -49
- package/dist/components/simple/media/Gallery.svelte.d.ts +23 -27
- package/dist/components/simple/media/Icon.svelte +4 -9
- package/dist/components/simple/media/Icon.svelte.d.ts +20 -24
- package/dist/components/simple/media/Image.svelte +20 -42
- package/dist/components/simple/media/Image.svelte.d.ts +33 -44
- package/dist/components/simple/media/ImageGrid.svelte +12 -37
- package/dist/components/simple/media/ImageGrid.svelte.d.ts +28 -32
- package/dist/components/simple/navigation/Breadcrumb.svelte +10 -28
- package/dist/components/simple/navigation/Breadcrumb.svelte.d.ts +22 -26
- package/dist/components/simple/navigation/Chip.svelte +23 -44
- package/dist/components/simple/navigation/Chip.svelte.d.ts +31 -42
- package/dist/components/simple/navigation/Drawer.svelte +65 -107
- package/dist/components/simple/navigation/Drawer.svelte.d.ts +37 -50
- package/dist/components/simple/navigation/HeaderMenu.svelte +23 -40
- package/dist/components/simple/navigation/HeaderMenu.svelte.d.ts +35 -39
- package/dist/components/simple/navigation/Navigator.svelte +8 -30
- package/dist/components/simple/navigation/Navigator.svelte.d.ts +24 -28
- package/dist/components/simple/navigation/TabSwitcher.svelte +47 -83
- package/dist/components/simple/navigation/TabSwitcher.svelte.d.ts +34 -38
- package/dist/components/simple/notifiers/AlertBanner.css +1 -0
- package/dist/components/simple/notifiers/AlertBanner.svelte +20 -48
- package/dist/components/simple/notifiers/AlertBanner.svelte.d.ts +37 -41
- package/dist/components/simple/progress/ProgressBar.svelte +13 -20
- package/dist/components/simple/progress/ProgressBar.svelte.d.ts +17 -21
- package/dist/components/simple/timeline/SimpleTimeLine.svelte +5 -19
- package/dist/components/simple/timeline/SimpleTimeLine.svelte.d.ts +35 -39
- package/dist/components/simple/typography/Code.svelte +12 -27
- package/dist/components/simple/typography/Code.svelte.d.ts +24 -28
- package/dist/stores/debounce.d.ts +1 -0
- package/dist/stores/layouts/unstableSidebarOpened.d.ts +1 -0
- package/dist/stores/mediaQuery.d.ts +1 -0
- package/dist/stores/theme.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,224 +1,165 @@
|
|
|
1
|
-
<script context="module"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
} = {};
|
|
20
|
-
export { clazz as class };
|
|
21
|
-
|
|
22
|
-
export let values: Item[] = [],
|
|
23
|
-
items: Item[],
|
|
24
|
-
searchFunction: ((item: Item, searchText: string | undefined) => boolean) | undefined =
|
|
25
|
-
undefined,
|
|
26
|
-
multiple = false,
|
|
27
|
-
disabled = false,
|
|
28
|
-
mandatory = false,
|
|
29
|
-
placeholder = "",
|
|
30
|
-
width = "auto",
|
|
31
|
-
height = "auto",
|
|
32
|
-
maxWidth: string | undefined = undefined,
|
|
33
|
-
minWidth: string | undefined = "200px",
|
|
34
|
-
openingId: string = "autocomplete-menu",
|
|
35
|
-
searchText: string | undefined = undefined,
|
|
36
|
-
maxVisibleChips: number | undefined = undefined,
|
|
37
|
-
menuOpened: boolean = false,
|
|
38
|
-
closeOnSelect: boolean = !multiple,
|
|
39
|
-
emptySearchTextOnMenuClose: boolean = true,
|
|
40
|
-
// menu
|
|
41
|
-
menuBoxShadow = "rgb(var(--global-color-background-300), .5) 0px 2px 4px",
|
|
42
|
-
menuBorderRadius = "5px",
|
|
43
|
-
mobileDrawer: boolean = false,
|
|
44
|
-
menuWidth: string | undefined | null = undefined,
|
|
45
|
-
menuAnchor: "bottom" | "bottom-center" | "right-center" | undefined = 'bottom-center'
|
|
46
|
-
|
|
47
|
-
let dispatch = createEventDispatcher<{
|
|
48
|
-
change: {
|
|
49
|
-
unselect: Item | undefined;
|
|
50
|
-
select: Item | undefined;
|
|
51
|
-
selection: Item[];
|
|
52
|
-
}
|
|
53
|
-
}>();
|
|
54
|
-
|
|
55
|
-
function select(item: Item) {
|
|
56
|
-
if(disabled) return
|
|
57
|
-
|
|
58
|
-
const alreadyPresent =
|
|
59
|
-
values.findIndex((i) => i.value === item.value) != -1;
|
|
60
|
-
|
|
61
|
-
if (!alreadyPresent) {
|
|
62
|
-
if (multiple) values = [...values, item];
|
|
63
|
-
else values = [item];
|
|
64
|
-
refreshMenuWidth();
|
|
65
|
-
|
|
66
|
-
dispatch("change", {
|
|
67
|
-
unselect: undefined,
|
|
68
|
-
select: item,
|
|
69
|
-
selection: values,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (!multiple && closeOnSelect) menuOpened = false
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function unselect(item: Item) {
|
|
77
|
-
if(disabled) return
|
|
78
|
-
|
|
79
|
-
if(values.length == 1 && mandatory) return
|
|
80
|
-
values = values.filter((i) => i.value != item.value);
|
|
1
|
+
<script context="module"></script>
|
|
2
|
+
|
|
3
|
+
<script>import "../../../css/main.css";
|
|
4
|
+
import "./Autocomplete.css";
|
|
5
|
+
import { scrollInMenu } from "../common/scroller";
|
|
6
|
+
let clazz = {};
|
|
7
|
+
export { clazz as class };
|
|
8
|
+
export let values = [], items, searchFunction = void 0, multiple = false, disabled = false, mandatory = false, placeholder = "", width = "auto", height = "auto", maxWidth = void 0, minWidth = "200px", openingId = "autocomplete-menu", searchText = void 0, maxVisibleChips = void 0, menuOpened = false, closeOnSelect = !multiple, emptySearchTextOnMenuClose = true, menuBoxShadow = "rgb(var(--global-color-background-300), .5) 0px 2px 4px", menuBorderRadius = "5px", mobileDrawer = false, menuWidth = void 0, menuAnchor = "bottom-center";
|
|
9
|
+
let dispatch = createEventDispatcher();
|
|
10
|
+
function select(item) {
|
|
11
|
+
if (disabled)
|
|
12
|
+
return;
|
|
13
|
+
const alreadyPresent = values.findIndex((i) => i.value === item.value) != -1;
|
|
14
|
+
if (!alreadyPresent) {
|
|
15
|
+
if (multiple)
|
|
16
|
+
values = [...values, item];
|
|
17
|
+
else
|
|
18
|
+
values = [item];
|
|
81
19
|
refreshMenuWidth();
|
|
82
|
-
|
|
83
|
-
dispatch("change", {
|
|
84
|
-
unselect: item,
|
|
85
|
-
select: undefined,
|
|
86
|
-
selection: values,
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
function pop() {
|
|
91
|
-
if(values.length == 1 && mandatory) return
|
|
92
|
-
let poppedElement = values.pop()
|
|
93
|
-
values = [...values]
|
|
94
|
-
refreshMenuWidth()
|
|
95
|
-
|
|
96
20
|
dispatch("change", {
|
|
97
|
-
unselect:
|
|
98
|
-
select:
|
|
99
|
-
selection: values
|
|
21
|
+
unselect: void 0,
|
|
22
|
+
select: item,
|
|
23
|
+
selection: values
|
|
100
24
|
});
|
|
101
25
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
26
|
+
if (!multiple && closeOnSelect)
|
|
27
|
+
menuOpened = false;
|
|
28
|
+
}
|
|
29
|
+
function unselect(item) {
|
|
30
|
+
if (disabled)
|
|
31
|
+
return;
|
|
32
|
+
if (values.length == 1 && mandatory)
|
|
33
|
+
return;
|
|
34
|
+
values = values.filter((i) => i.value != item.value);
|
|
35
|
+
refreshMenuWidth();
|
|
36
|
+
dispatch("change", {
|
|
37
|
+
unselect: item,
|
|
38
|
+
select: void 0,
|
|
39
|
+
selection: values
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function pop() {
|
|
43
|
+
if (values.length == 1 && mandatory)
|
|
44
|
+
return;
|
|
45
|
+
let poppedElement = values.pop();
|
|
46
|
+
values = [...values];
|
|
47
|
+
refreshMenuWidth();
|
|
48
|
+
dispatch("change", {
|
|
49
|
+
unselect: poppedElement,
|
|
50
|
+
select: void 0,
|
|
51
|
+
selection: values
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function toggle(item) {
|
|
55
|
+
const alreadyPresent = values.findIndex((i) => i.value === item.value) != -1;
|
|
56
|
+
if (alreadyPresent)
|
|
57
|
+
unselect(item);
|
|
58
|
+
else
|
|
59
|
+
select(item);
|
|
60
|
+
}
|
|
61
|
+
let localMenuWidth = void 0, menuHeight = "auto", refreshPosition = false;
|
|
62
|
+
function openMenu() {
|
|
63
|
+
refreshMenuWidth();
|
|
64
|
+
menuOpened = true;
|
|
65
|
+
}
|
|
66
|
+
function refreshMenuWidth() {
|
|
67
|
+
setTimeout(() => {
|
|
68
|
+
if (menuWidth !== void 0)
|
|
69
|
+
localMenuWidth = menuWidth;
|
|
70
|
+
else
|
|
71
|
+
localMenuWidth = activator.offsetWidth + "px";
|
|
121
72
|
setTimeout(() => {
|
|
122
|
-
|
|
123
|
-
else localMenuWidth = activator.offsetWidth + "px"
|
|
124
|
-
|
|
125
|
-
setTimeout(() => {
|
|
126
|
-
refreshPosition = true;
|
|
127
|
-
}, 1);
|
|
73
|
+
refreshPosition = true;
|
|
128
74
|
}, 1);
|
|
75
|
+
}, 1);
|
|
76
|
+
}
|
|
77
|
+
let activator, focusedIndex = void 0;
|
|
78
|
+
function handleTextFieldFocus() {
|
|
79
|
+
if (disabled)
|
|
80
|
+
return;
|
|
81
|
+
focusedIndex = void 0;
|
|
82
|
+
openMenu();
|
|
83
|
+
}
|
|
84
|
+
function handleTextFieldBlur() {
|
|
85
|
+
}
|
|
86
|
+
let menuElement;
|
|
87
|
+
function handleKeyDown(event) {
|
|
88
|
+
if (disabled)
|
|
89
|
+
return;
|
|
90
|
+
if (event.key == "ArrowDown" && (focusedIndex === void 0 || focusedIndex < filteredItems.length - 1)) {
|
|
91
|
+
if (focusedIndex === void 0)
|
|
92
|
+
focusedIndex = 0;
|
|
93
|
+
else
|
|
94
|
+
focusedIndex += 1;
|
|
95
|
+
} else if (event.key == "ArrowUp" && (focusedIndex === void 0 || focusedIndex > 0)) {
|
|
96
|
+
if (focusedIndex === void 0)
|
|
97
|
+
focusedIndex = filteredItems.length - 1;
|
|
98
|
+
else
|
|
99
|
+
focusedIndex -= 1;
|
|
100
|
+
} else if (event.key == "Enter" && focusedIndex != void 0) {
|
|
101
|
+
toggle(filteredItems[focusedIndex]);
|
|
102
|
+
} else if (event.key == "Backspace" && searchText == "") {
|
|
103
|
+
pop();
|
|
104
|
+
} else if (event.key == "Escape" || event.key == "Tab") {
|
|
105
|
+
searchText = "";
|
|
106
|
+
if (!!input)
|
|
107
|
+
input.blur();
|
|
108
|
+
menuOpened = false;
|
|
129
109
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
if(disabled) return
|
|
135
|
-
focusedIndex = undefined;
|
|
136
|
-
openMenu();
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
function handleTextFieldBlur() {
|
|
140
|
-
// closeMenu()
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
let menuElement: HTMLElement;
|
|
144
|
-
function handleKeyDown(event: { key: string }) {
|
|
145
|
-
if(disabled) return
|
|
146
|
-
|
|
147
|
-
if (
|
|
148
|
-
event.key == "ArrowDown" &&
|
|
149
|
-
(focusedIndex === undefined || focusedIndex < filteredItems.length - 1)
|
|
150
|
-
) {
|
|
151
|
-
if (focusedIndex === undefined) focusedIndex = 0;
|
|
152
|
-
else focusedIndex += 1;
|
|
153
|
-
} else if (
|
|
154
|
-
event.key == "ArrowUp" &&
|
|
155
|
-
(focusedIndex === undefined || focusedIndex > 0)
|
|
156
|
-
) {
|
|
157
|
-
if (focusedIndex === undefined) focusedIndex = filteredItems.length - 1;
|
|
158
|
-
else focusedIndex -= 1;
|
|
159
|
-
} else if (event.key == "Enter" && focusedIndex != undefined) {
|
|
160
|
-
toggle(filteredItems[focusedIndex]);
|
|
161
|
-
} else if(event.key == 'Backspace' && searchText == '') {
|
|
162
|
-
pop()
|
|
163
|
-
} else if(event.key == 'Escape' || event.key == 'Tab') {
|
|
164
|
-
searchText = ''
|
|
165
|
-
if(!!input) input.blur()
|
|
166
|
-
menuOpened = false
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
if(focusedIndex !== undefined && !!menuElement) {
|
|
170
|
-
let child = menuElement.querySelector<HTMLElement>('.item-' + focusedIndex)
|
|
171
|
-
|
|
172
|
-
if(!!child) scrollInMenu(menuElement, child, 'instant')
|
|
173
|
-
}
|
|
110
|
+
if (focusedIndex !== void 0 && !!menuElement) {
|
|
111
|
+
let child = menuElement.querySelector(".item-" + focusedIndex);
|
|
112
|
+
if (!!child)
|
|
113
|
+
scrollInMenu(menuElement, child, "instant");
|
|
174
114
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}, 50);
|
|
187
|
-
}
|
|
115
|
+
}
|
|
116
|
+
let input;
|
|
117
|
+
function handleContainerClick() {
|
|
118
|
+
if (disabled)
|
|
119
|
+
return;
|
|
120
|
+
if (!menuOpened) {
|
|
121
|
+
if (!!input)
|
|
122
|
+
input.focus();
|
|
123
|
+
setTimeout(() => {
|
|
124
|
+
openMenu();
|
|
125
|
+
}, 50);
|
|
188
126
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
127
|
+
}
|
|
128
|
+
let filteredItems = items;
|
|
129
|
+
$:
|
|
130
|
+
if (searchText) {
|
|
131
|
+
focusedIndex = void 0;
|
|
193
132
|
filteredItems = items.filter((it) => {
|
|
194
|
-
if (searchFunction)
|
|
195
|
-
|
|
133
|
+
if (searchFunction)
|
|
134
|
+
return searchFunction(it, searchText);
|
|
135
|
+
else
|
|
136
|
+
return !!searchText && it.label?.toString().toLowerCase().includes(searchText.toLowerCase());
|
|
196
137
|
});
|
|
197
138
|
} else {
|
|
198
139
|
filteredItems = items;
|
|
199
140
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
141
|
+
$:
|
|
142
|
+
notVisibleChipNumber = Math.max((values?.length || 0) - (maxVisibleChips || 0), 0);
|
|
143
|
+
$:
|
|
144
|
+
if (!menuOpened && emptySearchTextOnMenuClose) {
|
|
204
145
|
setTimeout(() => {
|
|
205
|
-
if(!menuOpened && emptySearchTextOnMenuClose)
|
|
146
|
+
if (!menuOpened && emptySearchTextOnMenuClose)
|
|
147
|
+
searchText = void 0;
|
|
206
148
|
}, 10);
|
|
207
149
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
if(!disabled && values.length != 0) {
|
|
211
|
-
input.style.width = Math.max(searchText?.length || placeholder?.length, 1) +
|
|
150
|
+
$:
|
|
151
|
+
if (!!input) {
|
|
152
|
+
if (!disabled && values.length != 0) {
|
|
153
|
+
input.style.width = Math.max(searchText?.length || placeholder?.length, 1) + "ch";
|
|
212
154
|
} else {
|
|
213
|
-
input.style.width =
|
|
155
|
+
input.style.width = "auto";
|
|
214
156
|
}
|
|
215
157
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
import MenuOrDrawer from '../../composed/common/MenuOrDrawer.svelte';
|
|
158
|
+
import Chip from "../navigation/Chip.svelte";
|
|
159
|
+
import Menu from "../common/Menu.svelte";
|
|
160
|
+
import { createEventDispatcher } from "svelte";
|
|
161
|
+
import SimpleTextField from "./SimpleTextField.svelte";
|
|
162
|
+
import MenuOrDrawer from "../../composed/common/MenuOrDrawer.svelte";
|
|
222
163
|
</script>
|
|
223
164
|
|
|
224
165
|
<svelte:window />
|
|
@@ -334,12 +275,14 @@
|
|
|
334
275
|
</Menu>
|
|
335
276
|
{:else}
|
|
336
277
|
<MenuOrDrawer
|
|
337
|
-
{
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
278
|
+
menuProps={{
|
|
279
|
+
activator,
|
|
280
|
+
_width: localMenuWidth || "",
|
|
281
|
+
_height: menuHeight,
|
|
282
|
+
_maxHeight: "300px",
|
|
283
|
+
_boxShadow: menuBoxShadow,
|
|
284
|
+
_borderRadius: menuBorderRadius,
|
|
285
|
+
}}
|
|
343
286
|
bind:open={menuOpened}
|
|
344
287
|
on:close
|
|
345
288
|
>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
1
2
|
export type Item = {
|
|
2
3
|
value: string | number;
|
|
3
4
|
label?: string | number;
|
|
@@ -7,89 +8,84 @@ import '../../../css/main.css';
|
|
|
7
8
|
import './Autocomplete.css';
|
|
8
9
|
import { type ComponentProps } from "svelte";
|
|
9
10
|
import SimpleTextField from "./SimpleTextField.svelte";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
declare const __propDef: {
|
|
12
|
+
props: {
|
|
13
|
+
class?: {
|
|
14
|
+
activator?: string | undefined;
|
|
15
|
+
menu?: string | undefined;
|
|
16
|
+
simpleTextfield?: ComponentProps<SimpleTextField>['class'];
|
|
17
|
+
} | undefined;
|
|
18
|
+
values?: Item[] | undefined;
|
|
19
|
+
items: Item[];
|
|
20
|
+
searchFunction?: ((item: Item, searchText: string | undefined) => boolean) | undefined;
|
|
21
|
+
multiple?: boolean | undefined;
|
|
22
|
+
disabled?: boolean | undefined;
|
|
23
|
+
mandatory?: boolean | undefined;
|
|
24
|
+
placeholder?: string | undefined;
|
|
25
|
+
width?: string | undefined;
|
|
26
|
+
height?: string | undefined;
|
|
27
|
+
maxWidth?: string | undefined;
|
|
28
|
+
minWidth?: string | undefined;
|
|
29
|
+
openingId?: string | undefined;
|
|
30
|
+
searchText?: string | undefined;
|
|
31
|
+
maxVisibleChips?: number | undefined;
|
|
32
|
+
menuOpened?: boolean | undefined;
|
|
33
|
+
closeOnSelect?: boolean | undefined;
|
|
34
|
+
emptySearchTextOnMenuClose?: boolean | undefined;
|
|
35
|
+
menuBoxShadow?: string | undefined;
|
|
36
|
+
menuBorderRadius?: string | undefined;
|
|
37
|
+
mobileDrawer?: boolean | undefined;
|
|
38
|
+
menuWidth?: string | undefined | null;
|
|
39
|
+
menuAnchor?: "bottom" | "bottom-center" | "right-center" | undefined;
|
|
20
40
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
29
|
-
values?: Item[];
|
|
30
|
-
items: Item[];
|
|
31
|
-
searchFunction?: ((item: Item, searchText: string | undefined) => boolean) | undefined;
|
|
32
|
-
multiple?: boolean;
|
|
33
|
-
disabled?: boolean;
|
|
34
|
-
mandatory?: boolean;
|
|
35
|
-
placeholder?: string;
|
|
36
|
-
width?: string;
|
|
37
|
-
height?: string;
|
|
38
|
-
maxWidth?: string | undefined;
|
|
39
|
-
minWidth?: string | undefined;
|
|
40
|
-
openingId?: string;
|
|
41
|
-
searchText?: string | undefined;
|
|
42
|
-
maxVisibleChips?: number | undefined;
|
|
43
|
-
menuOpened?: boolean;
|
|
44
|
-
closeOnSelect?: boolean;
|
|
45
|
-
emptySearchTextOnMenuClose?: boolean;
|
|
46
|
-
menuBoxShadow?: string;
|
|
47
|
-
menuBorderRadius?: string;
|
|
48
|
-
mobileDrawer?: boolean;
|
|
49
|
-
menuWidth?: string | undefined | null;
|
|
50
|
-
menuAnchor?: "bottom" | "bottom-center" | "right-center" | undefined;
|
|
51
|
-
}, {
|
|
52
|
-
focus: FocusEvent;
|
|
53
|
-
blur: FocusEvent;
|
|
54
|
-
keydown: KeyboardEvent;
|
|
55
|
-
close: CustomEvent<{}>;
|
|
56
|
-
} & {
|
|
57
|
-
[evt: string]: CustomEvent<any>;
|
|
58
|
-
}, {
|
|
59
|
-
'selection-container': {
|
|
60
|
-
values: Item[];
|
|
61
|
-
searchText: string | undefined;
|
|
62
|
-
disabled: boolean;
|
|
63
|
-
openMenu: () => void;
|
|
64
|
-
handleKeyDown: (event: {
|
|
65
|
-
key: string;
|
|
66
|
-
}) => void;
|
|
67
|
-
unselect: (item: Item) => void;
|
|
68
|
-
select: (item: Item) => void;
|
|
69
|
-
};
|
|
70
|
-
selection: {
|
|
71
|
-
selection: Item;
|
|
72
|
-
unselect: (item: Item) => void;
|
|
73
|
-
};
|
|
74
|
-
'chip-label': {
|
|
75
|
-
selection: Item;
|
|
41
|
+
events: {
|
|
42
|
+
focus: FocusEvent;
|
|
43
|
+
blur: FocusEvent;
|
|
44
|
+
keydown: KeyboardEvent;
|
|
45
|
+
close: CustomEvent<{}>;
|
|
46
|
+
} & {
|
|
47
|
+
[evt: string]: CustomEvent<any>;
|
|
76
48
|
};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
49
|
+
slots: {
|
|
50
|
+
'selection-container': {
|
|
51
|
+
values: Item[];
|
|
52
|
+
searchText: string | undefined;
|
|
53
|
+
disabled: boolean;
|
|
54
|
+
openMenu: () => void;
|
|
55
|
+
handleKeyDown: (event: {
|
|
56
|
+
key: string;
|
|
57
|
+
}) => void;
|
|
58
|
+
unselect: (item: Item) => void;
|
|
59
|
+
select: (item: Item) => void;
|
|
60
|
+
};
|
|
61
|
+
selection: {
|
|
62
|
+
selection: Item;
|
|
63
|
+
unselect: (item: Item) => void;
|
|
64
|
+
};
|
|
65
|
+
'chip-label': {
|
|
66
|
+
selection: Item;
|
|
67
|
+
};
|
|
68
|
+
exceedCounter: {
|
|
69
|
+
notVisibleChipNumber: number;
|
|
70
|
+
maxVisibleChips: number | undefined;
|
|
71
|
+
values: Item[];
|
|
72
|
+
searchText: string | undefined;
|
|
73
|
+
disabled: boolean;
|
|
74
|
+
};
|
|
75
|
+
menu: {};
|
|
76
|
+
item: {
|
|
77
|
+
item: Item;
|
|
78
|
+
index: any;
|
|
79
|
+
selected: boolean;
|
|
80
|
+
};
|
|
81
|
+
'item-label': {
|
|
82
|
+
item: Item;
|
|
83
|
+
};
|
|
83
84
|
};
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
item: Item;
|
|
92
|
-
};
|
|
93
|
-
}, {}, string>;
|
|
94
|
-
type Autocomplete = InstanceType<typeof Autocomplete>;
|
|
95
|
-
export default Autocomplete;
|
|
85
|
+
};
|
|
86
|
+
export type AutocompleteProps = typeof __propDef.props;
|
|
87
|
+
export type AutocompleteEvents = typeof __propDef.events;
|
|
88
|
+
export type AutocompleteSlots = typeof __propDef.slots;
|
|
89
|
+
export default class Autocomplete extends SvelteComponent<AutocompleteProps, AutocompleteEvents, AutocompleteSlots> {
|
|
90
|
+
}
|
|
91
|
+
export {};
|
|
@@ -1,45 +1,29 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
window.removeEventListener('keyup', handleKeyUp)
|
|
17
|
-
}
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
function handleKeyDown(event: KeyboardEvent) {
|
|
21
|
-
if(event.key == 'Shift') {
|
|
22
|
-
shiftKeyPressed = true
|
|
23
|
-
}
|
|
1
|
+
<script>import "./Checkbox.css";
|
|
2
|
+
import "../../../css/main.css";
|
|
3
|
+
import { createEventDispatcher, onMount } from "svelte";
|
|
4
|
+
export let value = false, id = void 0, disabled = false;
|
|
5
|
+
onMount(() => {
|
|
6
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
7
|
+
window.addEventListener("keyup", handleKeyUp);
|
|
8
|
+
return () => {
|
|
9
|
+
window.removeEventListener("keydown", handleKeyDown);
|
|
10
|
+
window.removeEventListener("keyup", handleKeyUp);
|
|
11
|
+
};
|
|
12
|
+
});
|
|
13
|
+
function handleKeyDown(event) {
|
|
14
|
+
if (event.key == "Shift") {
|
|
15
|
+
shiftKeyPressed = true;
|
|
24
16
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
let dispatch = createEventDispatcher<{
|
|
33
|
-
'change': {
|
|
34
|
-
shiftKeyPressed: boolean,
|
|
35
|
-
nativeEvent: Event
|
|
36
|
-
}
|
|
37
|
-
}>(),
|
|
38
|
-
shiftKeyPressed: boolean = false
|
|
39
|
-
|
|
40
|
-
function handleChange(e: Event) {
|
|
41
|
-
dispatch('change', { shiftKeyPressed, nativeEvent: e })
|
|
17
|
+
}
|
|
18
|
+
function handleKeyUp(event) {
|
|
19
|
+
if (event.key == "Shift") {
|
|
20
|
+
shiftKeyPressed = false;
|
|
42
21
|
}
|
|
22
|
+
}
|
|
23
|
+
let dispatch = createEventDispatcher(), shiftKeyPressed = false;
|
|
24
|
+
function handleChange(e) {
|
|
25
|
+
dispatch("change", { shiftKeyPressed, nativeEvent: e });
|
|
26
|
+
}
|
|
43
27
|
</script>
|
|
44
28
|
|
|
45
29
|
<input
|
|
@@ -48,6 +32,7 @@
|
|
|
48
32
|
bind:checked={value}
|
|
49
33
|
on:change={handleChange}
|
|
50
34
|
{disabled}
|
|
35
|
+
on:click
|
|
51
36
|
/>
|
|
52
37
|
|
|
53
38
|
<style>
|