@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,47 +1,53 @@
1
- <script lang="ts">import MenuList from "../../ui/menuList/MenuList.svelte";
2
- import MenuListItem from "../../ui/menuList/MenuListItem.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 Icon from "../../base/icon/Icon.svelte";
7
- import Button from "./Button.svelte";
8
- import { uiPresets } from "../../utils/engine/presets.js";
9
- import ButtonAction from "./ButtonAction.svelte";
10
- import ButtonMenu from "./ButtonMenu.svelte";
11
- import { parameters, componentArgs } from "./types.js";
12
- let multiple = {
13
- bgTheme: {
14
- none: { bgTheme: void 0 },
15
- primary: { bgTheme: "primary" },
16
- secondary: { bgTheme: "secondary" },
17
- tertiary: { bgTheme: "tertiary" }
18
- }
19
- };
20
- let parametersMenu = {
21
- position: {
22
- type: "stickyPosition",
23
- values: uiPresets.stickyPosition
24
- }
25
- };
26
- let styleParameters = {
27
- color: {
28
- type: "color-preset",
29
- values: [void 0, "primary", "secondary", "tertiary"]
30
- },
31
- contained: {
32
- type: "boolean",
33
- values: [true, false]
34
- },
35
- bordered: {
36
- type: "boolean",
37
- values: [true, false]
38
- },
39
- link: {
40
- type: "boolean",
41
- values: [true, false]
42
- }
43
- };
44
- let code = `
1
+ <script lang="ts">
2
+ import MenuList from '../../ui/menuList/MenuList.svelte';
3
+ import MenuListItem from '../../ui/menuList/MenuListItem.svelte';
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 Button from './Button.svelte';
9
+ import { uiPresets } from '../../utils/engine/presets.js';
10
+ import ButtonAction from './ButtonAction.svelte';
11
+ import ButtonMenu from './ButtonMenu.svelte';
12
+
13
+ import { parameters, componentArgs } from './types.js';
14
+
15
+ let multiple = {
16
+ bgTheme: {
17
+ none: { bgTheme: undefined },
18
+ primary: { bgTheme: 'primary' },
19
+ secondary: { bgTheme: 'secondary' },
20
+ tertiary: { bgTheme: 'tertiary' }
21
+ }
22
+ };
23
+
24
+ let parametersMenu: any = {
25
+ position: {
26
+ type: 'stickyPosition',
27
+ values: uiPresets.stickyPosition
28
+ }
29
+ };
30
+ /** */
31
+ let styleParameters: any = {
32
+ color: {
33
+ type: 'color-preset',
34
+ values: [undefined, 'primary', 'secondary', 'tertiary']
35
+ },
36
+ contained: {
37
+ type: 'boolean',
38
+ values: [true, false]
39
+ },
40
+ bordered: {
41
+ type: 'boolean',
42
+ values: [true, false]
43
+ },
44
+ link: {
45
+ type: 'boolean',
46
+ values: [true, false]
47
+ }
48
+ };
49
+
50
+ let code = `
45
51
  <Button onclick={()=>{}} >
46
52
  My button
