@medyll/idae-slotui-svelte 0.26.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base/alert/Alert.demo.svelte +10 -8
- package/dist/base/alert/Alert.svelte +56 -48
- package/dist/base/alert/types.d.ts +4 -4
- package/dist/base/alert/types.js +11 -11
- package/dist/base/avatar/Avatar.demo.svelte +12 -8
- package/dist/base/avatar/Avatar.preview.svelte +3 -2
- package/dist/base/avatar/Avatar.svelte +24 -19
- package/dist/base/avatar/types.d.ts +5 -5
- package/dist/base/avatar/types.js +9 -9
- package/dist/base/backdrop/Backdrop.demo.svelte +13 -9
- package/dist/base/backdrop/Backdrop.svelte +45 -37
- package/dist/base/backdrop/types.d.ts +7 -7
- package/dist/base/backdrop/types.js +10 -10
- package/dist/base/badge/Badge.svelte +22 -18
- package/dist/base/box/Box.demo.svelte +12 -9
- package/dist/base/box/Box.svelte +44 -36
- package/dist/base/box/types.d.ts +3 -3
- package/dist/base/box/types.js +16 -16
- package/dist/base/breadCrumb/BreadCrumb.svelte +12 -8
- package/dist/base/cartouche/Cartouche.demo.svelte +13 -9
- package/dist/base/cartouche/Cartouche.svelte +50 -43
- package/dist/base/cartouche/types.d.ts +7 -7
- package/dist/base/cartouche/types.js +20 -20
- package/dist/base/chipper/Chipper.demo.svelte +14 -10
- package/dist/base/chipper/Chipper.svelte +19 -14
- package/dist/base/chipper/types.d.ts +5 -5
- package/dist/base/chipper/types.js +10 -10
- package/dist/base/columner/Column.svelte +39 -31
- package/dist/base/columner/Columner.demo.svelte +4 -3
- package/dist/base/columner/Columner.svelte +12 -5
- package/dist/base/contentSwitcher/ContentSwitcher.demo.svelte +11 -8
- package/dist/base/contentSwitcher/ContentSwitcher.svelte +40 -30
- package/dist/base/contentSwitcher/types.d.ts +3 -3
- package/dist/base/contentSwitcher/types.js +6 -6
- package/dist/base/debug/Debug.svelte +14 -11
- package/dist/base/demoer/DemoPage.svelte +18 -12
- package/dist/base/demoer/Demoer.svelte +20 -16
- package/dist/base/demoer/DemoerCode.svelte +28 -6
- package/dist/base/demoer/DemoerComponent.svelte +33 -13
- package/dist/base/demoer/demoer.utils.d.ts +2 -1
- package/dist/base/demoer/demoer.utils.js +4 -1
- package/dist/base/divider/Divider.demo.svelte +12 -6
- package/dist/base/divider/Divider.svelte +58 -41
- package/dist/base/divider/types.d.ts +5 -5
- package/dist/base/divider/types.js +10 -10
- package/dist/base/icon/Icon.demo.svelte +8 -5
- package/dist/base/icon/Icon.svelte +34 -27
- package/dist/base/icon/types.d.ts +4 -4
- package/dist/base/icon/types.js +9 -9
- package/dist/base/paper/Paper.demo.svelte +12 -9
- package/dist/base/paper/Paper.svelte +13 -9
- package/dist/base/paper/type.d.ts +3 -3
- package/dist/base/paper/type.js +4 -4
- package/dist/base/titleBar/TitleBar.demo.svelte +11 -9
- package/dist/base/titleBar/TitleBar.svelte +16 -12
- package/dist/base/titleBar/types.d.ts +4 -4
- package/dist/base/titleBar/types.js +8 -8
- package/dist/controls/autocomplete/AutoComplete.demo.svelte +21 -16
- package/dist/controls/autocomplete/AutoComplete.svelte +81 -62
- package/dist/controls/button/Button.demo.svelte +71 -45
- package/dist/controls/button/Button.svelte +130 -155
- package/dist/controls/button/Button.svelte.d.ts +2 -27
- package/dist/controls/button/ButtonAction.svelte +122 -133
- package/dist/controls/button/ButtonAction.svelte.d.ts +3 -2
- package/dist/controls/button/ButtonMenu.svelte +22 -16
- package/dist/controls/button/IconButton.svelte +40 -14
- package/dist/controls/button/button-action.scss +1 -1
- package/dist/controls/button/button.scss +22 -47
- package/dist/controls/button/types.d.ts +19 -16
- package/dist/controls/button/types.js +26 -24
- package/dist/controls/checkbox/Checkbox.demo.svelte +13 -9
- package/dist/controls/checkbox/Checkbox.svelte +18 -14
- package/dist/controls/confirm/Confirm.demo.svelte +12 -8
- package/dist/controls/confirm/Confirm.preview.svelte +3 -2
- package/dist/controls/confirm/Confirm.svelte +87 -64
- package/dist/controls/inplaceedit/InPlaceEdit.demo.svelte +12 -8
- package/dist/controls/inplaceedit/InPlaceEdit.svelte +74 -55
- package/dist/controls/progress/Progress.demo.svelte +14 -9
- package/dist/controls/progress/Progress.svelte +19 -13
- package/dist/controls/rating/Rating.demo.svelte +11 -8
- package/dist/controls/rating/Rating.svelte +21 -16
- package/dist/controls/select/Select.demo.svelte +46 -37
- package/dist/controls/select/Select.svelte +76 -29
- package/dist/controls/slider/Slider.demo.svelte +14 -7
- package/dist/controls/slider/Slider.svelte +104 -89
- package/dist/controls/stepper/Stepper.demo.svelte +9 -6
- package/dist/controls/stepper/Stepper.svelte +19 -13
- package/dist/controls/switch/Switch.demo.svelte +31 -24
- package/dist/controls/switch/Switch.svelte +20 -15
- package/dist/controls/textfield/TextField.demo.svelte +28 -23
- package/dist/controls/textfield/TextField.svelte +42 -34
- package/dist/data/dataList/DataList.demo.svelte +44 -37
- package/dist/data/dataList/DataList.preview.svelte +8 -6
- package/dist/data/dataList/DataList.svelte +139 -115
- package/dist/data/dataList/DataList.svelte.d.ts +7 -8
- package/dist/data/dataList/DataListCell.svelte +146 -96
- package/dist/data/dataList/DataListHead.svelte +52 -36
- package/dist/data/dataList/DataListRow.svelte +57 -43
- package/dist/data/dataList/types.d.ts +16 -14
- package/dist/data/dataList/types.js +33 -33
- package/dist/data/finder/Finder.demo.svelte +15 -11
- package/dist/data/finder/Finder.svelte +64 -46
- package/dist/data/grouper/Grouper.demo.svelte +14 -8
- package/dist/data/grouper/Grouper.svelte +62 -50
- package/dist/data/jsoner/Jsoner.svelte +14 -10
- package/dist/data/list/List.svelte +6 -2
- package/dist/data/list/ListItem.svelte +5 -2
- package/dist/data/list/ListTitle.svelte +5 -2
- package/dist/data/loader/Loader.demo.svelte +16 -8
- package/dist/data/loader/Loader.preview.svelte +2 -1
- package/dist/data/loader/Loader.svelte +56 -49
- package/dist/data/sorter/Sorter.demo.svelte +20 -17
- package/dist/data/sorter/Sorter.svelte +40 -33
- package/dist/data/sorter/Sorterer.svelte +17 -15
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/navigation/drawer/Drawer.demo.svelte +11 -7
- package/dist/navigation/drawer/Drawer.svelte +92 -81
- package/dist/navigation/tabs/Tabs.demo.svelte +23 -18
- package/dist/navigation/tabs/Tabs.preview.svelte +17 -14
- package/dist/navigation/tabs/Tabs.svelte +73 -61
- package/dist/slotui-css/button-action.css +1 -0
- package/dist/slotui-css/button-action.min.css +1 -0
- package/dist/slotui-css/button.css +83 -108
- package/dist/slotui-css/button.min.css +83 -108
- package/dist/slotui-css/slotui-combined.css +111 -135
- package/dist/styles/slotuisheet/SlotuiSheet.svelte +14 -11
- package/dist/styles/slotuisheet/SlotyuiSheet.demo.svelte +21 -17
- package/dist/ui/bootstrapp/BootStrApp.svelte +21 -15
- package/dist/ui/chromeFrame/ChromeFrame.svelte +19 -10
- package/dist/ui/chromeFrame/ChromeFrameButtonList.svelte +6 -4
- package/dist/ui/chromeFrame/ChromeFrameList.svelte +97 -58
- package/dist/ui/frame/Frame.demo.svelte +6 -4
- package/dist/ui/frame/Frame.svelte +51 -44
- package/dist/ui/frame/types.d.ts +5 -4
- package/dist/ui/frame/types.js +6 -5
- package/dist/ui/login/Login.demo.svelte +29 -21
- package/dist/ui/login/Login.svelte +49 -41
- package/dist/ui/marquee/Marque.demo.svelte +9 -6
- package/dist/ui/marquee/Marquee.svelte +69 -27
- package/dist/ui/menu/Menu.svelte +6 -2
- package/dist/ui/menu/MenuItem.svelte +6 -2
- package/dist/ui/menu/MenuTitle.svelte +5 -2
- package/dist/ui/menuList/MenuList.demo.svelte +14 -9
- package/dist/ui/menuList/MenuList.svelte +109 -96
- package/dist/ui/menuList/MenuListItem.svelte +85 -70
- package/dist/ui/menuList/MenuListTitle.svelte +5 -2
- package/dist/ui/panel/Panel.demo.svelte +37 -28
- package/dist/ui/panel/Panel.svelte +44 -34
- package/dist/ui/panel/PanelGrid.svelte +18 -14
- package/dist/ui/panel/PanelSlide.svelte +121 -79
- package/dist/ui/panel/Paneler.svelte +51 -24
- package/dist/ui/popper/Popper.demo.svelte +33 -25
- package/dist/ui/popper/Popper.svelte +105 -87
- package/dist/ui/popper/usePopper.d.ts +2 -2
- package/dist/ui/popper/usePopper.js +6 -6
- package/dist/ui/preview/Preview.svelte +18 -14
- package/dist/ui/serviceBox/ServiceBox.svelte +8 -6
- package/dist/ui/startMenu/BootMenu.svelte +32 -24
- package/dist/ui/taskbar/TaskBarContent.svelte +8 -7
- package/dist/ui/taskbar/Taskbar.svelte +15 -10
- package/dist/ui/themeswitcher/ThemeSwitcher.svelte +9 -7
- package/dist/ui/toast/Toast.demo.svelte +15 -10
- package/dist/ui/toast/Toast.svelte +57 -45
- package/dist/ui/toast/Toaster.svelte +4 -2
- package/dist/ui/toggleBar/ToggleBar.demo.svelte +69 -60
- package/dist/ui/toggleBar/ToggleBar.svelte +27 -23
- package/dist/ui/toolBar/ToolBar.demo.svelte +48 -38
- package/dist/ui/toolBar/ToolBar.svelte +16 -11
- package/dist/ui/tree/Tree.demo.svelte +53 -42
- package/dist/ui/tree/Tree.preview.svelte +14 -11
- package/dist/ui/tree/Tree.svelte +120 -67
- package/dist/ui/window/Window.demo.svelte +27 -19
- package/dist/ui/window/Window.svelte +95 -85
- package/dist/utils/content/Content.svelte +49 -43
- package/dist/utils/contextRooter/ContextRooter.demo.svelte +12 -8
- package/dist/utils/contextRooter/ContextRooter.svelte +5 -3
- package/dist/utils/css/Css.demo.svelte +2 -1
- package/dist/utils/css/Css.svelte +2 -1
- package/dist/utils/looper/Looper.demo.svelte +8 -6
- package/dist/utils/looper/Looper.svelte +27 -22
- package/dist/utils/slotted/Slotted.svelte +10 -1
- package/dist/utils/stylesheet/StyleSheet.demo.svelte +21 -17
- package/dist/utils/stylesheet/StyleSheet.svelte +14 -11
- package/package.json +3 -3
- package/dist/base/cartouche/Cartouche.preview.svelte +0 -25
- package/dist/base/cartouche/Cartouche.preview.svelte.d.ts +0 -27
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ElementProps, IconObj } from
|
|
2
|
-
import type { DemoerStoryProps } from
|
|
1
|
+
import type { ElementProps, IconObj } from "../../types/index.js";
|
|
2
|
+
import type { DemoerStoryProps } from "../demoer/types.js";
|
|
3
3
|
export type IconAppProps = {
|
|
4
4
|
/** icon name for iconify */
|
|
5
|
-
icon?: ElementProps[
|
|
5
|
+
icon?: ElementProps["icon"];
|
|
6
6
|
/** className off the root component */
|
|
7
7
|
class?: string;
|
|
8
8
|
/** css style off the root component */
|
|
@@ -12,7 +12,7 @@ export type IconAppProps = {
|
|
|
12
12
|
/** icon object for iconify, replace and invalidate props.icon */
|
|
13
13
|
ico?: IconObj;
|
|
14
14
|
/** icon size */
|
|
15
|
-
iconSize?: ElementProps[
|
|
15
|
+
iconSize?: ElementProps["iconSize"];
|
|
16
16
|
/** rotate icon */
|
|
17
17
|
rotate?: boolean;
|
|
18
18
|
/** icon color */
|
package/dist/base/icon/types.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { demoerArgs } from
|
|
1
|
+
import { demoerArgs } from "../demoer/demoer.utils.js";
|
|
2
2
|
export const iconAppDemoValues = {
|
|
3
3
|
icon: {
|
|
4
|
-
type:
|
|
5
|
-
default:
|
|
4
|
+
type: "icon",
|
|
5
|
+
default: "user",
|
|
6
6
|
},
|
|
7
7
|
iconSize: {
|
|
8
|
-
type:
|
|
8
|
+
type: "iconSize",
|
|
9
9
|
},
|
|
10
10
|
color: {
|
|
11
|
-
type:
|
|
11
|
+
type: "color",
|
|
12
12
|
},
|
|
13
13
|
rotation: {
|
|
14
|
-
type:
|
|
15
|
-
values: [0, 45, 90, 180, 270]
|
|
14
|
+
type: "number",
|
|
15
|
+
values: [0, 45, 90, 180, 270],
|
|
16
16
|
},
|
|
17
17
|
rotate: {
|
|
18
|
-
type:
|
|
19
|
-
}
|
|
18
|
+
type: "boolean",
|
|
19
|
+
},
|
|
20
20
|
};
|
|
21
21
|
export let { parameters, componentArgs } = demoerArgs(iconAppDemoValues);
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
let
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import ComponentDemo from '../demoer/DemoerComponent.svelte';
|
|
3
|
+
import DemoPage from '../demoer/DemoPage.svelte';
|
|
4
|
+
import Demoer from '../demoer/Demoer.svelte';
|
|
5
|
+
import { defaultsArgs } from '../demoer/demoer.utils.js';
|
|
6
|
+
import Paper from './Paper.svelte';
|
|
7
|
+
import { paperDemoValues, type PaperProps } from './type.js';
|
|
8
|
+
|
|
9
|
+
let parameters = paperDemoValues;
|
|
10
|
+
let componentArgs = defaultsArgs(parameters);
|
|
11
|
+
|
|
12
|
+
let code = `
|
|
10
13
|
<Paper elevation="2" style="height:350px;width:250px" >
|
|
11
14
|
paper content
|
|
12
15
|
</Paper>`;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { ExpandProps } from '../../types/index.js';
|
|
3
|
+
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
4
|
+
import type { PaperProps } from './type.js';
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
class: className = '',
|
|
8
|
+
style,
|
|
9
|
+
element = $bindable(),
|
|
10
|
+
children,
|
|
11
|
+
elevation = 0,
|
|
12
|
+
...rest
|
|
13
|
+
}: ExpandProps<PaperProps> = $props();
|
|
10
14
|
</script>
|
|
11
15
|
|
|
12
16
|
<div bind:this={element} class="paper {className} elevation-{elevation}" {style} {...rest}>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { CommonProps } from
|
|
2
|
-
import type { Snippet } from
|
|
3
|
-
import type { DemoerStoryProps } from
|
|
1
|
+
import type { CommonProps } from "../../types/index.js";
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
import type { DemoerStoryProps } from "../demoer/types.js";
|
|
4
4
|
export type PaperProps = {
|
|
5
5
|
/** className off the root component */
|
|
6
6
|
class?: string;
|
package/dist/base/paper/type.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { demoerArgs } from
|
|
1
|
+
import { demoerArgs } from "../demoer/demoer.utils.js";
|
|
2
2
|
export const paperDemoValues = {
|
|
3
3
|
elevation: {
|
|
4
|
-
type:
|
|
5
|
-
default: 0
|
|
6
|
-
}
|
|
4
|
+
type: "elevation",
|
|
5
|
+
default: 0,
|
|
6
|
+
},
|
|
7
7
|
};
|
|
8
8
|
export let { parameters, componentArgs } = demoerArgs(paperDemoValues);
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
let
|
|
9
|
-
let
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { titleBarDemoValues } from './types.js';
|
|
3
|
+
import { defaultsArgs } from '../demoer/demoer.utils.js';
|
|
4
|
+
import ComponentDemo from '../demoer/DemoerComponent.svelte';
|
|
5
|
+
import DemoPage from '../demoer/DemoPage.svelte';
|
|
6
|
+
import Demoer from '../demoer/Demoer.svelte';
|
|
7
|
+
import TitleBar from './TitleBar.svelte';
|
|
8
|
+
let parameters = titleBarDemoValues;
|
|
9
|
+
let componentArgs = defaultsArgs(parameters);
|
|
10
|
+
|
|
11
|
+
let code = `
|
|
10
12
|
<TitleBar {...activeParams} class="marg-tb-1">
|
|
11
13
|
{#snippet titleBarIcon()}
|
|
12
14
|
<Icon fontSize="small" icon="circle" />
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import Icon from '../icon/Icon.svelte';
|
|
3
|
+
import Button from '../../controls/button/Button.svelte';
|
|
4
|
+
import IconButton from '../../controls/button/IconButton.svelte';
|
|
5
|
+
import type { ExpandProps } from '../../types/index.js';
|
|
6
|
+
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
7
|
+
import type { TitleBarProps } from './types.js';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
onClose,
|
|
11
|
+
hasMenu = false,
|
|
12
|
+
icon,
|
|
13
|
+
title,
|
|
14
|
+
titleBarIcon,
|
|
15
|
+
titleBarTitle
|
|
16
|
+
}: ExpandProps<TitleBarProps> = $props();
|
|
13
17
|
</script>
|
|
14
18
|
|
|
15
19
|
<div class="title-bar">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ElementProps } from
|
|
2
|
-
import type { Snippet } from
|
|
3
|
-
import type { DemoerStoryProps } from
|
|
1
|
+
import type { ElementProps } from "../../types/index.js";
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
import type { DemoerStoryProps } from "../demoer/types.js";
|
|
4
4
|
export type TitleBarProps = {
|
|
5
5
|
title: string;
|
|
6
6
|
/** Function to be called when the close button is clicked */
|
|
@@ -8,7 +8,7 @@ export type TitleBarProps = {
|
|
|
8
8
|
/** Determines if the title bar has a menu */
|
|
9
9
|
hasMenu?: boolean;
|
|
10
10
|
/** Icon to be displayed in the title bar */
|
|
11
|
-
icon?: ElementProps[
|
|
11
|
+
icon?: ElementProps["icon"];
|
|
12
12
|
titleBarIcon?: Snippet;
|
|
13
13
|
titleBarTitle?: Snippet;
|
|
14
14
|
children?: Snippet;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { demoerArgs } from
|
|
1
|
+
import { demoerArgs } from "../demoer/demoer.utils.js";
|
|
2
2
|
export const titleBarDemoValues = {
|
|
3
3
|
onClose: {
|
|
4
|
-
type:
|
|
5
|
-
values: [() => console.log(
|
|
4
|
+
type: "function",
|
|
5
|
+
values: [() => console.log("close")],
|
|
6
6
|
},
|
|
7
7
|
hasMenu: {
|
|
8
|
-
type:
|
|
8
|
+
type: "boolean",
|
|
9
9
|
},
|
|
10
10
|
icon: {
|
|
11
|
-
type:
|
|
11
|
+
type: "icon",
|
|
12
12
|
},
|
|
13
13
|
title: {
|
|
14
|
-
type:
|
|
15
|
-
values: [
|
|
16
|
-
}
|
|
14
|
+
type: "string",
|
|
15
|
+
values: ["Title", "Title 2", "Title 3"],
|
|
16
|
+
},
|
|
17
17
|
};
|
|
18
18
|
export let { parameters, componentArgs } = demoerArgs(titleBarDemoValues);
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import AutoComplete from './AutoComplete.svelte';
|
|
3
|
+
import MenuItem from '../../ui/menu/MenuItem.svelte';
|
|
4
|
+
|
|
5
|
+
import ComponentDemo from '../../base/demoer/DemoerComponent.svelte';
|
|
6
|
+
import Demoer from '../../base/demoer/Demoer.svelte';
|
|
7
|
+
import DemoPage from '../../base/demoer/DemoPage.svelte';
|
|
8
|
+
import { parameters, componentArgs } from './types.js';
|
|
9
|
+
|
|
10
|
+
let data = [
|
|
11
|
+
{ id: 1, name: 'Wanda', surname: 'Wand', lastname: 'Groot', age: 23 },
|
|
12
|
+
{ id: 2, name: 'John', surname: 'Jo', lastname: 'Doe', age: 33 },
|
|
13
|
+
{ id: 3, name: 'Jane', surname: 'Jay', lastname: 'Doe', age: 43 },
|
|
14
|
+
{ id: 4, name: 'Peter', surname: 'Piotr', lastname: 'Parker', age: 53 },
|
|
15
|
+
{ id: 5, name: 'Mary', surname: 'Ma', lastname: 'Jane', age: 63 },
|
|
16
|
+
{ id: 6, name: 'Bruce', surname: 'Banner', lastname: 'Wayne', age: 73 }
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
let codeSlot = `
|
|
16
20
|
<AutoComplete
|
|
17
21
|
class="marg-b"
|
|
18
22
|
placeholder="Search in list"
|
|
@@ -28,7 +32,8 @@ let codeSlot = `
|
|
|
28
32
|
<div class="pad">No results found</div>
|
|
29
33
|
{/snippet}
|
|
30
34
|
</AutoComplete>`;
|
|
31
|
-
|
|
35
|
+
|
|
36
|
+
let codeProps = `
|
|
32
37
|
<AutoComplete
|
|
33
38
|
let:menuItemData
|
|
34
39
|
{data}
|
|
@@ -1,65 +1,84 @@
|
|
|
1
|
-
<script lang="ts" generics="T">
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
let
|
|
31
|
-
$
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
1
|
+
<script lang="ts" generics="T">
|
|
2
|
+
import type { AutoCompleteProps } from './types.js';
|
|
3
|
+
|
|
4
|
+
import TextField from '../textfield/TextField.svelte';
|
|
5
|
+
import { dataOp } from '../../utils/engine/utils.js';
|
|
6
|
+
import Popper from '../../ui/popper/Popper.svelte';
|
|
7
|
+
import MenuList from '../../ui/menuList/MenuList.svelte';
|
|
8
|
+
import MenuListItem from '../../ui/menuList/MenuListItem.svelte';
|
|
9
|
+
import Icon from '../../base/icon/Icon.svelte';
|
|
10
|
+
import type { Data, ExpandProps } from '../../types/index.js';
|
|
11
|
+
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
12
|
+
|
|
13
|
+
let {
|
|
14
|
+
class: className = '',
|
|
15
|
+
element = $bindable(),
|
|
16
|
+
data = $bindable([]),
|
|
17
|
+
searchField = '*',
|
|
18
|
+
dataFieldName,
|
|
19
|
+
mode = 'partial',
|
|
20
|
+
filteredData = $bindable<T[]>(data),
|
|
21
|
+
selectedIndex = $bindable(-1),
|
|
22
|
+
onchange = (args) => {},
|
|
23
|
+
showAllOnEmpty = true,
|
|
24
|
+
children,
|
|
25
|
+
autoCompleteEmpty,
|
|
26
|
+
autoCompleteNoResults,
|
|
27
|
+
...rest
|
|
28
|
+
}: ExpandProps<AutoCompleteProps<T>> & Partial<Omit<HTMLInputElement, 'style'>> = $props();
|
|
29
|
+
|
|
30
|
+
let searchString: string | undefined = $state(undefined);
|
|
31
|
+
let menuHTML: HTMLElement | null = $state(null);
|
|
32
|
+
let popperHTML: HTMLElement | undefined = $state(undefined);
|
|
33
|
+
let popperOpen: boolean = $state(false);
|
|
34
|
+
|
|
35
|
+
let menuRef: MenuList<T>;
|
|
36
|
+
|
|
37
|
+
let childs = children;
|
|
38
|
+
|
|
39
|
+
$effect(() => {
|
|
40
|
+
element?.addEventListener('keypress', ((e: KeyboardEvent) => {
|
|
41
|
+
preNavigate(e);
|
|
42
|
+
}) as EventListener);
|
|
43
|
+
});
|
|
44
|
+
$effect(() => {
|
|
45
|
+
filteredData = !searchString
|
|
46
|
+
? showAllOnEmpty
|
|
47
|
+
? data
|
|
48
|
+
: []
|
|
49
|
+
: doFind(data, searchString, searchField);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
const doFind = <T = Record<string, any>,>(list: T[], kw: string, field: string) => {
|
|
53
|
+
let results: any[];
|
|
54
|
+
|
|
55
|
+
if (!kw) {
|
|
56
|
+
results = data;
|
|
57
|
+
} else {
|
|
58
|
+
results =
|
|
59
|
+
mode === 'exact' ? dataOp.filterList(list, kw, field) : dataOp.searchList(list, kw, field);
|
|
60
|
+
}
|
|
61
|
+
return results;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
async function preNavigate(e: KeyboardEvent) {
|
|
65
|
+
if (e.keyCode === 13) {
|
|
66
|
+
e.preventDefault();
|
|
67
|
+
onSelect(filteredData[selectedIndex], selectedIndex);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function onSelect(filteredData: T, index: number) {
|
|
73
|
+
searchString = getFieldName(filteredData, dataFieldName as keyof T) as string;
|
|
74
|
+
if (onchange) onchange(filteredData);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function getFieldName(data: T, fieldName: keyof T | (keyof T)[]): string {
|
|
78
|
+
let field = Array.isArray(fieldName) ? fieldName : [fieldName];
|
|
79
|
+
|
|
80
|
+
return data ? field.map((field) => data[field]).join(' ') : '';
|
|
81
|
+
}
|
|
63
82
|
</script>
|
|
64
83
|
|
|
65
84
|
{popperOpen}
|
|
@@ -1,47 +1,53 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import MenuList from '../../ui/menuList/MenuList.svelte';
|
|
3
|
+
import MenuListItem from '../../ui/menuList/MenuListItem.svelte';
|
|
4
|
+
import ComponentDemo from '../../base/demoer/DemoerComponent.svelte';
|
|
5
|
+
import Demoer from '../../base/demoer/Demoer.svelte';
|
|
6
|
+
import DemoPage from '../../base/demoer/DemoPage.svelte';
|
|
7
|
+
import Icon from '../../base/icon/Icon.svelte';
|
|
8
|
+
import Button from './Button.svelte';
|
|
9
|
+
import { uiPresets } from '../../utils/engine/presets.js';
|
|
10
|
+
import ButtonAction from './ButtonAction.svelte';
|
|
11
|
+
import ButtonMenu from './ButtonMenu.svelte';
|
|
12
|
+
|
|
13
|
+
import { parameters, componentArgs } from './types.js';
|
|
14
|
+
|
|
15
|
+
let multiple = {
|
|
16
|
+
bgTheme: {
|
|
17
|
+
none: { bgTheme: undefined },
|
|
18
|
+
primary: { bgTheme: 'primary' },
|
|
19
|
+
secondary: { bgTheme: 'secondary' },
|
|
20
|
+
tertiary: { bgTheme: 'tertiary' }
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
let parametersMenu: any = {
|
|
25
|
+
position: {
|
|
26
|
+
type: 'stickyPosition',
|
|
27
|
+
values: uiPresets.stickyPosition
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
/** */
|
|
31
|
+
let styleParameters: any = {
|
|
32
|
+
color: {
|
|
33
|
+
type: 'color-preset',
|
|
34
|
+
values: [undefined, 'primary', 'secondary', 'tertiary']
|
|
35
|
+
},
|
|
36
|
+
contained: {
|
|
37
|
+
type: 'boolean',
|
|
38
|
+
values: [true, false]
|
|
39
|
+
},
|
|
40
|
+
bordered: {
|
|
41
|
+
type: 'boolean',
|
|
42
|
+
values: [true, false]
|
|
43
|
+
},
|
|
44
|
+
link: {
|
|
45
|
+
type: 'boolean',
|
|
46
|
+
values: [true, false]
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
let code = `
|
|
45
51
|
<Button onclick={()=>{}} >
|
|
46
52
|
My button
|
|
47
53
|
{#snippet buttonStart()}
|
|
@@ -66,6 +72,26 @@ let code = `
|
|
|
66
72
|
content
|
|
67
73
|
{/snippet}
|
|
68
74
|
</ButtonMenu>
|
|
75
|
+
<ButtonMenu
|
|
76
|
+
tall="small"
|
|
77
|
+
width="auto"
|
|
78
|
+
icon="material-symbols-light:post-add-sharp"
|
|
79
|
+
value={"Some text for the menu with an icon"}
|
|
80
|
+
popperProps={{ stickToHookWidth: true, position: 'TL', flow: 'fixed', autoClose: true }}
|
|
81
|
+
variant="naked"
|
|
82
|
+
menuProps={{
|
|
83
|
+
data: [],
|
|
84
|
+
grid: 3,
|
|
85
|
+
onclick: (event) => {
|
|
86
|
+
// chatParams.promptSystem = event;
|
|
87
|
+
},
|
|
88
|
+
}}>
|
|
89
|
+
{#snippet menuItem({ item })}
|
|
90
|
+
<MenuListItem data={item}>
|
|
91
|
+
{item?.name}
|
|
92
|
+
</MenuListItem>
|
|
93
|
+
{/snippet}
|
|
94
|
+
</ButtonMenu>
|
|
69
95
|
<ComponentDemo
|
|
70
96
|
component="Button"
|
|
71
97
|
cite="There were a place where we used to click. You've called it a button, and we clicked yes.<br /> R. Falgt, 1354"
|
|
@@ -75,7 +101,7 @@ let code = `
|
|
|
75
101
|
<Demoer {parameters} {componentArgs}>
|
|
76
102
|
{#snippet children({ activeParams })}
|
|
77
103
|
<Button {...activeParams}
|
|
78
|
-
>Using snippets
|
|
104
|
+
>Using snippets scscs dsvdvd
|
|
79
105
|
<!-- {#snippet buttonStart()}
|
|
80
106
|
<Icon icon="user" />
|
|
81
107
|
{/snippet} -->
|