@medyll/idae-slotui-svelte 0.26.0 → 0.28.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 (187) 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/alert/types.d.ts +4 -4
  4. package/dist/base/alert/types.js +11 -11
  5. package/dist/base/avatar/Avatar.demo.svelte +12 -8
  6. package/dist/base/avatar/Avatar.preview.svelte +3 -2
  7. package/dist/base/avatar/Avatar.svelte +24 -19
  8. package/dist/base/avatar/types.d.ts +5 -5
  9. package/dist/base/avatar/types.js +9 -9
  10. package/dist/base/backdrop/Backdrop.demo.svelte +13 -9
  11. package/dist/base/backdrop/Backdrop.svelte +45 -37
  12. package/dist/base/backdrop/types.d.ts +7 -7
  13. package/dist/base/backdrop/types.js +10 -10
  14. package/dist/base/badge/Badge.svelte +22 -18
  15. package/dist/base/box/Box.demo.svelte +12 -9
  16. package/dist/base/box/Box.svelte +44 -36
  17. package/dist/base/box/types.d.ts +3 -3
  18. package/dist/base/box/types.js +16 -16
  19. package/dist/base/breadCrumb/BreadCrumb.svelte +12 -8
  20. package/dist/base/cartouche/Cartouche.demo.svelte +13 -9
  21. package/dist/base/cartouche/Cartouche.svelte +50 -43
  22. package/dist/base/cartouche/types.d.ts +7 -7
  23. package/dist/base/cartouche/types.js +20 -20
  24. package/dist/base/chipper/Chipper.demo.svelte +14 -10
  25. package/dist/base/chipper/Chipper.svelte +19 -14
  26. package/dist/base/chipper/types.d.ts +5 -5
  27. package/dist/base/chipper/types.js +10 -10
  28. package/dist/base/columner/Column.svelte +39 -31
  29. package/dist/base/columner/Columner.demo.svelte +4 -3
  30. package/dist/base/columner/Columner.svelte +12 -5
  31. package/dist/base/contentSwitcher/ContentSwitcher.demo.svelte +11 -8
  32. package/dist/base/contentSwitcher/ContentSwitcher.svelte +40 -30
  33. package/dist/base/contentSwitcher/types.d.ts +3 -3
  34. package/dist/base/contentSwitcher/types.js +6 -6
  35. package/dist/base/debug/Debug.svelte +14 -11
  36. package/dist/base/demoer/DemoPage.svelte +18 -12
  37. package/dist/base/demoer/Demoer.svelte +20 -16
  38. package/dist/base/demoer/DemoerCode.svelte +28 -6
  39. package/dist/base/demoer/DemoerComponent.svelte +33 -13
  40. package/dist/base/demoer/demoer.utils.d.ts +2 -1
  41. package/dist/base/demoer/demoer.utils.js +4 -1
  42. package/dist/base/divider/Divider.demo.svelte +12 -6
  43. package/dist/base/divider/Divider.svelte +58 -41
  44. package/dist/base/divider/types.d.ts +5 -5
  45. package/dist/base/divider/types.js +10 -10
  46. package/dist/base/icon/Icon.demo.svelte +8 -5
  47. package/dist/base/icon/Icon.svelte +34 -27
  48. package/dist/base/icon/types.d.ts +4 -4
  49. package/dist/base/icon/types.js +9 -9
  50. package/dist/base/paper/Paper.demo.svelte +12 -9
  51. package/dist/base/paper/Paper.svelte +13 -9
  52. package/dist/base/paper/type.d.ts +3 -3
  53. package/dist/base/paper/type.js +4 -4
  54. package/dist/base/titleBar/TitleBar.demo.svelte +11 -9
  55. package/dist/base/titleBar/TitleBar.svelte +16 -12
  56. package/dist/base/titleBar/types.d.ts +4 -4
  57. package/dist/base/titleBar/types.js +8 -8
  58. package/dist/controls/autocomplete/AutoComplete.demo.svelte +21 -16
  59. package/dist/controls/autocomplete/AutoComplete.svelte +81 -62
  60. package/dist/controls/button/Button.demo.svelte +71 -45
  61. package/dist/controls/button/Button.svelte +130 -155
  62. package/dist/controls/button/Button.svelte.d.ts +2 -27
  63. package/dist/controls/button/ButtonAction.svelte +122 -133
  64. package/dist/controls/button/ButtonAction.svelte.d.ts +3 -2
  65. package/dist/controls/button/ButtonMenu.svelte +22 -16
  66. package/dist/controls/button/IconButton.svelte +40 -14
  67. package/dist/controls/button/button-action.scss +1 -1
  68. package/dist/controls/button/button.scss +22 -47
  69. package/dist/controls/button/types.d.ts +19 -16
  70. package/dist/controls/button/types.js +26 -24
  71. package/dist/controls/checkbox/Checkbox.demo.svelte +13 -9
  72. package/dist/controls/checkbox/Checkbox.svelte +18 -14
  73. package/dist/controls/confirm/Confirm.demo.svelte +12 -8
  74. package/dist/controls/confirm/Confirm.preview.svelte +3 -2
  75. package/dist/controls/confirm/Confirm.svelte +87 -64
  76. package/dist/controls/inplaceedit/InPlaceEdit.demo.svelte +12 -8
  77. package/dist/controls/inplaceedit/InPlaceEdit.svelte +74 -55
  78. package/dist/controls/progress/Progress.demo.svelte +14 -9
  79. package/dist/controls/progress/Progress.svelte +19 -13
  80. package/dist/controls/rating/Rating.demo.svelte +11 -8
  81. package/dist/controls/rating/Rating.svelte +21 -16
  82. package/dist/controls/select/Select.demo.svelte +46 -37
  83. package/dist/controls/select/Select.svelte +76 -29
  84. package/dist/controls/slider/Slider.demo.svelte +14 -7
  85. package/dist/controls/slider/Slider.svelte +104 -89
  86. package/dist/controls/stepper/Stepper.demo.svelte +9 -6
  87. package/dist/controls/stepper/Stepper.svelte +19 -13
  88. package/dist/controls/switch/Switch.demo.svelte +31 -24
  89. package/dist/controls/switch/Switch.svelte +20 -15
  90. package/dist/controls/textfield/TextField.demo.svelte +28 -23
  91. package/dist/controls/textfield/TextField.svelte +42 -34
  92. package/dist/data/dataList/DataList.demo.svelte +44 -37
  93. package/dist/data/dataList/DataList.preview.svelte +8 -6
  94. package/dist/data/dataList/DataList.svelte +139 -115
  95. package/dist/data/dataList/DataList.svelte.d.ts +7 -8
  96. package/dist/data/dataList/DataListCell.svelte +146 -96
  97. package/dist/data/dataList/DataListHead.svelte +52 -36
  98. package/dist/data/dataList/DataListRow.svelte +57 -43
  99. package/dist/data/dataList/types.d.ts +16 -14
  100. package/dist/data/dataList/types.js +33 -33
  101. package/dist/data/finder/Finder.demo.svelte +15 -11
  102. package/dist/data/finder/Finder.svelte +64 -46
  103. package/dist/data/grouper/Grouper.demo.svelte +14 -8
  104. package/dist/data/grouper/Grouper.svelte +62 -50
  105. package/dist/data/jsoner/Jsoner.svelte +14 -10
  106. package/dist/data/list/List.svelte +6 -2
  107. package/dist/data/list/ListItem.svelte +5 -2
  108. package/dist/data/list/ListTitle.svelte +5 -2
  109. package/dist/data/loader/Loader.demo.svelte +16 -8
  110. package/dist/data/loader/Loader.preview.svelte +2 -1
  111. package/dist/data/loader/Loader.svelte +56 -49
  112. package/dist/data/sorter/Sorter.demo.svelte +20 -17
  113. package/dist/data/sorter/Sorter.svelte +40 -33
  114. package/dist/data/sorter/Sorterer.svelte +17 -15
  115. package/dist/index.d.ts +4 -4
  116. package/dist/index.js +4 -4
  117. package/dist/navigation/drawer/Drawer.demo.svelte +11 -7
  118. package/dist/navigation/drawer/Drawer.svelte +92 -81
  119. package/dist/navigation/tabs/Tabs.demo.svelte +23 -18
  120. package/dist/navigation/tabs/Tabs.preview.svelte +17 -14
  121. package/dist/navigation/tabs/Tabs.svelte +73 -61
  122. package/dist/slotui-css/button-action.css +1 -0
  123. package/dist/slotui-css/button-action.min.css +1 -0
  124. package/dist/slotui-css/button.css +83 -108
  125. package/dist/slotui-css/button.min.css +83 -108
  126. package/dist/slotui-css/slotui-combined.css +111 -135
  127. package/dist/styles/slotuisheet/SlotuiSheet.svelte +14 -11
  128. package/dist/styles/slotuisheet/SlotyuiSheet.demo.svelte +21 -17
  129. package/dist/ui/bootstrapp/BootStrApp.svelte +21 -15
  130. package/dist/ui/chromeFrame/ChromeFrame.svelte +19 -10
  131. package/dist/ui/chromeFrame/ChromeFrameButtonList.svelte +6 -4
  132. package/dist/ui/chromeFrame/ChromeFrameList.svelte +97 -58
  133. package/dist/ui/frame/Frame.demo.svelte +6 -4
  134. package/dist/ui/frame/Frame.svelte +51 -44
  135. package/dist/ui/frame/types.d.ts +5 -4
  136. package/dist/ui/frame/types.js +6 -5
  137. package/dist/ui/login/Login.demo.svelte +29 -21
  138. package/dist/ui/login/Login.svelte +49 -41
  139. package/dist/ui/marquee/Marque.demo.svelte +9 -6
  140. package/dist/ui/marquee/Marquee.svelte +69 -27
  141. package/dist/ui/menu/Menu.svelte +6 -2
  142. package/dist/ui/menu/MenuItem.svelte +6 -2
  143. package/dist/ui/menu/MenuTitle.svelte +5 -2
  144. package/dist/ui/menuList/MenuList.demo.svelte +14 -9
  145. package/dist/ui/menuList/MenuList.svelte +109 -96
  146. package/dist/ui/menuList/MenuListItem.svelte +85 -70
  147. package/dist/ui/menuList/MenuListTitle.svelte +5 -2
  148. package/dist/ui/panel/Panel.demo.svelte +37 -28
  149. package/dist/ui/panel/Panel.svelte +44 -34
  150. package/dist/ui/panel/PanelGrid.svelte +18 -14
  151. package/dist/ui/panel/PanelSlide.svelte +121 -79
  152. package/dist/ui/panel/Paneler.svelte +51 -24
  153. package/dist/ui/popper/Popper.demo.svelte +33 -25
  154. package/dist/ui/popper/Popper.svelte +105 -87
  155. package/dist/ui/popper/usePopper.d.ts +2 -2
  156. package/dist/ui/popper/usePopper.js +6 -6
  157. package/dist/ui/preview/Preview.svelte +18 -14
  158. package/dist/ui/serviceBox/ServiceBox.svelte +8 -6
  159. package/dist/ui/startMenu/BootMenu.svelte +32 -24
  160. package/dist/ui/taskbar/TaskBarContent.svelte +8 -7
  161. package/dist/ui/taskbar/Taskbar.svelte +15 -10
  162. package/dist/ui/themeswitcher/ThemeSwitcher.svelte +9 -7
  163. package/dist/ui/toast/Toast.demo.svelte +15 -10
  164. package/dist/ui/toast/Toast.svelte +57 -45
  165. package/dist/ui/toast/Toaster.svelte +4 -2
  166. package/dist/ui/toggleBar/ToggleBar.demo.svelte +69 -60
  167. package/dist/ui/toggleBar/ToggleBar.svelte +27 -23
  168. package/dist/ui/toolBar/ToolBar.demo.svelte +48 -38
  169. package/dist/ui/toolBar/ToolBar.svelte +16 -11
  170. package/dist/ui/tree/Tree.demo.svelte +53 -42
  171. package/dist/ui/tree/Tree.preview.svelte +14 -11
  172. package/dist/ui/tree/Tree.svelte +120 -67
  173. package/dist/ui/window/Window.demo.svelte +27 -19
  174. package/dist/ui/window/Window.svelte +95 -85
  175. package/dist/utils/content/Content.svelte +49 -43
  176. package/dist/utils/contextRooter/ContextRooter.demo.svelte +12 -8
  177. package/dist/utils/contextRooter/ContextRooter.svelte +5 -3
  178. package/dist/utils/css/Css.demo.svelte +2 -1
  179. package/dist/utils/css/Css.svelte +2 -1
  180. package/dist/utils/looper/Looper.demo.svelte +8 -6
  181. package/dist/utils/looper/Looper.svelte +27 -22
  182. package/dist/utils/slotted/Slotted.svelte +10 -1
  183. package/dist/utils/stylesheet/StyleSheet.demo.svelte +21 -17
  184. package/dist/utils/stylesheet/StyleSheet.svelte +14 -11
  185. package/package.json +3 -3
  186. package/dist/base/cartouche/Cartouche.preview.svelte +0 -25
  187. package/dist/base/cartouche/Cartouche.preview.svelte.d.ts +0 -27