47
53
  {#snippet buttonStart()}
@@ -1,36 +1,41 @@
1
- <script lang="ts">import { popper } from "../../ui/popper/usePopper.js";
2
- import Icon from "../../base/icon/Icon.svelte";
3
- import Slotted from "../../utils/slotted/Slotted.svelte";
4
- import { tallPreset, widthPreset } from "../../types/index.js";
5
- let {
6
- class: className,
7
- style,
8
- element = $bindable(),
9
- type: buttonType = "button",
10
- icon = $bindable(),
11
- iconEnd = $bindable(),
12
- variant = "bordered",
13
- bgTheme,
14
- usePopperProps = { disabled: true },
15
- loading,
16
- showChip,
17
- popperOpen,
18
- width = widthPreset.auto,
19
- tall = tallPreset.small,
20
- nowrap,
21
- ellipsis = true,
22
- selected = false,
23
- value,
24
- reverse = false,
25
- ratio,
26
- buttonPopper,
27
- buttonStart,
28
- buttonEnd,
29
- buttonLoadingIcon,
30
- children,
31
- ...rest
32
- } = $props();
33
- let startRef = $state(void 0);
1
+ <script lang="ts">
2
+ import { popper} from '../../ui/popper/usePopper.js';
3
+ import Icon from '../../base/icon/Icon.svelte';
4
+ import type { ButtonProps } from './types.js';
5
+ import Slotted from '../../utils/slotted/Slotted.svelte';
6
+ import { tallPreset, widthPreset, type ExpandProps } from '../../types/index.js';
7
+
8
+ let {
9
+ class: className,
10
+ style,
11
+ element = $bindable(),
12
+ type: buttonType = 'button',
13
+ icon = $bindable(),
14
+ iconEnd = $bindable(),
15
+ variant = 'bordered',
16
+ bgTheme,
17
+ usePopperProps={disabled:true},
18
+ loading,
19
+ showChip,
20
+ popperOpen,
21
+ width = widthPreset.auto,
22
+ tall = tallPreset.small,
23
+ nowrap,
24
+ ellipsis=true,
25
+ selected = false,
26
+ value,
27
+ reverse = false,
28
+ ratio,
29
+ buttonPopper,
30
+ buttonStart,
31
+ buttonEnd,
32
+ buttonLoadingIcon,
33
+ children,
34
+ ...rest
35
+ }: ButtonProps = $props();
36
+
37
+ let startRef: HTMLDivElement | undefined = $state<HTMLDivElement | undefined>(undefined);
38
+
34
39
  </script>
35
40
 
36
41
  <button
@@ -1,22 +1,35 @@
1
- <script lang="ts">import Popper from "../../ui/popper/Popper.svelte";
2
- import Button from "./Button.svelte";
3
- import Icon from "../../base/icon/Icon.svelte";
4
- import Slotted from "../../utils/slotted/Slotted.svelte";
5
- let {
6
- element,
7
- class: className = "",
8
- menuProps = {},
9
- popperProps = {},
10
- popperContent = void 0,
11
- disabled = false,
12
- variant = "bordered",
13
- tall = "small",
14
- children,
15
- ...rest
16
- } = $props();
17
- let holder;
18
- let isOpen = $state(popperProps?.isOpen);
19
- let chevron = "fluent:chevron-down-20-regular";
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { PopperProps } from '../../ui/popper/types.js';
4
+ import type { MenuProps } from '../../ui/menu/types.js';
5
+ import Popper from '../../ui/popper/Popper.svelte';
6
+ import Button from './Button.svelte';
7
+ import type { ButtonProps } from './types.js';
8
+ import Icon from '../../base/icon/Icon.svelte';
9
+ import Slotted from '../../utils/slotted/Slotted.svelte';
10
+ import type { ExpandProps } from '../../types/index.js';
11
+
12
+ type ButtonActionProps = ButtonProps & {
13
+ menuProps?: MenuProps;
14
+ popperProps?: PopperProps;
15
+ popperContent?: Snippet;
16
+ };
17
+
18
+ let {
19
+ element,
20
+ class: className = '',
21
+ menuProps = {},
22
+ popperProps = {},
23
+ popperContent = undefined,
24
+ disabled = false,
25
+ variant = 'bordered',
26
+ tall = 'small',
27
+ children,
28
+ ...rest
29
+ }: ExpandProps<ButtonActionProps> = $props();
30
+ let holder: HTMLDivElement;
31
+ let isOpen = $state(popperProps?.isOpen);
32
+ let chevron = 'fluent:chevron-down-20-regular';
20
33
  </script>
21
34
 
22
35
  <div bind:this={holder} class="button button-action selected {variant} tall-{tall} {className}">
@@ -1,19 +1,25 @@
1
- <script lang="ts" generics="T">import Popper from "../../ui/popper/Popper.svelte";
2
- import MenuList from "../../ui/menuList/MenuList.svelte";
3
- import Button from "./Button.svelte";
4
- import MenuListItem from "../../ui/menuList/MenuListItem.svelte";
5
- let {
6
- menuProps = {},
7
- popperProps = {},
8
- disabled = false,
9
- element = $bindable(),
10
- popperElement,
11
- menuItem,
12
- children,
13
- ...rest
14
- } = $props();
15
- let isOpen = $state(popperProps?.isOpen);
16
- let chevron = $derived(disabled ? "fluent:chevron-up-20-regular" : "fluent:chevron-up-12-down");
1
+ <script lang="ts" generics="T">
2
+ import Popper from '../../ui/popper/Popper.svelte';
3
+ import MenuList from '../../ui/menuList/MenuList.svelte';
4
+ import Button from './Button.svelte';
5
+ import type { ButtonMenuProps } from './types.js';
6
+ import type { MenuListProps } from '../../ui/menuList/types.js';
7
+ import type { PopperProps } from '../../ui/popper/types.js';
8
+ import MenuListItem from '../../ui/menuList/MenuListItem.svelte';
9
+
10
+ let {
11
+ menuProps = {} as MenuListProps<T>,
12
+ popperProps = {} as PopperProps,
13
+ disabled = false,
14
+ element = $bindable(),
15
+ popperElement,
16
+ menuItem,
17
+ children,
18
+ ...rest
19
+ }: ButtonMenuProps<T> = $props();
20
+
21
+ let isOpen = $state(popperProps?.isOpen);
22
+ let chevron = $derived(disabled ? 'fluent:chevron-up-20-regular' : 'fluent:chevron-up-12-down');
17
23
  </script>
18
24
 
19
25
  <Button
@@ -1,16 +1,43 @@
1
- <script lang="ts">import Icon from "../../base/icon/Icon.svelte";
2
- import Button from "./Button.svelte";
3
- let {
4
- element,
5
- icon,
6
- ratio = "1/1",
7
- iconFontSize = "full",
8
- rotation = 0,
9
- size = "mini",
10
- children,
11
- ...rest
12
- } = $props();
13
- let finalIcon = $derived(typeof icon === "object" ? { ...icon, iconSize: iconFontSize } : { icon, iconSize: iconFontSize });
1
+ <script lang="ts">
2
+ import Icon from '../../base/icon/Icon.svelte';
3
+ import Button from './Button.svelte';
4
+ import type { ElementProps } from '../../types/index.js';
5
+ import type { Snippet } from 'svelte';
6
+ import type { ButtonProps } from './types.js';
7
+ type IconButtonProps = {
8
+ /** Icon to be displayed */
9
+ icon: ElementProps['icon'];
10
+ showShip?: boolean;
11
+ /** Font size of the icon */
12
+ iconFontSize?: ElementProps['iconSize'];
13
+ element?: HTMLButtonElement | null;
14
+
15
+ /** Aspect ratio of the icon button */
16
+ ratio?: string;
17
+
18
+ /** Whether to show the chip or not */
19
+ showChip?: boolean;
20
+
21
+ /** Rotation of the icon */
22
+ rotation?: number;
23
+
24
+ size?: ElementProps['width'];
25
+ /** Children for the default content */
26
+ children?: Snippet;
27
+ } & Partial<ButtonProps>;
28
+
29
+ let {
30
+ element,
31
+ icon,
32
+ ratio = '1/1',
33
+ iconFontSize = 'full',
34
+ rotation = 0,
35
+ size = 'mini',
36
+ children,
37
+ ...rest
38
+ }: IconButtonProps = $props();
39
+
40
+ let finalIcon = $derived(typeof icon === 'object' ? {...icon,iconSize:iconFontSize} : {icon,iconSize:iconFontSize});
14
41
  </script>
15
42
 
16
43
  <Button variant="square" bind:element width={size} tall="unset" {ratio} {...rest}>
@@ -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
  buttonInitial={{
17
21
  icon: {icon:'fa-solid:question', size:'auto',color:'green'},
@@ -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,70 +1,93 @@
1
- <script lang="ts" generics="T=any">import { fade } from "svelte/transition";
2
- import Button from "../button/Button.svelte";
3
- import { onDestroy } from "svelte";
4
- import Slotted from "../../utils/slotted/Slotted.svelte";
5
- let step = $state("initial");
6
- let {
7
- class: className = "",
8
- initialRef = null,
9
- contentRef = null,
10
- tooltipInitial = null,
11
- primaryInitial = "",
12
- primaryConfirm = "",
13
- iconInitial = "",
14
- iconColorInitial = "inherit",
15
- primary = "confirm",
16
- icon = "check-circle-outline",
17
- iconColor = "green",
18
- tall,
19
- autoClose = true,
20
- loading,
21
- data,
22
- action = () => {
23
- },
24
- iconCancel = { icon: "mdi:cancel-bold", color: "red", iconSize: "large" },
25
- variant,
26
- buttonInitial,
27
- buttonConfirm,
28
- buttonCancel,
29
- children,
30
- confirmInitial,
31
- ...rest
32
- } = $props();
33
- let rost = rest;
34
- let loadingState = $state(false);
35
- function handleClickInitial(event) {
36
- event.preventDefault();
37
- event.stopPropagation();
38
- step = "confirm";
39
- }
40
- function handleClickCancel(event) {
41
- event.preventDefault();
42
- event.stopPropagation();
43
- step = "initial";
44
- }
45
- function handleAction(event) {
46
- event.preventDefault();
47
- event.stopPropagation();
48
- if (action) {
49
- if (action instanceof Promise) loadingState = true;
50
- try {
51
- loadingState = true;
52
- action(data).then(() => {
53
- loadingState = false;
54
- if (autoClose) step = "initial";
55
- return data;
56
- });
57
- } catch (e) {
58
- if (typeof action == "function") {
59
- action(data);
60
- if (autoClose) step = "initial";
61
- }
62
- }
63
- }
64
- }
65
- onDestroy(() => {
66
- step = "initial";
67
- });
1
+ <script lang="ts" generics="T=any">
2
+ import { fade } from 'svelte/transition';
3
+ import Button from '../button/Button.svelte';
4
+ import { onDestroy } from 'svelte';
5
+ import Slotted from '../../utils/slotted/Slotted.svelte';
6
+ import type { ConfirmProps } from './types.js';
7
+ import type { HTMLAttributes } from 'svelte/elements';
8
+
9
+ let step: string = $state('initial');
10
+
11
+ let {
12
+ class: className = '',
13
+ initialRef = null,
14
+ contentRef = null,
15
+ tooltipInitial = null,
16
+ primaryInitial = '',
17
+ primaryConfirm = '',
18
+ iconInitial = '',
19
+ iconColorInitial = 'inherit',
20
+ primary = 'confirm',
21
+ icon = 'check-circle-outline',
22
+ iconColor = 'green',
23
+ tall,
24
+ autoClose = true,
25
+ loading,
26
+ data,
27
+ action = () => {},
28
+ iconCancel = { icon: 'mdi:cancel-bold', color: 'red',iconSize:'large' },
29
+ variant,
30
+ buttonInitial,
31
+ buttonConfirm,
32
+ buttonCancel,
33
+ children,
34
+ confirmInitial,
35
+ ...rest
36
+ }: ConfirmProps<T> & Partial<Omit<HTMLDivElement, 'style'>> = $props();
37
+
38
+ let rost = rest as HTMLAttributes<any>;
39
+
40
+ let loadingState = $state(false);
41
+
42
+ function handleClickInitial(event: any) {
43
+ event.preventDefault();
44
+ event.stopPropagation();
45
+ step = 'confirm';
46
+ }
47
+
48
+ function handleClickCancel(event: any) {
49
+ event.preventDefault();
50
+ event.stopPropagation();
51
+ step = 'initial';
52
+ }
53
+
54
+ function handleAction(event: any) {
55
+ event.preventDefault();
56
+ event.stopPropagation();
57
+ if (action) {
58
+ if (action instanceof Promise) loadingState = true;
59
+
60
+ try {
61
+ loadingState = true;
62
+ action(data).then(() => {
63
+ loadingState = false;
64
+ if (autoClose) step = 'initial';
65
+
66
+ return data;
67
+ });
68
+ } catch (e) {
69
+ if (typeof action == 'function') {
70
+ action(data);
71
+ if (autoClose) step = 'initial';
72
+ }
73
+ }
74
+ /* Promise.resolve(action).then(
75
+ () => {
76
+ loadingState = false;
77
+ console.log('action done');
78
+ if (autoClose) step = 'initial';
79
+ },
80
+ () => {
81
+ console.log('action done done');
82
+ if (autoClose) step = 'initial';
83
+ }
84
+ ); */
85
+ }
86
+ }
87
+
88
+ onDestroy(() => {
89
+ step = 'initial';
90
+ });
68
91
  </script>
69
92
 
70
93
  <!-- #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">