@medyll/idae-slotui-svelte 0.120.0 → 0.122.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/README.md +47 -47
- package/dist/base/alert/Alert.demo.svelte +62 -62
- package/dist/base/alert/Alert.svelte +121 -121
- package/dist/base/alert/alert.scss +93 -93
- package/dist/base/avatar/Avatar.demo.svelte +41 -41
- package/dist/base/avatar/Avatar.preview.svelte +6 -6
- package/dist/base/avatar/Avatar.svelte +65 -65
- package/dist/base/avatar/avatar.scss +17 -17
- package/dist/base/backdrop/Backdrop.demo.svelte +49 -49
- package/dist/base/backdrop/Backdrop.svelte +78 -78
- package/dist/base/backdrop/backdrop.scss +34 -34
- package/dist/base/badge/Badge.svelte +31 -31
- package/dist/base/badge/badge.scss +19 -19
- package/dist/base/box/Box.demo.svelte +54 -54
- package/dist/base/box/Box.svelte +72 -72
- package/dist/base/box/box.scss +33 -33
- package/dist/base/breadCrumb/BreadCrumb.svelte +23 -23
- package/dist/base/breadCrumb/breadcrumb.scss +11 -11
- package/dist/base/cartouche/Cartouche.demo.svelte +108 -108
- package/dist/base/cartouche/Cartouche.svelte +114 -114
- package/dist/base/cartouche/cartouche.scss +114 -114
- package/dist/base/chipper/Chipper.demo.svelte +45 -45
- package/dist/base/chipper/Chipper.svelte +36 -36
- package/dist/base/chipper/chipper.scss +65 -65
- package/dist/base/columner/Column.svelte +62 -62
- package/dist/base/columner/Columner.demo.svelte +15 -15
- package/dist/base/columner/Columner.svelte +21 -21
- package/dist/base/contentSwitcher/ContentSwitcher.demo.svelte +45 -45
- package/dist/base/contentSwitcher/ContentSwitcher.svelte +63 -63
- package/dist/base/contentSwitcher/content-switcher.scss +22 -22
- package/dist/base/debug/Debug.svelte +21 -21
- package/dist/base/demoer/DemoPage.svelte +40 -40
- package/dist/base/demoer/Demoer.svelte +170 -170
- package/dist/base/demoer/DemoerCode.svelte +45 -45
- package/dist/base/demoer/DemoerComponent.svelte +50 -50
- package/dist/base/divider/Divider.demo.svelte +34 -34
- package/dist/base/divider/Divider.svelte +68 -68
- package/dist/base/divider/divider.scss +19 -19
- package/dist/base/icon/Icon.demo.svelte +24 -24
- package/dist/base/icon/Icon.svelte +117 -117
- package/dist/base/icon/Icon.svelte.d.ts +1 -1
- package/dist/base/icon/icon.scss +17 -17
- package/dist/base/paper/Paper.demo.svelte +31 -31
- package/dist/base/paper/Paper.svelte +20 -20
- package/dist/base/paper/paper.scss +15 -15
- package/dist/base/titleBar/TitleBar.demo.svelte +30 -30
- package/dist/base/titleBar/TitleBar.svelte +40 -40
- package/dist/base/titleBar/title-bar.scss +29 -29
- package/dist/controls/autocomplete/AutoComplete.demo.svelte +88 -88
- package/dist/controls/autocomplete/AutoComplete.svelte +152 -152
- package/dist/controls/autocomplete/auto-complete.scss +15 -15
- package/dist/controls/button/Button.demo.svelte +165 -165
- package/dist/controls/button/Button.svelte +95 -95
- package/dist/controls/button/Button.svelte.d.ts +1 -1
- package/dist/controls/button/ButtonAction.svelte +55 -55
- package/dist/controls/button/ButtonMenu.svelte +55 -55
- package/dist/controls/button/IconButton.svelte +45 -45
- package/dist/controls/button/button-action.scss +8 -8
- package/dist/controls/button/button-menu.scss +36 -36
- package/dist/controls/button/button.scss +293 -293
- package/dist/controls/checkbox/Checkbox.demo.svelte +29 -29
- package/dist/controls/checkbox/Checkbox.svelte +59 -59
- package/dist/controls/checkbox/checkbox.scss +115 -115
- package/dist/controls/confirm/Confirm.demo.svelte +60 -60
- package/dist/controls/confirm/Confirm.preview.svelte +14 -14
- package/dist/controls/confirm/Confirm.svelte +156 -156
- package/dist/controls/confirm/confirm.scss +12 -12
- package/dist/controls/inplaceedit/InPlaceEdit.demo.svelte +41 -41
- package/dist/controls/inplaceedit/InPlaceEdit.svelte +109 -109
- package/dist/controls/progress/Progress.demo.svelte +30 -30
- package/dist/controls/progress/Progress.svelte +26 -26
- package/dist/controls/progress/progress.scss +23 -23
- package/dist/controls/rating/Rating.demo.svelte +45 -45
- package/dist/controls/rating/Rating.svelte +44 -44
- package/dist/controls/rating/Rating.svelte.d.ts +1 -1
- package/dist/controls/rating/rating.scss +9 -9
- package/dist/controls/select/Select.demo.svelte +101 -101
- package/dist/controls/select/Select.svelte +125 -125
- package/dist/controls/select/select.scss +13 -13
- package/dist/controls/slider/Slider.demo.svelte +34 -34
- package/dist/controls/slider/Slider.svelte +153 -153
- package/dist/controls/slider/slider.scss +51 -51
- package/dist/controls/stepper/Stepper.demo.svelte +32 -32
- package/dist/controls/stepper/Stepper.svelte +30 -30
- package/dist/controls/stepper/stepper.scss +23 -23
- package/dist/controls/switch/Switch.demo.svelte +61 -61
- package/dist/controls/switch/Switch.svelte +45 -45
- package/dist/controls/switch/switch.scss +73 -73
- package/dist/controls/textfield/TextField.demo.svelte +79 -79
- package/dist/controls/textfield/TextField.svelte +86 -86
- package/dist/controls/textfield/TextField.svelte.d.ts +1 -1
- package/dist/controls/textfield/textfield.scss +68 -68
- package/dist/csss/csss.scss +10 -10
- package/dist/data/dataList/DataList.demo.svelte +151 -151
- package/dist/data/dataList/DataList.preview.svelte +23 -23
- package/dist/data/dataList/DataList.svelte +233 -233
- package/dist/data/dataList/DataListCell.svelte +212 -212
- package/dist/data/dataList/DataListHead.svelte +75 -75
- package/dist/data/dataList/DataListRow.svelte +93 -93
- package/dist/data/dataList/datalist.scss +157 -157
- package/dist/data/finder/Finder.demo.svelte +55 -55
- package/dist/data/finder/Finder.svelte +166 -166
- package/dist/data/finder/finder.scss +14 -14
- package/dist/data/grouper/Grouper.demo.svelte +36 -36
- package/dist/data/grouper/Grouper.svelte +85 -85
- package/dist/data/jsoner/Jsoner.svelte +40 -40
- package/dist/data/list/List.svelte +16 -16
- package/dist/data/list/ListItem.svelte +10 -10
- package/dist/data/list/ListTitle.svelte +8 -8
- package/dist/data/loader/Loader.demo.svelte +95 -95
- package/dist/data/loader/Loader.preview.svelte +7 -7
- package/dist/data/loader/Loader.svelte +99 -99
- package/dist/data/loader/loader.scss +50 -50
- package/dist/data/sorter/Sorter.demo.svelte +62 -62
- package/dist/data/sorter/Sorter.svelte +80 -80
- package/dist/data/sorter/Sorterer.svelte +27 -27
- package/dist/data/sorter/sorterer.scss +11 -11
- package/dist/index.d.ts +46 -47
- package/dist/index.js +46 -47
- package/dist/navigation/drawer/Drawer.demo.svelte +52 -52
- package/dist/navigation/drawer/Drawer.svelte +163 -163
- package/dist/navigation/drawer/drawer.scss +69 -69
- package/dist/navigation/tabs/Tabs.demo.svelte +83 -83
- package/dist/navigation/tabs/Tabs.preview.svelte +22 -22
- package/dist/navigation/tabs/Tabs.svelte +158 -158
- package/dist/navigation/tabs/tabs.scss +92 -92
- package/dist/slotui-css/slotui-css.css +288 -288
- package/dist/slotui-css/slotui-min-css.css +288 -288
- package/dist/styles/slotui-mixins.scss +168 -168
- package/dist/styles/slotui-presets.scss +56 -56
- package/dist/styles/slotuisheet/SlotuiSheet.svelte +36 -36
- package/dist/styles/slotuisheet/SlotyuiSheet.demo.svelte +28 -28
- package/dist/styles/slotuisheet/sheetConfig.scss +7 -7
- package/dist/styles/slotuisheet/slotui-sheet.scss +192 -192
- package/dist/styles/slotuisheet/stylesheet-container.scss +147 -147
- package/dist/styles/slotuisheet/stylesheet.scss +156 -156
- package/dist/types/slotui-ambient.d.ts +27 -27
- package/dist/ui/bootstrapp/BootStrApp.svelte +92 -92
- package/dist/ui/chromeFrame/ChromeFrame.svelte +43 -43
- package/dist/ui/chromeFrame/ChromeFrameButtonList.svelte +33 -33
- package/dist/ui/chromeFrame/ChromeFrameList.svelte +106 -106
- package/dist/ui/chromeFrame/chrome-frame.scss +34 -34
- package/dist/ui/frame/Frame.demo.svelte +48 -48
- package/dist/ui/frame/Frame.svelte +90 -90
- package/dist/ui/frame/frame.scss +46 -46
- package/dist/ui/login/Login.demo.svelte +62 -62
- package/dist/ui/login/Login.svelte +102 -102
- package/dist/ui/marquee/Marquee.demo.svelte +33 -33
- package/dist/ui/marquee/Marquee.svelte +97 -97
- package/dist/ui/marquee/marquee.scss +34 -34
- package/dist/ui/menu/Menu.svelte +9 -9
- package/dist/ui/menu/MenuItem.svelte +9 -9
- package/dist/ui/menu/MenuTitle.svelte +10 -10
- package/dist/ui/menu/menu.scss +61 -61
- package/dist/ui/menuList/MenuList.demo.svelte +73 -73
- package/dist/ui/menuList/MenuList.svelte +143 -143
- package/dist/ui/menuList/MenuListItem.svelte +134 -134
- package/dist/ui/menuList/MenuListTitle.svelte +10 -10
- package/dist/ui/menuList/menu-list.scss +120 -120
- package/dist/ui/panel/Panel.demo.svelte +169 -169
- package/dist/ui/panel/Panel.svelte +96 -96
- package/dist/ui/panel/PanelGrid.svelte +62 -62
- package/dist/ui/panel/PanelSlide.svelte +156 -156
- package/dist/ui/panel/Paneler.svelte +63 -63
- package/dist/ui/panel/panel.scss +32 -32
- package/dist/ui/popper/Popper.demo.svelte +92 -92
- package/dist/ui/popper/Popper.svelte +160 -160
- package/dist/ui/popper/popper.scss +108 -108
- package/dist/ui/preview/Preview.svelte +41 -41
- package/dist/ui/serviceBox/ServiceBox.svelte +24 -24
- package/dist/ui/startMenu/BootMenu.svelte +102 -102
- package/dist/ui/startMenu/boot-menu.scss +86 -86
- package/dist/ui/taskbar/TaskBarContent.svelte +20 -20
- package/dist/ui/taskbar/Taskbar.svelte +26 -26
- package/dist/ui/taskbar/taskbar.scss +28 -28
- package/dist/ui/themeswitcher/ThemeSwitcher.svelte +18 -18
- package/dist/ui/toast/Toast.demo.svelte +19 -19
- package/dist/ui/toast/Toast.svelte +60 -60
- package/dist/ui/toast/Toaster.svelte +18 -18
- package/dist/ui/toggleBar/ToggleBar.demo.svelte +114 -114
- package/dist/ui/toggleBar/ToggleBar.svelte +58 -58
- package/dist/ui/toggleBar/ToggleBar.svelte.d.ts +1 -1
- package/dist/ui/toggleBar/toggle-bar.scss +45 -45
- package/dist/ui/toolBar/ToolBar.demo.svelte +98 -98
- package/dist/ui/toolBar/ToolBar.svelte +30 -30
- package/dist/ui/toolBar/toolbar.scss +32 -32
- package/dist/ui/tree/Tree.demo.svelte +84 -84
- package/dist/ui/tree/Tree.preview.svelte +19 -19
- package/dist/ui/tree/Tree.svelte +182 -182
- package/dist/ui/tree/tree.scss +38 -38
- package/dist/ui/window/Window.demo.svelte +111 -111
- package/dist/ui/window/Window.svelte +177 -177
- package/dist/ui/window/window.scss +66 -66
- package/dist/utils/content/Content.svelte +78 -78
- package/dist/utils/contextRooter/ContextRooter.demo.svelte +33 -33
- package/dist/utils/contextRooter/ContextRooter.svelte +6 -6
- package/dist/utils/css/Css.demo.svelte +5 -5
- package/dist/utils/css/Css.svelte +64 -64
- package/dist/utils/effects/transitions.js +6 -6
- package/dist/utils/looper/Looper.demo.svelte +36 -36
- package/dist/utils/looper/Looper.svelte +47 -47
- package/dist/utils/slotted/Slotted.svelte +21 -21
- package/dist/utils/stylesheet/StyleSheet.demo.svelte +28 -28
- package/dist/utils/stylesheet/StyleSheet.svelte +30 -30
- package/dist/utils/stylesheet/containerConfig.scss +7 -7
- package/dist/utils/stylesheet/stylesheet.scss +147 -147
- package/dist/utils/uses/sx4u/sx4uPreprocess.js +34 -34
- package/package.json +4 -4
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import Icon from '../icon/Icon.svelte';
|
|
3
|
-
import type { Snippet } from 'svelte';
|
|
4
|
-
import DemoerCode from './DemoerCode.svelte';
|
|
5
|
-
import type { CommonProps } from '../../types/index.js';
|
|
6
|
-
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
7
|
-
import type { DemoPageProps } from './types.js';
|
|
8
|
-
|
|
9
|
-
let {
|
|
10
|
-
title = '',
|
|
11
|
-
code = '',
|
|
12
|
-
subTitle,
|
|
13
|
-
component,
|
|
14
|
-
children,
|
|
15
|
-
demoerCode
|
|
16
|
-
}: DemoPageProps = $props();
|
|
17
|
-
|
|
18
|
-
let codeT = subTitle ? subTitle : `component ${component} demo ${title?.toLowerCase()}`;
|
|
19
|
-
</script>
|
|
20
|
-
|
|
21
|
-
<div>
|
|
22
|
-
<div class="pad-l-2">
|
|
23
|
-
{#if code || demoerCode}
|
|
24
|
-
<div>
|
|
25
|
-
<!-- {@render demoerCode?.()} -->
|
|
26
|
-
<Slotted child={demoerCode}>
|
|
27
|
-
<DemoerCode {code} />
|
|
28
|
-
</Slotted>
|
|
29
|
-
</div>
|
|
30
|
-
{/if}
|
|
31
|
-
<h6 class="border-b w-medium pad flex-h flex-align-middle gap-small">
|
|
32
|
-
<Icon icon="cib:svelte" /> playground
|
|
33
|
-
</h6>
|
|
34
|
-
<div class="os-rel">
|
|
35
|
-
{#if children}
|
|
36
|
-
{@render children?.()}
|
|
37
|
-
{/if}
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import Icon from '../icon/Icon.svelte';
|
|
3
|
+
import type { Snippet } from 'svelte';
|
|
4
|
+
import DemoerCode from './DemoerCode.svelte';
|
|
5
|
+
import type { CommonProps } from '../../types/index.js';
|
|
6
|
+
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
7
|
+
import type { DemoPageProps } from './types.js';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
title = '',
|
|
11
|
+
code = '',
|
|
12
|
+
subTitle,
|
|
13
|
+
component,
|
|
14
|
+
children,
|
|
15
|
+
demoerCode
|
|
16
|
+
}: DemoPageProps = $props();
|
|
17
|
+
|
|
18
|
+
let codeT = subTitle ? subTitle : `component ${component} demo ${title?.toLowerCase()}`;
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<div>
|
|
22
|
+
<div class="pad-l-2">
|
|
23
|
+
{#if code || demoerCode}
|
|
24
|
+
<div>
|
|
25
|
+
<!-- {@render demoerCode?.()} -->
|
|
26
|
+
<Slotted child={demoerCode}>
|
|
27
|
+
<DemoerCode {code} />
|
|
28
|
+
</Slotted>
|
|
29
|
+
</div>
|
|
30
|
+
{/if}
|
|
31
|
+
<h6 class="border-b w-medium pad flex-h flex-align-middle gap-small">
|
|
32
|
+
<Icon icon="cib:svelte" /> playground
|
|
33
|
+
</h6>
|
|
34
|
+
<div class="os-rel">
|
|
35
|
+
{#if children}
|
|
36
|
+
{@render children?.()}
|
|
37
|
+
{/if}
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
@@ -1,170 +1,170 @@
|
|
|
1
|
-
<script lang="ts" generics="T=Record<string, any>">
|
|
2
|
-
import Button from '../../controls/button/Button.svelte';
|
|
3
|
-
import Icon from '../icon/Icon.svelte';
|
|
4
|
-
import Switch from '../../controls/switch/Switch.svelte';
|
|
5
|
-
import type { DemoerProps, DemoerStoryProps } from './types.js';
|
|
6
|
-
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
7
|
-
import { densePreset, flowPreset, uiPresets } from '../../types/index.js';
|
|
8
|
-
import IconButton from '../../controls/button/IconButton.svelte';
|
|
9
|
-
|
|
10
|
-
let {
|
|
11
|
-
title,
|
|
12
|
-
parameters = $bindable<DemoerStoryProps<T>>({} as DemoerStoryProps<T>),
|
|
13
|
-
component = $bindable(),
|
|
14
|
-
componentArgs = $bindable<T>({} as T),
|
|
15
|
-
multiple = {},
|
|
16
|
-
children
|
|
17
|
-
}: DemoerProps<T> = $props();
|
|
18
|
-
|
|
19
|
-
let activeParams: T = $state({ ...componentArgs });
|
|
20
|
-
|
|
21
|
-
</script>
|
|
22
|
-
|
|
23
|
-
{#if title}
|
|
24
|
-
<div class="pad">{title}</div>
|
|
25
|
-
{/if}
|
|
26
|
-
|
|
27
|
-
{#snippet main({ parameter, values })}
|
|
28
|
-
{#each parameters?.[parameter]?.values ?? values ?? [] as value}
|
|
29
|
-
{@const finalValue = value === undefined ? 'unset' : value}
|
|
30
|
-
<Button
|
|
31
|
-
width="small"
|
|
32
|
-
variant="flat"
|
|
33
|
-
showChip={activeParams[parameter] === value}
|
|
34
|
-
onclick={() => {
|
|
35
|
-
activeParams[parameter] = value;
|
|
36
|
-
}}
|
|
37
|
-
>
|
|
38
|
-
{finalValue}
|
|
39
|
-
</Button>
|
|
40
|
-
<div class="border-r pad-tb-1"></div>
|
|
41
|
-
{/each}
|
|
42
|
-
{/snippet}
|
|
43
|
-
{#snippet boolean({ parameter })}
|
|
44
|
-
<Switch
|
|
45
|
-
name={crypto.randomUUID()}
|
|
46
|
-
checked={activeParams[parameter]}
|
|
47
|
-
onChange={(val, metadata) => {
|
|
48
|
-
activeParams[parameter] = val;
|
|
49
|
-
}}
|
|
50
|
-
/>
|
|
51
|
-
{/snippet}
|
|
52
|
-
{#snippet color({ parameter, values })}
|
|
53
|
-
<input
|
|
54
|
-
type="color"
|
|
55
|
-
onchange={(event) => {
|
|
56
|
-
activeParams[parameter] = event.target.value;
|
|
57
|
-
}}
|
|
58
|
-
/>
|
|
59
|
-
{/snippet}
|
|
60
|
-
{#snippet icon({ parameter, values })}
|
|
61
|
-
{#each ['fa-solid:tree', 'mdi:window', 'mdi:user', 'mdi:close', 'search'] as red}
|
|
62
|
-
<IconButton
|
|
63
|
-
icon={red}
|
|
64
|
-
title={red}
|
|
65
|
-
showChip={activeParams[parameter] === red}
|
|
66
|
-
onclick={() => {
|
|
67
|
-
activeParams[parameter] = red;
|
|
68
|
-
}}
|
|
69
|
-
/>
|
|
70
|
-
{/each}
|
|
71
|
-
{/snippet}
|
|
72
|
-
|
|
73
|
-
<div class="flex-v gap-small">
|
|
74
|
-
<div class="pad-l-8">
|
|
75
|
-
<h6 class="border-b w-medium pad flex-h flex-align-middle gap-small">
|
|
76
|
-
<Icon icon="cib:svelte" /> component
|
|
77
|
-
</h6>
|
|
78
|
-
<div class="pad-2">
|
|
79
|
-
{#if Object.entries(multiple).length > 0}
|
|
80
|
-
<div class="flex-h flex-align-middle flex-wrap gap-medium">
|
|
81
|
-
{#each Object.keys(multiple) as tiple}
|
|
82
|
-
{#each Object.keys(multiple[tiple]) as params}
|
|
83
|
-
<div>
|
|
84
|
-
<Slotted
|
|
85
|
-
child={children}
|
|
86
|
-
slotArgs={{
|
|
87
|
-
activeParams: {
|
|
88
|
-
...activeParams,
|
|
89
|
-
...multiple[tiple][params]
|
|
90
|
-
}
|
|
91
|
-
}}
|
|
92
|
-
/>
|
|
93
|
-
<svelte:component this={component} {componentArgs} {...multiple[tiple][params]} />
|
|
94
|
-
|
|
95
|
-
<div class="pad-2 text-center">{tiple} {params}</div>
|
|
96
|
-
</div>
|
|
97
|
-
<div class="border-r pad-tb-4" />
|
|
98
|
-
{/each}
|
|
99
|
-
{/each}
|
|
100
|
-
</div>
|
|
101
|
-
{:else if component}
|
|
102
|
-
<!-- <svelte:component this={component} {...componentArgs} {...activeParams} /> -->
|
|
103
|
-
{:else}
|
|
104
|
-
{#key activeParams}
|
|
105
|
-
{@render children?.({ activeParams })}
|
|
106
|
-
{/key}
|
|
107
|
-
{/if}
|
|
108
|
-
</div>
|
|
109
|
-
<h6 class="border-b w-medium pad flex-h flex-align-middle gap-small">
|
|
110
|
-
<Icon icon="clarity:command-line" />
|
|
111
|
-
parameters
|
|
112
|
-
</h6>
|
|
113
|
-
<div class=" pad flex-h flex-wrap flex-align-middle gap-small">
|
|
114
|
-
<table style="width:100%;table-layout:auto;border-spacing: 0.5rem">
|
|
115
|
-
<tbody>
|
|
116
|
-
{#each Object.keys(parameters) as parameter}
|
|
117
|
-
{#if parameters?.[parameter]?.private !== true}
|
|
118
|
-
<tr>
|
|
119
|
-
<td class="w-medium-min text-bold">{parameter}</td>
|
|
120
|
-
<td>{parameters?.[parameter]?.type} </td>
|
|
121
|
-
<td>
|
|
122
|
-
<div class="flex flex-align-middle gap-small w-mid-min flex-wrap">
|
|
123
|
-
{#if parameters?.[parameter]?.type === 'boolean'}
|
|
124
|
-
{@render boolean({ parameter, values: [false, true] })}
|
|
125
|
-
{:else if parameters?.[parameter]?.type === 'color'}
|
|
126
|
-
{@render color({ parameter, values: uiPresets.theme })}
|
|
127
|
-
{:else if parameters?.[parameter]?.type === 'icon'}
|
|
128
|
-
{@render icon({ parameter })}
|
|
129
|
-
{:else if parameters?.[parameter]?.type === 'dense'}
|
|
130
|
-
{@render main({ parameter, values: uiPresets.dense })}
|
|
131
|
-
{:else if parameters?.[parameter]?.type === 'flow'}
|
|
132
|
-
{@render main({ parameter, values: uiPresets.flow })}
|
|
133
|
-
{:else if parameters?.[parameter]?.type === 'buttonVariant'}
|
|
134
|
-
{@render main({ parameter, values: uiPresets.buttonVariant })}
|
|
135
|
-
{:else if parameters?.[parameter]?.type === 'iconSize'}
|
|
136
|
-
{@render main({ parameter, values: uiPresets.iconSize })}
|
|
137
|
-
{:else if parameters?.[parameter]?.type === 'width'}
|
|
138
|
-
{@render main({ parameter, values: uiPresets.width })}
|
|
139
|
-
{:else if parameters?.[parameter]?.type === 'status'}
|
|
140
|
-
{@render main({ parameter, values: uiPresets.status })}
|
|
141
|
-
{:else if parameters?.[parameter]?.type === 'stickyPosition'}
|
|
142
|
-
{@render main({ parameter, values: uiPresets.stickyPosition })}
|
|
143
|
-
{:else if parameters?.[parameter]?.type === 'position'}
|
|
144
|
-
{@render main({ parameter, values: uiPresets.position })}
|
|
145
|
-
{:else if parameters?.[parameter]?.type === 'levels'}
|
|
146
|
-
{@render main({ parameter, values: uiPresets.levels })}
|
|
147
|
-
{:else if parameters?.[parameter]?.type === 'theme'}
|
|
148
|
-
{@render main({ parameter, values: uiPresets.theme })}
|
|
149
|
-
{:else if parameters?.[parameter]?.type === 'direction'}
|
|
150
|
-
{@render main({ parameter, values: uiPresets.orientation })}
|
|
151
|
-
{:else if parameters?.[parameter]?.type === 'elevation'}
|
|
152
|
-
{@render main({ parameter, values: uiPresets.elevation })}
|
|
153
|
-
{:else if parameters?.[parameter]?.type === 'tall'}
|
|
154
|
-
{@render main({ parameter, values: uiPresets.tall })}
|
|
155
|
-
{:else if parameters?.[parameter]?.type === 'gutter'}
|
|
156
|
-
{@render main({ parameter, values: uiPresets.gutter })}
|
|
157
|
-
{:else}
|
|
158
|
-
<!-- array, default -->
|
|
159
|
-
{@render main({ parameter })}
|
|
160
|
-
{/if}
|
|
161
|
-
</div>
|
|
162
|
-
</td>
|
|
163
|
-
</tr>
|
|
164
|
-
{/if}
|
|
165
|
-
{/each}
|
|
166
|
-
</tbody>
|
|
167
|
-
</table>
|
|
168
|
-
</div>
|
|
169
|
-
</div>
|
|
170
|
-
</div>
|
|
1
|
+
<script lang="ts" generics="T=Record<string, any>">
|
|
2
|
+
import Button from '../../controls/button/Button.svelte';
|
|
3
|
+
import Icon from '../icon/Icon.svelte';
|
|
4
|
+
import Switch from '../../controls/switch/Switch.svelte';
|
|
5
|
+
import type { DemoerProps, DemoerStoryProps } from './types.js';
|
|
6
|
+
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
7
|
+
import { densePreset, flowPreset, uiPresets } from '../../types/index.js';
|
|
8
|
+
import IconButton from '../../controls/button/IconButton.svelte';
|
|
9
|
+
|
|
10
|
+
let {
|
|
11
|
+
title,
|
|
12
|
+
parameters = $bindable<DemoerStoryProps<T>>({} as DemoerStoryProps<T>),
|
|
13
|
+
component = $bindable(),
|
|
14
|
+
componentArgs = $bindable<T>({} as T),
|
|
15
|
+
multiple = {},
|
|
16
|
+
children
|
|
17
|
+
}: DemoerProps<T> = $props();
|
|
18
|
+
|
|
19
|
+
let activeParams: T = $state({ ...componentArgs });
|
|
20
|
+
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
{#if title}
|
|
24
|
+
<div class="pad">{title}</div>
|
|
25
|
+
{/if}
|
|
26
|
+
|
|
27
|
+
{#snippet main({ parameter, values })}
|
|
28
|
+
{#each parameters?.[parameter]?.values ?? values ?? [] as value}
|
|
29
|
+
{@const finalValue = value === undefined ? 'unset' : value}
|
|
30
|
+
<Button
|
|
31
|
+
width="small"
|
|
32
|
+
variant="flat"
|
|
33
|
+
showChip={activeParams[parameter] === value}
|
|
34
|
+
onclick={() => {
|
|
35
|
+
activeParams[parameter] = value;
|
|
36
|
+
}}
|
|
37
|
+
>
|
|
38
|
+
{finalValue}
|
|
39
|
+
</Button>
|
|
40
|
+
<div class="border-r pad-tb-1"></div>
|
|
41
|
+
{/each}
|
|
42
|
+
{/snippet}
|
|
43
|
+
{#snippet boolean({ parameter })}
|
|
44
|
+
<Switch
|
|
45
|
+
name={crypto.randomUUID()}
|
|
46
|
+
checked={activeParams[parameter]}
|
|
47
|
+
onChange={(val, metadata) => {
|
|
48
|
+
activeParams[parameter] = val;
|
|
49
|
+
}}
|
|
50
|
+
/>
|
|
51
|
+
{/snippet}
|
|
52
|
+
{#snippet color({ parameter, values })}
|
|
53
|
+
<input
|
|
54
|
+
type="color"
|
|
55
|
+
onchange={(event) => {
|
|
56
|
+
activeParams[parameter] = event.target.value;
|
|
57
|
+
}}
|
|
58
|
+
/>
|
|
59
|
+
{/snippet}
|
|
60
|
+
{#snippet icon({ parameter, values })}
|
|
61
|
+
{#each ['fa-solid:tree', 'mdi:window', 'mdi:user', 'mdi:close', 'search'] as red}
|
|
62
|
+
<IconButton
|
|
63
|
+
icon={red}
|
|
64
|
+
title={red}
|
|
65
|
+
showChip={activeParams[parameter] === red}
|
|
66
|
+
onclick={() => {
|
|
67
|
+
activeParams[parameter] = red;
|
|
68
|
+
}}
|
|
69
|
+
/>
|
|
70
|
+
{/each}
|
|
71
|
+
{/snippet}
|
|
72
|
+
|
|
73
|
+
<div class="flex-v gap-small">
|
|
74
|
+
<div class="pad-l-8">
|
|
75
|
+
<h6 class="border-b w-medium pad flex-h flex-align-middle gap-small">
|
|
76
|
+
<Icon icon="cib:svelte" /> component
|
|
77
|
+
</h6>
|
|
78
|
+
<div class="pad-2">
|
|
79
|
+
{#if Object.entries(multiple).length > 0}
|
|
80
|
+
<div class="flex-h flex-align-middle flex-wrap gap-medium">
|
|
81
|
+
{#each Object.keys(multiple) as tiple}
|
|
82
|
+
{#each Object.keys(multiple[tiple]) as params}
|
|
83
|
+
<div>
|
|
84
|
+
<Slotted
|
|
85
|
+
child={children}
|
|
86
|
+
slotArgs={{
|
|
87
|
+
activeParams: {
|
|
88
|
+
...activeParams,
|
|
89
|
+
...multiple[tiple][params]
|
|
90
|
+
}
|
|
91
|
+
}}
|
|
92
|
+
/>
|
|
93
|
+
<svelte:component this={component} {componentArgs} {...multiple[tiple][params]} />
|
|
94
|
+
|
|
95
|
+
<div class="pad-2 text-center">{tiple} {params}</div>
|
|
96
|
+
</div>
|
|
97
|
+
<div class="border-r pad-tb-4" />
|
|
98
|
+
{/each}
|
|
99
|
+
{/each}
|
|
100
|
+
</div>
|
|
101
|
+
{:else if component}
|
|
102
|
+
<!-- <svelte:component this={component} {...componentArgs} {...activeParams} /> -->
|
|
103
|
+
{:else}
|
|
104
|
+
{#key activeParams}
|
|
105
|
+
{@render children?.({ activeParams })}
|
|
106
|
+
{/key}
|
|
107
|
+
{/if}
|
|
108
|
+
</div>
|
|
109
|
+
<h6 class="border-b w-medium pad flex-h flex-align-middle gap-small">
|
|
110
|
+
<Icon icon="clarity:command-line" />
|
|
111
|
+
parameters
|
|
112
|
+
</h6>
|
|
113
|
+
<div class=" pad flex-h flex-wrap flex-align-middle gap-small">
|
|
114
|
+
<table style="width:100%;table-layout:auto;border-spacing: 0.5rem">
|
|
115
|
+
<tbody>
|
|
116
|
+
{#each Object.keys(parameters) as parameter}
|
|
117
|
+
{#if parameters?.[parameter]?.private !== true}
|
|
118
|
+
<tr>
|
|
119
|
+
<td class="w-medium-min text-bold">{parameter}</td>
|
|
120
|
+
<td>{parameters?.[parameter]?.type} </td>
|
|
121
|
+
<td>
|
|
122
|
+
<div class="flex flex-align-middle gap-small w-mid-min flex-wrap">
|
|
123
|
+
{#if parameters?.[parameter]?.type === 'boolean'}
|
|
124
|
+
{@render boolean({ parameter, values: [false, true] })}
|
|
125
|
+
{:else if parameters?.[parameter]?.type === 'color'}
|
|
126
|
+
{@render color({ parameter, values: uiPresets.theme })}
|
|
127
|
+
{:else if parameters?.[parameter]?.type === 'icon'}
|
|
128
|
+
{@render icon({ parameter })}
|
|
129
|
+
{:else if parameters?.[parameter]?.type === 'dense'}
|
|
130
|
+
{@render main({ parameter, values: uiPresets.dense })}
|
|
131
|
+
{:else if parameters?.[parameter]?.type === 'flow'}
|
|
132
|
+
{@render main({ parameter, values: uiPresets.flow })}
|
|
133
|
+
{:else if parameters?.[parameter]?.type === 'buttonVariant'}
|
|
134
|
+
{@render main({ parameter, values: uiPresets.buttonVariant })}
|
|
135
|
+
{:else if parameters?.[parameter]?.type === 'iconSize'}
|
|
136
|
+
{@render main({ parameter, values: uiPresets.iconSize })}
|
|
137
|
+
{:else if parameters?.[parameter]?.type === 'width'}
|
|
138
|
+
{@render main({ parameter, values: uiPresets.width })}
|
|
139
|
+
{:else if parameters?.[parameter]?.type === 'status'}
|
|
140
|
+
{@render main({ parameter, values: uiPresets.status })}
|
|
141
|
+
{:else if parameters?.[parameter]?.type === 'stickyPosition'}
|
|
142
|
+
{@render main({ parameter, values: uiPresets.stickyPosition })}
|
|
143
|
+
{:else if parameters?.[parameter]?.type === 'position'}
|
|
144
|
+
{@render main({ parameter, values: uiPresets.position })}
|
|
145
|
+
{:else if parameters?.[parameter]?.type === 'levels'}
|
|
146
|
+
{@render main({ parameter, values: uiPresets.levels })}
|
|
147
|
+
{:else if parameters?.[parameter]?.type === 'theme'}
|
|
148
|
+
{@render main({ parameter, values: uiPresets.theme })}
|
|
149
|
+
{:else if parameters?.[parameter]?.type === 'direction'}
|
|
150
|
+
{@render main({ parameter, values: uiPresets.orientation })}
|
|
151
|
+
{:else if parameters?.[parameter]?.type === 'elevation'}
|
|
152
|
+
{@render main({ parameter, values: uiPresets.elevation })}
|
|
153
|
+
{:else if parameters?.[parameter]?.type === 'tall'}
|
|
154
|
+
{@render main({ parameter, values: uiPresets.tall })}
|
|
155
|
+
{:else if parameters?.[parameter]?.type === 'gutter'}
|
|
156
|
+
{@render main({ parameter, values: uiPresets.gutter })}
|
|
157
|
+
{:else}
|
|
158
|
+
<!-- array, default -->
|
|
159
|
+
{@render main({ parameter })}
|
|
160
|
+
{/if}
|
|
161
|
+
</div>
|
|
162
|
+
</td>
|
|
163
|
+
</tr>
|
|
164
|
+
{/if}
|
|
165
|
+
{/each}
|
|
166
|
+
</tbody>
|
|
167
|
+
</table>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import Prism from 'prismjs';
|
|
3
|
-
import 'prismjs/plugins/normalize-whitespace/prism-normalize-whitespace';
|
|
4
|
-
import 'prism-svelte';
|
|
5
|
-
import Icon from '../icon/Icon.svelte';
|
|
6
|
-
import type { Snippet } from 'svelte';
|
|
7
|
-
|
|
8
|
-
type DemoerCodeProps = {
|
|
9
|
-
title?: string;
|
|
10
|
-
code: string;
|
|
11
|
-
subTitle?: string;
|
|
12
|
-
component?: string;
|
|
13
|
-
demoerCode?: Snippet;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
let { title = undefined, code = '', subTitle, component, demoerCode }: DemoerCodeProps = $props();
|
|
17
|
-
|
|
18
|
-
/* Prism.plugins.NormalizeWhitespace.setDefaults({
|
|
19
|
-
'remove-trailing': true,
|
|
20
|
-
'remove-indent': true,
|
|
21
|
-
'left-trim': false,
|
|
22
|
-
'right-trim': false,
|
|
23
|
-
'break-lines': 80,
|
|
24
|
-
'remove-initial-line-feed': true,
|
|
25
|
-
'tabs-to-spaces': 2
|
|
26
|
-
}); */
|
|
27
|
-
|
|
28
|
-
const highlighted = Prism.highlight(code, Prism.languages.svelte, 'svelte');
|
|
29
|
-
</script>
|
|
30
|
-
|
|
31
|
-
<div>
|
|
32
|
-
{#if code || demoerCode}
|
|
33
|
-
<h6 class="border-b w-medium pad flex-h flex-align-middle gap-small">
|
|
34
|
-
<Icon icon="mdi:code" /> code
|
|
35
|
-
</h6>
|
|
36
|
-
{#if title}<div class="text-bold pad pad-l-4">- {title}</div>{/if}
|
|
37
|
-
<div class="marg-l-2 dsp-block-inline radius-small pad-ii-2">
|
|
38
|
-
{#if demoerCode}
|
|
39
|
-
{@render demoerCode()}
|
|
40
|
-
{:else}
|
|
41
|
-
<pre><code lang="language-svelte">{@html highlighted}</code></pre>
|
|
42
|
-
{/if}
|
|
43
|
-
</div>
|
|
44
|
-
{/if}
|
|
45
|
-
</div>
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import Prism from 'prismjs';
|
|
3
|
+
import 'prismjs/plugins/normalize-whitespace/prism-normalize-whitespace';
|
|
4
|
+
import 'prism-svelte';
|
|
5
|
+
import Icon from '../icon/Icon.svelte';
|
|
6
|
+
import type { Snippet } from 'svelte';
|
|
7
|
+
|
|
8
|
+
type DemoerCodeProps = {
|
|
9
|
+
title?: string;
|
|
10
|
+
code: string;
|
|
11
|
+
subTitle?: string;
|
|
12
|
+
component?: string;
|
|
13
|
+
demoerCode?: Snippet;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
let { title = undefined, code = '', subTitle, component, demoerCode }: DemoerCodeProps = $props();
|
|
17
|
+
|
|
18
|
+
/* Prism.plugins.NormalizeWhitespace.setDefaults({
|
|
19
|
+
'remove-trailing': true,
|
|
20
|
+
'remove-indent': true,
|
|
21
|
+
'left-trim': false,
|
|
22
|
+
'right-trim': false,
|
|
23
|
+
'break-lines': 80,
|
|
24
|
+
'remove-initial-line-feed': true,
|
|
25
|
+
'tabs-to-spaces': 2
|
|
26
|
+
}); */
|
|
27
|
+
|
|
28
|
+
const highlighted = Prism.highlight(code, Prism.languages.svelte, 'svelte');
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<div>
|
|
32
|
+
{#if code || demoerCode}
|
|
33
|
+
<h6 class="border-b w-medium pad flex-h flex-align-middle gap-small">
|
|
34
|
+
<Icon icon="mdi:code" /> code
|
|
35
|
+
</h6>
|
|
36
|
+
{#if title}<div class="text-bold pad pad-l-4">- {title}</div>{/if}
|
|
37
|
+
<div class="marg-l-2 dsp-block-inline radius-small pad-ii-2">
|
|
38
|
+
{#if demoerCode}
|
|
39
|
+
{@render demoerCode()}
|
|
40
|
+
{:else}
|
|
41
|
+
<pre><code lang="language-svelte">{@html highlighted}</code></pre>
|
|
42
|
+
{/if}
|
|
43
|
+
</div>
|
|
44
|
+
{/if}
|
|
45
|
+
</div>
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
<script lang="ts" generics="T=Data">
|
|
2
|
-
//import { slotuiCatalog } from '../../../sitedata/slotuiCatalog.js';
|
|
3
|
-
import { componentCite } from '../../componentCite.js';
|
|
4
|
-
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
5
|
-
import type { Snippet } from 'svelte';
|
|
6
|
-
import type { Data } from '../../types/index.js';
|
|
7
|
-
|
|
8
|
-
let {
|
|
9
|
-
component,
|
|
10
|
-
cite = componentCite?.[component.toLowerCase()] ?? '',
|
|
11
|
-
code,
|
|
12
|
-
title = '',
|
|
13
|
-
componentArgs = {} as T,
|
|
14
|
-
parameters = {} as T,
|
|
15
|
-
children
|
|
16
|
-
}: {
|
|
17
|
-
component: string;
|
|
18
|
-
/** parameters values for the component */
|
|
19
|
-
parameters?: T;
|
|
20
|
-
/** component demo arguments for props */
|
|
21
|
-
componentArgs?: T;
|
|
22
|
-
cite?: string;
|
|
23
|
-
/** code sample */
|
|
24
|
-
code?: string;
|
|
25
|
-
title?: string;
|
|
26
|
-
/** use for several DemoPage */
|
|
27
|
-
children: Snippet;
|
|
28
|
-
} = $props();
|
|
29
|
-
|
|
30
|
-
let citation = componentCite?.[component.toLowerCase()]?.cite ?? '';
|
|
31
|
-
let author = componentCite?.[component.toLowerCase()]?.author ?? '';
|
|
32
|
-
|
|
33
|
-
// const compDet = '';Object.values(slotuiCatalog).find((x) => x.name === component);
|
|
34
|
-
</script>
|
|
35
|
-
|
|
36
|
-
<div class="flex-v gap-large w-full">
|
|
37
|
-
<div class="flex-v gap-small flex-align-middle">
|
|
38
|
-
<h5>{`<${component} />`}</h5>
|
|
39
|
-
<!-- <span>@medyll/slotted/{compDet?.group}/{compDet?.code}.svelte</span> -->
|
|
40
|
-
</div>
|
|
41
|
-
<cite><p>"{@html citation}"<br />{@html author}</p></cite>
|
|
42
|
-
{#if children}
|
|
43
|
-
<div class="flex-v gap-medium">
|
|
44
|
-
{component} svelte component
|
|
45
|
-
<div class="marg-l-4">
|
|
46
|
-
<Slotted child={children} />
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
{/if}
|
|
50
|
-
</div>
|
|
1
|
+
<script lang="ts" generics="T=Data">
|
|
2
|
+
//import { slotuiCatalog } from '../../../sitedata/slotuiCatalog.js';
|
|
3
|
+
import { componentCite } from '../../componentCite.js';
|
|
4
|
+
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
5
|
+
import type { Snippet } from 'svelte';
|
|
6
|
+
import type { Data } from '../../types/index.js';
|
|
7
|
+
|
|
8
|
+
let {
|
|
9
|
+
component,
|
|
10
|
+
cite = componentCite?.[component.toLowerCase()] ?? '',
|
|
11
|
+
code,
|
|
12
|
+
title = '',
|
|
13
|
+
componentArgs = {} as T,
|
|
14
|
+
parameters = {} as T,
|
|
15
|
+
children
|
|
16
|
+
}: {
|
|
17
|
+
component: string;
|
|
18
|
+
/** parameters values for the component */
|
|
19
|
+
parameters?: T;
|
|
20
|
+
/** component demo arguments for props */
|
|
21
|
+
componentArgs?: T;
|
|
22
|
+
cite?: string;
|
|
23
|
+
/** code sample */
|
|
24
|
+
code?: string;
|
|
25
|
+
title?: string;
|
|
26
|
+
/** use for several DemoPage */
|
|
27
|
+
children: Snippet;
|
|
28
|
+
} = $props();
|
|
29
|
+
|
|
30
|
+
let citation = componentCite?.[component.toLowerCase()]?.cite ?? '';
|
|
31
|
+
let author = componentCite?.[component.toLowerCase()]?.author ?? '';
|
|
32
|
+
|
|
33
|
+
// const compDet = '';Object.values(slotuiCatalog).find((x) => x.name === component);
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
<div class="flex-v gap-large w-full">
|
|
37
|
+
<div class="flex-v gap-small flex-align-middle">
|
|
38
|
+
<h5>{`<${component} />`}</h5>
|
|
39
|
+
<!-- <span>@medyll/slotted/{compDet?.group}/{compDet?.code}.svelte</span> -->
|
|
40
|
+
</div>
|
|
41
|
+
<cite><p>"{@html citation}"<br />{@html author}</p></cite>
|
|
42
|
+
{#if children}
|
|
43
|
+
<div class="flex-v gap-medium">
|
|
44
|
+
{component} svelte component
|
|
45
|
+
<div class="marg-l-4">
|
|
46
|
+
<Slotted child={children} />
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
{/if}
|
|
50
|
+
</div>
|