@@ -1,45 +1,47 @@
1
- import { demoerArgs } from '../../base/demoer/demoer.utils.js';
2
- import { buttonVariant, densePreset, uiPresets, widthPreset } from '../../types/index.js';
1
+ import { demoerArgs } from "../../base/demoer/demoer.utils.js";
2
+ import { buttonVariant, densePreset, uiPresets, widthPreset, } from "../../types/index.js";
3
3
  const ButtonDemoValues = {
4
4
  type: {
5
- type: 'string',
6
- values: ['button', 'submit', 'reset'],
7
- default: 'button'
5
+ type: "string",
6
+ values: ["button", "submit", "reset"],
7
+ default: "button",
8
8
  },
9
9
  icon: {
10
- type: 'icon'
10
+ type: "icon",
11
+ values: ["add", "user"],
12
+ default: "add",
11
13
  },
12
14
  width: {
13
- type: 'width',
14
- default: widthPreset.med
15
+ type: "width",
16
+ default: widthPreset.med,
15
17
  },
16
18
  tall: {
17
- type: 'tall',
18
- default: densePreset.default
19
+ type: "tall",
20
+ default: densePreset.default,
19
21
  },
20
22
  bgTheme: {
21
- type: 'theme',
22
- default: 'primary'
23
+ type: "theme",
24
+ default: "primary",
23
25
  },
24
26
  variant: {
25
- type: 'buttonVariant',
26
- default: buttonVariant.contained
27
+ type: "buttonVariant",
28
+ default: buttonVariant.contained,
27
29
  },
28
- nowrap: {
29
- type: 'boolean',
30
- default: false
30
+ ellipsis: {
31
+ type: "boolean",
32
+ default: false,
31
33
  },
32
34
  selected: {
33
- type: 'boolean',
34
- default: false
35
+ type: "boolean",
36
+ default: false,
35
37
  },
36
38
  reverse: {
37
- type: 'boolean',
38
- default: false
39
+ type: "boolean",
40
+ default: false,
39
41
  },
40
42
  loading: {
41
- type: 'boolean',
42
- default: false
43
- }
43
+ type: "boolean",
44
+ default: false,
45
+ },
44
46
  };
