@medyll/idae-slotui-svelte 0.67.0 → 0.69.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 (156) hide show
  1. package/dist/base/alert/Alert.demo.svelte +10 -8
  2. package/dist/base/alert/Alert.svelte +56 -48
  3. package/dist/base/avatar/Avatar.demo.svelte +12 -8
  4. package/dist/base/avatar/Avatar.preview.svelte +3 -2
  5. package/dist/base/avatar/Avatar.svelte +24 -19
  6. package/dist/base/backdrop/Backdrop.demo.svelte +13 -9
  7. package/dist/base/backdrop/Backdrop.svelte +45 -37
  8. package/dist/base/badge/Badge.svelte +22 -18
  9. package/dist/base/box/Box.demo.svelte +12 -9
  10. package/dist/base/box/Box.svelte +44 -36
  11. package/dist/base/breadCrumb/BreadCrumb.svelte +12 -8
  12. package/dist/base/cartouche/Cartouche.demo.svelte +13 -9
  13. package/dist/base/cartouche/Cartouche.svelte +52 -44
  14. package/dist/base/chipper/Chipper.demo.svelte +14 -10
  15. package/dist/base/chipper/Chipper.svelte +19 -14
  16. package/dist/base/columner/Column.svelte +39 -31
  17. package/dist/base/columner/Columner.demo.svelte +4 -3
  18. package/dist/base/columner/Columner.svelte +12 -5
  19. package/dist/base/contentSwitcher/ContentSwitcher.demo.svelte +11 -8
  20. package/dist/base/contentSwitcher/ContentSwitcher.svelte +40 -30
  21. package/dist/base/debug/Debug.svelte +14 -11
  22. package/dist/base/demoer/DemoPage.svelte +18 -12
  23. package/dist/base/demoer/Demoer.svelte +20 -15
  24. package/dist/base/demoer/DemoerCode.svelte +28 -6
  25. package/dist/base/demoer/DemoerComponent.svelte +33 -13
  26. package/dist/base/divider/Divider.demo.svelte +12 -6
  27. package/dist/base/divider/Divider.svelte +58 -41
  28. package/dist/base/icon/Icon.demo.svelte +8 -5
  29. package/dist/base/icon/Icon.svelte +36 -27
  30. package/dist/base/icon/Icon.svelte.d.ts +1 -0
  31. package/dist/base/icon/types.d.ts +44 -9
  32. package/dist/base/paper/Paper.demo.svelte +12 -9
  33. package/dist/base/paper/Paper.svelte +13 -9
  34. package/dist/base/titleBar/TitleBar.demo.svelte +11 -9
  35. package/dist/base/titleBar/TitleBar.svelte +16 -12
  36. package/dist/controls/autocomplete/AutoComplete.demo.svelte +21 -16
  37. package/dist/controls/autocomplete/AutoComplete.svelte +81 -62
  38. package/dist/controls/button/Button.demo.svelte +50 -44
  39. package/dist/controls/button/Button.svelte +38 -33
  40. package/dist/controls/button/ButtonAction.svelte +32 -19
  41. package/dist/controls/button/ButtonMenu.svelte +22 -16
  42. package/dist/controls/button/IconButton.svelte +40 -13
  43. package/dist/controls/checkbox/Checkbox.demo.svelte +13 -9
  44. package/dist/controls/checkbox/Checkbox.svelte +18 -14
  45. package/dist/controls/confirm/Confirm.demo.svelte +12 -8
  46. package/dist/controls/confirm/Confirm.preview.svelte +3 -2
  47. package/dist/controls/confirm/Confirm.svelte +90 -67
  48. package/dist/controls/inplaceedit/InPlaceEdit.demo.svelte +12 -8
  49. package/dist/controls/inplaceedit/InPlaceEdit.svelte +74 -55
  50. package/dist/controls/progress/Progress.demo.svelte +14 -9
  51. package/dist/controls/progress/Progress.svelte +19 -13
  52. package/dist/controls/rating/Rating.demo.svelte +11 -8
  53. package/dist/controls/rating/Rating.svelte +21 -16
  54. package/dist/controls/select/Select.demo.svelte +46 -37
  55. package/dist/controls/select/Select.svelte +76 -29
  56. package/dist/controls/slider/Slider.demo.svelte +14 -7
  57. package/dist/controls/slider/Slider.svelte +104 -89
  58. package/dist/controls/stepper/Stepper.demo.svelte +9 -6
  59. package/dist/controls/stepper/Stepper.svelte +19 -13
  60. package/dist/controls/switch/Switch.demo.svelte +31 -24
  61. package/dist/controls/switch/Switch.svelte +20 -15
  62. package/dist/controls/textfield/TextField.demo.svelte +28 -23
  63. package/dist/controls/textfield/TextField.svelte +83 -75
  64. package/dist/controls/textfield/textfield.scss +15 -13
  65. package/dist/data/dataList/DataList.demo.svelte +44 -37
  66. package/dist/data/dataList/DataList.preview.svelte +8 -6
  67. package/dist/data/dataList/DataList.svelte +139 -115
  68. package/dist/data/dataList/DataListCell.svelte +146 -96
  69. package/dist/data/dataList/DataListHead.svelte +52 -36
  70. package/dist/data/dataList/DataListRow.svelte +57 -43
  71. package/dist/data/finder/Finder.demo.svelte +15 -11
  72. package/dist/data/finder/Finder.svelte +64 -46
  73. package/dist/data/grouper/Grouper.demo.svelte +14 -8
  74. package/dist/data/grouper/Grouper.svelte +62 -50
  75. package/dist/data/jsoner/Jsoner.svelte +14 -10
  76. package/dist/data/list/List.svelte +6 -2
  77. package/dist/data/list/ListItem.svelte +5 -2
  78. package/dist/data/list/ListTitle.svelte +5 -2
  79. package/dist/data/loader/Loader.demo.svelte +16 -8
  80. package/dist/data/loader/Loader.preview.svelte +2 -1
  81. package/dist/data/loader/Loader.svelte +56 -49
  82. package/dist/data/sorter/Sorter.demo.svelte +20 -17
  83. package/dist/data/sorter/Sorter.svelte +40 -33
  84. package/dist/data/sorter/Sorterer.svelte +17 -15
  85. package/dist/index.d.ts +1 -1
  86. package/dist/index.js +1 -1
  87. package/dist/navigation/drawer/Drawer.demo.svelte +11 -7
  88. package/dist/navigation/drawer/Drawer.svelte +92 -81
  89. package/dist/navigation/tabs/Tabs.demo.svelte +23 -18
  90. package/dist/navigation/tabs/Tabs.preview.svelte +17 -14
  91. package/dist/navigation/tabs/Tabs.svelte +73 -61
  92. package/dist/slotui-css/marquee.css +8 -8
  93. package/dist/slotui-css/marquee.min.css +8 -8
  94. package/dist/slotui-css/menu-list.css +47 -43
  95. package/dist/slotui-css/menu-list.min.css +47 -43
  96. package/dist/slotui-css/slotui-css.css +128 -124
  97. package/dist/slotui-css/slotui-min-css.css +128 -124
  98. package/dist/slotui-css/textfield.css +37 -37
  99. package/dist/slotui-css/textfield.min.css +37 -37
  100. package/dist/styles/slotuisheet/SlotuiSheet.svelte +14 -11
  101. package/dist/styles/slotuisheet/SlotyuiSheet.demo.svelte +21 -17
  102. package/dist/ui/bootstrapp/BootStrApp.svelte +21 -15
  103. package/dist/ui/chromeFrame/ChromeFrame.svelte +19 -10
  104. package/dist/ui/chromeFrame/ChromeFrameButtonList.svelte +6 -4
  105. package/dist/ui/chromeFrame/ChromeFrameList.svelte +97 -58
  106. package/dist/ui/frame/Frame.demo.svelte +6 -4
  107. package/dist/ui/frame/Frame.svelte +51 -44
  108. package/dist/ui/login/Login.demo.svelte +29 -21
  109. package/dist/ui/login/Login.svelte +49 -41
  110. package/dist/ui/marquee/Marquee.demo.svelte +11 -8
  111. package/dist/ui/marquee/Marquee.svelte +77 -35
  112. package/dist/ui/marquee/marquee.scss +11 -15
  113. package/dist/ui/menu/Menu.svelte +6 -2
  114. package/dist/ui/menu/MenuItem.svelte +6 -2
  115. package/dist/ui/menu/MenuTitle.svelte +5 -2
  116. package/dist/ui/menuList/MenuList.demo.svelte +14 -9
  117. package/dist/ui/menuList/MenuList.svelte +157 -140
  118. package/dist/ui/menuList/MenuListItem.svelte +132 -113
  119. package/dist/ui/menuList/MenuListTitle.svelte +52 -45
  120. package/dist/ui/menuList/menu-list.scss +65 -60
  121. package/dist/ui/panel/Panel.demo.svelte +37 -28
  122. package/dist/ui/panel/Panel.svelte +44 -34
  123. package/dist/ui/panel/PanelGrid.svelte +18 -14
  124. package/dist/ui/panel/PanelSlide.svelte +121 -79
  125. package/dist/ui/panel/Paneler.svelte +51 -24
  126. package/dist/ui/popper/Popper.demo.svelte +33 -25
  127. package/dist/ui/popper/Popper.svelte +105 -87
  128. package/dist/ui/preview/Preview.svelte +18 -14
  129. package/dist/ui/serviceBox/ServiceBox.svelte +8 -6
  130. package/dist/ui/startMenu/BootMenu.svelte +32 -24
  131. package/dist/ui/taskbar/TaskBarContent.svelte +8 -7
  132. package/dist/ui/taskbar/Taskbar.svelte +15 -10
  133. package/dist/ui/themeswitcher/ThemeSwitcher.svelte +9 -7
  134. package/dist/ui/toast/Toast.demo.svelte +15 -10
  135. package/dist/ui/toast/Toast.svelte +53 -41
  136. package/dist/ui/toast/Toaster.svelte +4 -2
  137. package/dist/ui/toggleBar/ToggleBar.demo.svelte +69 -60
  138. package/dist/ui/toggleBar/ToggleBar.svelte +27 -23
  139. package/dist/ui/toolBar/ToolBar.demo.svelte +48 -38
  140. package/dist/ui/toolBar/ToolBar.svelte +16 -11
  141. package/dist/ui/tree/Tree.demo.svelte +53 -42
  142. package/dist/ui/tree/Tree.preview.svelte +14 -11
  143. package/dist/ui/tree/Tree.svelte +120 -67
  144. package/dist/ui/window/Window.demo.svelte +27 -19
  145. package/dist/ui/window/Window.svelte +95 -85
  146. package/dist/utils/content/Content.svelte +49 -43
  147. package/dist/utils/contextRooter/ContextRooter.demo.svelte +12 -8
  148. package/dist/utils/contextRooter/ContextRooter.svelte +5 -3
  149. package/dist/utils/css/Css.demo.svelte +2 -1
  150. package/dist/utils/css/Css.svelte +2 -1
  151. package/dist/utils/looper/Looper.demo.svelte +8 -6
  152. package/dist/utils/looper/Looper.svelte +27 -22
  153. package/dist/utils/slotted/Slotted.svelte +10 -1
  154. package/dist/utils/stylesheet/StyleSheet.demo.svelte +21 -17
  155. package/dist/utils/stylesheet/StyleSheet.svelte +14 -11
  156. package/package.json +46 -46
