@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,8 +1,8 @@
1
- import type { ElementProps, IconObj } from '../../types/index.js';
2
- import type { DemoerStoryProps } from '../demoer/types.js';
1
+ import type { ElementProps, IconObj } from "../../types/index.js";
2
+ import type { DemoerStoryProps } from "../demoer/types.js";
3
3
  export type IconAppProps = {
4
4
  /** icon name for iconify */
5
- icon?: ElementProps['icon'];
5
+ icon?: ElementProps["icon"];
6
6
  /** className off the root component */
7
7
  class?: string;
8
8
  /** css style off the root component */
@@ -12,7 +12,7 @@ export type IconAppProps = {
12
12
  /** icon object for iconify, replace and invalidate props.icon */
13
13
  ico?: IconObj;
14
14
  /** icon size */
15
- iconSize?: ElementProps['iconSize'];
15
+ iconSize?: ElementProps["iconSize"];
16
16
  /** rotate icon */
17
17
  rotate?: boolean;
18
18
  /** icon color */
@@ -1,21 +1,21 @@
1
- import { demoerArgs } from '../demoer/demoer.utils.js';
1
+ import { demoerArgs } from "../demoer/demoer.utils.js";
2
2
  export const iconAppDemoValues = {
3
3
  icon: {
4
- type: 'icon',
5
- default: 'user'
4
+ type: "icon",
5
+ default: "user",
6
6
  },
7
7
  iconSize: {
8
- type: 'iconSize'
8
+ type: "iconSize",
9
9
  },
10
10
  color: {
11
- type: 'color'
11
+ type: "color",
12
12
  },
13
13
  rotation: {
14
- type: 'number',
15
- values: [0, 45, 90, 180, 270]
14
+ type: "number",
15
+ values: [0, 45, 90, 180, 270],
16
16
  },
17
17
  rotate: {
18
- type: 'boolean'
19
- }
18
+ type: "boolean",
19
+ },
20
20
  };
21
21
  export let { parameters, componentArgs } = demoerArgs(iconAppDemoValues);
@@ -1,12 +1,15 @@
1
- <script lang="ts">import ComponentDemo from "../demoer/DemoerComponent.svelte";
2
- import DemoPage from "../demoer/DemoPage.svelte";
3
- import Demoer from "../demoer/Demoer.svelte";
4
- import { defaultsArgs } from "../demoer/demoer.utils.js";
5
- import Paper from "./Paper.svelte";
6
- import { paperDemoValues } from "./type.js";
7
- let parameters = paperDemoValues;
8
- let componentArgs = defaultsArgs(parameters);
9
- let code = `
1
+ <script lang="ts">
2
+ import ComponentDemo from '../demoer/DemoerComponent.svelte';
3
+ import DemoPage from '../demoer/DemoPage.svelte';
4
+ import Demoer from '../demoer/Demoer.svelte';
5
+ import { defaultsArgs } from '../demoer/demoer.utils.js';
6
+ import Paper from './Paper.svelte';
7
+ import { paperDemoValues, type PaperProps } from './type.js';
8
+
9
+ let parameters = paperDemoValues;
10
+ let componentArgs = defaultsArgs(parameters);
11
+
12
+ let code = `
10
13
  <Paper elevation="2" style="height:350px;width:250px" >
11
14
  paper content
12
15
  </Paper>`;
@@ -1,12 +1,16 @@
1
- <script lang="ts">import Slotted from "../../utils/slotted/Slotted.svelte";
2
- let {
3
- class: className = "",
4
- style,
5
- element = $bindable(),
6
- children,
7
- elevation = 0,
8
- ...rest
9
- } = $props();
1
+ <script lang="ts">
2
+ import type { ExpandProps } from '../../types/index.js';
3
+ import Slotted from '../../utils/slotted/Slotted.svelte';
4
+ import type { PaperProps } from './type.js';
5
+
6
+ let {
7
+ class: className = '',
8
+ style,
9
+ element = $bindable(),
10
+ children,
11
+ elevation = 0,
12
+ ...rest
13
+ }: ExpandProps<PaperProps> = $props();
10
14
  </script>
11
15
 
12
16
  <div bind:this={element} class="paper {className} elevation-{elevation}" {style} {...rest}>
@@ -1,6 +1,6 @@
1
- import type { CommonProps } from '../../types/index.js';
2
- import type { Snippet } from 'svelte';
3
- import type { DemoerStoryProps } from '../demoer/types.js';
1
+ import type { CommonProps } from "../../types/index.js";
2
+ import type { Snippet } from "svelte";
3
+ import type { DemoerStoryProps } from "../demoer/types.js";
4
4
  export type PaperProps = {
5
5
  /** className off the root component */
6
6
  class?: string;
@@ -1,8 +1,8 @@
1
- import { demoerArgs } from '../demoer/demoer.utils.js';
1
+ import { demoerArgs } from "../demoer/demoer.utils.js";
2
2
  export const paperDemoValues = {
3
3
  elevation: {
4
- type: 'elevation',
5
- default: 0
6
- }
4
+ type: "elevation",
5
+ default: 0,
6
+ },
7
7
  };
8
8
  export let { parameters, componentArgs } = demoerArgs(paperDemoValues);
@@ -1,12 +1,14 @@
1
- <script lang="ts">import { titleBarDemoValues } from "./types.js";
2
- import { defaultsArgs } from "../demoer/demoer.utils.js";
3
- import ComponentDemo from "../demoer/DemoerComponent.svelte";
4
- import DemoPage from "../demoer/DemoPage.svelte";
5
- import Demoer from "../demoer/Demoer.svelte";
6
- import TitleBar from "./TitleBar.svelte";
7
- let parameters = titleBarDemoValues;
8
- let componentArgs = defaultsArgs(parameters);
9
- let code = `
1
+ <script lang="ts">
2
+ import { titleBarDemoValues } from './types.js';
3
+ import { defaultsArgs } from '../demoer/demoer.utils.js';
4
+ import ComponentDemo from '../demoer/DemoerComponent.svelte';
5
+ import DemoPage from '../demoer/DemoPage.svelte';
6
+ import Demoer from '../demoer/Demoer.svelte';
7
+ import TitleBar from './TitleBar.svelte';
8
+ let parameters = titleBarDemoValues;
9
+ let componentArgs = defaultsArgs(parameters);
10
+
11
+ let code = `
10
12
  <TitleBar {...activeParams} class="marg-tb-1">
11
13
  {#snippet titleBarIcon()}
12
14
  <Icon fontSize="small" icon="circle" />
@@ -1,15 +1,19 @@
1
- <script lang="ts">import Icon from "../icon/Icon.svelte";
2
- import Button from "../../controls/button/Button.svelte";
3
- import IconButton from "../../controls/button/IconButton.svelte";
4
- import Slotted from "../../utils/slotted/Slotted.svelte";
5
- let {
6
- onClose,
7
- hasMenu = false,
8
- icon,
9
- title,
10
- titleBarIcon,
11
- titleBarTitle
12
- } = $props();
1
+ <script lang="ts">
2
+ import Icon from '../icon/Icon.svelte';
3
+ import Button from '../../controls/button/Button.svelte';
4
+ import IconButton from '../../controls/button/IconButton.svelte';
5
+ import type { ExpandProps } from '../../types/index.js';
6
+ import Slotted from '../../utils/slotted/Slotted.svelte';
7
+ import type { TitleBarProps } from './types.js';
8
+
9
+ let {
10
+ onClose,
11
+ hasMenu = false,
12
+ icon,
13
+ title,
14
+ titleBarIcon,
15
+ titleBarTitle
16
+ }: ExpandProps<TitleBarProps> = $props();
13
17
  </script>
14
18
 
15
19
  <div class="title-bar">
@@ -1,6 +1,6 @@
1
- import type { ElementProps } from '../../types/index.js';
2
- import type { Snippet } from 'svelte';
3
- import type { DemoerStoryProps } from '../demoer/types.js';
1
+ import type { ElementProps } from "../../types/index.js";
2
+ import type { Snippet } from "svelte";
3
+ import type { DemoerStoryProps } from "../demoer/types.js";
4
4
  export type TitleBarProps = {
5
5
  title: string;
6
6
  /** Function to be called when the close button is clicked */
@@ -8,7 +8,7 @@ export type TitleBarProps = {
8
8
  /** Determines if the title bar has a menu */
9
9
  hasMenu?: boolean;
10
10
  /** Icon to be displayed in the title bar */
11
- icon?: ElementProps['icon'];
11
+ icon?: ElementProps["icon"];
12
12
  titleBarIcon?: Snippet;
13
13
  titleBarTitle?: Snippet;
14
14
  children?: Snippet;
@@ -1,18 +1,18 @@
1
- import { demoerArgs } from '../demoer/demoer.utils.js';
1
+ import { demoerArgs } from "../demoer/demoer.utils.js";
2
2
  export const titleBarDemoValues = {
3
3
  onClose: {
4
- type: 'function',
5
- values: [() => console.log('close')]
4
+ type: "function",
5
+ values: [() => console.log("close")],
6
6
  },
7
7
  hasMenu: {
8
- type: 'boolean'
8
+ type: "boolean",
9
9
  },
10
10
  icon: {
11
- type: 'icon'
11
+ type: "icon",
12
12
  },
13
13
  title: {
14
- type: 'string',
15
- values: ['Title', 'Title 2', 'Title 3']
16
- }
14
+ type: "string",
15
+ values: ["Title", "Title 2", "Title 3"],
16
+ },
17
17
  };
18
18
  export let { parameters, componentArgs } = demoerArgs(titleBarDemoValues);
@@ -1,18 +1,22 @@
1
- <script lang="ts">import AutoComplete from "./AutoComplete.svelte";
2
- import MenuItem from "../../ui/menu/MenuItem.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 data = [
8
- { id: 1, name: "Wanda", surname: "Wand", lastname: "Groot", age: 23 },
9
- { id: 2, name: "John", surname: "Jo", lastname: "Doe", age: 33 },
10
- { id: 3, name: "Jane", surname: "Jay", lastname: "Doe", age: 43 },
11
- { id: 4, name: "Peter", surname: "Piotr", lastname: "Parker", age: 53 },
12
- { id: 5, name: "Mary", surname: "Ma", lastname: "Jane", age: 63 },
13
- { id: 6, name: "Bruce", surname: "Banner", lastname: "Wayne", age: 73 }
14
- ];
15
- let codeSlot = `
1
+ <script lang="ts">
2
+ import AutoComplete from './AutoComplete.svelte';
3
+ import MenuItem from '../../ui/menu/MenuItem.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 data = [
11
+ { id: 1, name: 'Wanda', surname: 'Wand', lastname: 'Groot', age: 23 },
12
+ { id: 2, name: 'John', surname: 'Jo', lastname: 'Doe', age: 33 },
13
+ { id: 3, name: 'Jane', surname: 'Jay', lastname: 'Doe', age: 43 },
14
+ { id: 4, name: 'Peter', surname: 'Piotr', lastname: 'Parker', age: 53 },
15
+ { id: 5, name: 'Mary', surname: 'Ma', lastname: 'Jane', age: 63 },
16
+ { id: 6, name: 'Bruce', surname: 'Banner', lastname: 'Wayne', age: 73 }
17
+ ];
18
+
19
+ let codeSlot = `
16
20
  <AutoComplete
17
21
  class="marg-b"
18
22
  placeholder="Search in list"
@@ -28,7 +32,8 @@ let codeSlot = `
28
32
  <div class="pad">No results found</div>
