@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,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 = "kind",
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}">
@@ -29,12 +42,12 @@ let chevron = "fluent:chevron-down-20-regular";
29
42
  isOpen = true;
30
43
  }}
31
44
  {tall}
32
- variant="naked"
33
- class="chevron"><Icon icon={chevron} rotation={isOpen ? 180 : 0} /></Button
34
- >
45
+ variant="naked"
46
+ icon={{icon:chevron,rotation:isOpen ? 180 : 0}}
47
+ class="chevron" />
35
48
  </div>
36
49
  {#if isOpen && !disabled}
37
- <Popper bind:isOpen parentNode={holder} stickToHookWidth={true} {...popperProps}>
50
+ <Popper bind:isOpen parentNode={holder} stickToHookWidth={true} autoClose={true} {...popperProps}>
38
51
  <Slotted child={popperContent} />
39
52
  </Popper>
40
53
  {/if}
@@ -47,7 +60,7 @@ let chevron = "fluent:chevron-down-20-regular";
47
60
  --sld-button-text-align: center;
48
61
  --sld-button-padding: 0;
49
62
  --sld-button-background: var(--sld-color-foreground-alpha-high);
50
- --sld-button-contained-background: var(--sld-color-primary);
63
+ --sld-button-contained-background: var(--sld-color-primary-alpha-high);
51
64
  --sld-button-hover-border-color: var(--sld-color-primary);
52
65
  --sld-button-active-border-color: var(--sld-color-secondary);
53
66
  --sld-button-focus-border-color: var(--sld-color-primary);
@@ -74,6 +87,7 @@ let chevron = "fluent:chevron-down-20-regular";
74
87
  --preset-width: var(--sld-width-small);
75
88
  width: var(--preset-width-small);
76
89
  border: none;
90
+ border-radius: 0;
77
91
  margin: 0;
78
92
  text-align: var(--sld-button-text-align);
79
93
  font-size: var(--sld-button-font-size);
@@ -81,35 +95,13 @@ let chevron = "fluent:chevron-down-20-regular";
81
95
  color: var(--sld-color-foreground);
82
96
  padding: var(--sld-button-padding);
83
97
  position: relative;
84
- display: inline-block;
98
+ display: inline-flex;
85
99
  transition: all 0.2s ease-in-out;
86
100
  overflow: hidden;
87
101
  cursor: pointer;
88
- align-content: center;
89
- align-items: center;
102
+ align-content: stretch;
103
+ align-items: stretch;
90
104
  background: var(--sld-button-background);
91
- /* &:focus {
92
- outline: 1px solid var(--sld-button-focus-border-color);
93
- outline-offset: 2px;
94
- box-shadow: var(--sld-button-focus-shadow);
95
- }
96
- &:focus-visible {
97
- outline: 1px solid var(--sld-button-focus-border-color);
98
- outline-offset: -2px;
99
- box-shadow: var(--sld-button-focus-shadow);
100
- }
101
- &:focus:not(:focus-visible) {
102
- box-shadow: var(--sld-button-focus-shadow);
103
- }
104
- &:hover {
105
- background-color: var(--sld-button-hover-background);
106
- box-shadow: var(--sld-button-hover-shadow);
107
- }
108
-
109
- &:active {
110
- transform: translateY(1px);
111
- box-shadow: var(--sld-button-active-shadow);
112
- } */
113
105
  --preset-width: var(--sld-width-small);
114
106
  width: var(--preset-width-small);
115
107
  }
@@ -442,36 +434,58 @@ let chevron = "fluent:chevron-down-20-regular";
442
434
  :global(button.button) .button-start,
443
435
  :global(input[type="button"]) .button-start,
444
436
  :global(input[type="submit"]) .button-start {
445
- --preset-ellipsis-line: 1;
446
- position: absolute;
437
+ position: relative;
447
438
  top: 0;
448
439
  left: 0;
449
- height: 100%;
450
- display: flex;
440
+ max-height: 100%;
451
441
  align-items: center;
452
- justify-content: center;
453
- padding: 0 0.5rem;
442
+ align-content: center;
443
+ padding: 0 0.15rem;
444
+ display: block;
454
445
  }