@@ -1,58 +1,77 @@
1
- <script lang="ts">import Icon from "../../base/icon/Icon.svelte";
2
- import TextField from "../textfield/TextField.svelte";
3
- import { be } from "@medyll/idae-be";
4
- let initialId = "myText";
5
- let popperId = "myPopover";
6
- let {
7
- value = "",
8
- inputElement,
9
- inputValue,
10
- editing = $bindable(),
11
- onSave = (newValue) => {
12
- }
13
- } = $props();
14
- function saveChanges() {
15
- editing = false;
16
- onSave(inputValue);
17
- }
18
- function handleKeyDown(event) {
19
- if (event.key === "Enter") {
20
- saveChanges();
21
- } else if (event.key === "Escape") {
22
- editing = false;
23
- inputValue = value;
24
- }
25
- }
26
- function handleBlur() {
27
- editing = false;
28
- saveChanges();
29
- }
30
- inputValue = !editing ? value : inputValue;
31
- $effect(() => {
32
- if (editing && inputElement) {
33
- inputElement.focus();
34
- }
35
- popper.addEventListener("toggle", (event) => {
36
- if (event.newState === "open") {
37
- console.log("Le popover est ouvert");
38
- editing = true;
39
- } else {
40
- console.log("Le popover est ferm\xE9");
41
- editing = false;
42
- }
43
- });
44
- console.log(be(`#${initialId}`));
45
- });
46
- $effect(() => {
47
- editing;
48
- be(popper).clonePosition(`#${initialId}`, { useTransform: false });
49
- if (!editing) {
50
- if (popper.matches(":popover-open")) {
51
- popper.hidePopover();
52
- }
53
- }
54
- });
55
- let popper;
1
+ <script lang="ts">
2
+ import Icon from '../../base/icon/Icon.svelte';
3
+ import TextField from '../textfield/TextField.svelte';
4
+ import { be } from '@medyll/idae-be';
5
+
6
+ type InPlaceEditProps = {
7
+ value: string;
8
+ spanElement: HTMLElement;
9
+ inputElement: HTMLInputElement;
10
+ inputValue?: any;
11
+ editing?: boolean;
12
+ onSave?: (newValue: string) => void;
13
+ };
14
+
15
+ let initialId: string = 'myText';
16
+ let popperId: string = 'myPopover';
17
+
18
+ let {
19
+ value = '',
20
+ inputElement,
21
+ inputValue,
22
+ editing = $bindable(),
23
+ onSave = (newValue) => {}
24
+ }: InPlaceEditProps = $props();
25
+
26
+ function saveChanges() {
27
+ editing = false;
28
+ onSave(inputValue);
29
+ }
30
+
31
+ function handleKeyDown(event: KeyboardEvent) {
32
+ if (event.key === 'Enter') {
33
+ saveChanges();
34
+ } else if (event.key === 'Escape') {
35
+ editing = false;
36
+ inputValue = value;
37
+ }
38
+ }
39
+
40
+ function handleBlur() {
41
+ editing = false;
42
+ saveChanges();
43
+ }
44
+
45
+ inputValue = !editing ? value : inputValue;
46
+
47
+ $effect(() => {
48
+ if (editing && inputElement) {
49
+ inputElement.focus();
50
+ }
51
+ popper.addEventListener('toggle', (event) => {
52
+ if (event.newState === 'open') {
53
+ console.log('Le popover est ouvert');
54
+ editing = true;
55
+ } else {
56
+ console.log('Le popover est fermé');
57
+ editing = false;
58
+ }
59
+ });
60
+
61
+ console.log(be(`#${initialId}`));
62
+ });
63
+
64
+ $effect(() => {
65
+ editing;
66
+ be(popper).clonePosition(`#${initialId}`, { useTransform: false });
67
+ if (!editing) {
68
+ if (popper.matches(':popover-open')) {
69
+ popper.hidePopover();
70
+ }
71
+ }
72
+ });
73
+
74
+ let popper;
56
75
  </script>