45
47
  export let { parameters, componentArgs } = demoerArgs(ButtonDemoValues);
@@ -1,12 +1,16 @@
1
- <script lang="ts">import Checkbox from "./Checkbox.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 { CheckboxDemoValues } from "./types.js";
7
- let parameters = CheckboxDemoValues;
8
- let componentArgs = defaultsArgs(parameters);
9
- let code = `
1
+ <script lang="ts">
2
+ import Checkbox from './Checkbox.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 { CheckboxDemoValues } from './types.js';
9
+
10
+ let parameters = CheckboxDemoValues;
11
+ let componentArgs = defaultsArgs(parameters);
12
+
13
+ let code = `
10
14
  <Checkbox>
11
15
  label
12
16
  </Checkbox>`;
@@ -1,17 +1,21 @@
1
- <script lang="ts">import Slotted from "../../utils/slotted/Slotted.svelte";
2
- let {
3
- title,
4
- indeterminate = $bindable(false),
5
- class: className = "",
6
- inputElement = $bindable(),
7
- labelElement,
8
- checked = $bindable(false),
9
- value = $bindable(void 0),
10
- disabled = $bindable(false),
11
- dense,
12
- children,
13
- ...rest
14
- } = $props();
1
+ <script lang="ts">
2
+ import type { CommonProps, ElementProps, ExpandProps } from '../../types/index.js';
3
+ import Slotted from '../../utils/slotted/Slotted.svelte';
4
+ import type { CheckboxProps } from './types.js';
5
+
6
+ let {
7
+ title,
8
+ indeterminate = $bindable(false),
9
+ class: className = '',
10
+ inputElement = $bindable(),
11
+ labelElement,
12
+ checked = $bindable(false),
13
+ value = $bindable(undefined),
14
+ disabled = $bindable(false),
15
+ dense,
16
+ children,
17
+ ...rest
18
+ }: ExpandProps<CheckboxProps> = $props();
15
19
  </script>
16
20
 
17
21
  <label class="checkbox-root" class:disabled class:indeterminate bind:this={labelElement}>
@@ -1,17 +1,21 @@
1
- <script lang="ts">import Button from "../button/Button.svelte";
2
- import Confirm from "./Confirm.svelte";
3
- import ComponentDemo from "../../base/demoer/DemoerComponent.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
- let codeSlot = `
1
+ <script lang="ts">
2
+ import Button from '../button/Button.svelte';
3
+ import Confirm from './Confirm.svelte';
4
+
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 { parameters, componentArgs } from './types.js';
9
+
10
+ let codeSlot = `
8
11
  <Confirm {...activeParams}>
9
12
  {#snippet confirmInitial()}
10
13
  <Button icon="fa-solid:question" size="large">Would you please click once ?</Button>
11
14
  {/snippet}
12
15
  <Button type="submit" size="medium">confirm</Button>
13
16
  </Confirm>`;
