@medyll/idae-slotui-svelte 0.122.0 → 0.123.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 (208) hide show
  1. package/README.md +47 -47
  2. package/dist/base/alert/Alert.demo.svelte +62 -62
  3. package/dist/base/alert/Alert.svelte +121 -121
  4. package/dist/base/alert/alert.scss +93 -93
  5. package/dist/base/avatar/Avatar.demo.svelte +41 -41
  6. package/dist/base/avatar/Avatar.preview.svelte +6 -6
  7. package/dist/base/avatar/Avatar.svelte +65 -65
  8. package/dist/base/avatar/avatar.scss +17 -17
  9. package/dist/base/backdrop/Backdrop.demo.svelte +49 -49
  10. package/dist/base/backdrop/Backdrop.svelte +78 -78
  11. package/dist/base/backdrop/backdrop.scss +34 -34
  12. package/dist/base/badge/Badge.svelte +31 -31
  13. package/dist/base/badge/badge.scss +19 -19
  14. package/dist/base/box/Box.demo.svelte +54 -54
  15. package/dist/base/box/Box.svelte +72 -72
  16. package/dist/base/box/box.scss +33 -33
  17. package/dist/base/breadCrumb/BreadCrumb.svelte +23 -23
  18. package/dist/base/breadCrumb/breadcrumb.scss +11 -11
  19. package/dist/base/cartouche/Cartouche.demo.svelte +108 -108
  20. package/dist/base/cartouche/Cartouche.svelte +114 -114
  21. package/dist/base/cartouche/cartouche.scss +114 -114
  22. package/dist/base/chipper/Chipper.demo.svelte +45 -45
  23. package/dist/base/chipper/Chipper.svelte +36 -36
  24. package/dist/base/chipper/chipper.scss +65 -65
  25. package/dist/base/columner/Column.svelte +62 -62
  26. package/dist/base/columner/Columner.demo.svelte +15 -15
  27. package/dist/base/columner/Columner.svelte +21 -21
  28. package/dist/base/contentSwitcher/ContentSwitcher.demo.svelte +45 -45
  29. package/dist/base/contentSwitcher/ContentSwitcher.svelte +63 -63
  30. package/dist/base/contentSwitcher/content-switcher.scss +22 -22
  31. package/dist/base/debug/Debug.svelte +21 -21
  32. package/dist/base/demoer/DemoPage.svelte +40 -40
  33. package/dist/base/demoer/Demoer.svelte +170 -170
  34. package/dist/base/demoer/DemoerCode.svelte +45 -45
  35. package/dist/base/demoer/DemoerComponent.svelte +50 -50
  36. package/dist/base/divider/Divider.demo.svelte +34 -34
  37. package/dist/base/divider/Divider.svelte +68 -68
  38. package/dist/base/divider/divider.scss +19 -19
  39. package/dist/base/icon/Icon.demo.svelte +24 -24
  40. package/dist/base/icon/Icon.svelte +117 -117
  41. package/dist/base/icon/Icon.svelte.d.ts +1 -1
  42. package/dist/base/icon/icon.scss +17 -17
  43. package/dist/base/paper/Paper.demo.svelte +31 -31
  44. package/dist/base/paper/Paper.svelte +20 -20
  45. package/dist/base/paper/paper.scss +15 -15
  46. package/dist/base/titleBar/TitleBar.demo.svelte +30 -30
  47. package/dist/base/titleBar/TitleBar.svelte +40 -40
  48. package/dist/base/titleBar/title-bar.scss +29 -29
  49. package/dist/controls/autocomplete/AutoComplete.demo.svelte +88 -88
  50. package/dist/controls/autocomplete/AutoComplete.svelte +152 -152
  51. package/dist/controls/autocomplete/auto-complete.scss +15 -15
  52. package/dist/controls/button/Button.demo.svelte +165 -165
  53. package/dist/controls/button/Button.svelte +95 -95
  54. package/dist/controls/button/Button.svelte.d.ts +1 -1
  55. package/dist/controls/button/ButtonAction.svelte +55 -55
  56. package/dist/controls/button/ButtonMenu.svelte +55 -55
  57. package/dist/controls/button/IconButton.svelte +45 -45
  58. package/dist/controls/button/button-action.scss +8 -8
  59. package/dist/controls/button/button-menu.scss +36 -36
  60. package/dist/controls/button/button.scss +293 -293
  61. package/dist/controls/checkbox/Checkbox.demo.svelte +29 -29
  62. package/dist/controls/checkbox/Checkbox.svelte +59 -59
  63. package/dist/controls/checkbox/checkbox.scss +115 -115
  64. package/dist/controls/confirm/Confirm.demo.svelte +60 -60
  65. package/dist/controls/confirm/Confirm.preview.svelte +14 -14
  66. package/dist/controls/confirm/Confirm.svelte +156 -156
  67. package/dist/controls/confirm/confirm.scss +12 -12
  68. package/dist/controls/inplaceedit/InPlaceEdit.demo.svelte +41 -41
  69. package/dist/controls/inplaceedit/InPlaceEdit.svelte +109 -109
  70. package/dist/controls/progress/Progress.demo.svelte +30 -30
  71. package/dist/controls/progress/Progress.svelte +26 -26
  72. package/dist/controls/progress/progress.scss +23 -23
  73. package/dist/controls/rating/Rating.demo.svelte +45 -45
  74. package/dist/controls/rating/Rating.svelte +44 -44
  75. package/dist/controls/rating/Rating.svelte.d.ts +1 -1
  76. package/dist/controls/rating/rating.scss +9 -9
  77. package/dist/controls/select/Select.demo.svelte +101 -101
  78. package/dist/controls/select/Select.svelte +125 -125
  79. package/dist/controls/select/select.scss +13 -13
  80. package/dist/controls/slider/Slider.demo.svelte +34 -34
  81. package/dist/controls/slider/Slider.svelte +153 -153
  82. package/dist/controls/slider/slider.scss +51 -51
  83. package/dist/controls/stepper/Stepper.demo.svelte +32 -32
  84. package/dist/controls/stepper/Stepper.svelte +30 -30
  85. package/dist/controls/stepper/stepper.scss +23 -23
  86. package/dist/controls/switch/Switch.demo.svelte +61 -61
  87. package/dist/controls/switch/Switch.svelte +45 -45
  88. package/dist/controls/switch/switch.scss +73 -73
  89. package/dist/controls/textfield/TextField.demo.svelte +79 -79
  90. package/dist/controls/textfield/TextField.svelte +86 -86
  91. package/dist/controls/textfield/TextField.svelte.d.ts +1 -1
  92. package/dist/controls/textfield/textfield.scss +68 -68
  93. package/dist/csss/csss.scss +10 -10
  94. package/dist/data/dataList/DataList.demo.svelte +151 -151
  95. package/dist/data/dataList/DataList.preview.svelte +23 -23
  96. package/dist/data/dataList/DataList.svelte +233 -233
  97. package/dist/data/dataList/DataListCell.svelte +212 -212
  98. package/dist/data/dataList/DataListHead.svelte +75 -75
  99. package/dist/data/dataList/DataListRow.svelte +93 -93
  100. package/dist/data/dataList/datalist.scss +157 -157
  101. package/dist/data/finder/Finder.demo.svelte +55 -55
  102. package/dist/data/finder/Finder.svelte +166 -166
  103. package/dist/data/finder/finder.scss +14 -14
  104. package/dist/data/grouper/Grouper.demo.svelte +36 -36
  105. package/dist/data/grouper/Grouper.svelte +85 -85
  106. package/dist/data/jsoner/Jsoner.svelte +40 -40
  107. package/dist/data/list/List.svelte +16 -16
  108. package/dist/data/list/ListItem.svelte +10 -10
  109. package/dist/data/list/ListTitle.svelte +8 -8
  110. package/dist/data/loader/Loader.demo.svelte +95 -95
  111. package/dist/data/loader/Loader.preview.svelte +7 -7
  112. package/dist/data/loader/Loader.svelte +99 -99
  113. package/dist/data/loader/loader.scss +50 -50
  114. package/dist/data/sorter/Sorter.demo.svelte +62 -62
  115. package/dist/data/sorter/Sorter.svelte +80 -80
  116. package/dist/data/sorter/Sorterer.svelte +27 -27
  117. package/dist/data/sorter/sorterer.scss +11 -11
  118. package/dist/index.d.ts +67 -66
  119. package/dist/index.js +67 -66
  120. package/dist/navigation/drawer/Drawer.demo.svelte +52 -52
  121. package/dist/navigation/drawer/Drawer.svelte +163 -163
  122. package/dist/navigation/drawer/drawer.scss +69 -69
  123. package/dist/navigation/tabs/Tabs.demo.svelte +83 -83
  124. package/dist/navigation/tabs/Tabs.preview.svelte +22 -22
  125. package/dist/navigation/tabs/Tabs.svelte +158 -158
  126. package/dist/navigation/tabs/tabs.scss +92 -92
  127. package/dist/slotui-css/slotui-css.css +229 -229
  128. package/dist/slotui-css/slotui-min-css.css +229 -229
  129. package/dist/styles/slotui-mixins.scss +168 -168
  130. package/dist/styles/slotui-presets.scss +56 -56
  131. package/dist/styles/slotuisheet/SlotuiSheet.svelte +36 -36
  132. package/dist/styles/slotuisheet/SlotyuiSheet.demo.svelte +28 -28
  133. package/dist/styles/slotuisheet/sheetConfig.scss +7 -7
  134. package/dist/styles/slotuisheet/slotui-sheet.scss +192 -192
  135. package/dist/styles/slotuisheet/stylesheet-container.scss +147 -147
  136. package/dist/styles/slotuisheet/stylesheet.scss +156 -156
  137. package/dist/types/slotui-ambient.d.ts +27 -27
  138. package/dist/ui/bootstrapp/BootStrApp.svelte +92 -92
  139. package/dist/ui/chromeFrame/ChromeFrame.svelte +43 -43
  140. package/dist/ui/chromeFrame/ChromeFrameButtonList.svelte +33 -33
  141. package/dist/ui/chromeFrame/ChromeFrameList.svelte +106 -106
  142. package/dist/ui/chromeFrame/chrome-frame.scss +34 -34
  143. package/dist/ui/frame/Frame.demo.svelte +48 -48
  144. package/dist/ui/frame/Frame.svelte +90 -90
  145. package/dist/ui/frame/frame.scss +46 -46
  146. package/dist/ui/login/Login.demo.svelte +62 -62
  147. package/dist/ui/login/Login.svelte +102 -102
  148. package/dist/ui/marquee/Marquee.demo.svelte +33 -33
  149. package/dist/ui/marquee/Marquee.svelte +97 -97
  150. package/dist/ui/marquee/marquee.scss +34 -34
  151. package/dist/ui/menu/Menu.svelte +9 -9
  152. package/dist/ui/menu/MenuItem.svelte +9 -9
  153. package/dist/ui/menu/MenuTitle.svelte +10 -10
  154. package/dist/ui/menu/menu.scss +61 -61
  155. package/dist/ui/menuList/MenuList.demo.svelte +73 -73
  156. package/dist/ui/menuList/MenuList.svelte +143 -143
  157. package/dist/ui/menuList/MenuListItem.svelte +134 -134
  158. package/dist/ui/menuList/MenuListTitle.svelte +10 -10
  159. package/dist/ui/menuList/menu-list.scss +120 -120
  160. package/dist/ui/panel/Panel.demo.svelte +169 -169
  161. package/dist/ui/panel/Panel.svelte +96 -96
  162. package/dist/ui/panel/PanelGrid.svelte +62 -62
  163. package/dist/ui/panel/PanelSlide.svelte +156 -156
  164. package/dist/ui/panel/Paneler.svelte +63 -63
  165. package/dist/ui/panel/panel.scss +32 -32
  166. package/dist/ui/popper/Popper.demo.svelte +92 -92
  167. package/dist/ui/popper/Popper.svelte +160 -160
  168. package/dist/ui/popper/popper.scss +108 -108
  169. package/dist/ui/preview/Preview.svelte +41 -41
  170. package/dist/ui/serviceBox/ServiceBox.svelte +24 -24
  171. package/dist/ui/startMenu/BootMenu.svelte +102 -102
  172. package/dist/ui/startMenu/boot-menu.scss +86 -86
  173. package/dist/ui/taskbar/TaskBarContent.svelte +20 -20
  174. package/dist/ui/taskbar/Taskbar.svelte +26 -26
  175. package/dist/ui/taskbar/taskbar.scss +28 -28
  176. package/dist/ui/themeswitcher/ThemeSwitcher.svelte +18 -18
  177. package/dist/ui/toast/Toast.demo.svelte +19 -19
  178. package/dist/ui/toast/Toast.svelte +60 -60
  179. package/dist/ui/toast/Toaster.svelte +18 -18
  180. package/dist/ui/toggleBar/ToggleBar.demo.svelte +114 -114
  181. package/dist/ui/toggleBar/ToggleBar.svelte +58 -58
  182. package/dist/ui/toggleBar/ToggleBar.svelte.d.ts +1 -1
  183. package/dist/ui/toggleBar/toggle-bar.scss +45 -45
  184. package/dist/ui/toolBar/ToolBar.demo.svelte +98 -98
  185. package/dist/ui/toolBar/ToolBar.svelte +30 -30
  186. package/dist/ui/toolBar/toolbar.scss +32 -32
  187. package/dist/ui/tree/Tree.demo.svelte +84 -84
  188. package/dist/ui/tree/Tree.preview.svelte +19 -19
  189. package/dist/ui/tree/Tree.svelte +182 -182
  190. package/dist/ui/tree/tree.scss +38 -38
  191. package/dist/ui/window/Window.demo.svelte +111 -111
  192. package/dist/ui/window/Window.svelte +177 -177
  193. package/dist/ui/window/window.scss +66 -66
  194. package/dist/utils/content/Content.svelte +78 -78
  195. package/dist/utils/contextRooter/ContextRooter.demo.svelte +33 -33
  196. package/dist/utils/contextRooter/ContextRooter.svelte +6 -6
  197. package/dist/utils/css/Css.demo.svelte +5 -5
  198. package/dist/utils/css/Css.svelte +64 -64
  199. package/dist/utils/effects/transitions.js +6 -6
  200. package/dist/utils/looper/Looper.demo.svelte +36 -36
  201. package/dist/utils/looper/Looper.svelte +47 -47
  202. package/dist/utils/slotted/Slotted.svelte +21 -21
  203. package/dist/utils/stylesheet/StyleSheet.demo.svelte +28 -28
  204. package/dist/utils/stylesheet/StyleSheet.svelte +30 -30
  205. package/dist/utils/stylesheet/containerConfig.scss +7 -7
  206. package/dist/utils/stylesheet/stylesheet.scss +147 -147
  207. package/dist/utils/uses/sx4u/sx4uPreprocess.js +34 -34
  208. package/package.json +4 -4