57
76
 
58
77
  <form />
@@ -1,12 +1,17 @@
1
- <script lang="ts">import Progress from "./Progress.svelte";
2
- import ComponentDemo from "../../base/demoer/DemoerComponent.svelte";
3
- import Demoer from "../../base/demoer/Demoer.svelte";
4
- import DemoPage from "../../base/demoer/DemoPage.svelte";
5
- import { defaultsArgs } from "../../base/demoer/demoer.utils.js";
6
- import { ProgressDemoValues } from "./types.js";
7
- const code = `<Progress value="50" />`;
8
- let parameters = ProgressDemoValues;
9
- let componentArgs = defaultsArgs(parameters);
1
+ <script lang="ts">
2
+ import Progress from './Progress.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 { defaultsArgs } from '../../base/demoer/demoer.utils.js';
8
+ import { ProgressDemoValues } from './types.js';
9
+
10
+ const code = `<Progress value="50" />`;
11
+
12
+ let parameters = ProgressDemoValues;
13
+
14
+ let componentArgs = defaultsArgs(parameters);
10
15
  </script>
11
16
 
12
17
  <ComponentDemo
@@ -1,16 +1,22 @@
1
- <script lang="ts">let {
2
- class: className = "",
3
- style = "",
4
- element = null,
5
- percentBase = 100,
6
- value = 0,
7
- orientation: direction = "horizontal",
8
- ...rest
9
- } = $props();
10
- const title = `${value} / ${percentBase}`;
11
- let attr = direction === "vertical" ? "height" : "width";
12
- let attrTickness = direction === "vertical" ? "width" : "height";
13
- const precWidth = $derived(value / percentBase * 100);
1
+ <script lang="ts">
2
+ import type { ExpandProps } from '../../types/index.js';
3
+ import type { ProgressProps } from './types.js';
4
+
5
+ let {
6
+ class: className = '',
7
+ style = '',
8
+ element = null,
9
+ percentBase = 100,
10
+ value = 0,
11
+ orientation: direction = 'horizontal',
12
+ ...rest
13
+ }: ExpandProps<ProgressProps> = $props();
14
+
15
+ const title = `${value} / ${percentBase}`;
16
+
17
+ let attr = direction === 'vertical' ? 'height' : 'width';
18
+ let attrTickness = direction === 'vertical' ? 'width' : 'height';
19
+ const precWidth = $derived((value / percentBase) * 100);
14
20
  </script>