29
33
  {/snippet}
30
34
  </AutoComplete>`;
31
- let codeProps = `
35
+
36
+ let codeProps = `
32
37
  <AutoComplete
33
38
  let:menuItemData
34
39
  {data}
@@ -1,65 +1,84 @@
1
- <script lang="ts" generics="T">import TextField from "../textfield/TextField.svelte";
2
- import { dataOp } from "../../utils/engine/utils.js";
3
- import Popper from "../../ui/popper/Popper.svelte";
4
- import MenuList from "../../ui/menuList/MenuList.svelte";
5
- import MenuListItem from "../../ui/menuList/MenuListItem.svelte";
6
- import Icon from "../../base/icon/Icon.svelte";
7
- import Slotted from "../../utils/slotted/Slotted.svelte";
8
- let {
9
- class: className = "",
10
- element = $bindable(),
11
- data = $bindable([]),
12
- searchField = "*",
13
- dataFieldName,
14
- mode = "partial",
15
- filteredData = $bindable(data),
16
- selectedIndex = $bindable(-1),
17
- onchange = (args) => {
18
- },
19
- showAllOnEmpty = true,
20
- children,
21
- autoCompleteEmpty,
22
- autoCompleteNoResults,
23
- ...rest
24
- } = $props();
25
- let searchString = $state(void 0);
26
- let menuHTML = $state(null);
27
- let popperHTML = $state(void 0);
28
- let popperOpen = $state(false);
29
- let menuRef;
30
- let childs = children;
31
- $effect(() => {
32
- element?.addEventListener("keypress", (e) => {
33
- preNavigate(e);
34
- });
35
- });
36
- $effect(() => {
37
- filteredData = !searchString ? showAllOnEmpty ? data : [] : doFind(data, searchString, searchField);
38
- });
39
- const doFind = (list, kw, field) => {
40
- let results;
41
- if (!kw) {
42
- results = data;
43
- } else {
44
- results = mode === "exact" ? dataOp.filterList(list, kw, field) : dataOp.searchList(list, kw, field);
45
- }
46
- return results;
47
- };
48
- async function preNavigate(e) {
49
- if (e.keyCode === 13) {
50
- e.preventDefault();
51
- onSelect(filteredData[selectedIndex], selectedIndex);
52
- return;
53
- }
54
- }
55
- function onSelect(filteredData2, index) {
56
- searchString = getFieldName(filteredData2, dataFieldName);
57
- if (onchange) onchange(filteredData2);
58
- }
59
- function getFieldName(data2, fieldName) {
60
- let field = Array.isArray(fieldName) ? fieldName : [fieldName];
61
- return data2 ? field.map((field2) => data2[field2]).join(" ") : "";
62
- }
1
+ <script lang="ts" generics="T">
2
+ import type { AutoCompleteProps } from './types.js';
3
+
4
+ import TextField from '../textfield/TextField.svelte';
5
+ import { dataOp } from '../../utils/engine/utils.js';
6
+ import Popper from '../../ui/popper/Popper.svelte';
7
+ import MenuList from '../../ui/menuList/MenuList.svelte';
8
+ import MenuListItem from '../../ui/menuList/MenuListItem.svelte';
9
+ import Icon from '../../base/icon/Icon.svelte';
10
+ import type { Data, ExpandProps } from '../../types/index.js';
11
+ import Slotted from '../../utils/slotted/Slotted.svelte';
12
+
13
+ let {
14
+ class: className = '',
15
+ element = $bindable(),
16
+ data = $bindable([]),
17
+ searchField = '*',
18
+ dataFieldName,
19
+ mode = 'partial',
20
+ filteredData = $bindable<T[]>(data),
21
+ selectedIndex = $bindable(-1),
22
+ onchange = (args) => {},
23
+ showAllOnEmpty = true,
24
+ children,
25
+ autoCompleteEmpty,
26
+ autoCompleteNoResults,
27
+ ...rest
28
+ }: ExpandProps<AutoCompleteProps<T>> & Partial<Omit<HTMLInputElement, 'style'>> = $props();
29
+
30
+ let searchString: string | undefined = $state(undefined);
31
+ let menuHTML: HTMLElement | null = $state(null);
32
+ let popperHTML: HTMLElement | undefined = $state(undefined);
33
+ let popperOpen: boolean = $state(false);
34
+
35
+ let menuRef: MenuList<T>;
36
+
37
+ let childs = children;
38
+
39
+ $effect(() => {
40
+ element?.addEventListener('keypress', ((e: KeyboardEvent) => {
41
+ preNavigate(e);
42
+ }) as EventListener);
43
+ });
44
+ $effect(() => {
45
+ filteredData = !searchString
46
+ ? showAllOnEmpty
47
+ ? data
48
+ : []
49
+ : doFind(data, searchString, searchField);
50
+ });
51
+
52
+ const doFind = <T = Record<string, any>,>(list: T[], kw: string, field: string) => {
53
+ let results: any[];
54
+
55
+ if (!kw) {
56
+ results = data;
57
+ } else {
58
+ results =
59
+ mode === 'exact' ? dataOp.filterList(list, kw, field) : dataOp.searchList(list, kw, field);
60
+ }
61
+ return results;
62
+ };
63
+
64
+ async function preNavigate(e: KeyboardEvent) {
65
+ if (e.keyCode === 13) {
66
+ e.preventDefault();
67
+ onSelect(filteredData[selectedIndex], selectedIndex);
68
+ return;
69
+ }
70
+ }
71
+
72
+ function onSelect(filteredData: T, index: number) {
73
+ searchString = getFieldName(filteredData, dataFieldName as keyof T) as string;
74
+ if (onchange) onchange(filteredData);
75
+ }
76
+
77
+ function getFieldName(data: T, fieldName: keyof T | (keyof T)[]): string {
78
+ let field = Array.isArray(fieldName) ? fieldName : [fieldName];
79
+
80
+ return data ? field.map((field) => data[field]).join(' ') : '';
81
+ }
63
82
  </script>
64
83
 
65
84
  {popperOpen}
@@ -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()}
@@ -66,6 +72,26 @@ let code = `
66
72
  content