@@ -1,136 +1,136 @@
1
- <script lang="ts" generics="T= Data">
2
- import { getContext } from 'svelte';
3
-
4
- import Divider from '../../base/divider/Divider.svelte';
5
- import Icon from '../../base/icon/Icon.svelte';
6
- import type { MenuListItemProps, MenuListProps } from './types.js';
7
- import type { Data, IconObj } from '../../types/index.js';
8
- import Slotted from '../../utils/slotted/Slotted.svelte';
9
-
10
- let menuStateContext = getContext<MenuListProps>('menuStateContext');
11
-
12
- let {
13
- class: className = '',
14
- text,
15
- action = undefined,
16
- iconFirst = {} as IconObj,
17
- iconLast = {} as IconObj,
18
- icon,
19
- iconColor = undefined,
20
- iconSize = 'small',
21
- divider = false,
22
- dividerBefore = false,
23
- presentationField,
24
- href,
25
- selectable = true,
26
- data = $bindable(),
27
- selected = $bindable(),
28
- element = $bindable(),
29
- onMenuItemClick,
30
- onclick,
31
- itemIndex = undefined,
32
- tall = menuStateContext?.tall,
33
- width = menuStateContext?.width,
34
- children,
35
- menuItemFirst,
36
- menuItemLast,
37
- wrap,
38
- role = 'menuitem',
39
- tag = 'li',
40
- ...rest
41
- }: MenuListItemProps = $props();
42
-
43
- $effect(() => {
44
- if (icon ?? iconFirst?.icon ?? menuItemFirst) {
45
- menuStateContext.hasIcon = true;
46
- }
47
- });
48
-
49
- $effect(() => {
50
- if (selected) {
51
- menuStateContext.selectedIndex = itemIndex;
52
- }
53
- element?.addEventListener('click', handleClick);
54
- });
55
-
56
- $effect(() => {
57
- if (itemIndex === undefined && element?.parentElement) {
58
- itemIndex = [
59
- ...element?.parentElement?.querySelectorAll('.menulist-item:not(.menulist-title)')
60
- ].indexOf(element);
61
- }
62
- });
63
-
64
- const handleClick = (event: Event) => {
65
- event.stopPropagation();
66
- event.stopImmediatePropagation;
67
-
68
- const cevent = new CustomEvent('menu:item:clicked', { detail: data, bubbles: true });
69
- if (element) element.dispatchEvent(cevent);
70
- // set selectedIndex if we have index
71
- // set selected style
72
- if (selectable) setSelected();
73
- if (onMenuItemClick) onMenuItemClick(data);
74
-
75
- if (onclick) {
76
- onclick(data, itemIndex);
77
- } else if (menuStateContext?.onclick) {
78
- menuStateContext?.onclick(data, itemIndex);
79
- }
80
- };
81
-
82
- const setSelected = () => {
83
- menuStateContext.selectedIndex = itemIndex;
84
- menuStateContext.selectedData = data;
85
- };
86
- </script>
87
-
88
- {#if dividerBefore}
89
- <li role="separator">
90
- <Divider tall="small" expansion="centered" />
91
- </li>
92
- {/if}
93
-
94
- <!-- svelte-ignore a11y_no_noninteractive_tabindex -->
95
- <svelte:element
96
- this={href ? 'a' : tag}
97
- class="menulist-item {className}"
98
- aria-selected={selectable ? menuStateContext?.selectedIndex === itemIndex : false}
99
- bind:this={element}
100
- tabindex="-1"
101
- {...rest}
102
- {role}
103
- tall={menuStateContext?.tall ?? tall}
104
- width={menuStateContext?.width ?? width}
105
- {href}
106
- >{menuStateContext.hasIcon}
107
- {#if icon && iconFirst && menuStateContext?.hasIcon}
108
- <div class="menulist-item-icon">
109
- <Slotted child={menuItemFirst}>
110
- <Icon {icon} ico={iconFirst} color={iconColor} {iconSize} />
111
- </Slotted>
112
- </div>
113
- {/if}
114
- <div class="menulist-item-text" class:wrap>
115
- <Slotted child={children} slotArgs={data}>
116
- {data?.[presentationField] ?? text}
117
- </Slotted>
118
- </div>
119
- {#if menuItemLast || action || iconLast}
120
- <div class="menulist-item-action">
121
- <Slotted child={menuItemLast}>
122
- <Icon ico={iconLast} />
123
- {action}
124
- </Slotted>
125
- </div>
126
- {/if}
127
- </svelte:element>
128
- {#if divider}
129
- <li role="separator">
130
- <Divider expansion="padded" />
131
- </li>
132
- {/if}
133
-
1
+ <script lang="ts" generics="T= Data">
2
+ import { getContext } from 'svelte';
3
+
4
+ import Divider from '../../base/divider/Divider.svelte';
5
+ import Icon from '../../base/icon/Icon.svelte';
6
+ import type { MenuListItemProps, MenuListProps } from './types.js';
7
+ import type { Data, IconObj } from '../../types/index.js';
8
+ import Slotted from '../../utils/slotted/Slotted.svelte';
9
+
10
+ let menuStateContext = getContext<MenuListProps>('menuStateContext');
11
+
12
+ let {
13
+ class: className = '',
14
+ text,
15
+ action = undefined,
16
+ iconFirst = {} as IconObj,
17
+ iconLast = {} as IconObj,
18
+ icon,
19
+ iconColor = undefined,
20
+ iconSize = 'small',
21
+ divider = false,
22
+ dividerBefore = false,
23
+ presentationField,
24
+ href,
25
+ selectable = true,
26
+ data = $bindable(),
27
+ selected = $bindable(),
28
+ element = $bindable(),
29
+ onMenuItemClick,
30
+ onclick,
31
+ itemIndex = undefined,
32
+ tall = menuStateContext?.tall,
33
+ width = menuStateContext?.width,
34
+ children,
35
+ menuItemFirst,
36
+ menuItemLast,
37
+ wrap,
38
+ role = 'menuitem',
39
+ tag = 'li',
40
+ ...rest
41
+ }: MenuListItemProps = $props();
42
+
43
+ $effect(() => {
44
+ if (icon ?? iconFirst?.icon ?? menuItemFirst) {
45
+ menuStateContext.hasIcon = true;
46
+ }
47
+ });
48
+
49
+ $effect(() => {
50
+ if (selected) {
51
+ menuStateContext.selectedIndex = itemIndex;
52
+ }
53
+ element?.addEventListener('click', handleClick);
54
+ });
55
+
56
+ $effect(() => {
57
+ if (itemIndex === undefined && element?.parentElement) {
58
+ itemIndex = [
59
+ ...element?.parentElement?.querySelectorAll('.menulist-item:not(.menulist-title)')
60
+ ].indexOf(element);
61
+ }
62
+ });
63
+
64
+ const handleClick = (event: Event) => {
65
+ event.stopPropagation();
66
+ event.stopImmediatePropagation;
67
+
68
+ const cevent = new CustomEvent('menu:item:clicked', { detail: data, bubbles: true });
69
+ if (element) element.dispatchEvent(cevent);
70
+ // set selectedIndex if we have index
71
+ // set selected style
72
+ if (selectable) setSelected();
73
+ if (onMenuItemClick) onMenuItemClick(data);
74
+
75
+ if (onclick) {
76
+ onclick(data, itemIndex);
77
+ } else if (menuStateContext?.onclick) {
78
+ menuStateContext?.onclick(data, itemIndex);
79
+ }
80
+ };
81
+
82
+ const setSelected = () => {
83
+ menuStateContext.selectedIndex = itemIndex;
84
+ menuStateContext.selectedData = data;
85
+ };
86
+ </script>
87
+
88
+ {#if dividerBefore}
89
+ <li role="separator">
90
+ <Divider tall="small" expansion="centered" />
91
+ </li>
92
+ {/if}
93
+
94
+ <!-- svelte-ignore a11y_no_noninteractive_tabindex -->
95
+ <svelte:element
96
+ this={href ? 'a' : tag}
97
+ class="menulist-item {className}"
98
+ aria-selected={selectable ? menuStateContext?.selectedIndex === itemIndex : false}
99
+ bind:this={element}
100
+ tabindex="-1"
101
+ {...rest}
102
+ {role}
103
+ tall={menuStateContext?.tall ?? tall}
104
+ width={menuStateContext?.width ?? width}
105
+ {href}
106
+ >{menuStateContext.hasIcon}
107
+ {#if icon && iconFirst && menuStateContext?.hasIcon}
108
+ <div class="menulist-item-icon">
109
+ <Slotted child={menuItemFirst}>
110
+ <Icon {icon} ico={iconFirst} color={iconColor} {iconSize} />
111
+ </Slotted>
112
+ </div>
113
+ {/if}
114
+ <div class="menulist-item-text" class:wrap>
115
+ <Slotted child={children} slotArgs={data}>
116
+ {data?.[presentationField] ?? text}
117
+ </Slotted>
118
+ </div>
119
+ {#if menuItemLast || action || iconLast}
120
+ <div class="menulist-item-action">
121
+ <Slotted child={menuItemLast}>
122
+ <Icon ico={iconLast} />
123
+ {action}
124
+ </Slotted>
125
+ </div>
126
+ {/if}
127
+ </svelte:element>
128
+ {#if divider}
129
+ <li role="separator">
130
+ <Divider expansion="padded" />
131
+ </li>
132
+ {/if}
133
+
134
134
  <style global>:root {
135
135
  --menulist-padding: var(--sld-pad-tiny);
136
136
  --menulist-item-padding: 0;
@@ -347,4 +347,4 @@
347
347
  }
348
348
  :global(ul.menuList.showLastOnSelected) :global(a.menulist-item .menulist-item-action) {
349
349
  visibility: hidden;
350
- }</style>
350
+ }</style>
@@ -1,12 +1,12 @@
1
- <script lang="ts">
2
- import MenuListItem from './MenuListItem.svelte';
3
- import type { MenuListItemProps } from './types.js';
4
-
5
- let { class: className, ...rest }: MenuListItemProps = $props();
6
- </script>
7
-
8
- <MenuListItem {...rest} selectable={false} class="slotui-menulist-title {className}" />
9
-
1
+ <script lang="ts">
2
+ import MenuListItem from './MenuListItem.svelte';
3
+ import type { MenuListItemProps } from './types.js';
4
+
5
+ let { class: className, ...rest }: MenuListItemProps = $props();
6
+ </script>
7
+
8
+ <MenuListItem {...rest} selectable={false} class="slotui-menulist-title {className}" />
9
+
10
10
  <style>:root {
11
11
  --menulist-padding: var(--sld-pad-tiny);
12
12
  --menulist-item-padding: 0;
@@ -223,4 +223,4 @@
223
223
  }
224
224
  :global(ul.menuList.showLastOnSelected) :global(a.menulist-item .menulist-item-action) {
225
225
  visibility: hidden;
226
- }</style>
226
+ }</style>
@@ -1,120 +1,120 @@
1
- @use "../../styles/slotui-mixins.scss";
2
-
3
- :root {
4
- --menulist-padding: var(--sld-pad-tiny);
5
- --menulist-item-padding: 0;
6
- --menulist-item-radius: var(--sld-radius-small);
7
- --menulist-item-selected-background: var(--sld-selected-background-color);
8
- --menulist-item-action-display: flex;
9
- --menulist-item-action-justify-content: center;
10
- --menulist-grid-items-count: 0;
11
- }
12
-
13
- :global(.slotui-menulist) {
14
- & {
15
- margin: 0;
16
- cursor: pointer;
17
-
18
- display: flex;
19
- flex-direction: column;
20
- align-items: end;
21
- padding: var(--menulist-padding);
22
- }
23
-
24
- &.grid {
25
- display: grid;
26
- grid-template-columns: repeat(
27
- auto-fit,
28
- minmax(max(var(--grid-item-min-width), 100% / var(--grid-items-count)), 1fr)
29
- );
30
- }
31
-
32
- li,
33
- a {
34
- &.menulist-title {
35
- font-weight: bold;
36
- }
37
- }
38
- }
39
-
40
- :global(.menulist-item) {
41
- @include slotui-mixins.ui-variants;
42
- @include slotui-mixins.ui-width-presets;
43
- @include slotui-mixins.ui-tall-presets;
44
- @include slotui-mixins.ui-gutter-presets;
45
- @include slotui-mixins.data-hover;
46
- @include slotui-mixins.data-selected;
47
-
48
- & {
49
- text-decoration: none;
50
- overflow: hidden;
51
-
52
- display: flex;
53
- align-items: center;
54
- position: relative;
55
- width: 100%;
56
- max-width: 100%;
57
-
58
- border: 1px solid transparent;
59
- border-radius: var(--menulist-item-radius);
60
- align-self: flex-start;
61
- }
62
- //
63
-
64
- &::before {
65
- position: absolute;
66
- min-height: 16px;
67
- height: 45%;
68
- width: 2px;
69
- overflow: hidden;
70
- max-width: 3px;
71
- background-color: transparent;
72
- border-radius: var(--sld-radius-med);
73
- left: 0px;
74
- border: 1px solid transparent;
75
- content: " ";
76
- }
77
-
78
- .menulist-item-icon {
79
- width: 16px;
80
- max-width: 16px;
81
- text-align: center;
82
- overflow: hidden;
83
- text-align: center;
84
- display: flex;
85
- justify-content: center;
86
- padding: 0 0.2rem;
87
- }
88
-
89
- .menulist-item-text {
90
- flex: 1;
91
- &.wrap {
92
- text-wrap: ellipsis;
93
- white-space: normal;
94
- overflow: hidden;
95
- }
96
- svg {
97
- display: inline-block;
98
- }
99
- }
100
-
101
- .menulist-item-action {
102
- display: var(--menulist-item-action-display);
103
- justify-content: var(--menulist-item-action-justify-content);
104
- }
105
- }
106
-
107
- :global(ul.menuList.showLastOnSelected) {
108
- :global(li.menulist-item[aria-selected="true"] .menulist-item-action) {
109
- visibility: visible;
110
- }
111
- :global(a.menulist-item[aria-selected="true"] .menulist-item-action) {
112
- visibility: visible;
113
- }
114
- :global(li.menulist-item .menulist-item-action) {
115
- visibility: hidden;
116
- }
117
- :global(a.menulist-item .menulist-item-action) {
118
- visibility: hidden;
119
- }
120
- }
1
+ @use "../../styles/slotui-mixins.scss";
2
+
3
+ :root {
4
+ --menulist-padding: var(--sld-pad-tiny);
5
+ --menulist-item-padding: 0;
6
+ --menulist-item-radius: var(--sld-radius-small);
7
+ --menulist-item-selected-background: var(--sld-selected-background-color);
8
+ --menulist-item-action-display: flex;
9
+ --menulist-item-action-justify-content: center;
10
+ --menulist-grid-items-count: 0;
11
+ }
12
+
13
+ :global(.slotui-menulist) {
14
+ & {
15
+ margin: 0;
16
+ cursor: pointer;
17
+
18
+ display: flex;
19
+ flex-direction: column;
20
+ align-items: end;
21
+ padding: var(--menulist-padding);
22
+ }
23
+
24
+ &.grid {
25
+ display: grid;
26
+ grid-template-columns: repeat(
27
+ auto-fit,
28
+ minmax(max(var(--grid-item-min-width), 100% / var(--grid-items-count)), 1fr)
29
+ );
30
+ }
31
+
32
+ li,
33
+ a {
34
+ &.menulist-title {
35
+ font-weight: bold;
36
+ }
37
+ }
38
+ }
39
+
40
+ :global(.menulist-item) {
41
+ @include slotui-mixins.ui-variants;
42
+ @include slotui-mixins.ui-width-presets;
43
+ @include slotui-mixins.ui-tall-presets;
44
+ @include slotui-mixins.ui-gutter-presets;
45
+ @include slotui-mixins.data-hover;
46
+ @include slotui-mixins.data-selected;
47
+
48
+ & {
49
+ text-decoration: none;
50
+ overflow: hidden;
51
+
52
+ display: flex;
53
+ align-items: center;
54
+ position: relative;
55
+ width: 100%;
56
+ max-width: 100%;
57
+
58
+ border: 1px solid transparent;
59
+ border-radius: var(--menulist-item-radius);
60
+ align-self: flex-start;
61
+ }
62
+ //
63
+
64
+ &::before {
65
+ position: absolute;
66
+ min-height: 16px;
67
+ height: 45%;
68
+ width: 2px;
69
+ overflow: hidden;
70
+ max-width: 3px;
71
+ background-color: transparent;
72
+ border-radius: var(--sld-radius-med);
73
+ left: 0px;
74
+ border: 1px solid transparent;
75
+ content: " ";
76
+ }
77
+
78
+ .menulist-item-icon {
79
+ width: 16px;
80
+ max-width: 16px;
81
+ text-align: center;
82
+ overflow: hidden;
83
+ text-align: center;
84
+ display: flex;
85
+ justify-content: center;
86
+ padding: 0 0.2rem;
87
+ }
88
+
89
+ .menulist-item-text {
90
+ flex: 1;
91
+ &.wrap {
92
+ text-wrap: ellipsis;
93
+ white-space: normal;
94
+ overflow: hidden;
95
+ }
96
+ svg {
97
+ display: inline-block;
98
+ }
99
+ }
100
+
101
+ .menulist-item-action {
102
+ display: var(--menulist-item-action-display);
103
+ justify-content: var(--menulist-item-action-justify-content);
104
+ }
105
+ }
106
+
107
+ :global(ul.menuList.showLastOnSelected) {
108
+ :global(li.menulist-item[aria-selected="true"] .menulist-item-action) {
109
+ visibility: visible;
110
+ }
111
+ :global(a.menulist-item[aria-selected="true"] .menulist-item-action) {
112
+ visibility: visible;
113
+ }
114
+ :global(li.menulist-item .menulist-item-action) {
115
+ visibility: hidden;
116
+ }
117
+ :global(a.menulist-item .menulist-item-action) {
118
+ visibility: hidden;
119
+ }
120
+ }