@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.
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 +46 -47
  119. package/dist/index.js +46 -47
  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 +288 -288
  128. package/dist/slotui-css/slotui-min-css.css +288 -288
  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,51 +1,51 @@
1
- @use "../../styles/slotui-mixins.scss";
2
-
3
- :root {
4
- --slider-background-color: var(--sld-color-background);
5
- --slider-gouge-background-color: var(--sld-color-secondary);
6
- --slider-gouge-selected-background-color: var(--sld-color-primary);
7
- --slider-thumb-background-color: var(--sld-color-primary);
8
- --slider-thumb-border: var(--sld-color-primary-darken-high);
9
- --slider-thumb-hover-outline: var(--sld-color-primary-alpha-high);
10
- --slider-thumb-hover-box-shadow: var(--sld-elevation-3);
11
- }
12
-
13
- .slider {
14
- @include slotui-mixins.ui-tall-presets;
15
- & {
16
- --height: calc(var(--preset-density) / 6);
17
- background-color: var(--slider-background-color);
18
- position: relative;
19
- display: inline-flex;
20
- flex-direction: row;
21
- align-items: center;
22
- width: 168px;
23
- }
24
- .slider-gouge {
25
- height: var(--height);
26
- width: 100%;
27
- border-radius: 10px;
28
- background-color: var(--slider-gouge-background-color);
29
- }
30
- .slider-gouge-selected {
31
- height: var(--height);
32
- border-radius: 10px;
33
- background-color: var(--slider-gouge-selected-background-color);
34
- }
35
- .slider-thumb {
36
- top: 0;
37
- aspect-ratio: 1/1;
38
- height: 90%;
39
- transform: translateY(50%);
40
- background-color: var(--slider-thumb-background-color);
41
- position: absolute;
42
- border: 3px solid var(--slider-thumb-border);
43
- border-radius: 50%;
44
- display: inline-block;
45
- background-clip: padding-box;
46
- &:hover {
47
- box-shadow: var(--slider-thumb-hover-box-shadow);
48
- outline: 4px solid var(--slider-thumb-hover-outline);
49
- }
50
- }
51
- }
1
+ @use "../../styles/slotui-mixins.scss";
2
+
3
+ :root {
4
+ --slider-background-color: var(--sld-color-background);
5
+ --slider-gouge-background-color: var(--sld-color-secondary);
6
+ --slider-gouge-selected-background-color: var(--sld-color-primary);
7
+ --slider-thumb-background-color: var(--sld-color-primary);
8
+ --slider-thumb-border: var(--sld-color-primary-darken-high);
9
+ --slider-thumb-hover-outline: var(--sld-color-primary-alpha-high);
10
+ --slider-thumb-hover-box-shadow: var(--sld-elevation-3);
11
+ }
12
+
13
+ .slider {
14
+ @include slotui-mixins.ui-tall-presets;
15
+ & {
16
+ --height: calc(var(--preset-density) / 6);
17
+ background-color: var(--slider-background-color);
18
+ position: relative;
19
+ display: inline-flex;
20
+ flex-direction: row;
21
+ align-items: center;
22
+ width: 168px;
23
+ }
24
+ .slider-gouge {
25
+ height: var(--height);
26
+ width: 100%;
27
+ border-radius: 10px;
28
+ background-color: var(--slider-gouge-background-color);
29
+ }
30
+ .slider-gouge-selected {
31
+ height: var(--height);
32
+ border-radius: 10px;
33
+ background-color: var(--slider-gouge-selected-background-color);
34
+ }
35
+ .slider-thumb {
36
+ top: 0;
37
+ aspect-ratio: 1/1;
38
+ height: 90%;
39
+ transform: translateY(50%);
40
+ background-color: var(--slider-thumb-background-color);
41
+ position: absolute;
42
+ border: 3px solid var(--slider-thumb-border);
43
+ border-radius: 50%;
44
+ display: inline-block;
45
+ background-clip: padding-box;
46
+ &:hover {
47
+ box-shadow: var(--slider-thumb-hover-box-shadow);
48
+ outline: 4px solid var(--slider-thumb-hover-outline);
49
+ }
50
+ }
51
+ }
@@ -1,32 +1,32 @@
1
- <script lang="ts">
2
- import Stepper from './Stepper.svelte';
3
-
4
- import ComponentDemo from '../../base/demoer/DemoerComponent.svelte';
5
- import Demoer from '../../base/demoer/Demoer.svelte';
6
- import DemoPage from '../../base/demoer/DemoPage.svelte';
7
- import { parameters, componentArgs } from './types.js';
8
-
9
- let code = `
10
- <Stepper>
11
-
12
- </Stepper>`;
13
- </script>
14
-
15
- <ComponentDemo
16
- component="Stepper"
17
- cite="If a step was a leap it would soar over the next step.<br /> Clara Boxee 2010"
18
- >
19
- <div class="flex-v gap-large">
20
- <DemoPage component="Stepper" {code}>
21
- <Demoer {parameters} {...componentArgs}>
22
- {#snippet children({ activeParams })}
23
- <Stepper {...activeParams}>
24
- {#snippet children(step)}
25
- {step.title}, step
26
- {/snippet}
27
- </Stepper>
28
- {/snippet}
29
- </Demoer>
30
- </DemoPage>
31
- </div>
32
- </ComponentDemo>
1
+ <script lang="ts">
2
+ import Stepper from './Stepper.svelte';
3
+
4
+ import ComponentDemo from '../../base/demoer/DemoerComponent.svelte';
5
+ import Demoer from '../../base/demoer/Demoer.svelte';
6
+ import DemoPage from '../../base/demoer/DemoPage.svelte';
7
+ import { parameters, componentArgs } from './types.js';
8
+
9
+ let code = `
10
+ <Stepper>
11
+
12
+ </Stepper>`;
13
+ </script>
14
+
15
+ <ComponentDemo
16
+ component="Stepper"
17
+ cite="If a step was a leap it would soar over the next step.<br /> Clara Boxee 2010"
18
+ >
19
+ <div class="flex-v gap-large">
20
+ <DemoPage component="Stepper" {code}>
21
+ <Demoer {parameters} {...componentArgs}>
22
+ {#snippet children({ activeParams })}
23
+ <Stepper {...activeParams}>
24
+ {#snippet children(step)}
25
+ {step.title}, step
26
+ {/snippet}
27
+ </Stepper>
28
+ {/snippet}
29
+ </Demoer>
30
+ </DemoPage>
31
+ </div>
32
+ </ComponentDemo>
@@ -1,32 +1,32 @@
1
- <script lang="ts" generics="T = Data">
2
- import type { StepperProps } from './types.js';
3
- import Slotted from '../../utils/slotted/Slotted.svelte';
4
- import type { Data, ExpandProps } from '../../types/index.js';
5
-
6
- export const actions = {
7
- setActiveStep: function (step: number) {
8
- activeStep = step ?? 0;
9
- }
10
- };
11
-
12
- let {
13
- steps = $bindable([]),
14
- stepperOrientation = 'horizontal',
15
- activeStep = $bindable(0),
16
- children
17
- }: ExpandProps<StepperProps<T>> = $props();
18
-
19
- let child = children;
20
- </script>
21
-
22
- <div class="stepper {stepperOrientation}">
23
- {#each steps as step, index}
24
- <div title={step.title} class="stepper-step">
25
- <Slotted child={children} slotArgs={{ step, index }}>de</Slotted>
26
- </div>
27
- {/each}
28
- </div>
29
-
1
+ <script lang="ts" generics="T = Data">
2
+ import type { StepperProps } from './types.js';
3
+ import Slotted from '../../utils/slotted/Slotted.svelte';
4
+ import type { Data, ExpandProps } from '../../types/index.js';
5
+
6
+ export const actions = {
7
+ setActiveStep: function (step: number) {
8
+ activeStep = step ?? 0;
9
+ }
10
+ };
11
+
12
+ let {
13
+ steps = $bindable([]),
14
+ stepperOrientation = 'horizontal',
15
+ activeStep = $bindable(0),
16
+ children
17
+ }: ExpandProps<StepperProps<T>> = $props();
18
+
19
+ let child = children;
20
+ </script>
21
+
22
+ <div class="stepper {stepperOrientation}">
23
+ {#each steps as step, index}
24
+ <div title={step.title} class="stepper-step">
25
+ <Slotted child={children} slotArgs={{ step, index }}>de</Slotted>
26
+ </div>
27
+ {/each}
28
+ </div>
29
+
30
30
  <style>:root {
31
31
  --stepper-pad: var(--sld-pad-med);
32
32
  --stepper-radius: var(--sld-radius-small);
@@ -46,4 +46,4 @@
46
46
  }
47
47
  .stepper-step.active {
48
48
  color: var(--stepper-active-color);
49
- }</style>
49
+ }</style>
@@ -1,23 +1,23 @@
1
- @use "../../styles/slotui-mixins.scss";
2
-
3
- :root {
4
- --stepper-pad: var(--sld-pad-med);
5
- --stepper-radius: var(--sld-radius-small);
6
- --stepper-active-color: var(--sld-color-secondary);
7
- }
8
-
9
- .stepper {
10
- display: flex;
11
- &.vertical {
12
- flex-direction: column;
13
- }
14
- &-step {
15
- padding: var(--stepper-pad);
16
- border-radius: var(--stepper-radius);
17
- margin-top: 10px;
18
-
19
- &.active {
20
- color: var(--stepper-active-color);
21
- }
22
- }
23
- }
1
+ @use "../../styles/slotui-mixins.scss";
2
+
3
+ :root {
4
+ --stepper-pad: var(--sld-pad-med);
5
+ --stepper-radius: var(--sld-radius-small);
6
+ --stepper-active-color: var(--sld-color-secondary);
7
+ }
8
+
9
+ .stepper {
10
+ display: flex;
11
+ &.vertical {
12
+ flex-direction: column;
13
+ }
14
+ &-step {
15
+ padding: var(--stepper-pad);
16
+ border-radius: var(--stepper-radius);
17
+ margin-top: 10px;
18
+
19
+ &.active {
20
+ color: var(--stepper-active-color);
21
+ }
22
+ }
23
+ }
@@ -1,61 +1,61 @@
1
- <script lang="ts">
2
- import Switch from './Switch.svelte';
3
- import { defaultsArgs, defaultsArgsFromProps } from '../../base/demoer/demoer.utils.js';
4
- /* demo */
5
- import ComponentDemo from '../../base/demoer/DemoerComponent.svelte';
6
- import Demoer from '../../base/demoer/Demoer.svelte';
7
- import DemoPage from '../../base/demoer/DemoPage.svelte';
8
- import Icon from '../../base/icon/Icon.svelte';
9
- import { uiPresets } from '../../utils/engine/presets.js';
10
- /* demo */
11
-
12
- let parametersSlot: any = {
13
- autoClose: {
14
- type: 'boolean',
15
- values: [true, false]
16
- },
17
- stickToHookWidth: {
18
- type: 'boolean',
19
- values: [true, false]
20
- },
21
- position: {
22
- type: 'string',
23
- values: uiPresets.stickyPosition
24
- }
25
- };
26
-
27
- let componentArgs = defaultsArgs(parametersSlot);
28
-
29
- let codeSlot = `
30
- <Switch name={'switcher'} class="w-small" >
31
-
32
- </Switch>`;
33
-
34
- let codeProps = `
35
- <Loader
36
- status={"loading"}
37
- messages={{
38
- loading: 'Loading dataset',
39
- error : 'An error occurred',
40
- empty : 'Empty results',
41
- success: 'Success !'
42
- }}
43
- emptyIcon="mdi:database-search-outline"
44
- errorIcon="mdi:alert-circle-outline"
45
- loadingIcon="mdi:loading"
46
- successIcon="clarity:success-standard-line" />`;
47
- </script>
48
-
49
- <ComponentDemo component="Switch">
50
- <div class="flex-v gap-large">
51
- <DemoPage code={codeSlot} component="Switch">
52
- <Demoer parameters={parametersSlot} {componentArgs}>
53
- {#snippet children({ activeParams })}
54
- <div class="pad-2">
55
- <Switch {...activeParams} name={'switcher'}></Switch>
56
- </div>
57
- {/snippet}
58
- </Demoer>
59
- </DemoPage>
60
- </div>
61
- </ComponentDemo>
1
+ <script lang="ts">
2
+ import Switch from './Switch.svelte';
3
+ import { defaultsArgs, defaultsArgsFromProps } from '../../base/demoer/demoer.utils.js';
4
+ /* demo */
5
+ import ComponentDemo from '../../base/demoer/DemoerComponent.svelte';
6
+ import Demoer from '../../base/demoer/Demoer.svelte';
7
+ import DemoPage from '../../base/demoer/DemoPage.svelte';
8
+ import Icon from '../../base/icon/Icon.svelte';
9
+ import { uiPresets } from '../../utils/engine/presets.js';
10
+ /* demo */
11
+
12
+ let parametersSlot: any = {
13
+ autoClose: {
14
+ type: 'boolean',
15
+ values: [true, false]
16
+ },
17
+ stickToHookWidth: {
18
+ type: 'boolean',
19
+ values: [true, false]
20
+ },
21
+ position: {
22
+ type: 'string',
23
+ values: uiPresets.stickyPosition
24
+ }
25
+ };
26
+
27
+ let componentArgs = defaultsArgs(parametersSlot);
28
+
29
+ let codeSlot = `
30
+ <Switch name={'switcher'} class="w-small" >
31
+
32
+ </Switch>`;
33
+
34
+ let codeProps = `
35
+ <Loader
36
+ status={"loading"}
37
+ messages={{
38
+ loading: 'Loading dataset',
39
+ error : 'An error occurred',
40
+ empty : 'Empty results',
41
+ success: 'Success !'
42
+ }}
43
+ emptyIcon="mdi:database-search-outline"
44
+ errorIcon="mdi:alert-circle-outline"
45
+ loadingIcon="mdi:loading"
46
+ successIcon="clarity:success-standard-line" />`;
47
+ </script>
48
+
49
+ <ComponentDemo component="Switch">
50
+ <div class="flex-v gap-large">
51
+ <DemoPage code={codeSlot} component="Switch">
52
+ <Demoer parameters={parametersSlot} {componentArgs}>
53
+ {#snippet children({ activeParams })}
54
+ <div class="pad-2">
55
+ <Switch {...activeParams} name={'switcher'}></Switch>
56
+ </div>
57
+ {/snippet}
58
+ </Demoer>
59
+ </DemoPage>
60
+ </div>
61
+ </ComponentDemo>
@@ -1,47 +1,47 @@
1
- <script lang="ts" generics="T=Data">
2
- //
3
- import type { Data, ExpandProps } from '../../types/index.js';
4
- import Slotted from '../../utils/slotted/Slotted.svelte';
5
- import type { SwitchProps } from './types.js';
6
-
7
- let {
8
- class: className = '',
9
- style = '',
10
- element = $bindable<HTMLElement | null>(null),
11
- name = $bindable<string>(undefined),
12
- checked = $bindable<boolean>(false),
13
- disabled = $bindable<boolean>(false),
14
- metaData,
15
- onChange = (val: boolean, metaData: T) => {},
16
- children,
17
- switchLabel
18
- }: ExpandProps<SwitchProps<T>> = $props();
19
-
20
- let hiddenRef: HTMLInputElement;
21
- </script>
22
-
23
- <input bind:this={hiddenRef} {name} id={name} value={checked} type="hidden" />
24
- <label bind:this={element} for="_{name}" class="switch {className}" {style}>
25
- <Slotted child={switchLabel} />
26
-
27
- <div class="switchGutter">
28
- <input
29
- onchange={(event) => {
30
- if (hiddenRef) hiddenRef.value = `${event.currentTarget.checked}`;
31
- onChange(event.currentTarget.checked, metaData as T);
32
- }}
33
- id="_{name}"
34
- {checked}
35
- {disabled}
36
- type="checkbox"
37
- />
38
- <div class="switchHandle">
39
- <Slotted child={children} />
40
- </div>
41
- </div>
42
- </label>
43
- ..
44
-
1
+ <script lang="ts" generics="T=Data">
2
+ //
3
+ import type { Data, ExpandProps } from '../../types/index.js';
4
+ import Slotted from '../../utils/slotted/Slotted.svelte';
5
+ import type { SwitchProps } from './types.js';
6
+
7
+ let {
8
+ class: className = '',
9
+ style = '',
10
+ element = $bindable<HTMLElement | null>(null),
11
+ name = $bindable<string>(undefined),
12
+ checked = $bindable<boolean>(false),
13
+ disabled = $bindable<boolean>(false),
14
+ metaData,
15
+ onChange = (val: boolean, metaData: T) => {},
16
+ children,
17
+ switchLabel
18
+ }: ExpandProps<SwitchProps<T>> = $props();
19
+
20
+ let hiddenRef: HTMLInputElement;
21
+ </script>
22
+
23
+ <input bind:this={hiddenRef} {name} id={name} value={checked} type="hidden" />
24
+ <label bind:this={element} for="_{name}" class="switch {className}" {style}>
25
+ <Slotted child={switchLabel} />
26
+
27
+ <div class="switchGutter">
28
+ <input
29
+ onchange={(event) => {
30
+ if (hiddenRef) hiddenRef.value = `${event.currentTarget.checked}`;
31
+ onChange(event.currentTarget.checked, metaData as T);
32
+ }}
33
+ id="_{name}"
34
+ {checked}
35
+ {disabled}
36
+ type="checkbox"
37
+ />
38
+ <div class="switchHandle">
39
+ <Slotted child={children} />
40
+ </div>
41
+ </div>
42
+ </label>
43
+ ..
44
+
45
45
  <style>:root {
46
46
  --switch-border-radius: var(--sld-radius-large);
47
47
  --switch-background: var(--sld-color-paper);
@@ -104,4 +104,4 @@ label {
104
104
  border: none;
105
105
  padding: 0;
106
106
  min-width: 42px;
107
- }</style>
107
+ }</style>
@@ -1,73 +1,73 @@
1
- @use "../../styles/slotui-mixins.scss";
2
-
3
- :root {
4
- --switch-border-radius: var(--sld-radius-large);
5
- --switch-background: var(--sld-color-paper);
6
- --switch-checked-background: var(--sld-color-primary);
7
- --switch-handle-background-color: var(--sld-color-primary);
8
- --switch-handle-border: var(--sld-color-secondary-alpha-low);
9
- --switch-gutter-border: var(--sld-color-primary-alpha-low);
10
- --switch-gutter-background: var(--sld-switch-background);
11
- --switch-gutter-padding: 3px;
12
- }
13
-
14
- .switch {
15
- display: inline-block;
16
- position: relative;
17
- border-radius: var(--switch-border-radius);
18
- overflow: hidden;
19
- cursor: pointer;
20
-
21
- :hover {
22
- .switchHandle {
23
- background-color: var(--sld-color-secondary) !important;
24
- }
25
- }
26
-
27
- :has(input:checked) {
28
- background-color: var(--switch-checked-background);
29
- }
30
-
31
- .switchGutter {
32
- border: 1px solid var(--switch-gutter-border);
33
- border-radius: var(--switch-border-radius);
34
- padding: var(--switch-gutter-padding);
35
- background-color: var(--switch-gutter-background);
36
-
37
- input {
38
- position: absolute;
39
- width: 0;
40
- height: 0;
41
- top: -50px;
42
- left: -50px;
43
- }
44
-
45
- input:checked + .switchHandle {
46
- left: calc(100% - 16px);
47
- border-color: var(--sld-color-secondary-alpha-mid);
48
- box-shadow: var(--sld-elevation-3);
49
- background-color: var(--sld-color-background);
50
- }
51
-
52
- input + .switchHandle {
53
- position: relative;
54
- display: block;
55
- width: 16px;
56
- height: 16px;
57
- background: white;
58
- border-radius: var(--switch-border-radius);
59
- left: 0;
60
- transition: all 0.1s;
61
- background-color: var(--switch-handle-background-color);
62
- border: 1px solid var(--switch-handle-border);
63
- box-shadow: var(--sld-elevation-1);
64
- }
65
- }
66
- }
67
-
68
- label {
69
- background-color: transparent;
70
- border: none;
71
- padding: 0;
72
- min-width: 42px;
73
- }
1
+ @use "../../styles/slotui-mixins.scss";
2
+
3
+ :root {
4
+ --switch-border-radius: var(--sld-radius-large);
5
+ --switch-background: var(--sld-color-paper);
6
+ --switch-checked-background: var(--sld-color-primary);
7
+ --switch-handle-background-color: var(--sld-color-primary);
8
+ --switch-handle-border: var(--sld-color-secondary-alpha-low);
9
+ --switch-gutter-border: var(--sld-color-primary-alpha-low);
10
+ --switch-gutter-background: var(--sld-switch-background);
11
+ --switch-gutter-padding: 3px;
12
+ }
13
+
14
+ .switch {
15
+ display: inline-block;
16
+ position: relative;
17
+ border-radius: var(--switch-border-radius);
18
+ overflow: hidden;
19
+ cursor: pointer;
20
+
21
+ :hover {
22
+ .switchHandle {
23
+ background-color: var(--sld-color-secondary) !important;
24
+ }
25
+ }
26
+
27
+ :has(input:checked) {
28
+ background-color: var(--switch-checked-background);
29
+ }
30
+
31
+ .switchGutter {
32
+ border: 1px solid var(--switch-gutter-border);
33
+ border-radius: var(--switch-border-radius);
34
+ padding: var(--switch-gutter-padding);
35
+ background-color: var(--switch-gutter-background);
36
+
37
+ input {
38
+ position: absolute;
39
+ width: 0;
40
+ height: 0;
41
+ top: -50px;
42
+ left: -50px;
43
+ }
44
+
45
+ input:checked + .switchHandle {
46
+ left: calc(100% - 16px);
47
+ border-color: var(--sld-color-secondary-alpha-mid);
48
+ box-shadow: var(--sld-elevation-3);
49
+ background-color: var(--sld-color-background);
50
+ }
51
+
52
+ input + .switchHandle {
53
+ position: relative;
54
+ display: block;
55
+ width: 16px;
56
+ height: 16px;
57
+ background: white;
58
+ border-radius: var(--switch-border-radius);
59
+ left: 0;
60
+ transition: all 0.1s;
61
+ background-color: var(--switch-handle-background-color);
62
+ border: 1px solid var(--switch-handle-border);
63
+ box-shadow: var(--sld-elevation-1);
64
+ }
65
+ }
66
+ }
67
+
68
+ label {
69
+ background-color: transparent;
70
+ border: none;
71
+ padding: 0;
72
+ min-width: 42px;
73
+ }