@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,92 +1,92 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import ChromeFrameButtonList from '../chromeFrame/ChromeFrameButtonList.svelte';
|
|
3
|
-
import Frame from '../frame/Frame.svelte';
|
|
4
|
-
import Login from '../login/Login.svelte';
|
|
5
|
-
import Taskbar from '../taskbar/Taskbar.svelte';
|
|
6
|
-
|
|
7
|
-
import { link, push } from 'svelte-spa-router';
|
|
8
|
-
|
|
9
|
-
import Drawer from '../../navigation/drawer/Drawer.svelte';
|
|
10
|
-
import TopBar from '../toggleBar/ToggleBar.svelte';
|
|
11
|
-
|
|
12
|
-
import { page } from '$app/stores';
|
|
13
|
-
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
14
|
-
import MenuListItem from '../menuList/MenuListItem.svelte';
|
|
15
|
-
import MenuList from '../menuList/MenuList.svelte';
|
|
16
|
-
|
|
17
|
-
let { children, ...rest } = $props();
|
|
18
|
-
|
|
19
|
-
function signOut() {
|
|
20
|
-
push('/#login');
|
|
21
|
-
}
|
|
22
|
-
</script>
|
|
23
|
-
|
|
24
|
-
<svelte:head>
|
|
25
|
-
{#key $page.url}
|
|
26
|
-
<title>slotui</title>
|
|
27
|
-
<link href="https://fonts.googleapis.com/css?family=Rubik" rel="stylesheet" />
|
|
28
|
-
{/key}
|
|
29
|
-
</svelte:head>
|
|
30
|
-
red
|
|
31
|
-
<Login showLogin={false}>
|
|
32
|
-
<div class="h-full overflow-hidden flex-v">
|
|
33
|
-
<Taskbar>
|
|
34
|
-
{#snippet taskBarLeft()}
|
|
35
|
-
<box class="pad-1">
|
|
36
|
-
<h5>slotui</h5>
|
|
37
|
-
</box>
|
|
38
|
-
<a href="/tooling" use:link>link </a>
|
|
39
|
-
{/snippet}
|
|
40
|
-
<ChromeFrameButtonList />
|
|
41
|
-
{#snippet taskBarRight()}<button onclick={signOut}>signOut</button>{/snippet}
|
|
42
|
-
</Taskbar>
|
|
43
|
-
<div id="layout" class="pos-rel flex-main overflow-hidden">
|
|
44
|
-
<!-- <Router {routes} /> -->
|
|
45
|
-
<Frame>
|
|
46
|
-
{#snippet drawerContent()}
|
|
47
|
-
nav left
|
|
48
|
-
{/snippet}
|
|
49
|
-
{#snippet frameContent()}
|
|
50
|
-
<Slotted child={children} />
|
|
51
|
-
{/snippet}
|
|
52
|
-
</Frame>
|
|
53
|
-
<!-- <ChromeFrameList
|
|
54
|
-
chromeListConfig={{
|
|
55
|
-
showCommandBar: false,
|
|
56
|
-
parent: '#layout',
|
|
57
|
-
onClose: (chromeFrame) => {
|
|
58
|
-
// on:chromeframe:close
|
|
59
|
-
push('/');
|
|
60
|
-
console.log('closed ', chromeFrame);
|
|
61
|
-
}
|
|
62
|
-
}}
|
|
63
|
-
/> -->
|
|
64
|
-
</div>
|
|
65
|
-
<Drawer isOpen={false}>
|
|
66
|
-
{#snippet drawerTop()}
|
|
67
|
-
<TopBar title="Drawer with menu bar ">
|
|
68
|
-
{#snippet menuBarSwitcher()}
|
|
69
|
-
<div class="pad-1">
|
|
70
|
-
<input placeholder="Search in Bar" style="width:100%;" type="text" />
|
|
71
|
-
</div>
|
|
72
|
-
{/snippet}
|
|
73
|
-
</TopBar>
|
|
74
|
-
{/snippet}
|
|
75
|
-
<div class="pad-2">
|
|
76
|
-
<MenuList onItemClick={() => {}}>
|
|
77
|
-
{#each [...Array(10)] as key, val}
|
|
78
|
-
<MenuListItem>
|
|
79
|
-
{#snippet menuItemFirst()}
|
|
80
|
-
<span>Some idioms {val}</span>
|
|
81
|
-
<span>secondary {val}</span>
|
|
82
|
-
{/snippet}
|
|
83
|
-
{#snippet menuItemLast()}
|
|
84
|
-
<span><button>fds de action</button></span>
|
|
85
|
-
{/snippet}
|
|
86
|
-
</MenuListItem>
|
|
87
|
-
{/each}
|
|
88
|
-
</MenuList>
|
|
89
|
-
</div>
|
|
90
|
-
</Drawer>
|
|
91
|
-
</div>
|
|
92
|
-
</Login>
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import ChromeFrameButtonList from '../chromeFrame/ChromeFrameButtonList.svelte';
|
|
3
|
+
import Frame from '../frame/Frame.svelte';
|
|
4
|
+
import Login from '../login/Login.svelte';
|
|
5
|
+
import Taskbar from '../taskbar/Taskbar.svelte';
|
|
6
|
+
|
|
7
|
+
import { link, push } from 'svelte-spa-router';
|
|
8
|
+
|
|
9
|
+
import Drawer from '../../navigation/drawer/Drawer.svelte';
|
|
10
|
+
import TopBar from '../toggleBar/ToggleBar.svelte';
|
|
11
|
+
|
|
12
|
+
import { page } from '$app/stores';
|
|
13
|
+
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
14
|
+
import MenuListItem from '../menuList/MenuListItem.svelte';
|
|
15
|
+
import MenuList from '../menuList/MenuList.svelte';
|
|
16
|
+
|
|
17
|
+
let { children, ...rest } = $props();
|
|
18
|
+
|
|
19
|
+
function signOut() {
|
|
20
|
+
push('/#login');
|
|
21
|
+
}
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<svelte:head>
|
|
25
|
+
{#key $page.url}
|
|
26
|
+
<title>slotui</title>
|
|
27
|
+
<link href="https://fonts.googleapis.com/css?family=Rubik" rel="stylesheet" />
|
|
28
|
+
{/key}
|
|
29
|
+
</svelte:head>
|
|
30
|
+
red
|
|
31
|
+
<Login showLogin={false}>
|
|
32
|
+
<div class="h-full overflow-hidden flex-v">
|
|
33
|
+
<Taskbar>
|
|
34
|
+
{#snippet taskBarLeft()}
|
|
35
|
+
<box class="pad-1">
|
|
36
|
+
<h5>slotui</h5>
|
|
37
|
+
</box>
|
|
38
|
+
<a href="/tooling" use:link>link </a>
|
|
39
|
+
{/snippet}
|
|
40
|
+
<ChromeFrameButtonList />
|
|
41
|
+
{#snippet taskBarRight()}<button onclick={signOut}>signOut</button>{/snippet}
|
|
42
|
+
</Taskbar>
|
|
43
|
+
<div id="layout" class="pos-rel flex-main overflow-hidden">
|
|
44
|
+
<!-- <Router {routes} /> -->
|
|
45
|
+
<Frame>
|
|
46
|
+
{#snippet drawerContent()}
|
|
47
|
+
nav left
|
|
48
|
+
{/snippet}
|
|
49
|
+
{#snippet frameContent()}
|
|
50
|
+
<Slotted child={children} />
|
|
51
|
+
{/snippet}
|
|
52
|
+
</Frame>
|
|
53
|
+
<!-- <ChromeFrameList
|
|
54
|
+
chromeListConfig={{
|
|
55
|
+
showCommandBar: false,
|
|
56
|
+
parent: '#layout',
|
|
57
|
+
onClose: (chromeFrame) => {
|
|
58
|
+
// on:chromeframe:close
|
|
59
|
+
push('/');
|
|
60
|
+
console.log('closed ', chromeFrame);
|
|
61
|
+
}
|
|
62
|
+
}}
|
|
63
|
+
/> -->
|
|
64
|
+
</div>
|
|
65
|
+
<Drawer isOpen={false}>
|
|
66
|
+
{#snippet drawerTop()}
|
|
67
|
+
<TopBar title="Drawer with menu bar ">
|
|
68
|
+
{#snippet menuBarSwitcher()}
|
|
69
|
+
<div class="pad-1">
|
|
70
|
+
<input placeholder="Search in Bar" style="width:100%;" type="text" />
|
|
71
|
+
</div>
|
|
72
|
+
{/snippet}
|
|
73
|
+
</TopBar>
|
|
74
|
+
{/snippet}
|
|
75
|
+
<div class="pad-2">
|
|
76
|
+
<MenuList onItemClick={() => {}}>
|
|
77
|
+
{#each [...Array(10)] as key, val}
|
|
78
|
+
<MenuListItem>
|
|
79
|
+
{#snippet menuItemFirst()}
|
|
80
|
+
<span>Some idioms {val}</span>
|
|
81
|
+
<span>secondary {val}</span>
|
|
82
|
+
{/snippet}
|
|
83
|
+
{#snippet menuItemLast()}
|
|
84
|
+
<span><button>fds de action</button></span>
|
|
85
|
+
{/snippet}
|
|
86
|
+
</MenuListItem>
|
|
87
|
+
{/each}
|
|
88
|
+
</MenuList>
|
|
89
|
+
</div>
|
|
90
|
+
</Drawer>
|
|
91
|
+
</div>
|
|
92
|
+
</Login>
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
<svelte:options />
|
|
2
|
-
|
|
3
|
-
<script lang="ts">
|
|
4
|
-
import { onEvent } from '../../utils/uses/event.js';
|
|
5
|
-
import { getChromeFrame } from './chromeFrame.utils.js';
|
|
6
|
-
|
|
7
|
-
type ChromeFrameProps = {
|
|
8
|
-
frameId: string;
|
|
9
|
-
showCommands: boolean;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
let { frameId, showCommands }: ChromeFrameProps = $props();
|
|
13
|
-
|
|
14
|
-
const frameStore = getChromeFrame(frameId);
|
|
15
|
-
|
|
16
|
-
function handleRemove() {
|
|
17
|
-
frameStore.remove();
|
|
18
|
-
}
|
|
19
|
-
function handleHide() {
|
|
20
|
-
frameStore.toggle();
|
|
21
|
-
}
|
|
22
|
-
</script>
|
|
23
|
-
|
|
24
|
-
<div
|
|
25
|
-
use:onEvent={{ event: 'chromeframe:hide', action: handleHide }}
|
|
26
|
-
use:onEvent={{ event: 'chromeframe:close', action: handleRemove }}
|
|
27
|
-
class="chrome-frame"
|
|
28
|
-
style="z-index:{$frameStore?.zIndex};display:{$frameStore?.minimized ? 'none' : ''}"
|
|
29
|
-
>
|
|
30
|
-
{#if $frameStore?.showCommandBar}
|
|
31
|
-
<div class="chrome-frame-bar">
|
|
32
|
-
<div class="flex-main h3">{frameId}</div>
|
|
33
|
-
<div>{frameId}</div>
|
|
34
|
-
<button onclick={handleHide}>hide</button>
|
|
35
|
-
<button onclick={handleRemove}>close</button>
|
|
36
|
-
</div>
|
|
37
|
-
{/if}
|
|
38
|
-
<div class="chrome-frame-content">
|
|
39
|
-
<svelte:component this={$frameStore?.component} {...$frameStore?.componentProps} />
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
|
|
1
|
+
<svelte:options />
|
|
2
|
+
|
|
3
|
+
<script lang="ts">
|
|
4
|
+
import { onEvent } from '../../utils/uses/event.js';
|
|
5
|
+
import { getChromeFrame } from './chromeFrame.utils.js';
|
|
6
|
+
|
|
7
|
+
type ChromeFrameProps = {
|
|
8
|
+
frameId: string;
|
|
9
|
+
showCommands: boolean;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
let { frameId, showCommands }: ChromeFrameProps = $props();
|
|
13
|
+
|
|
14
|
+
const frameStore = getChromeFrame(frameId);
|
|
15
|
+
|
|
16
|
+
function handleRemove() {
|
|
17
|
+
frameStore.remove();
|
|
18
|
+
}
|
|
19
|
+
function handleHide() {
|
|
20
|
+
frameStore.toggle();
|
|
21
|
+
}
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<div
|
|
25
|
+
use:onEvent={{ event: 'chromeframe:hide', action: handleHide }}
|
|
26
|
+
use:onEvent={{ event: 'chromeframe:close', action: handleRemove }}
|
|
27
|
+
class="chrome-frame"
|
|
28
|
+
style="z-index:{$frameStore?.zIndex};display:{$frameStore?.minimized ? 'none' : ''}"
|
|
29
|
+
>
|
|
30
|
+
{#if $frameStore?.showCommandBar}
|
|
31
|
+
<div class="chrome-frame-bar">
|
|
32
|
+
<div class="flex-main h3">{frameId}</div>
|
|
33
|
+
<div>{frameId}</div>
|
|
34
|
+
<button onclick={handleHide}>hide</button>
|
|
35
|
+
<button onclick={handleRemove}>close</button>
|
|
36
|
+
</div>
|
|
37
|
+
{/if}
|
|
38
|
+
<div class="chrome-frame-content">
|
|
39
|
+
<svelte:component this={$frameStore?.component} {...$frameStore?.componentProps} />
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
43
|
<style global>:root {
|
|
44
44
|
--chrome-frame-color: var(--sld-color-foreground);
|
|
45
45
|
--chrome-frame-background-color: var(--sld-color-background);
|
|
@@ -73,4 +73,4 @@
|
|
|
73
73
|
flex: var(--chrome-frame-content-flex);
|
|
74
74
|
overflow: hidden;
|
|
75
75
|
position: relative;
|
|
76
|
-
}</style>
|
|
76
|
+
}</style>
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
<svelte:options />
|
|
2
|
-
|
|
3
|
-
<script lang="ts">
|
|
4
|
-
import { chromeFrameStore } from './chromeFrame.store.js';
|
|
5
|
-
import Button from '../../controls/button/Button.svelte';
|
|
6
|
-
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
7
|
-
|
|
8
|
-
let { class: className = '', element, children, ...rest } = $props();
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
<div bind:this={element} class="flex-h gap-small {className}" {...rest}>
|
|
12
|
-
{#each [...$chromeFrameStore.values()] as value, key}
|
|
13
|
-
<div class="buttonRail">
|
|
14
|
-
<Slotted child={children} slotArgs={{ chromeFrame: value }}>
|
|
15
|
-
<Button
|
|
16
|
-
style="position:relative"
|
|
17
|
-
onclick={() => {
|
|
18
|
-
chromeFrameStore.toggle(value.frameId);
|
|
19
|
-
}}
|
|
20
|
-
ondblclick={() => {
|
|
21
|
-
chromeFrameStore.remove(value.frameId);
|
|
22
|
-
}}
|
|
23
|
-
class={value.active ? 'active' : ''}
|
|
24
|
-
iconEnd="window-close"
|
|
25
|
-
>
|
|
26
|
-
{value.title ?? value.frameId}
|
|
27
|
-
</Button>
|
|
28
|
-
</Slotted>
|
|
29
|
-
</div>
|
|
30
|
-
{/each}
|
|
31
|
-
</div>
|
|
32
|
-
|
|
1
|
+
<svelte:options />
|
|
2
|
+
|
|
3
|
+
<script lang="ts">
|
|
4
|
+
import { chromeFrameStore } from './chromeFrame.store.js';
|
|
5
|
+
import Button from '../../controls/button/Button.svelte';
|
|
6
|
+
import Slotted from '../../utils/slotted/Slotted.svelte';
|
|
7
|
+
|
|
8
|
+
let { class: className = '', element, children, ...rest } = $props();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<div bind:this={element} class="flex-h gap-small {className}" {...rest}>
|
|
12
|
+
{#each [...$chromeFrameStore.values()] as value, key}
|
|
13
|
+
<div class="buttonRail">
|
|
14
|
+
<Slotted child={children} slotArgs={{ chromeFrame: value }}>
|
|
15
|
+
<Button
|
|
16
|
+
style="position:relative"
|
|
17
|
+
onclick={() => {
|
|
18
|
+
chromeFrameStore.toggle(value.frameId);
|
|
19
|
+
}}
|
|
20
|
+
ondblclick={() => {
|
|
21
|
+
chromeFrameStore.remove(value.frameId);
|
|
22
|
+
}}
|
|
23
|
+
class={value.active ? 'active' : ''}
|
|
24
|
+
iconEnd="window-close"
|
|
25
|
+
>
|
|
26
|
+
{value.title ?? value.frameId}
|
|
27
|
+
</Button>
|
|
28
|
+
</Slotted>
|
|
29
|
+
</div>
|
|
30
|
+
{/each}
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
33
|
<style global>.buttonRail button:not(.active) {
|
|
34
34
|
border: 1px solid transparent;
|
|
35
35
|
background-color: transparent;
|
|
@@ -39,4 +39,4 @@
|
|
|
39
39
|
}
|
|
40
40
|
.buttonRail button:hover {
|
|
41
41
|
border: 1px solid var(--sld-color-primary);
|
|
42
|
-
}</style>
|
|
42
|
+
}</style>
|
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
<svelte:options />
|
|
2
|
-
|
|
3
|
-
<script lang="ts">
|
|
4
|
-
import { chromeFrameListRef, chromeFrameStore } from './chromeFrame.store.js';
|
|
5
|
-
import ChromeFrame from './ChromeFrame.svelte';
|
|
6
|
-
import { browser } from '$app/environment';
|
|
7
|
-
import type { IChromeFrameArgs, IChromeOptionsArgs } from './types.js';
|
|
8
|
-
|
|
9
|
-
type ChromeFrameListProps = {
|
|
10
|
-
/** The class name of the component */
|
|
11
|
-
className: string;
|
|
12
|
-
|
|
13
|
-
/** The style of the component */
|
|
14
|
-
style: string;
|
|
15
|
-
|
|
16
|
-
/** The HTML element of the component */
|
|
17
|
-
element: HTMLDivElement | null;
|
|
18
|
-
|
|
19
|
-
/** The configuration for the chrome list */
|
|
20
|
-
chromeListConfig: IChromeOptionsArgs;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
let {
|
|
24
|
-
className = '',
|
|
25
|
-
style = '',
|
|
26
|
-
element,
|
|
27
|
-
chromeListConfig = {}
|
|
28
|
-
}: ChromeFrameListProps = $props();
|
|
29
|
-
|
|
30
|
-
let defaultConfig = chromeFrameStore.defaultConfigStore;
|
|
31
|
-
|
|
32
|
-
// set global conf props to store
|
|
33
|
-
$effect(() => {
|
|
34
|
-
if (chromeListConfig) {
|
|
35
|
-
chromeFrameStore.defaultConfigStore.set(chromeListConfig);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
$effect(() => {
|
|
39
|
-
if (browser && element && $defaultConfig.parent) {
|
|
40
|
-
const parent: any =
|
|
41
|
-
typeof $defaultConfig.parent === 'string'
|
|
42
|
-
? document.querySelector($defaultConfig.parent)
|
|
43
|
-
: $defaultConfig.parent;
|
|
44
|
-
try {
|
|
45
|
-
parent.appendChild(element);
|
|
46
|
-
} catch (e) {
|
|
47
|
-
throw new Error('parent does not seems to exist for ChromeFrameList');
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
// garbage collector to delete chromeFrameListRef references
|
|
53
|
-
|
|
54
|
-
$effect(() => {
|
|
55
|
-
Boolean(browser) &&
|
|
56
|
-
Object.keys(chromeFrameListRef).forEach((frameId) => {
|
|
57
|
-
if (!$chromeFrameStore.get(frameId)) {
|
|
58
|
-
console.log('destroy !');
|
|
59
|
-
chromeFrameListRef[frameId].$destroy();
|
|
60
|
-
delete chromeFrameListRef[frameId];
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
// mount the component in the assigned target with chromeFrameListRef as reference ,
|
|
66
|
-
// if not already in chromeFrameListRef
|
|
67
|
-
|
|
68
|
-
$effect(() => {
|
|
69
|
-
Boolean(browser) &&
|
|
70
|
-
$chromeFrameStore.forEach((args: IChromeFrameArgs, frameId: string) => {
|
|
71
|
-
if (!args.noFrameListButton && !chromeFrameListRef[frameId]) {
|
|
72
|
-
chromeFrameListRef[frameId] = new ChromeFrame({
|
|
73
|
-
target: element,
|
|
74
|
-
props: {
|
|
75
|
-
title: frameId,
|
|
76
|
-
...chromeListConfig,
|
|
77
|
-
...args,
|
|
78
|
-
frameId: frameId
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
// monitor $chromeFrameStore.size
|
|
86
|
-
|
|
87
|
-
$effect(() => {
|
|
88
|
-
if (browser && element) {
|
|
89
|
-
if (!$chromeFrameStore.size) {
|
|
90
|
-
element.style.display = 'none';
|
|
91
|
-
} else {
|
|
92
|
-
element.style.display = '';
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
/* $: console.log('chromeFrameStore from chrome frame list',$chromeFrameStore);
|
|
98
|
-
$: console.log('var browser, from chrome frame list',browser);
|
|
99
|
-
$: console.log('chromeFrameListRef, from chrome frame list',chromeFrameListRef); */
|
|
100
|
-
</script>
|
|
101
|
-
|
|
102
|
-
<div
|
|
103
|
-
bind:this={element}
|
|
104
|
-
class="pos-abs h-full w-full top-0 {className}"
|
|
105
|
-
style="z-index:9000;display:none;{style}"
|
|
106
|
-
></div>
|
|
1
|
+
<svelte:options />
|
|
2
|
+
|
|
3
|
+
<script lang="ts">
|
|
4
|
+
import { chromeFrameListRef, chromeFrameStore } from './chromeFrame.store.js';
|
|
5
|
+
import ChromeFrame from './ChromeFrame.svelte';
|
|
6
|
+
import { browser } from '$app/environment';
|
|
7
|
+
import type { IChromeFrameArgs, IChromeOptionsArgs } from './types.js';
|
|
8
|
+
|
|
9
|
+
type ChromeFrameListProps = {
|
|
10
|
+
/** The class name of the component */
|
|
11
|
+
className: string;
|
|
12
|
+
|
|
13
|
+
/** The style of the component */
|
|
14
|
+
style: string;
|
|
15
|
+
|
|
16
|
+
/** The HTML element of the component */
|
|
17
|
+
element: HTMLDivElement | null;
|
|
18
|
+
|
|
19
|
+
/** The configuration for the chrome list */
|
|
20
|
+
chromeListConfig: IChromeOptionsArgs;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
let {
|
|
24
|
+
className = '',
|
|
25
|
+
style = '',
|
|
26
|
+
element,
|
|
27
|
+
chromeListConfig = {}
|
|
28
|
+
}: ChromeFrameListProps = $props();
|
|
29
|
+
|
|
30
|
+
let defaultConfig = chromeFrameStore.defaultConfigStore;
|
|
31
|
+
|
|
32
|
+
// set global conf props to store
|
|
33
|
+
$effect(() => {
|
|
34
|
+
if (chromeListConfig) {
|
|
35
|
+
chromeFrameStore.defaultConfigStore.set(chromeListConfig);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
$effect(() => {
|
|
39
|
+
if (browser && element && $defaultConfig.parent) {
|
|
40
|
+
const parent: any =
|
|
41
|
+
typeof $defaultConfig.parent === 'string'
|
|
42
|
+
? document.querySelector($defaultConfig.parent)
|
|
43
|
+
: $defaultConfig.parent;
|
|
44
|
+
try {
|
|
45
|
+
parent.appendChild(element);
|
|
46
|
+
} catch (e) {
|
|
47
|
+
throw new Error('parent does not seems to exist for ChromeFrameList');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
// garbage collector to delete chromeFrameListRef references
|
|
53
|
+
|
|
54
|
+
$effect(() => {
|
|
55
|
+
Boolean(browser) &&
|
|
56
|
+
Object.keys(chromeFrameListRef).forEach((frameId) => {
|
|
57
|
+
if (!$chromeFrameStore.get(frameId)) {
|
|
58
|
+
console.log('destroy !');
|
|
59
|
+
chromeFrameListRef[frameId].$destroy();
|
|
60
|
+
delete chromeFrameListRef[frameId];
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// mount the component in the assigned target with chromeFrameListRef as reference ,
|
|
66
|
+
// if not already in chromeFrameListRef
|
|
67
|
+
|
|
68
|
+
$effect(() => {
|
|
69
|
+
Boolean(browser) &&
|
|
70
|
+
$chromeFrameStore.forEach((args: IChromeFrameArgs, frameId: string) => {
|
|
71
|
+
if (!args.noFrameListButton && !chromeFrameListRef[frameId]) {
|
|
72
|
+
chromeFrameListRef[frameId] = new ChromeFrame({
|
|
73
|
+
target: element,
|
|
74
|
+
props: {
|
|
75
|
+
title: frameId,
|
|
76
|
+
...chromeListConfig,
|
|
77
|
+
...args,
|
|
78
|
+
frameId: frameId
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
// monitor $chromeFrameStore.size
|
|
86
|
+
|
|
87
|
+
$effect(() => {
|
|
88
|
+
if (browser && element) {
|
|
89
|
+
if (!$chromeFrameStore.size) {
|
|
90
|
+
element.style.display = 'none';
|
|
91
|
+
} else {
|
|
92
|
+
element.style.display = '';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
/* $: console.log('chromeFrameStore from chrome frame list',$chromeFrameStore);
|
|
98
|
+
$: console.log('var browser, from chrome frame list',browser);
|
|
99
|
+
$: console.log('chromeFrameListRef, from chrome frame list',chromeFrameListRef); */
|
|
100
|
+
</script>
|
|
101
|
+
|
|
102
|
+
<div
|
|
103
|
+
bind:this={element}
|
|
104
|
+
class="pos-abs h-full w-full top-0 {className}"
|
|
105
|
+
style="z-index:9000;display:none;{style}"
|
|
106
|
+
></div>
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
@use "../../styles/slotui-mixins.scss";
|
|
2
|
-
|
|
3
|
-
:root {
|
|
4
|
-
--chrome-frame-color: var(--sld-color-foreground);
|
|
5
|
-
--chrome-frame-background-color: var(--sld-color-background);
|
|
6
|
-
--chrome-frame-bar-gap: var(--sld-gap-med);
|
|
7
|
-
--chrome-frame-bar-padding: var(--sld-pad-medium);
|
|
8
|
-
--chrome-frame-bar-border-bottom: var(--sld-color-border);
|
|
9
|
-
--chrome-frame-content-flex: 1;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.chrome-frame {
|
|
13
|
-
@include slotui-mixins.flex("column");
|
|
14
|
-
position: absolute;
|
|
15
|
-
top: 0;
|
|
16
|
-
height: 100%;
|
|
17
|
-
width: 100%;
|
|
18
|
-
color: var(--chrome-frame-color);
|
|
19
|
-
background-color: var(--chrome-frame-background-color);
|
|
20
|
-
overflow: hidden;
|
|
21
|
-
|
|
22
|
-
&-bar {
|
|
23
|
-
@include slotui-mixins.flex("row", center);
|
|
24
|
-
gap: var(--chrome-frame-bar-gap);
|
|
25
|
-
padding: var(--chrome-frame-bar-padding);
|
|
26
|
-
border-bottom: 1px solid var(--chrome-frame-bar-border-bottom);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
&-content {
|
|
30
|
-
flex: var(--chrome-frame-content-flex);
|
|
31
|
-
overflow: hidden;
|
|
32
|
-
position: relative;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
1
|
+
@use "../../styles/slotui-mixins.scss";
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
--chrome-frame-color: var(--sld-color-foreground);
|
|
5
|
+
--chrome-frame-background-color: var(--sld-color-background);
|
|
6
|
+
--chrome-frame-bar-gap: var(--sld-gap-med);
|
|
7
|
+
--chrome-frame-bar-padding: var(--sld-pad-medium);
|
|
8
|
+
--chrome-frame-bar-border-bottom: var(--sld-color-border);
|
|
9
|
+
--chrome-frame-content-flex: 1;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.chrome-frame {
|
|
13
|
+
@include slotui-mixins.flex("column");
|
|
14
|
+
position: absolute;
|
|
15
|
+
top: 0;
|
|
16
|
+
height: 100%;
|
|
17
|
+
width: 100%;
|
|
18
|
+
color: var(--chrome-frame-color);
|
|
19
|
+
background-color: var(--chrome-frame-background-color);
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
|
|
22
|
+
&-bar {
|
|
23
|
+
@include slotui-mixins.flex("row", center);
|
|
24
|
+
gap: var(--chrome-frame-bar-gap);
|
|
25
|
+
padding: var(--chrome-frame-bar-padding);
|
|
26
|
+
border-bottom: 1px solid var(--chrome-frame-bar-border-bottom);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&-content {
|
|
30
|
+
flex: var(--chrome-frame-content-flex);
|
|
31
|
+
overflow: hidden;
|
|
32
|
+
position: relative;
|
|
33
|
+
}
|
|
34
|
+
}
|