15
21
 
16
22
  <div bind:this={element} class="progress {className} w-large" {style} {title}>
@@ -1,17 +1,20 @@
1
- <script lang="ts">import ComponentDemo from "../../base/demoer/DemoerComponent.svelte";
2
- import Icon from "../../base/icon/Icon.svelte";
3
- import Rating from "./Rating.svelte";
4
- import Demoer from "../../base/demoer/Demoer.svelte";
5
- import DemoPage from "../../base/demoer/DemoPage.svelte";
6
- import { parameters, componentArgs } from "./types.js";
7
- const ww = `
1
+ <script lang="ts">
2
+ import ComponentDemo from '../../base/demoer/DemoerComponent.svelte';
3
+ import Icon from '../../base/icon/Icon.svelte';
4
+ import Rating from './Rating.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
+ const ww = `
8
10
  <Rating>
9
11
  <Icon icon={defaultIcon} />
10
12
  {#snippet ratingScoredIcon()}
11
13
  <Icon icon={scoredIcon} />
12
14
  {/snippet}
13
15
  </Rating>`;
14
- const ww2 = `<Rating defaultIcon="minus" scoredIcon="plus" scored={3} />`;
16
+
17
+ const ww2 = `<Rating defaultIcon="minus" scoredIcon="plus" scored={3} />`;
15
18
  </script>
16
19
 
17
20
  <ComponentDemo
@@ -1,19 +1,24 @@
1
- <script lang="ts">import Icon from "../../base/icon/Icon.svelte";
2
- import Slotted from "../../utils/slotted/Slotted.svelte";
3
- let {
4
- class: className = "",
5
- style,
6
- element = $bindable(),
7
- ratingBase = $bindable(4),
8
- scored = $bindable(0),
9
- defaultIcon = $bindable("star"),
10
- scoredIcon = $bindable("star-fill"),
11
- orientation: direction = $bindable("horizontal"),
12
- ratingScoredIcon,
13
- children,
14
- ...rest
15
- } = $props();
16
- const title = `${scored} / ${ratingBase}`;
1
+ <script lang="ts">
2
+ import Icon from '../../base/icon/Icon.svelte';
3
+ import type { ExpandProps } from '../../types/index.js';
4
+ import Slotted from '../../utils/slotted/Slotted.svelte';
5
+ import type { RatingProps } from './types.js';
6
+
7
+ let {
8
+ class: className = '',
9
+ style,
10
+ element = $bindable(),
11
+ ratingBase = $bindable(4),
12
+ scored = $bindable(0),
13
+ defaultIcon = $bindable('star'),
14
+ scoredIcon = $bindable('star-fill'),
15
+ orientation: direction = $bindable('horizontal'),
16
+ ratingScoredIcon,
17
+ children,
18
+ ...rest
19
+ }: ExpandProps<RatingProps> = $props();
20
+
21
+ const title = `${scored} / ${ratingBase}`;
17
22
  </script>
18
23
 
19
24
  <div
@@ -1,38 +1,45 @@
1
- <script lang="ts">import Select from "./Select.svelte";
2
- import Button from "../button/Button.svelte";
3
- import { defaultsArgs, defaultsArgsFromProps } from "../../base/demoer/demoer.utils.js";
4
- import ComponentDemo from "../../base/demoer/DemoerComponent.svelte";
5
- import Demoer from "../../base/demoer/Demoer.svelte";
6
- import DemoPage from "../../base/demoer/DemoPage.svelte";
7
- import Icon from "../../base/icon/Icon.svelte";
8
- import { uiPresets } from "../../utils/engine/presets.js";
9
- import MenuItem from "../../ui/menu/MenuItem.svelte";
10
- let parametersSlot = {
11
- autoClose: {
12
- type: "boolean",
13
- values: [true, false]
14
- },
15
- stickToHookWidth: {
16
- type: "boolean",
17
- values: [false, true]
18
- },
19
- position: {
20
- type: "string",
21
- values: uiPresets.stickyPosition
22
- }
23
- };
24
- let componentArgsSlot = {
25
- ...defaultsArgs(parametersSlot),
26
- position: "BC",
27
- data: [
28
- { id: 1, name: "name 1" },
29
- { id: 2, name: "name 2" },
30
- { id: 3, name: "name 3" },
31
- { id: 4, name: "name 4" },
32
- { id: 5, name: "name 5" }
33
- ]
34
- };
35
- let codeSlot = `<script>
1
+ <script lang="ts">
2
+ import Select from './Select.svelte';
3
+ import Button from '../button/Button.svelte';
4
+ /* demo */
5
+ import { defaultsArgs, defaultsArgsFromProps } from '../../base/demoer/demoer.utils.js';
6
+ import ComponentDemo from '../../base/demoer/DemoerComponent.svelte';
7
+ import Demoer from '../../base/demoer/Demoer.svelte';
8
+ import DemoPage from '../../base/demoer/DemoPage.svelte';
9
+ import Icon from '../../base/icon/Icon.svelte';
10
+ import { uiPresets } from '../../utils/engine/presets.js';
11
+ /* demo */
12
+
13
+ import MenuItem from '../../ui/menu/MenuItem.svelte';
14
+
15
+ let parametersSlot: any = {
16
+ autoClose: {
17
+ type: 'boolean',
18
+ values: [true, false]
19
+ },
20
+ stickToHookWidth: {
21
+ type: 'boolean',
22
+ values: [false, true]
23
+ },
24
+ position: {
25
+ type: 'string',
26
+ values: uiPresets.stickyPosition
27
+ }
28
+ };
29
+
30
+ let componentArgsSlot = {
31
+ ...defaultsArgs(parametersSlot),
32
+ position: 'BC',
33
+ data: [
34
+ { id: 1, name: 'name 1' },
35
+ { id: 2, name: 'name 2' },
36
+ { id: 3, name: 'name 3' },
37
+ { id: 4, name: 'name 4' },
38
+ { id: 5, name: 'name 5' }
39
+ ]
40
+ };
41
+
42
+ let codeSlot = `<script>
36
43
  const data = [{id:1,name:'name'},{id:2,name:'name'}];
37
44
  <script>
38
45
 
@@ -52,7 +59,8 @@ let codeSlot = `<script>
52
59
  dataFieldName={"name"} />
53
60
  </Select>
54
61
  `;
55
- let codeProps = `
62
+
63
+ let codeProps = `
56
64
  <Loader
57
65
  status={"loading"}
58
66
  messages={{
@@ -65,7 +73,8 @@ let codeProps = `
65
73
  errorIcon="mdi:alert-circle-outline"
66
74
  loadingIcon="mdi:loading"
67
75
  successIcon="clarity:success-standard-line" />`;
68
- let isOpen = false;
76
+
77
+ let isOpen = false;
69
78
  </script>
70
79
 
71
80
  <ComponentDemo component="Select">
@@ -1,32 +1,79 @@
1
- <script lang="ts">import TextField from "../textfield/TextField.svelte";
2
- import Icon from "../../base/icon/Icon.svelte";
3
- import Popper from "../../ui/popper/Popper.svelte";
4
- import Menu from "../../ui/menu/Menu.svelte";
5
- import MenuItem from "../../ui/menu/MenuItem.svelte";
6
- import Slotted from "../../utils/slotted/Slotted.svelte";
7
- let {
8
- name,
9
- element,
10
- disabled = false,
11
- data,
12
- dataFieldId,
13
- dataFieldName,
14
- options = [],
15
- position,
16
- stickToHookWidth,
17
- autoClose = false,
18
- value = void 0,
19
- children,
20
- ...rest
21
- } = $props();
22
- let hiddenRef;
23
- let isVisible = false;
24
- let timerClick;
25
- const show = (visible) => (event) => {
26
- timerClick = setTimeout(() => {
27
- isVisible = visible;
28
- }, 250);
29
- };
1
+ <script lang="ts">
2
+ import type { CommonProps, Data, ElementProps, ExpandProps } from '../../types/index.js';
3
+ import TextField from '../textfield/TextField.svelte';
4
+ import Icon from '../../base/icon/Icon.svelte';
5
+ import Popper from '../../ui/popper/Popper.svelte';
6
+ import Menu from '../../ui/menu/Menu.svelte';
7
+ import MenuItem from '../../ui/menu/MenuItem.svelte';
8
+ import Slotted from '../../utils/slotted/Slotted.svelte';
9
+ import type { Snippet } from 'svelte';
10
+
11
+ type SelectProps = CommonProps & {
12
+ /** The position of the popper */
13
+ position?: ElementProps['popperPosition'];
14
+
15
+ /** Whether the popper should stick to the hook width */
16
+ stickToHookWidth: boolean;
17
+
18
+ /** Whether the popper should auto close */
19
+ autoClose?: boolean;
20
+
21
+ /** The value of the select */
22
+ value: any;
23
+
24
+ /** The name of the select */
25
+ name: string;
26
+
27
+ /** The style of the select */
28
+ style?: string;
29
+
30
+ /** The class name of the select */
31
+ className: string;
32
+
33
+ /** The data for the select */
34
+ data: any[];
35
+ disabled?: boolean;
36
+ /** The options for the select */
37
+ options?: {
38
+ data?: Data;
39
+ text: string;
40
+ icon?: any;
41
+ }[];
42
+
43
+ /** The data field id for the select */
44
+ dataFieldId: string;
45
+
46
+ /** The data field name for the select */
47
+ dataFieldName: string;
48
+ children?: Snippet<[{ optionsData: Data }]>;
49
+ };
50
+
51
+ let {
52
+ name,
53
+ element,
54
+ disabled = false,
55
+ data,
56
+ dataFieldId,
57
+ dataFieldName,
58
+ options = [],
59
+ position,
60
+ stickToHookWidth,
61
+ autoClose = false,
62
+ value = undefined,
63
+ children,
64
+ ...rest
65
+ }: ExpandProps<SelectProps> = $props();
66
+
67
+ let hiddenRef;
68
+ let isVisible: boolean = false;
69
+
70
+ let timerClick: any;
71
+
72
+ const show = (visible: boolean) => (event) => {
73
+ timerClick = setTimeout(() => {
74
+ isVisible = visible;
75
+ }, 250);
76
+ };
30
77
  </script>
31
78
 
32
79
  <input {value} bind:this={hiddenRef} type="hidden" {name} />
@@ -1,13 +1,20 @@
1
- <script lang="ts">import Slider from "./Slider.svelte";
2
- import ComponentDemo from "../../base/demoer/DemoerComponent.svelte";
3
- import Demoer from "../../base/demoer/Demoer.svelte";
4
- import DemoPage from "../../base/demoer/DemoPage.svelte";
5
- import { parameters, componentArgs } from "./types.js";
6
- let codeSlot = `
1
+ <script lang="ts">
2
+ import Slider from './Slider.svelte';
3
+
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
+ /* demo */
9
+
10
+ import { parameters, componentArgs } from './types.js';
11
+
12
+ let codeSlot = `
7
13
  <Slider name={'switcher'} class="w-small" >
8
14
  <span />
9
15
  </Slider>`;
10
- let isOpen = false;
16
+
17
+ let isOpen = false;
11
18
  </script>
12
19
 
13
20
  <ComponentDemo component="Slider">