14
- let codeProps = `
17
+
18
+ let codeProps = `
15
19
  <Confirm
16
20
  primary="confirm deletion" />`;
17
21
  </script>
@@ -1,5 +1,6 @@
1
- <script lang="ts">import Button from "../button/Button.svelte";
2
- import Confirm from "./Confirm.svelte";
1
+ <script lang="ts">
2
+ import Button from '../button/Button.svelte';
3
+ import Confirm from './Confirm.svelte';
3
4
  </script>
4
5
 
5
6
  <div>
@@ -1,67 +1,90 @@
1
- <script lang="ts" generics="T=any">import { fade } from "svelte/transition";
2
- import Button from "../button/Button.svelte";
3
- import IconButton from "../button/IconButton.svelte";
4
- import { onDestroy } from "svelte";
5
- import Slotted from "../../utils/slotted/Slotted.svelte";
6
- let step = $state("initial");
7
- let {
8
- class: className = "",
9
- initialRef = null,
10
- contentRef = null,
11
- tooltipInitial = null,
12
- primaryInitial = "",
13
- primaryConfirm = "",
14
- iconInitial = "",
15
- iconColorInitial = "inherit",
16
- primary = "confirm",
17
- icon = "check-circle-outline",
18
- iconColor = "green",
19
- tall,
20
- autoClose = true,
21
- loading,
22
- data,
23
- action = () => {
24
- },
25
- iconCancel = { icon: "fluent-mdl2:navigate-back", color: "red" },
26
- children,
27
- confirmInitial,
28
- ...rest
29
- } = $props();
30
- let rost = rest;
31
- let loadingState = $state(false);
32
- function handleClickInitial(event) {
33
- event.preventDefault();
34
- event.stopPropagation();
35
- step = "confirm";
36
- }
37
- function handleClickCancel(event) {
38
- event.preventDefault();
39
- event.stopPropagation();
40
- step = "initial";
41
- }
42
- function handleAction(event) {
43
- event.preventDefault();
44
- event.stopPropagation();
45
- if (action) {
46
- if (action instanceof Promise) loadingState = true;
47
- try {
48
- loadingState = true;
49
- action(data).then(() => {
50
- loadingState = false;
51
- if (autoClose) step = "initial";
52
- return data;
53
- });
54
- } catch (e) {
55
- if (typeof action == "function") {
56
- action(data);
57
- if (autoClose) step = "initial";
58
- }
59
- }
60
- }
61
- }
62
- onDestroy(() => {
63
- step = "initial";
64
- });
1
+ <script lang="ts" generics="T=any">
2
+ import { fade } from 'svelte/transition';
3
+ import Button from '../button/Button.svelte';
4
+ import IconButton from '../button/IconButton.svelte';
5
+ import { onDestroy } from 'svelte';
6
+ import Slotted from '../../utils/slotted/Slotted.svelte';
7
+ import type { ConfirmProps } from './types.js';
8
+ import type { HTMLAttributes } from 'svelte/elements';
9
+
10
+ let step: string = $state('initial');
11
+
12
+ let {
13
+ class: className = '',
14
+ initialRef = null,
15
+ contentRef = null,
16
+ tooltipInitial = null,
17
+ primaryInitial = '',
18
+ primaryConfirm = '',
19
+ iconInitial = '',
20
+ iconColorInitial = 'inherit',
21
+ primary = 'confirm',
22
+ icon = 'check-circle-outline',
23
+ iconColor = 'green',
24
+ tall,
25
+ autoClose = true,
26
+ loading,
27
+ data,
28
+ action = () => {},
29
+ iconCancel = { icon: 'fluent-mdl2:navigate-back', color: 'red' },
30
+ children,
31
+ confirmInitial,
32
+ ...rest
33
+ }: ConfirmProps<T> & Partial<Omit<HTMLDivElement, 'style'>> = $props();
34
+
35
+ let rost = rest as HTMLAttributes<any>;
36
+
37
+ let loadingState = $state(false);
38
+
39
+ function handleClickInitial(event: any) {
40
+ event.preventDefault();
41
+ event.stopPropagation();
42
+ step = 'confirm';
43
+ }
44
+
45
+ function handleClickCancel(event: any) {
46
+ event.preventDefault();
47
+ event.stopPropagation();
48
+ step = 'initial';
49
+ }
50
+
51
+ function handleAction(event: any) {
52
+ event.preventDefault();
53
+ event.stopPropagation();
54
+ if (action) {
55
+ if (action instanceof Promise) loadingState = true;
56
+
57
+ try {
58
+ loadingState = true;
59
+ action(data).then(() => {
60
+ loadingState = false;
61
+ if (autoClose) step = 'initial';
62
+
63
+ return data;
64
+ });
65
+ } catch (e) {
66
+ if (typeof action == 'function') {
67
+ action(data);
68
+ if (autoClose) step = 'initial';
69
+ }
70
+ }
71
+ /* Promise.resolve(action).then(
72
+ () => {
73
+ loadingState = false;
74
+ console.log('action done');
75
+ if (autoClose) step = 'initial';
76
+ },
77
+ () => {
78
+ console.log('action done done');
79
+ if (autoClose) step = 'initial';
80
+ }
81
+ ); */
82
+ }
83
+ }
84
+
85
+ onDestroy(() => {
86
+ step = 'initial';
87
+ });
65
88
  </script>
66
89
 
67
90
  <!-- #todo <Content>somecontent</Content> -->
@@ -1,16 +1,20 @@
1
- <script lang="ts">import ComponentDemo from "../../base/demoer/DemoerComponent.svelte";
2
- import Demoer from "../../base/demoer/Demoer.svelte";
3
- import DemoPage from "../../base/demoer/DemoPage.svelte";
4
- import InPlaceEdit from "./InPlaceEdit.svelte";
5
- import { parameters, componentArgs } from "./types.js";
6
- let code1 = `
1
+ <script lang="ts">
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 InPlaceEdit from './InPlaceEdit.svelte';
6
+ import { parameters, componentArgs } from './types.js';
7
+
8
+ let code1 = `
7
9
  <InPlaceEdit
8
10
  value={value}
9
11
  onSave={(newValue) => console.log('Saved:', newValue)}
10
12
  />`;
11
- let code2 = `
13
+
14
+ let code2 = `
12
15
  <InPlaceEdit {...activeParams} />`;
13
- let savedValue = "s";
16
+
17
+ let savedValue = 's';
14
18
  </script>
15
19
 
16
20
  <ComponentDemo component="InPlaceEdit" cite="Edit in place, save in haste. - Developer's Proverb">
@@ -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