67
73
  {/snippet}
68
74
  </ButtonMenu>
75
+ <ButtonMenu
76
+ tall="small"
77
+ width="auto"
78
+ icon="material-symbols-light:post-add-sharp"
79
+ value={"Some text for the menu with an icon"}
80
+ popperProps={{ stickToHookWidth: true, position: 'TL', flow: 'fixed', autoClose: true }}
81
+ variant="naked"
82
+ menuProps={{
83
+ data: [],
84
+ grid: 3,
85
+ onclick: (event) => {
86
+ // chatParams.promptSystem = event;
87
+ },
88
+ }}>
89
+ {#snippet menuItem({ item })}
90
+ <MenuListItem data={item}>
91
+ {item?.name}
92
+ </MenuListItem>
93
+ {/snippet}
94
+ </ButtonMenu>
69
95
  <ComponentDemo
70
96
  component="Button"
71
97
  cite="There were a place where we used to click. You've called it a button, and we clicked yes.<br /> R. Falgt, 1354"
@@ -75,7 +101,7 @@ let code = `
75
101
  <Demoer {parameters} {componentArgs}>
76
102
  {#snippet children({ activeParams })}
77
103
  <Button {...activeParams}
78
- >Using snippets
104
+ >Using snippets scscs dsvdvd
79
105
  <!-- {#snippet buttonStart()}
80
106
  <Icon icon="user" />
81
107
  {/snippet} -->