@medyll/idae-slotui-svelte 0.122.0 → 0.123.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.
Files changed (208) hide show
  1. package/README.md +47 -47
  2. package/dist/base/alert/Alert.demo.svelte +62 -62
  3. package/dist/base/alert/Alert.svelte +121 -121
  4. package/dist/base/alert/alert.scss +93 -93
  5. package/dist/base/avatar/Avatar.demo.svelte +41 -41
  6. package/dist/base/avatar/Avatar.preview.svelte +6 -6
  7. package/dist/base/avatar/Avatar.svelte +65 -65
  8. package/dist/base/avatar/avatar.scss +17 -17
  9. package/dist/base/backdrop/Backdrop.demo.svelte +49 -49
  10. package/dist/base/backdrop/Backdrop.svelte +78 -78
  11. package/dist/base/backdrop/backdrop.scss +34 -34
  12. package/dist/base/badge/Badge.svelte +31 -31
  13. package/dist/base/badge/badge.scss +19 -19
  14. package/dist/base/box/Box.demo.svelte +54 -54
  15. package/dist/base/box/Box.svelte +72 -72
  16. package/dist/base/box/box.scss +33 -33
  17. package/dist/base/breadCrumb/BreadCrumb.svelte +23 -23
  18. package/dist/base/breadCrumb/breadcrumb.scss +11 -11
  19. package/dist/base/cartouche/Cartouche.demo.svelte +108 -108
  20. package/dist/base/cartouche/Cartouche.svelte +114 -114
  21. package/dist/base/cartouche/cartouche.scss +114 -114
  22. package/dist/base/chipper/Chipper.demo.svelte +45 -45
  23. package/dist/base/chipper/Chipper.svelte +36 -36
  24. package/dist/base/chipper/chipper.scss +65 -65
  25. package/dist/base/columner/Column.svelte +62 -62
  26. package/dist/base/columner/Columner.demo.svelte +15 -15
  27. package/dist/base/columner/Columner.svelte +21 -21
  28. package/dist/base/contentSwitcher/ContentSwitcher.demo.svelte +45 -45
  29. package/dist/base/contentSwitcher/ContentSwitcher.svelte +63 -63
  30. package/dist/base/contentSwitcher/content-switcher.scss +22 -22
  31. package/dist/base/debug/Debug.svelte +21 -21
  32. package/dist/base/demoer/DemoPage.svelte +40 -40
  33. package/dist/base/demoer/Demoer.svelte +170 -170
  34. package/dist/base/demoer/DemoerCode.svelte +45 -45
  35. package/dist/base/demoer/DemoerComponent.svelte +50 -50
  36. package/dist/base/divider/Divider.demo.svelte +34 -34
  37. package/dist/base/divider/Divider.svelte +68 -68
  38. package/dist/base/divider/divider.scss +19 -19
  39. package/dist/base/icon/Icon.demo.svelte +24 -24
  40. package/dist/base/icon/Icon.svelte +117 -117
  41. package/dist/base/icon/Icon.svelte.d.ts +1 -1
  42. package/dist/base/icon/icon.scss +17 -17
  43. package/dist/base/paper/Paper.demo.svelte +31 -31
  44. package/dist/base/paper/Paper.svelte +20 -20
  45. package/dist/base/paper/paper.scss +15 -15
  46. package/dist/base/titleBar/TitleBar.demo.svelte +30 -30
  47. package/dist/base/titleBar/TitleBar.svelte +40 -40
  48. package/dist/base/titleBar/title-bar.scss +29 -29
  49. package/dist/controls/autocomplete/AutoComplete.demo.svelte +88 -88
  50. package/dist/controls/autocomplete/AutoComplete.svelte +152 -152
  51. package/dist/controls/autocomplete/auto-complete.scss +15 -15
  52. package/dist/controls/button/Button.demo.svelte +165 -165
  53. package/dist/controls/button/Button.svelte +95 -95
  54. package/dist/controls/button/Button.svelte.d.ts +1 -1
  55. package/dist/controls/button/ButtonAction.svelte +55 -55
  56. package/dist/controls/button/ButtonMenu.svelte +55 -55
  57. package/dist/controls/button/IconButton.svelte +45 -45
  58. package/dist/controls/button/button-action.scss +8 -8
  59. package/dist/controls/button/button-menu.scss +36 -36
  60. package/dist/controls/button/button.scss +293 -293
  61. package/dist/controls/checkbox/Checkbox.demo.svelte +29 -29
  62. package/dist/controls/checkbox/Checkbox.svelte +59 -59
  63. package/dist/controls/checkbox/checkbox.scss +115 -115
  64. package/dist/controls/confirm/Confirm.demo.svelte +60 -60
  65. package/dist/controls/confirm/Confirm.preview.svelte +14 -14
  66. package/dist/controls/confirm/Confirm.svelte +156 -156
  67. package/dist/controls/confirm/confirm.scss +12 -12
  68. package/dist/controls/inplaceedit/InPlaceEdit.demo.svelte +41 -41
  69. package/dist/controls/inplaceedit/InPlaceEdit.svelte +109 -109
  70. package/dist/controls/progress/Progress.demo.svelte +30 -30
  71. package/dist/controls/progress/Progress.svelte +26 -26
  72. package/dist/controls/progress/progress.scss +23 -23
  73. package/dist/controls/rating/Rating.demo.svelte +45 -45
  74. package/dist/controls/rating/Rating.svelte +44 -44
  75. package/dist/controls/rating/Rating.svelte.d.ts +1 -1
  76. package/dist/controls/rating/rating.scss +9 -9
  77. package/dist/controls/select/Select.demo.svelte +101 -101
  78. package/dist/controls/select/Select.svelte +125 -125
  79. package/dist/controls/select/select.scss +13 -13
  80. package/dist/controls/slider/Slider.demo.svelte +34 -34
  81. package/dist/controls/slider/Slider.svelte +153 -153
  82. package/dist/controls/slider/slider.scss +51 -51
  83. package/dist/controls/stepper/Stepper.demo.svelte +32 -32
  84. package/dist/controls/stepper/Stepper.svelte +30 -30
  85. package/dist/controls/stepper/stepper.scss +23 -23
  86. package/dist/controls/switch/Switch.demo.svelte +61 -61
  87. package/dist/controls/switch/Switch.svelte +45 -45
  88. package/dist/controls/switch/switch.scss +73 -73
  89. package/dist/controls/textfield/TextField.demo.svelte +79 -79
  90. package/dist/controls/textfield/TextField.svelte +86 -86
  91. package/dist/controls/textfield/TextField.svelte.d.ts +1 -1
  92. package/dist/controls/textfield/textfield.scss +68 -68
  93. package/dist/csss/csss.scss +10 -10
  94. package/dist/data/dataList/DataList.demo.svelte +151 -151
  95. package/dist/data/dataList/DataList.preview.svelte +23 -23
  96. package/dist/data/dataList/DataList.svelte +233 -233
  97. package/dist/data/dataList/DataListCell.svelte +212 -212
  98. package/dist/data/dataList/DataListHead.svelte +75 -75
  99. package/dist/data/dataList/DataListRow.svelte +93 -93
  100. package/dist/data/dataList/datalist.scss +157 -157
  101. package/dist/data/finder/Finder.demo.svelte +55 -55
  102. package/dist/data/finder/Finder.svelte +166 -166
  103. package/dist/data/finder/finder.scss +14 -14
  104. package/dist/data/grouper/Grouper.demo.svelte +36 -36
  105. package/dist/data/grouper/Grouper.svelte +85 -85
  106. package/dist/data/jsoner/Jsoner.svelte +40 -40
  107. package/dist/data/list/List.svelte +16 -16
  108. package/dist/data/list/ListItem.svelte +10 -10
  109. package/dist/data/list/ListTitle.svelte +8 -8
  110. package/dist/data/loader/Loader.demo.svelte +95 -95
  111. package/dist/data/loader/Loader.preview.svelte +7 -7
  112. package/dist/data/loader/Loader.svelte +99 -99
  113. package/dist/data/loader/loader.scss +50 -50
  114. package/dist/data/sorter/Sorter.demo.svelte +62 -62
  115. package/dist/data/sorter/Sorter.svelte +80 -80
  116. package/dist/data/sorter/Sorterer.svelte +27 -27
  117. package/dist/data/sorter/sorterer.scss +11 -11
  118. package/dist/index.d.ts +67 -66
  119. package/dist/index.js +67 -66
  120. package/dist/navigation/drawer/Drawer.demo.svelte +52 -52
  121. package/dist/navigation/drawer/Drawer.svelte +163 -163
  122. package/dist/navigation/drawer/drawer.scss +69 -69
  123. package/dist/navigation/tabs/Tabs.demo.svelte +83 -83
  124. package/dist/navigation/tabs/Tabs.preview.svelte +22 -22
  125. package/dist/navigation/tabs/Tabs.svelte +158 -158
  126. package/dist/navigation/tabs/tabs.scss +92 -92
  127. package/dist/slotui-css/slotui-css.css +229 -229
  128. package/dist/slotui-css/slotui-min-css.css +229 -229
  129. package/dist/styles/slotui-mixins.scss +168 -168
  130. package/dist/styles/slotui-presets.scss +56 -56
  131. package/dist/styles/slotuisheet/SlotuiSheet.svelte +36 -36
  132. package/dist/styles/slotuisheet/SlotyuiSheet.demo.svelte +28 -28
  133. package/dist/styles/slotuisheet/sheetConfig.scss +7 -7
  134. package/dist/styles/slotuisheet/slotui-sheet.scss +192 -192
  135. package/dist/styles/slotuisheet/stylesheet-container.scss +147 -147
  136. package/dist/styles/slotuisheet/stylesheet.scss +156 -156
  137. package/dist/types/slotui-ambient.d.ts +27 -27
  138. package/dist/ui/bootstrapp/BootStrApp.svelte +92 -92
  139. package/dist/ui/chromeFrame/ChromeFrame.svelte +43 -43
  140. package/dist/ui/chromeFrame/ChromeFrameButtonList.svelte +33 -33
  141. package/dist/ui/chromeFrame/ChromeFrameList.svelte +106 -106
  142. package/dist/ui/chromeFrame/chrome-frame.scss +34 -34
  143. package/dist/ui/frame/Frame.demo.svelte +48 -48
  144. package/dist/ui/frame/Frame.svelte +90 -90
  145. package/dist/ui/frame/frame.scss +46 -46
  146. package/dist/ui/login/Login.demo.svelte +62 -62
  147. package/dist/ui/login/Login.svelte +102 -102
  148. package/dist/ui/marquee/Marquee.demo.svelte +33 -33
  149. package/dist/ui/marquee/Marquee.svelte +97 -97
  150. package/dist/ui/marquee/marquee.scss +34 -34
  151. package/dist/ui/menu/Menu.svelte +9 -9
  152. package/dist/ui/menu/MenuItem.svelte +9 -9
  153. package/dist/ui/menu/MenuTitle.svelte +10 -10
  154. package/dist/ui/menu/menu.scss +61 -61
  155. package/dist/ui/menuList/MenuList.demo.svelte +73 -73
  156. package/dist/ui/menuList/MenuList.svelte +143 -143
  157. package/dist/ui/menuList/MenuListItem.svelte +134 -134
  158. package/dist/ui/menuList/MenuListTitle.svelte +10 -10
  159. package/dist/ui/menuList/menu-list.scss +120 -120
  160. package/dist/ui/panel/Panel.demo.svelte +169 -169
  161. package/dist/ui/panel/Panel.svelte +96 -96
  162. package/dist/ui/panel/PanelGrid.svelte +62 -62
  163. package/dist/ui/panel/PanelSlide.svelte +156 -156
  164. package/dist/ui/panel/Paneler.svelte +63 -63
  165. package/dist/ui/panel/panel.scss +32 -32
  166. package/dist/ui/popper/Popper.demo.svelte +92 -92
  167. package/dist/ui/popper/Popper.svelte +160 -160
  168. package/dist/ui/popper/popper.scss +108 -108
  169. package/dist/ui/preview/Preview.svelte +41 -41
  170. package/dist/ui/serviceBox/ServiceBox.svelte +24 -24
  171. package/dist/ui/startMenu/BootMenu.svelte +102 -102
  172. package/dist/ui/startMenu/boot-menu.scss +86 -86
  173. package/dist/ui/taskbar/TaskBarContent.svelte +20 -20
  174. package/dist/ui/taskbar/Taskbar.svelte +26 -26
  175. package/dist/ui/taskbar/taskbar.scss +28 -28
  176. package/dist/ui/themeswitcher/ThemeSwitcher.svelte +18 -18
  177. package/dist/ui/toast/Toast.demo.svelte +19 -19
  178. package/dist/ui/toast/Toast.svelte +60 -60
  179. package/dist/ui/toast/Toaster.svelte +18 -18
  180. package/dist/ui/toggleBar/ToggleBar.demo.svelte +114 -114
  181. package/dist/ui/toggleBar/ToggleBar.svelte +58 -58
  182. package/dist/ui/toggleBar/ToggleBar.svelte.d.ts +1 -1
  183. package/dist/ui/toggleBar/toggle-bar.scss +45 -45
  184. package/dist/ui/toolBar/ToolBar.demo.svelte +98 -98
  185. package/dist/ui/toolBar/ToolBar.svelte +30 -30
  186. package/dist/ui/toolBar/toolbar.scss +32 -32
  187. package/dist/ui/tree/Tree.demo.svelte +84 -84
  188. package/dist/ui/tree/Tree.preview.svelte +19 -19
  189. package/dist/ui/tree/Tree.svelte +182 -182
  190. package/dist/ui/tree/tree.scss +38 -38
  191. package/dist/ui/window/Window.demo.svelte +111 -111
  192. package/dist/ui/window/Window.svelte +177 -177
  193. package/dist/ui/window/window.scss +66 -66
  194. package/dist/utils/content/Content.svelte +78 -78
  195. package/dist/utils/contextRooter/ContextRooter.demo.svelte +33 -33
  196. package/dist/utils/contextRooter/ContextRooter.svelte +6 -6
  197. package/dist/utils/css/Css.demo.svelte +5 -5
  198. package/dist/utils/css/Css.svelte +64 -64
  199. package/dist/utils/effects/transitions.js +6 -6
  200. package/dist/utils/looper/Looper.demo.svelte +36 -36
  201. package/dist/utils/looper/Looper.svelte +47 -47
  202. package/dist/utils/slotted/Slotted.svelte +21 -21
  203. package/dist/utils/stylesheet/StyleSheet.demo.svelte +28 -28
  204. package/dist/utils/stylesheet/StyleSheet.svelte +30 -30
  205. package/dist/utils/stylesheet/containerConfig.scss +7 -7
  206. package/dist/utils/stylesheet/stylesheet.scss +147 -147
  207. package/dist/utils/uses/sx4u/sx4uPreprocess.js +34 -34
  208. package/package.json +4 -4