455
446
 
456
- :global(button) .button-start[ellipsis], :global(button) .button-start.ellipsis,
457
- :global(.button) .button-start[ellipsis],
458
- :global(.button) .button-start.ellipsis,
459
- :global(button.button) .button-start[ellipsis],
460
- :global(button.button) .button-start.ellipsis,
461
- :global(input[type="button"]) .button-start[ellipsis],
462
- :global(input[type="button"]) .button-start.ellipsis,
463
- :global(input[type="submit"]) .button-start[ellipsis],
464
- :global(input[type="submit"]) .button-start.ellipsis {
447
+ :global(button) .button-start:empty,
448
+ :global(.button) .button-start:empty,
449
+ :global(button.button) .button-start:empty,
450
+ :global(input[type="button"]) .button-start:empty,
451
+ :global(input[type="submit"]) .button-start:empty {
452
+ display: none;
453
+ }
454
+
455
+ :global(button) .button-central,
456
+ :global(.button) .button-central,
457
+ :global(button.button) .button-central,
458
+ :global(input[type="button"]) .button-central,
459
+ :global(input[type="submit"]) .button-central {
460
+ --preset-ellipsis-line: 1;
461
+ max-width: 100%;
462
+ max-height: 100%;
463
+ flex: 1;
464
+ align-items: center;
465
+ align-content: center;
466
+ padding-right: calc(var(--content-padding, 0.25rem) / 2);
467
+ text-align: var(--sld-button-text-align, center);
468
+ }
469
+
470
+ :global(button) .button-central[ellipsis], :global(button) .button-central.ellipsis,
471
+ :global(.button) .button-central[ellipsis],
472
+ :global(.button) .button-central.ellipsis,
473
+ :global(button.button) .button-central[ellipsis],
474
+ :global(button.button) .button-central.ellipsis,
475
+ :global(input[type="button"]) .button-central[ellipsis],
476
+ :global(input[type="button"]) .button-central.ellipsis,
477
+ :global(input[type="submit"]) .button-central[ellipsis],
478
+ :global(input[type="submit"]) .button-central.ellipsis {
465
479
  white-space: nowrap;
466
480
  overflow: hidden;
467
481
  text-overflow: ellipsis;
468
482
  }
469
483
 
470
- :global(button) .button-start.ellipsis-line-1,
471
- :global(.button) .button-start.ellipsis-line-1,
472
- :global(button.button) .button-start.ellipsis-line-1,
473
- :global(input[type="button"]) .button-start.ellipsis-line-1,
474
- :global(input[type="submit"]) .button-start.ellipsis-line-1 {
484
+ :global(button) .button-central.ellipsis-line-1,
485
+ :global(.button) .button-central.ellipsis-line-1,
486
+ :global(button.button) .button-central.ellipsis-line-1,
487
+ :global(input[type="button"]) .button-central.ellipsis-line-1,
488
+ :global(input[type="submit"]) .button-central.ellipsis-line-1 {
475
489
  display: -webkit-box;
476
490
  -webkit-line-clamp: 1;
477
491
  -webkit-box-orient: vertical;
@@ -481,11 +495,11 @@ let chevron = "fluent:chevron-down-20-regular";
481
495
  --preset-ellipsis-line: 1;
482
496
  }
483
497
 
484
- :global(button) .button-start.ellipsis-line-2,
485
- :global(.button) .button-start.ellipsis-line-2,
486
- :global(button.button) .button-start.ellipsis-line-2,
487
- :global(input[type="button"]) .button-start.ellipsis-line-2,
488
- :global(input[type="submit"]) .button-start.ellipsis-line-2 {
498
+ :global(button) .button-central.ellipsis-line-2,
499
+ :global(.button) .button-central.ellipsis-line-2,
500
+ :global(button.button) .button-central.ellipsis-line-2,
501
+ :global(input[type="button"]) .button-central.ellipsis-line-2,
502
+ :global(input[type="submit"]) .button-central.ellipsis-line-2 {
489
503
  display: -webkit-box;
490
504
  -webkit-line-clamp: 2;
491
505
  -webkit-box-orient: vertical;
@@ -495,11 +509,11 @@ let chevron = "fluent:chevron-down-20-regular";
495
509
  --preset-ellipsis-line: 2;
496
510
  }
497
511
 
498
- :global(button) .button-start.ellipsis-line-3,
499
- :global(.button) .button-start.ellipsis-line-3,
500
- :global(button.button) .button-start.ellipsis-line-3,
501
- :global(input[type="button"]) .button-start.ellipsis-line-3,
502
- :global(input[type="submit"]) .button-start.ellipsis-line-3 {
512
+ :global(button) .button-central.ellipsis-line-3,
513
+ :global(.button) .button-central.ellipsis-line-3,
514
+ :global(button.button) .button-central.ellipsis-line-3,
515
+ :global(input[type="button"]) .button-central.ellipsis-line-3,
516
+ :global(input[type="submit"]) .button-central.ellipsis-line-3 {
503
517
  display: -webkit-box;
504
518
  -webkit-line-clamp: 3;
505
519
  -webkit-box-orient: vertical;
@@ -509,11 +523,11 @@ let chevron = "fluent:chevron-down-20-regular";
509
523
  --preset-ellipsis-line: 3;
510
524
  }
511
525
 
512
- :global(button) .button-start.ellipsis-line-4,
513
- :global(.button) .button-start.ellipsis-line-4,
514
- :global(button.button) .button-start.ellipsis-line-4,
515
- :global(input[type="button"]) .button-start.ellipsis-line-4,
516
- :global(input[type="submit"]) .button-start.ellipsis-line-4 {
526
+ :global(button) .button-central.ellipsis-line-4,
527
+ :global(.button) .button-central.ellipsis-line-4,
528
+ :global(button.button) .button-central.ellipsis-line-4,
529
+ :global(input[type="button"]) .button-central.ellipsis-line-4,
530
+ :global(input[type="submit"]) .button-central.ellipsis-line-4 {
517
531
  display: -webkit-box;
518
532
  -webkit-line-clamp: 4;
519
533
  -webkit-box-orient: vertical;
@@ -523,11 +537,11 @@ let chevron = "fluent:chevron-down-20-regular";
523
537
  --preset-ellipsis-line: 4;
524
538
  }
525
539
 
526
- :global(button) .button-start.ellipsis-line-5,
527
- :global(.button) .button-start.ellipsis-line-5,
528
- :global(button.button) .button-start.ellipsis-line-5,
529
- :global(input[type="button"]) .button-start.ellipsis-line-5,
530
- :global(input[type="submit"]) .button-start.ellipsis-line-5 {
540
+ :global(button) .button-central.ellipsis-line-5,
541
+ :global(.button) .button-central.ellipsis-line-5,
542
+ :global(button.button) .button-central.ellipsis-line-5,
543
+ :global(input[type="button"]) .button-central.ellipsis-line-5,
544
+ :global(input[type="submit"]) .button-central.ellipsis-line-5 {
531
545
  display: -webkit-box;
532
546
  -webkit-line-clamp: 5;
533
547
  -webkit-box-orient: vertical;
@@ -537,28 +551,6 @@ let chevron = "fluent:chevron-down-20-regular";
537
551
  --preset-ellipsis-line: 5;
538
552
  }
539
553
 
540
- :global(button) .button-start:empty,
541
- :global(.button) .button-start:empty,
542
- :global(button.button) .button-start:empty,
543
- :global(input[type="button"]) .button-start:empty,
544
- :global(input[type="submit"]) .button-start:empty {
545
- display: none;
546
- }
547
-
548
- :global(button) .button-central,
549
- :global(.button) .button-central,
550
- :global(button.button) .button-central,
551
- :global(input[type="button"]) .button-central,
552
- :global(input[type="submit"]) .button-central {
553
- width: 100%;
554
- height: 100%;
555
- display: flex;
556
- align-items: center;
557
- justify-content: center;
558
- padding: 0 0.5rem;
559
- text-align: var(--sld-button-text-align);
560
- }
561
-
562
554
  :global(button) .button-central:empty,
563
555
  :global(.button) .button-central:empty,
564
556
  :global(button.button) .button-central:empty,
@@ -567,36 +559,32 @@ let chevron = "fluent:chevron-down-20-regular";
567
559
  display: none;
568
560
  }
569
561
 
570
- :global(button) .button-action,
571
- :global(.button) .button-action,
572
- :global(button.button) .button-action,
573
- :global(input[type="button"]) .button-action,
574
- :global(input[type="submit"]) .button-action {
575
- position: absolute;
576
- top: 0;
577
- right: 0;
578
- height: 100%;
579
- display: flex;
562
+ :global(button) .button-end,
563
+ :global(.button) .button-end,
564
+ :global(button.button) .button-end,
565
+ :global(input[type="button"]) .button-end,
566
+ :global(input[type="submit"]) .button-end {
567
+ position: relative;
580
568
  align-items: center;
581
- justify-content: center;
582
- width: var(--w-tiny);
569
+ align-content: center;
583
570
  padding: 0 0.5rem;
571
+ text-align: center;
584
572
  cursor: pointer;
585
573
  }
586
574
 
587
- :global(button) .button-action:empty,
588
- :global(.button) .button-action:empty,
589
- :global(button.button) .button-action:empty,
590
- :global(input[type="button"]) .button-action:empty,
591
- :global(input[type="submit"]) .button-action:empty {
575
+ :global(button) .button-end:empty,
576
+ :global(.button) .button-end:empty,
577
+ :global(button.button) .button-end:empty,
578
+ :global(input[type="button"]) .button-end:empty,
579
+ :global(input[type="submit"]) .button-end:empty {
592
580
  display: none;
593
581
  }
594
582
 
595
- :global(button) .button-action:hover,
596
- :global(.button) .button-action:hover,
597
- :global(button.button) .button-action:hover,
598
- :global(input[type="button"]) .button-action:hover,
599
- :global(input[type="submit"]) .button-action:hover {
583
+ :global(button) .button-end:hover,
584
+ :global(.button) .button-end:hover,
585
+ :global(button.button) .button-end:hover,
586
+ :global(input[type="button"]) .button-end:hover,
587
+ :global(input[type="submit"]) .button-end:hover {
600
588
  background-color: var(--sld-button-action-hover-background);
601
589
  }
602
590
 
@@ -1320,6 +1308,7 @@ let chevron = "fluent:chevron-down-20-regular";
1320
1308
  .button-action {
1321
1309
  display: inline-flex;
1322
1310
  position: relative;
1311
+ align-items: center;
1323
1312
  }
1324
1313
 
1325
1314
  .button-action .chevron {
@@ -19,15 +19,16 @@ declare const ButtonAction: $$__sveltets_2_IsomorphicComponent<{
19
19
  type?: ("button" | "submit" | "reset") | undefined;
20
20
  icon?: import("../../types/index.js").ElementProps["icon"] | undefined;
21
21
  wrap?: import("../../types/index.js").ElementProps["wrap"] | undefined;
22
+ nowrap?: boolean | undefined;
23
+ ellipsis?: boolean | undefined;
22
24
  iconEnd?: import("../../types/index.js").ElementProps["icon"] | undefined;
23
25
  bgTheme?: string | undefined;
24
- usePopper?: import("../..").UsePopperProps | undefined;
26
+ usePopperProps?: import("../..").UsePopperProps | undefined;
25
27
  popperOpen?: boolean | undefined;
26
28
  loading?: boolean | undefined;
27
29
  showChip?: boolean | undefined;
28
30
  variant?: import("../../types/index.js").ElementProps["buttonVariant"] | undefined;
29
31
  width?: import("../../types/index.js").ElementProps["width"] | undefined;
30
- nowrap?: boolean | undefined;
31
32
  tall?: import("../../types/index.js").ElementProps["tall"] | undefined;
32
33
  selected?: boolean | undefined;
33
34
  value?: string | undefined;
@@ -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,17 +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();
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();
13
39
  </script>
14
40
 
15
- <Button variant="square" bind:element width={size} tall="unset" {ratio} {...rest}>
41
+ <!-- <Button variant="square" bind:element width={size} tall="unset" {ratio} {...rest}>
16
42
  <Icon style="display:block; " {rotation} {icon} iconSize={iconFontSize} />
17
- </Button>
43
+ </Button> -->
@@ -1,7 +1,7 @@
1
1
  .button-action {
2
2
  display: inline-flex;
3
3
  position: relative;
4
-
4
+ align-items: center;
5
5
  .chevron {
6
6
  flex-shrink: 1;
7
7
  }
@@ -8,7 +8,7 @@
8
8
  --sld-button-text-align: center;
9
9
  --sld-button-padding: 0;
10
10
  --sld-button-background: var(--sld-color-foreground-alpha-high);
11
- --sld-button-contained-background: var(--sld-color-primary);
11
+ --sld-button-contained-background: var(--sld-color-primary-alpha-high);
12
12
  --sld-button-hover-border-color: var(--sld-color-primary);
13
13
  --sld-button-active-border-color: var(--sld-color-secondary);
14
14
  --sld-button-focus-border-color: var(--sld-color-primary);
@@ -38,6 +38,7 @@
38
38
  @include elevation;
39
39
 
40
40
  border: none;
41
+ border-radius: 0;
41
42
  margin: 0;
42
43
 
43
44
  text-align: var(--sld-button-text-align);
@@ -48,14 +49,14 @@
48
49
  padding: var(--sld-button-padding);
49
50
  position: relative;
50
51
 
51
- display: inline-block;
52
+ display: inline-flex;
52
53
 
53
54
  transition: all 0.2s ease-in-out;
54
55
  overflow: hidden;
55
56
  cursor: pointer;
56
57
 
57
- align-content: center;
58
- align-items: center;
58
+ align-content: stretch;
59
+ align-items: stretch;
59
60
 
60
61
  background: var(--sld-button-background);
61
62
 
@@ -82,68 +83,42 @@
82
83
  box-shadow: var(--sld-button-focus-shadow);
83
84
  }
84
85
  }
85
- /* &:focus {
86
- outline: 1px solid var(--sld-button-focus-border-color);
87
- outline-offset: 2px;
88
- box-shadow: var(--sld-button-focus-shadow);
89
- }
90
- &:focus-visible {
91
- outline: 1px solid var(--sld-button-focus-border-color);
92
- outline-offset: -2px;
93
- box-shadow: var(--sld-button-focus-shadow);
94
- }
95
- &:focus:not(:focus-visible) {
96
- box-shadow: var(--sld-button-focus-shadow);
97
- }
98
- &:hover {
99
- background-color: var(--sld-button-hover-background);
100
- box-shadow: var(--sld-button-hover-shadow);
101
- }
102
-
103
- &:active {
104
- transform: translateY(1px);
105
- box-shadow: var(--sld-button-active-shadow);
106
- } */
107
86
 
108
87
  .button-start {
109
- @include ui-ellipsises-presets;
110
- position: absolute;
88
+ position: relative;
111
89
  top: 0;
112
90
  left: 0;
113
- height: 100%;
114
- display: flex;
91
+ max-height: 100%;
115
92
  align-items: center;
116
- justify-content: center;
117
- padding: 0 0.5rem;
118
-
93
+ align-content: center;
94
+ padding: 0 0.15rem;
95
+ display: block;
119
96
  &:empty {
120
97
  display: none;
121
98
  }
122
99
  }
123
100
 
124
101
  .button-central {
125
- width: 100%;
126
- height: 100%;
127
- display: flex;
102
+ @include ui-ellipsises-presets;
103
+ max-width: 100%;
104
+ max-height: 100%;
105
+ flex: 1;
128
106
  align-items: center;
129
- justify-content: center;
130
- padding: 0 0.5rem; //var(--content-padding, 0.25rem);
131
- text-align: var(--sld-button-text-align);
107
+ align-content: center;
108
+ padding-right: calc(var(--content-padding, 0.25rem) / 2);
109
+ text-align: var(--sld-button-text-align, center);
132
110
  &:empty {
133
111
  display: none;
134
112
  }
135
113
  }
136
114
 
137
- .button-action {
138
- position: absolute;
139
- top: 0;
140
- right: 0;
141
- height: 100%;
142
- display: flex;
115
+ .button-end {
116
+ position: relative;
143
117
  align-items: center;
144
- justify-content: center;
145
- width: var(--w-tiny);
118
+ align-content: center;
119
+ //width: var(--w-tiny);
146
120
  padding: 0 0.5rem;
121
+ text-align: center;
147
122
  cursor: pointer;
148
123
 
149
124
  &:empty {
@@ -1,21 +1,26 @@
1
- import type { DemoerStoryProps } from '../../base/demoer/types.js';
2
- import { type ElementProps } from '../../types/index.js';
3
- import type { MenuListProps } from '../../ui/menuList/types.js';
4
- import type { PopperProps } from '../../ui/popper/types.js';
5
- import type { UsePopperProps } from '../../ui/popper/usePopper.js';
6
- import type { Snippet } from 'svelte';
1
+ import type { DemoerStoryProps } from "../../base/demoer/types.js";
2
+ import { type ElementProps } from "../../types/index.js";
3
+ import type { MenuListProps } from "../../ui/menuList/types.js";
4
+ import type { PopperProps } from "../../ui/popper/types.js";
5
+ import type { UsePopperProps } from "../../ui/popper/usePopper.js";
6
+ import type { Snippet } from "svelte";
7
7
  export type ButtonProps = {
8
8
  element?: HTMLButtonElement;
9
9
  /** button type */
10
- type?: 'button' | 'submit' | 'reset';
11
- icon?: ElementProps['icon'];
12
- wrap?: ElementProps['wrap'];
10
+ type?: "button" | "submit" | "reset";
11
+ icon?: ElementProps["icon"];
12
+ /** add ellipsis on overflowed text */
13
+ wrap?: ElementProps["wrap"];
14
+ /** @deprecated add ellipsis on overflowed text */
15
+ nowrap?: boolean;
16
+ /** add ellipsis on overflowed text */
17
+ ellipsis?: boolean;
13
18
  /** endIcon as a parameter */
14
- iconEnd?: ElementProps['icon'];
19
+ iconEnd?: ElementProps["icon"];
15
20
  /** background color theme */
16
21
  bgTheme?: string;
17
22
  /** paramters for usePopper */
18
- usePopper?: UsePopperProps;
23
+ usePopperProps?: UsePopperProps;
19
24
  /** show / hide popper */
20
25
  popperOpen?: boolean;
21
26
  /** show loading state */
@@ -23,12 +28,10 @@ export type ButtonProps = {
23
28
  /** show chip */
24
29
  showChip?: boolean;
25
30
  /** button style */
26
- variant?: ElementProps['buttonVariant'];
31
+ variant?: ElementProps["buttonVariant"];
27
32
  /** preset width of the button */
28
- width?: ElementProps['width'];
29
- /** add ellipsis on overflowed text */
30
- nowrap?: boolean;
31
- tall?: ElementProps['tall'];
33
+ width?: ElementProps["width"];
34
+ tall?: ElementProps["tall"];
32
35
  /** button selected */
33
36
  selected?: boolean;
34
37
  /** button value */