@@ -1,65 +1,65 @@
1
- @use "../../styles/slotui-mixins.scss";
2
-
3
- :root {
4
- --chipper-gap: var(--sld-gap-tiny);
5
- --chipper-radius: var(--sld-radius-large);
6
- --chipper-chip-color: var(--css-button-chip-color, var(--sld-color-primary));
7
- }
8
-
9
- .chipper {
10
- position: relative;
11
- gap: var(--chipper-gap);
12
-
13
- .chipper-content {
14
- padding: 0.5rem;
15
- }
16
-
17
- .chipper-chip {
18
- display: block;
19
- position: absolute;
20
- z-index: 2;
21
- border-radius: var(--chipper-radius);
22
- transition: all 0.25s;
23
- max-height: 100%;
24
- background-color: var(--chipper-chip-color);
25
-
26
- &[data-position="left"] {
27
- top: 2px;
28
- left: 2px;
29
- height: 100%;
30
- width: 3px;
31
- }
32
-
33
- &[data-position="right"] {
34
- top: 2px;
35
- right: 2px;
36
- height: 130px;
37
- width: 3px;
38
- }
39
-
40
- &[data-position="top"] {
41
- height: 4px;
42
- top: 2px;
43
- left: 50%;
44
- transform: translate(-50%, 0);
45
- width: 50%;
46
- }
47
-
48
- &[data-position="bottom"] {
49
- height: 4px;
50
- bottom: 2px;
51
- left: 50%;
52
- transform: translate(-50%, 0);
53
- width: 50%;
54
- }
55
-
56
- .defaultChip,
57
- [slot="chipperChip"] {
58
- display: block;
59
- height: 100%;
60
- width: 100%;
61
- min-height: 3px;
62
- background-color: var(--chipper-chip-color);
63
- }
64
- }
65
- }
1
+ @use "../../styles/slotui-mixins.scss";
2
+
3
+ :root {
4
+ --chipper-gap: var(--sld-gap-tiny);
5
+ --chipper-radius: var(--sld-radius-large);
6
+ --chipper-chip-color: var(--css-button-chip-color, var(--sld-color-primary));
7
+ }
8
+
9
+ .chipper {
10
+ position: relative;
11
+ gap: var(--chipper-gap);
12
+
13
+ .chipper-content {
14
+ padding: 0.5rem;
15
+ }
16
+
17
+ .chipper-chip {
18
+ display: block;
19
+ position: absolute;
20
+ z-index: 2;
21
+ border-radius: var(--chipper-radius);
22
+ transition: all 0.25s;
23
+ max-height: 100%;
24
+ background-color: var(--chipper-chip-color);
25
+
26
+ &[data-position="left"] {
27
+ top: 2px;
28
+ left: 2px;
29
+ height: 100%;
30
+ width: 3px;
31
+ }
32
+
33
+ &[data-position="right"] {
34
+ top: 2px;
35
+ right: 2px;
36
+ height: 130px;
37
+ width: 3px;
38
+ }
39
+
40
+ &[data-position="top"] {
41
+ height: 4px;
42
+ top: 2px;
43
+ left: 50%;
44
+ transform: translate(-50%, 0);
45
+ width: 50%;
46
+ }
47
+
48
+ &[data-position="bottom"] {
49
+ height: 4px;
50
+ bottom: 2px;
51
+ left: 50%;
52
+ transform: translate(-50%, 0);
53
+ width: 50%;
54
+ }
55
+
56
+ .defaultChip,
57
+ [slot="chipperChip"] {
58
+ display: block;
59
+ height: 100%;
60
+ width: 100%;
61
+ min-height: 3px;
62
+ background-color: var(--chipper-chip-color);
63
+ }
64
+ }
65
+ }
@@ -1,64 +1,64 @@
1
- <script lang="ts">
2
- import { getContext, tick } from 'svelte';
3
- import type { ColumnProps, ColumnerStoreType } from './types.js';
4
- import { resizer } from '../../utils/uses/resizer/resizer.js';
5
- import Slotted from '../../utils/slotted/Slotted.svelte';
6
- import { onEvent } from '../../utils/uses/event.js';
7
-
8
- let columner = getContext<ColumnerStoreType>('columner');
9
-
10
- let {
11
- class: className = '',
12
- element = $bindable(),
13
- style = '',
14
- columnId = crypto.randomUUID() as string,
15
- bottomSlot,
16
- drawerTop,
17
- children,
18
- ...rest
19
- }: ColumnProps = $props();
20
-
21
- if (!$columner[columnId]) {
22
- $columner[columnId] = {
23
- columnId: Object.keys($columner).length,
24
- state: 'default',
25
- defaultStyle: {}
26
- };
27
- }
28
-
29
- let width: string;
30
-
31
- function resizeStart() {}
32
-
33
- async function resizeOn(data: CustomEvent<{ width: any }>) {
34
- await tick();
35
- width = data.detail.width + 'px';
36
- // $dataListContext.columns[field].width = data.detail.width + 'px';
37
- }
38
-
39
- function resizeEnd() {}
40
- </script>
41
-
42
- <div
43
- bind:this={element}
44
- id={columnId}
45
- class="column {className}"
46
- use:resizer
47
- use:onEvent={{ event: 'on:resizer:start', action: resizeStart }}
48
- use:onEvent={{ event: 'on:resizer:resize', action: resizeOn }}
49
- use:onEvent={{ event: 'on:resizer:end', action: resizeEnd }}
50
- style:width
51
- {...rest}
52
- >
53
- <Slotted child={drawerTop}></Slotted>
54
- <div class="content">
55
- {width}
56
-
57
- <Slotted child={children}></Slotted>
58
- </div>
59
- <Slotted child={bottomSlot}></Slotted>
60
- </div>
61
-
1
+ <script lang="ts">
2
+ import { getContext, tick } from 'svelte';
3
+ import type { ColumnProps, ColumnerStoreType } from './types.js';
4
+ import { resizer } from '../../utils/uses/resizer/resizer.js';
5
+ import Slotted from '../../utils/slotted/Slotted.svelte';
6
+ import { onEvent } from '../../utils/uses/event.js';
7
+
8
+ let columner = getContext<ColumnerStoreType>('columner');
9
+
10
+ let {
11
+ class: className = '',
12
+ element = $bindable(),
13
+ style = '',
14
+ columnId = crypto.randomUUID() as string,
15
+ bottomSlot,
16
+ drawerTop,
17
+ children,
18
+ ...rest
19
+ }: ColumnProps = $props();
20
+
21
+ if (!$columner[columnId]) {
22
+ $columner[columnId] = {
23
+ columnId: Object.keys($columner).length,
24
+ state: 'default',
25
+ defaultStyle: {}
26
+ };
27
+ }
28
+
29
+ let width: string;
30
+
31
+ function resizeStart() {}
32
+
33
+ async function resizeOn(data: CustomEvent<{ width: any }>) {
34
+ await tick();
35
+ width = data.detail.width + 'px';
36
+ // $dataListContext.columns[field].width = data.detail.width + 'px';
37
+ }
38
+
39
+ function resizeEnd() {}
40
+ </script>
41
+
42
+ <div
43
+ bind:this={element}
44
+ id={columnId}
45
+ class="column {className}"
46
+ use:resizer
47
+ use:onEvent={{ event: 'on:resizer:start', action: resizeStart }}
48
+ use:onEvent={{ event: 'on:resizer:resize', action: resizeOn }}
49
+ use:onEvent={{ event: 'on:resizer:end', action: resizeEnd }}
50
+ style:width
51
+ {...rest}
52
+ >
53
+ <Slotted child={drawerTop}></Slotted>
54
+ <div class="content">
55
+ {width}
56
+
57
+ <Slotted child={children}></Slotted>
58
+ </div>
59
+ <Slotted child={bottomSlot}></Slotted>
60
+ </div>
61
+
62
62
  <style>.column {
63
63
  height: 100%;
64
64
  width: 100%;
@@ -80,4 +80,4 @@
80
80
  .column .commandBar {
81
81
  position: sticky;
82
82
  top: 0;
83
- }</style>
83
+ }</style>
@@ -1,15 +1,15 @@
1
- <script lang="ts">
2
- import ComponentDemo from '../demoer/DemoerComponent.svelte';
3
- import Column from './Column.svelte';
4
- import Columner from './Columner.svelte';
5
- </script>
6
-
7
- todo
8
- <ComponentDemo component="Column" cite="What else, cells ? We are columns <br /> D. Viesas, 1964">
9
- <Columner style="height:350px">
10
- <Column style="width:150px">1</Column>
11
- <Column style="width:150px">2</Column>
12
- <Column style="width:150px">2</Column>
13
- <Column style="width:150px;right:0">3</Column>
14
- </Columner>
15
- </ComponentDemo>
1
+ <script lang="ts">
2
+ import ComponentDemo from '../demoer/DemoerComponent.svelte';
3
+ import Column from './Column.svelte';
4
+ import Columner from './Columner.svelte';
5
+ </script>
6
+
7
+ todo
8
+ <ComponentDemo component="Column" cite="What else, cells ? We are columns <br /> D. Viesas, 1964">
9
+ <Columner style="height:350px">
10
+ <Column style="width:150px">1</Column>
11
+ <Column style="width:150px">2</Column>
12
+ <Column style="width:150px">2</Column>
13
+ <Column style="width:150px;right:0">3</Column>
14
+ </Columner>
15
+ </ComponentDemo>
@@ -1,25 +1,25 @@
1
- <script lang="ts">
2
- import type { ExpandProps } from '../../types/index.js';
3
- import type { ColumnerStoreType } from './types.js';
4
- import { setContext, type Snippet } from 'svelte';
5
- import { writable } from 'svelte/store';
6
-
7
- const columner = writable<ColumnerStoreType>({});
8
- setContext('columner', columner);
9
- type Props = {
10
- children: Snippet;
11
- };
12
- let { children, ...restProps }: ExpandProps<Props> = $props();
13
- </script>
14
-
15
- <div class="columner" {...restProps}>
16
- {#if children}
17
- {@render children()}
18
- {/if}
19
- </div>
20
-
1
+ <script lang="ts">
2
+ import type { ExpandProps } from '../../types/index.js';
3
+ import type { ColumnerStoreType } from './types.js';
4
+ import { setContext, type Snippet } from 'svelte';
5
+ import { writable } from 'svelte/store';
6
+
7
+ const columner = writable<ColumnerStoreType>({});
8
+ setContext('columner', columner);
9
+ type Props = {
10
+ children: Snippet;
11
+ };
12
+ let { children, ...restProps }: ExpandProps<Props> = $props();
13
+ </script>
14
+
15
+ <div class="columner" {...restProps}>
16
+ {#if children}
17
+ {@render children()}
18
+ {/if}
19
+ </div>
20
+
21
21
  <style>.columner {
22
22
  display: flex;
23
23
  height: 100%;
24
24
  position: relative;
25
- }</style>
25
+ }</style>
@@ -1,45 +1,45 @@
1
- <script lang="ts">
2
- import ComponentDemo from '../demoer/DemoerComponent.svelte';
3
- import { Demoer } from '../../../sitedata/slotuiComponents.js';
4
- import Icon from '../icon/Icon.svelte';
5
- import DemoPage from '../demoer/DemoPage.svelte';
6
- import ContentSwitcher from './ContentSwitcher.svelte';
7
- import { contentSwitcherDemoValues } from './types.js';
8
-
9
- import { parameters, componentArgs } from './types.js';
10
-
11
- const code = `
12
- <ContentSwitcher {...activeParams} class="marg-tb-1">
13
- {#snippet contentSwitcherTogglerIcon()}
14
- <Icon icon="mdi:tree" />
15
- {/snippet}
16
- {#snippet contentSwitcherBackIcon()}
17
- <span>Switch</span>
18
- {/snippet}
19
- {#snippet contentSwitcherReveal()}
20
- <div class="pad-2 border-t">Some <br />switched <br />content</div>
21
- {/snippet}
22
- </ContentSwitcher>`;
23
- </script>
24
-
25
- <ComponentDemo component="ContentSwitcher">
26
- <div class="flex-v gap-large">
27
- <DemoPage component="ContentSwitcher" {code}>
28
- <Demoer title="A simple contentSwitcher" {parameters} {componentArgs}>
29
- {#snippet children({ activeParams })}
30
- <ContentSwitcher {...activeParams} class="marg-tb-1">
31
- {#snippet contentSwitcherTogglerIcon()}
32
- <Icon icon="mdi:tree" />
33
- {/snippet}
34
- {#snippet contentSwitcherBackIcon()}
35
- <span>Switch</span>
36
- {/snippet}
37
- {#snippet contentSwitcherReveal()}
38
- <div class="pad-2 border-t">Some <br />switched <br />content</div>
39
- {/snippet}
40
- </ContentSwitcher>
41
- {/snippet}
42
- </Demoer>
43
- </DemoPage>
44
- </div>
45
- </ComponentDemo>
1
+ <script lang="ts">
2
+ import ComponentDemo from '../demoer/DemoerComponent.svelte';
3
+ import { Demoer } from '../../../sitedata/slotuiComponents.js';
4
+ import Icon from '../icon/Icon.svelte';
5
+ import DemoPage from '../demoer/DemoPage.svelte';
6
+ import ContentSwitcher from './ContentSwitcher.svelte';
7
+ import { contentSwitcherDemoValues } from './types.js';
8
+
9
+ import { parameters, componentArgs } from './types.js';
10
+
11
+ const code = `
12
+ <ContentSwitcher {...activeParams} class="marg-tb-1">
13
+ {#snippet contentSwitcherTogglerIcon()}
14
+ <Icon icon="mdi:tree" />
15
+ {/snippet}
16
+ {#snippet contentSwitcherBackIcon()}
17
+ <span>Switch</span>
18
+ {/snippet}
19
+ {#snippet contentSwitcherReveal()}
20
+ <div class="pad-2 border-t">Some <br />switched <br />content</div>
21
+ {/snippet}
22
+ </ContentSwitcher>`;
23
+ </script>
24
+
25
+ <ComponentDemo component="ContentSwitcher">
26
+ <div class="flex-v gap-large">
27
+ <DemoPage component="ContentSwitcher" {code}>
28
+ <Demoer title="A simple contentSwitcher" {parameters} {componentArgs}>
29
+ {#snippet children({ activeParams })}
30
+ <ContentSwitcher {...activeParams} class="marg-tb-1">
31
+ {#snippet contentSwitcherTogglerIcon()}
32
+ <Icon icon="mdi:tree" />
33
+ {/snippet}
34
+ {#snippet contentSwitcherBackIcon()}
35
+ <span>Switch</span>
36
+ {/snippet}
37
+ {#snippet contentSwitcherReveal()}
38
+ <div class="pad-2 border-t">Some <br />switched <br />content</div>
39
+ {/snippet}
40
+ </ContentSwitcher>
41
+ {/snippet}
42
+ </Demoer>
43
+ </DemoPage>
44
+ </div>
45
+ </ComponentDemo>
@@ -1,65 +1,65 @@
1
- <script lang="ts">
2
- import IconButton from '../../controls/button/IconButton.svelte';
3
- import Button from '../../controls/button/Button.svelte';
4
- import Slotted from '../../utils/slotted/Slotted.svelte';
5
- import type { ContentSwitcherProps } from './types.js';
6
- import type { ExpandProps } from '../../types/index.js';
7
-
8
- let {
9
- class: className = '',
10
- element = undefined,
11
- style,
12
- icon = 'toggle',
13
- iconback = 'chevron-left',
14
- parent = undefined,
15
- contentSwitcherTogglerIcon: togglerIcon,
16
- contentSwitcherBackIcon: backIcon,
17
- contentSwitcherReveal
18
- }: ExpandProps<ContentSwitcherProps> = $props();
19
-
20
- let visibleSate: boolean = $state(false);
21
- let thisRef: any;
22
- let realParent: HTMLElement | null = $derived(parent ?? element?.parentElement ?? null);
23
-
24
- function handleClick(event: MouseEvent) {
25
- visibleSate = !visibleSate;
26
- if (!element || !realParent) return false;
27
- const children: HTMLCollection = realParent?.children;
28
-
29
- // iterate over all child nodes
30
- Array.from(children).forEach((li: any) => {
31
- //li.style.transform = visibleSate ? 'scale(0,0)' : '';
32
- li.style.display = visibleSate ? 'none' : '';
33
- });
34
-
35
- if (visibleSate) {
36
- realParent.appendChild(thisRef);
37
- } else {
38
- element.appendChild(thisRef);
39
- }
40
- }
41
- </script>
42
-
43
- <!-- svelte-ignore a11y_click_events_have_key_events -->
44
- <!-- svelte-ignore a11y_no_static_element_interactions -->
45
- <div class={className} {style} onclick={handleClick}>
46
- <Slotted child={togglerIcon}>
47
- <IconButton style="aspect-ratio:1/1" {icon} iconFontSize="small" />
48
- </Slotted>
49
- </div>
50
- <div bind:this={element} style="display:none">
51
- <div bind:this={thisRef} class="content-switcher">
52
- <!-- svelte-ignore a11y_click_events_have_key_events -->
53
- <!-- svelte-ignore a11y_no_static_element_interactions -->
54
- <div onclick={handleClick}>
55
- <Slotted child={backIcon}>
56
- <Button ratio="1/1" icon={iconback} />
57
- </Slotted>
58
- </div>
59
- <Slotted child={contentSwitcherReveal} />
60
- </div>
61
- </div>
62
-
1
+ <script lang="ts">
2
+ import IconButton from '../../controls/button/IconButton.svelte';
3
+ import Button from '../../controls/button/Button.svelte';
4
+ import Slotted from '../../utils/slotted/Slotted.svelte';
5
+ import type { ContentSwitcherProps } from './types.js';
6
+ import type { ExpandProps } from '../../types/index.js';
7
+
8
+ let {
9
+ class: className = '',
10
+ element = undefined,
11
+ style,
12
+ icon = 'toggle',
13
+ iconback = 'chevron-left',
14
+ parent = undefined,
15
+ contentSwitcherTogglerIcon: togglerIcon,
16
+ contentSwitcherBackIcon: backIcon,
17
+ contentSwitcherReveal
18
+ }: ExpandProps<ContentSwitcherProps> = $props();
19
+
20
+ let visibleSate: boolean = $state(false);
21
+ let thisRef: any;
22
+ let realParent: HTMLElement | null = $derived(parent ?? element?.parentElement ?? null);
23
+
24
+ function handleClick(event: MouseEvent) {
25
+ visibleSate = !visibleSate;
26
+ if (!element || !realParent) return false;
27
+ const children: HTMLCollection = realParent?.children;
28
+
29
+ // iterate over all child nodes
30
+ Array.from(children).forEach((li: any) => {
31
+ //li.style.transform = visibleSate ? 'scale(0,0)' : '';
32
+ li.style.display = visibleSate ? 'none' : '';
33
+ });
34
+
35
+ if (visibleSate) {
36
+ realParent.appendChild(thisRef);
37
+ } else {
38
+ element.appendChild(thisRef);
39
+ }
40
+ }
41
+ </script>
42
+
43
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
44
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
45
+ <div class={className} {style} onclick={handleClick}>
46
+ <Slotted child={togglerIcon}>
47
+ <IconButton style="aspect-ratio:1/1" {icon} iconFontSize="small" />
48
+ </Slotted>
49
+ </div>
50
+ <div bind:this={element} style="display:none">
51
+ <div bind:this={thisRef} class="content-switcher">
52
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
53
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
54
+ <div onclick={handleClick}>
55
+ <Slotted child={backIcon}>
56
+ <Button ratio="1/1" icon={iconback} />
57
+ </Slotted>
58
+ </div>
59
+ <Slotted child={contentSwitcherReveal} />
60
+ </div>
61
+ </div>
62
+
63
63
  <style>:root {
64
64
  --sld-content-switcher-overflow: hidden;
65
65
  }
@@ -80,4 +80,4 @@
80
80
  overflow: var(--sld-content-switcher-overflow);
81
81
  min-width: auto;
82
82
  flex: 1 1 auto;
83
- }</style>
83
+ }</style>
@@ -1,22 +1,22 @@
1
- @use "../../styles/slotui-mixins.scss";
2
-
3
- :root {
4
- --sld-content-switcher-overflow: hidden;
5
- }
6
- .content-switcher {
7
- min-width: auto;
8
- max-width: 100%;
9
- width: 100%;
10
- gap: 0.5rem;
11
- overflow: var(--sld-content-switcher-overflow);
12
- position: relative;
13
- display: flex;
14
- align-items: center;
15
- flex: 1;
16
- .content {
17
- position: relative;
18
- overflow: var(--sld-content-switcher-overflow);
19
- min-width: auto;
20
- flex: 1 1 auto;
21
- }
22
- }
1
+ @use "../../styles/slotui-mixins.scss";
2
+
3
+ :root {
4
+ --sld-content-switcher-overflow: hidden;
5
+ }
6
+ .content-switcher {
7
+ min-width: auto;
8
+ max-width: 100%;
9
+ width: 100%;
10
+ gap: 0.5rem;
11
+ overflow: var(--sld-content-switcher-overflow);
12
+ position: relative;
13
+ display: flex;
14
+ align-items: center;
15
+ flex: 1;
16
+ .content {
17
+ position: relative;
18
+ overflow: var(--sld-content-switcher-overflow);
19
+ min-width: auto;
20
+ flex: 1 1 auto;
21
+ }
22
+ }
@@ -1,21 +1,21 @@
1
- <script lang="ts">
2
- import Cartouche from '../cartouche/Cartouche.svelte';
3
- import type TabsItemsProps from '../../navigation/tabs/Tabs.svelte';
4
-
5
- const items: TabsItemsProps = [
6
- { label: 'theTitle', code: 'theTitle1' },
7
- { label: 'theTitle bis', code: 'theTitle2' },
8
- {
9
- label: 'theTitle ter',
10
- code: 'theTitle3',
11
- component: Cartouche,
12
- componentProps: { label: 'dynamic' }
13
- }
14
- ];
15
- </script>
16
-
17
- <div style="padding:0.5rem">
18
- <Cartouche isOpen={true} primary="debug zone here">
19
- <pre>{JSON.stringify($$props, null, ' ')}</pre>
20
- </Cartouche>
21
- </div>
1
+ <script lang="ts">
2
+ import Cartouche from '../cartouche/Cartouche.svelte';
3
+ import type TabsItemsProps from '../../navigation/tabs/Tabs.svelte';
4
+
5
+ const items: TabsItemsProps = [
6
+ { label: 'theTitle', code: 'theTitle1' },
7
+ { label: 'theTitle bis', code: 'theTitle2' },
8
+ {
9
+ label: 'theTitle ter',
10
+ code: 'theTitle3',
11
+ component: Cartouche,
12
+ componentProps: { label: 'dynamic' }
13
+ }
14
+ ];
15
+ </script>
16
+
17
+ <div style="padding:0.5rem">
18
+ <Cartouche isOpen={true} primary="debug zone here">
19
+ <pre>{JSON.stringify($$props, null, ' ')}</pre>
20
+ </Cartouche>
21
+ </div>