@likable-hair/svelte 3.3.14 → 4.0.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 (219) hide show
  1. package/dist/components/composed/buttons/ActivableButton.svelte +13 -8
  2. package/dist/components/composed/buttons/ActivableButton.svelte.d.ts +11 -33
  3. package/dist/components/composed/common/MenuOrDrawer.svelte +37 -35
  4. package/dist/components/composed/common/MenuOrDrawer.svelte.d.ts +25 -37
  5. package/dist/components/composed/common/MenuOrDrawerOptions.svelte +34 -25
  6. package/dist/components/composed/common/MenuOrDrawerOptions.svelte.d.ts +18 -31
  7. package/dist/components/composed/common/QuickActions.svelte +95 -89
  8. package/dist/components/composed/common/QuickActions.svelte.d.ts +16 -27
  9. package/dist/components/composed/common/ToolTip.svelte +33 -29
  10. package/dist/components/composed/common/ToolTip.svelte.d.ts +11 -44
  11. package/dist/components/composed/forms/AsyncAutocomplete.svelte +40 -41
  12. package/dist/components/composed/forms/AsyncAutocomplete.svelte.d.ts +26 -39
  13. package/dist/components/composed/forms/AvatarDropdown.svelte +101 -61
  14. package/dist/components/composed/forms/AvatarDropdown.svelte.d.ts +54 -38
  15. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte +27 -21
  16. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte.d.ts +30 -37
  17. package/dist/components/composed/forms/CountriesAutocomplete.svelte +12 -21
  18. package/dist/components/composed/forms/CountriesAutocomplete.svelte.d.ts +16 -59
  19. package/dist/components/composed/forms/DatePickerTextField.svelte +206 -208
  20. package/dist/components/composed/forms/DatePickerTextField.svelte.d.ts +75 -63
  21. package/dist/components/composed/forms/Dropdown.svelte +48 -51
  22. package/dist/components/composed/forms/Dropdown.svelte.d.ts +51 -42
  23. package/dist/components/composed/forms/IconsDropdown.svelte +60 -53
  24. package/dist/components/composed/forms/IconsDropdown.svelte.d.ts +33 -28
  25. package/dist/components/composed/forms/LabelAndSelect.svelte +6 -7
  26. package/dist/components/composed/forms/LabelAndSelect.svelte.d.ts +22 -31
  27. package/dist/components/composed/forms/LabelAndTextField.svelte +8 -16
  28. package/dist/components/composed/forms/LabelAndTextField.svelte.d.ts +32 -42
  29. package/dist/components/composed/forms/ToggleList.svelte +37 -30
  30. package/dist/components/composed/forms/ToggleList.svelte.d.ts +29 -19
  31. package/dist/components/composed/forms/YearPickerTextField.svelte +163 -160
  32. package/dist/components/composed/forms/YearPickerTextField.svelte.d.ts +49 -49
  33. package/dist/components/composed/list/DynamicTable.svelte +1152 -1068
  34. package/dist/components/composed/list/DynamicTable.svelte.d.ts +336 -231
  35. package/dist/components/composed/list/PaginatedTable.svelte +130 -148
  36. package/dist/components/composed/list/PaginatedTable.svelte.d.ts +75 -100
  37. package/dist/components/composed/progress/HorizontalStackedProgress.svelte +26 -24
  38. package/dist/components/composed/progress/HorizontalStackedProgress.svelte.d.ts +12 -22
  39. package/dist/components/composed/search/DynamicFilters.svelte +55 -49
  40. package/dist/components/composed/search/DynamicFilters.svelte.d.ts +14 -25
  41. package/dist/components/composed/search/FilterEditor.svelte +124 -105
  42. package/dist/components/composed/search/FilterEditor.svelte.d.ts +27 -34
  43. package/dist/components/composed/search/Filters.svelte +671 -664
  44. package/dist/components/composed/search/Filters.svelte.d.ts +43 -52
  45. package/dist/components/composed/search/GlobalSearchTextField.svelte +77 -70
  46. package/dist/components/composed/search/GlobalSearchTextField.svelte.d.ts +50 -35
  47. package/dist/components/composed/search/MobileFilterEditor.svelte +133 -102
  48. package/dist/components/composed/search/MobileFilterEditor.svelte.d.ts +27 -38
  49. package/dist/components/composed/search/SearchBar.svelte +21 -17
  50. package/dist/components/composed/search/SearchBar.svelte.d.ts +20 -30
  51. package/dist/components/composed/search/SearchResults.svelte +27 -22
  52. package/dist/components/composed/search/SearchResults.svelte.d.ts +42 -36
  53. package/dist/components/layouts/CollapsibleSideBarLayout.svelte +81 -70
  54. package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +31 -34
  55. package/dist/components/layouts/StableDividedSideBarLayout.svelte +79 -57
  56. package/dist/components/layouts/StableDividedSideBarLayout.svelte.d.ts +25 -30
  57. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte +179 -124
  58. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte.d.ts +56 -50
  59. package/dist/components/simple/buttons/Button.svelte +38 -31
  60. package/dist/components/simple/buttons/Button.svelte.d.ts +28 -33
  61. package/dist/components/simple/buttons/LinkButton.svelte +33 -24
  62. package/dist/components/simple/buttons/LinkButton.svelte.d.ts +28 -31
  63. package/dist/components/simple/charts/Bar.svelte +41 -0
  64. package/dist/components/simple/charts/Bar.svelte.d.ts +12 -0
  65. package/dist/components/simple/charts/BarChart.svelte +112 -0
  66. package/dist/components/simple/charts/BarChart.svelte.d.ts +41 -0
  67. package/dist/components/simple/charts/Line.svelte +38 -0
  68. package/dist/components/simple/charts/Line.svelte.d.ts +12 -0
  69. package/dist/components/simple/charts/LineChart.svelte +96 -0
  70. package/dist/components/simple/charts/LineChart.svelte.d.ts +39 -0
  71. package/dist/components/simple/charts/Pie.svelte +25 -0
  72. package/dist/components/simple/charts/Pie.svelte.d.ts +12 -0
  73. package/dist/components/simple/charts/PieChart.svelte +28 -0
  74. package/dist/components/simple/charts/PieChart.svelte.d.ts +25 -0
  75. package/dist/components/simple/common/CollapsibleDivider.svelte +37 -15
  76. package/dist/components/simple/common/CollapsibleDivider.svelte.d.ts +15 -25
  77. package/dist/components/simple/common/Divider.css +8 -2
  78. package/dist/components/simple/common/Divider.svelte +9 -10
  79. package/dist/components/simple/common/Divider.svelte.d.ts +16 -19
  80. package/dist/components/simple/common/InfiniteScroll.svelte +33 -27
  81. package/dist/components/simple/common/InfiniteScroll.svelte.d.ts +10 -21
  82. package/dist/components/simple/common/MediaQuery.svelte +29 -38
  83. package/dist/components/simple/common/MediaQuery.svelte.d.ts +10 -17
  84. package/dist/components/simple/common/Menu.svelte +259 -245
  85. package/dist/components/simple/common/Menu.svelte.d.ts +30 -41
  86. package/dist/components/simple/common/NoData.svelte +8 -0
  87. package/dist/components/simple/common/NoData.svelte.d.ts +9 -0
  88. package/dist/components/simple/common/VerticalDraggableList.svelte +30 -17
  89. package/dist/components/simple/common/VerticalDraggableList.svelte.d.ts +17 -27
  90. package/dist/components/simple/dashboards/DashboardGridShaper.svelte +20 -20
  91. package/dist/components/simple/dashboards/DashboardGridShaper.svelte.d.ts +16 -12
  92. package/dist/components/simple/dates/Calendar.svelte +28 -34
  93. package/dist/components/simple/dates/Calendar.svelte.d.ts +32 -37
  94. package/dist/components/simple/dates/DatePicker.svelte +74 -63
  95. package/dist/components/simple/dates/DatePicker.svelte.d.ts +29 -38
  96. package/dist/components/simple/dates/MonthSelector.svelte +22 -25
  97. package/dist/components/simple/dates/MonthSelector.svelte.d.ts +22 -27
  98. package/dist/components/simple/dates/YearSelector.svelte +36 -28
  99. package/dist/components/simple/dates/YearSelector.svelte.d.ts +25 -28
  100. package/dist/components/simple/dialogs/Dialog.svelte +90 -73
  101. package/dist/components/simple/dialogs/Dialog.svelte.d.ts +16 -29
  102. package/dist/components/simple/forms/Autocomplete.svelte +223 -182
  103. package/dist/components/simple/forms/Autocomplete.svelte.d.ts +79 -70
  104. package/dist/components/simple/forms/Checkbox.svelte +27 -23
  105. package/dist/components/simple/forms/Checkbox.svelte.d.ts +11 -20
  106. package/dist/components/simple/forms/FileInput.css +1 -0
  107. package/dist/components/simple/forms/FileInput.svelte +82 -57
  108. package/dist/components/simple/forms/FileInput.svelte.d.ts +24 -29
  109. package/dist/components/simple/forms/FileInputList.svelte +108 -77
  110. package/dist/components/simple/forms/FileInputList.svelte.d.ts +35 -38
  111. package/dist/components/simple/forms/RadioButton.svelte +10 -9
  112. package/dist/components/simple/forms/RadioButton.svelte.d.ts +17 -28
  113. package/dist/components/simple/forms/Select.svelte +6 -6
  114. package/dist/components/simple/forms/Select.svelte.d.ts +11 -21
  115. package/dist/components/simple/forms/SimpleTextField.svelte +65 -62
  116. package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +49 -55
  117. package/dist/components/simple/forms/Switch.css +15 -12
  118. package/dist/components/simple/forms/Switch.svelte +76 -81
  119. package/dist/components/simple/forms/Switch.svelte.d.ts +13 -21
  120. package/dist/components/simple/forms/Textarea.svelte +3 -3
  121. package/dist/components/simple/forms/Textarea.svelte.d.ts +28 -38
  122. package/dist/components/simple/forms/VerticalSwitch.css +14 -0
  123. package/dist/components/simple/forms/VerticalSwitch.svelte +91 -35
  124. package/dist/components/simple/forms/VerticalSwitch.svelte.d.ts +11 -29
  125. package/dist/components/simple/forms/VerticalTextSwitch.svelte +11 -8
  126. package/dist/components/simple/forms/VerticalTextSwitch.svelte.d.ts +17 -27
  127. package/dist/components/simple/lists/BoxList.svelte +82 -0
  128. package/dist/components/simple/lists/BoxList.svelte.d.ts +28 -0
  129. package/dist/components/simple/lists/ColorInvertedSelector.svelte +57 -52
  130. package/dist/components/simple/lists/ColorInvertedSelector.svelte.d.ts +33 -34
  131. package/dist/components/simple/lists/HierarchyMenu.svelte +48 -31
  132. package/dist/components/simple/lists/HierarchyMenu.svelte.d.ts +21 -30
  133. package/dist/components/simple/lists/Paginator.svelte +37 -34
  134. package/dist/components/simple/lists/Paginator.svelte.d.ts +10 -19
  135. package/dist/components/simple/lists/SelectableMenuList.svelte +37 -29
  136. package/dist/components/simple/lists/SelectableMenuList.svelte.d.ts +11 -20
  137. package/dist/components/simple/lists/SelectableVerticalList.svelte +125 -77
  138. package/dist/components/simple/lists/SelectableVerticalList.svelte.d.ts +54 -45
  139. package/dist/components/simple/lists/SidebarMenuList.svelte +81 -75
  140. package/dist/components/simple/lists/SidebarMenuList.svelte.d.ts +13 -23
  141. package/dist/components/simple/lists/SimpleTable.svelte +213 -171
  142. package/dist/components/simple/lists/SimpleTable.svelte.d.ts +80 -65
  143. package/dist/components/simple/loaders/CircularLoader.svelte +3 -5
  144. package/dist/components/simple/loaders/CircularLoader.svelte.d.ts +6 -16
  145. package/dist/components/simple/loaders/Skeleton.svelte +2 -2
  146. package/dist/components/simple/loaders/Skeleton.svelte.d.ts +16 -12
  147. package/dist/components/simple/media/Avatar.svelte +20 -18
  148. package/dist/components/simple/media/Avatar.svelte.d.ts +11 -21
  149. package/dist/components/simple/media/DescriptiveAvatar.svelte +20 -83
  150. package/dist/components/simple/media/DescriptiveAvatar.svelte.d.ts +15 -30
  151. package/dist/components/simple/media/FlagIcon.svelte +3 -5
  152. package/dist/components/simple/media/FlagIcon.svelte.d.ts +6 -16
  153. package/dist/components/simple/media/Icon.svelte +23 -20
  154. package/dist/components/simple/media/Icon.svelte.d.ts +10 -21
  155. package/dist/components/simple/navigation/Breadcrumb.svelte +22 -14
  156. package/dist/components/simple/navigation/Breadcrumb.svelte.d.ts +16 -22
  157. package/dist/components/simple/navigation/Chip.svelte +30 -23
  158. package/dist/components/simple/navigation/Chip.svelte.d.ts +23 -30
  159. package/dist/components/simple/navigation/Drawer.svelte +77 -65
  160. package/dist/components/simple/navigation/Drawer.svelte.d.ts +25 -39
  161. package/dist/components/simple/navigation/HeaderMenu.svelte +36 -41
  162. package/dist/components/simple/navigation/HeaderMenu.svelte.d.ts +25 -33
  163. package/dist/components/simple/navigation/Navigator.svelte +13 -8
  164. package/dist/components/simple/navigation/Navigator.svelte.d.ts +15 -24
  165. package/dist/components/simple/navigation/TabSwitcher.svelte +51 -45
  166. package/dist/components/simple/navigation/TabSwitcher.svelte.d.ts +23 -30
  167. package/dist/components/simple/notifiers/AlertBanner.svelte +29 -24
  168. package/dist/components/simple/notifiers/AlertBanner.svelte.d.ts +40 -35
  169. package/dist/components/simple/progress/ProgressBar.svelte +15 -15
  170. package/dist/components/simple/progress/ProgressBar.svelte.d.ts +8 -18
  171. package/dist/components/simple/timeline/SimpleTimeLine.svelte +23 -26
  172. package/dist/components/simple/timeline/SimpleTimeLine.svelte.d.ts +42 -38
  173. package/dist/components/simple/typography/Code.svelte +9 -9
  174. package/dist/components/simple/typography/Code.svelte.d.ts +15 -25
  175. package/dist/index.d.ts +10 -16
  176. package/dist/index.js +10 -16
  177. package/dist/stores/debounce.d.ts +0 -1
  178. package/dist/stores/layouts/unstableSidebarOpened.d.ts +0 -1
  179. package/dist/stores/mediaQuery.d.ts +0 -1
  180. package/dist/stores/theme.d.ts +0 -1
  181. package/package.json +19 -15
  182. package/dist/components/composed/shop/ProductCard.svelte +0 -98
  183. package/dist/components/composed/shop/ProductCard.svelte.d.ts +0 -30
  184. package/dist/components/composed/shop/ProductsGrid.svelte +0 -53
  185. package/dist/components/composed/shop/ProductsGrid.svelte.d.ts +0 -44
  186. package/dist/components/simple/charts/GanymedeBarChart.svelte +0 -157
  187. package/dist/components/simple/charts/GanymedeBarChart.svelte.d.ts +0 -48
  188. package/dist/components/simple/charts/GanymedeLineChart.svelte +0 -139
  189. package/dist/components/simple/charts/GanymedeLineChart.svelte.d.ts +0 -49
  190. package/dist/components/simple/charts/GanymedePieChart.svelte +0 -44
  191. package/dist/components/simple/charts/GanymedePieChart.svelte.d.ts +0 -35
  192. package/dist/components/simple/common/Card.svelte +0 -37
  193. package/dist/components/simple/common/Card.svelte.d.ts +0 -40
  194. package/dist/components/simple/common/Gesture.svelte +0 -57
  195. package/dist/components/simple/common/Gesture.svelte.d.ts +0 -19
  196. package/dist/components/simple/common/IntersectionObserver.svelte +0 -47
  197. package/dist/components/simple/common/IntersectionObserver.svelte.d.ts +0 -24
  198. package/dist/components/simple/common/Playground.svelte +0 -52
  199. package/dist/components/simple/common/Playground.svelte.d.ts +0 -17
  200. package/dist/components/simple/dates/TimePicker.svelte +0 -168
  201. package/dist/components/simple/dates/TimePicker.svelte.d.ts +0 -24
  202. package/dist/components/simple/dates/TimePickerTextField.svelte +0 -78
  203. package/dist/components/simple/dates/TimePickerTextField.svelte.d.ts +0 -26
  204. package/dist/components/simple/forms/Textfield.svelte +0 -325
  205. package/dist/components/simple/forms/Textfield.svelte.d.ts +0 -54
  206. package/dist/components/simple/forms/TreeEditor.svelte +0 -181
  207. package/dist/components/simple/forms/TreeEditor.svelte.d.ts +0 -59
  208. package/dist/components/simple/forms/TreeEditorItem.svelte +0 -210
  209. package/dist/components/simple/forms/TreeEditorItem.svelte.d.ts +0 -55
  210. package/dist/components/simple/media/AttachmentDownloader.svelte +0 -47
  211. package/dist/components/simple/media/AttachmentDownloader.svelte.d.ts +0 -30
  212. package/dist/components/simple/media/Carousel.svelte +0 -60
  213. package/dist/components/simple/media/Carousel.svelte.d.ts +0 -26
  214. package/dist/components/simple/media/Gallery.svelte +0 -104
  215. package/dist/components/simple/media/Gallery.svelte.d.ts +0 -26
  216. package/dist/components/simple/media/Image.svelte +0 -150
  217. package/dist/components/simple/media/Image.svelte.d.ts +0 -35
  218. package/dist/components/simple/media/ImageGrid.svelte +0 -55
  219. package/dist/components/simple/media/ImageGrid.svelte.d.ts +0 -35
@@ -1,10 +1,15 @@
1
- <script>import Button from "../../simple/buttons/Button.svelte";
2
- export let active = false, buttonProps = {};
1
+ <script lang="ts">import Button from "../../simple/buttons/Button.svelte";
2
+ let { active = $bindable(false), buttonProps = {}, onclick, children, appendSnippet: appendInternalSnippet, } = $props();
3
+ function handleOnClick(e) {
4
+ active = !active;
5
+ if (onclick) {
6
+ onclick(e);
7
+ }
8
+ }
3
9
  </script>
4
10
 
5
11
  <Button
6
- on:click={() => active = !active}
7
- on:click
12
+ onclick={handleOnClick}
8
13
  {...buttonProps}
9
14
  buttonType="text"
10
15
  --button-default-text-background-color={active ?
@@ -42,8 +47,8 @@ export let active = false, buttonProps = {};
42
47
  --button-default-disabled-background-color="none"
43
48
  --button-default-disabled-color="rgb(var(--global-color-contrast-900), .5)"
44
49
  >
45
- <slot />
46
- <svelte:fragment slot="append">
47
- <slot name="append" />
48
- </svelte:fragment>
50
+ {@render children?.()}
51
+ {#snippet appendSnippet()}
52
+ {@render appendInternalSnippet?.()}
53
+ {/snippet}
49
54
  </Button>
@@ -1,34 +1,12 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- active?: boolean | undefined;
5
- buttonProps?: {
6
- [x: string]: any;
7
- class?: string | undefined;
8
- buttonType?: "default" | "text" | "icon" | undefined;
9
- type?: "submit" | "button" | undefined;
10
- loading?: boolean | undefined;
11
- icon?: string | undefined;
12
- tabindex?: number | null | undefined;
13
- disabled?: boolean | undefined;
14
- buttonElement?: HTMLElement | undefined;
15
- } | undefined;
16
- };
17
- events: {
18
- click: CustomEvent<{
19
- nativeEvent: MouseEvent;
20
- }>;
21
- } & {
22
- [evt: string]: CustomEvent<any>;
23
- };
24
- slots: {
25
- default: {};
26
- append: {};
27
- };
28
- };
29
- export type ActivableButtonProps = typeof __propDef.props;
30
- export type ActivableButtonEvents = typeof __propDef.events;
31
- export type ActivableButtonSlots = typeof __propDef.slots;
32
- export default class ActivableButton extends SvelteComponent<ActivableButtonProps, ActivableButtonEvents, ActivableButtonSlots> {
1
+ import Button from "../../simple/buttons/Button.svelte";
2
+ import type { ComponentProps, Snippet } from "svelte";
3
+ interface Props {
4
+ active?: boolean;
5
+ buttonProps?: ComponentProps<typeof Button>;
6
+ onclick?: ComponentProps<typeof Button>['onclick'];
7
+ children?: Snippet<[]>;
8
+ appendSnippet?: Snippet<[]>;
33
9
  }
34
- export {};
10
+ declare const ActivableButton: import("svelte").Component<Props, {}, "active">;
11
+ type ActivableButton = ReturnType<typeof ActivableButton>;
12
+ export default ActivableButton;
@@ -1,38 +1,40 @@
1
- <script>import "../../../css/main.css";
2
- import Drawer from "../../simple/navigation/Drawer.svelte";
3
- import Menu from "../../simple/common/Menu.svelte";
4
- import MediaQuery from "../../simple/common/MediaQuery.svelte";
5
- export let open = false, activator, drawerPosition = "bottom", menuAnchor = "bottom-center", stayInViewport = true, flipOnOverflow = false, _boxShadow = "rgb(var(--global-color-grey-900), .5) 0px 2px 4px", _height = "fit-content", _width = void 0, _maxHeight = void 0, _minWidth = "100px", _borderRadius = "5px", openingId = void 0, _drawerOverflow = void 0;
1
+ <script lang="ts">import '../../../css/main.css';
2
+ import Drawer from '../../simple/navigation/Drawer.svelte';
3
+ import Menu from '../../simple/common/Menu.svelte';
4
+ import MediaQuery from '../../simple/common/MediaQuery.svelte';
5
+ let { open = $bindable(false), activator = $bindable(), drawerPosition = $bindable('bottom'), menuAnchor = $bindable('bottom-center'), stayInViewport = $bindable(true), flipOnOverflow = $bindable(false), _boxShadow = "rgb(var(--global-color-grey-900), .5) 0px 2px 4px", _height = "fit-content", _width = undefined, _maxHeight = undefined, _minWidth = "100px", _borderRadius = "5px", openingId = $bindable(undefined), _drawerOverflow = undefined, children, onclose, onitemClick, } = $props();
6
6
  </script>
7
7
 
8
- <MediaQuery let:mAndDown>
9
- {#if mAndDown}
10
- <Drawer
11
- bind:open={open}
12
- bind:position={drawerPosition}
13
- on:close
14
- on:item-click
15
- _overflow={_drawerOverflow}
16
- >
17
- <slot isDrawer={true} isMenu={false}></slot>
18
- </Drawer>
19
- {:else}
20
- <Menu
21
- bind:activator={activator}
22
- bind:open={open}
23
- closeOnClickOutside
24
- _boxShadow={_boxShadow}
25
- _height={_height}
26
- _maxHeight={_maxHeight}
27
- _minWidth={_minWidth}
28
- _borderRadius={_borderRadius}
29
- _width={_width || ""}
30
- anchor={menuAnchor}
31
- bind:stayInViewport={stayInViewport}
32
- bind:flipOnOverflow={flipOnOverflow}
33
- bind:openingId
34
- >
35
- <slot isDrawer={false} isMenu={true}></slot>
36
- </Menu>
37
- {/if}
8
+ <MediaQuery>
9
+ {#snippet defaultSnippet({ mAndDown})}
10
+ {#if mAndDown}
11
+ <Drawer
12
+ bind:open={open}
13
+ bind:position={drawerPosition}
14
+ _overflow={_drawerOverflow}
15
+ {onclose}
16
+ {onitemClick}
17
+ >
18
+ {@render children?.({ isDrawer: true, isMenu: false })}
19
+ </Drawer>
20
+ {:else}
21
+ <Menu
22
+ bind:activator={activator}
23
+ bind:open={open}
24
+ closeOnClickOutside
25
+ _boxShadow={_boxShadow}
26
+ _height={_height}
27
+ _maxHeight={_maxHeight}
28
+ _minWidth={_minWidth}
29
+ _borderRadius={_borderRadius}
30
+ _width={_width || ""}
31
+ anchor={menuAnchor}
32
+ bind:stayInViewport={stayInViewport}
33
+ bind:flipOnOverflow={flipOnOverflow}
34
+ bind:openingId
35
+ >
36
+ {@render children?.({ isDrawer: false, isMenu: true })}
37
+ </Menu>
38
+ {/if}
39
+ {/snippet}
38
40
  </MediaQuery>
@@ -1,43 +1,31 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import '../../../css/main.css';
3
2
  import Drawer from '../../simple/navigation/Drawer.svelte';
4
3
  import Menu from '../../simple/common/Menu.svelte';
5
- import type { ComponentProps } from 'svelte';
6
- declare const __propDef: {
7
- props: {
8
- open?: boolean | undefined;
9
- activator: HTMLElement;
10
- drawerPosition?: ComponentProps<Drawer>['position'];
11
- menuAnchor?: ComponentProps<Menu>['anchor'];
12
- stayInViewport?: ComponentProps<Menu>['stayInViewport'];
13
- flipOnOverflow?: ComponentProps<Menu>['flipOnOverflow'];
14
- _boxShadow?: string | undefined;
15
- _height?: string | undefined;
16
- _width?: string | undefined;
17
- _maxHeight?: string | undefined;
18
- _minWidth?: string | undefined;
19
- _borderRadius?: string | undefined;
20
- openingId?: ComponentProps<Menu>['openingId'];
21
- _drawerOverflow?: string | undefined;
22
- };
23
- events: {
24
- close: CustomEvent<{}>;
25
- 'item-click': CustomEvent<{
26
- item: import("../../simple/navigation/Navigator.svelte").Item;
27
- }>;
28
- } & {
29
- [evt: string]: CustomEvent<any>;
30
- };
31
- slots: {
32
- default: {
4
+ import type { ComponentProps, Snippet } from 'svelte';
5
+ interface Props {
6
+ open?: boolean;
7
+ activator: HTMLElement;
8
+ drawerPosition?: ComponentProps<typeof Drawer>['position'];
9
+ menuAnchor?: ComponentProps<typeof Menu>['anchor'];
10
+ stayInViewport?: ComponentProps<typeof Menu>['stayInViewport'];
11
+ flipOnOverflow?: ComponentProps<typeof Menu>['flipOnOverflow'];
12
+ _boxShadow?: string;
13
+ _height?: string;
14
+ _width?: string;
15
+ _maxHeight?: string;
16
+ _minWidth?: string;
17
+ _borderRadius?: string;
18
+ openingId?: ComponentProps<typeof Menu>['openingId'];
19
+ _drawerOverflow?: string;
20
+ children?: Snippet<[
21
+ {
33
22
  isDrawer: boolean;
34
23
  isMenu: boolean;
35
- };
36
- };
37
- };
38
- export type MenuOrDrawerProps = typeof __propDef.props;
39
- export type MenuOrDrawerEvents = typeof __propDef.events;
40
- export type MenuOrDrawerSlots = typeof __propDef.slots;
41
- export default class MenuOrDrawer extends SvelteComponent<MenuOrDrawerProps, MenuOrDrawerEvents, MenuOrDrawerSlots> {
24
+ }
25
+ ]>;
26
+ onclose?: ComponentProps<typeof Drawer>['onclose'];
27
+ onitemClick?: ComponentProps<typeof Drawer>['onitemClick'];
42
28
  }
43
- export {};
29
+ declare const MenuOrDrawer: import("svelte").Component<Props, {}, "flipOnOverflow" | "open" | "stayInViewport" | "activator" | "openingId" | "drawerPosition" | "menuAnchor">;
30
+ type MenuOrDrawer = ReturnType<typeof MenuOrDrawer>;
31
+ export default MenuOrDrawer;
@@ -1,17 +1,26 @@
1
- <script context="module"></script>
1
+ <script lang="ts" module>export {};
2
+ </script>
2
3
 
3
- <script>import "../../../css/main.css";
4
+ <script lang="ts">import '../../../css/main.css';
4
5
  import MenuOrDrawer from "./MenuOrDrawer.svelte";
5
- import SelectableVerticalList from "../../simple/lists/SelectableVerticalList.svelte";
6
- export let open = false, activator, drawerPosition = "bottom", menuAnchor = "bottom-center", elements = [], stayInViewport = true, flipOnOverflow = false, _boxShadow = "rgb(var(--global-color-grey-900), .5) 0px 2px 4px", _height = "fit-content", _maxHeight = void 0, _minWidth = "100px", _borderRadius = "5px", openingId = void 0;
7
- let selected;
8
- let focused;
9
- $:
10
- if (!!selected)
11
- selected = void 0;
12
- $:
13
- if (!!focused && !open)
14
- focused = void 0;
6
+ import SelectableVerticalList from '../../simple/lists/SelectableVerticalList.svelte';
7
+ let { open = $bindable(false), activator = $bindable(), drawerPosition = 'bottom', menuAnchor = 'bottom-center', elements = [], stayInViewport = true, flipOnOverflow = false, _boxShadow = "rgb(var(--global-color-grey-900), .5) 0px 2px 4px", _height = "fit-content", _maxHeight = undefined, _minWidth = "100px", _borderRadius = "5px", openingId = undefined, onselect, } = $props();
8
+ let selected = $state();
9
+ let focused = $state();
10
+ $effect(() => {
11
+ if (!!selected)
12
+ selected = undefined;
13
+ });
14
+ $effect(() => {
15
+ if (!!focused && !open)
16
+ focused = undefined;
17
+ });
18
+ function handleOnSelect(e) {
19
+ open = false;
20
+ if (onselect) {
21
+ onselect(e);
22
+ }
23
+ }
15
24
  </script>
16
25
 
17
26
  <MenuOrDrawer
@@ -26,22 +35,22 @@ $:
26
35
  {_maxHeight}
27
36
  {_minWidth}
28
37
  {_borderRadius}
29
- let:isDrawer
30
38
  --drawer-default-space={`${Math.min(elements?.length || 0, 5) * 56}px`}
31
39
  bind:openingId
32
40
  >
33
- <div class="selectable-list-wrapper">
34
- <SelectableVerticalList
35
- bind:selected
36
- bind:focused
37
- bind:elements
38
- --selectable-vertical-list-default-width={isDrawer ? '100%' : 'auto'}
39
- --selectable-vertical-list-default-element-height={isDrawer ? '56px' : 'auto'}
40
- --selectable-vertical-list-default-title-font-size="null"
41
- on:select={() => open = false}
42
- on:select
43
- ></SelectableVerticalList>
44
- </div>
41
+ {#snippet children({ isDrawer, isMenu })}
42
+ <div class="selectable-list-wrapper">
43
+ <SelectableVerticalList
44
+ bind:selected
45
+ bind:focused
46
+ bind:elements
47
+ --selectable-vertical-list-default-width={isDrawer ? '100%' : 'auto'}
48
+ --selectable-vertical-list-default-element-height={isDrawer ? '56px' : 'auto'}
49
+ --selectable-vertical-list-default-title-font-size="null"
50
+ onselect={handleOnSelect}
51
+ ></SelectableVerticalList>
52
+ </div>
53
+ {/snippet}
45
54
  </MenuOrDrawer>
46
55
 
47
56
  <style>
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
3
2
  import '../../../css/main.css';
4
3
  import type { ComponentProps } from 'svelte';
@@ -6,34 +5,22 @@ import MenuOrDrawer from "./MenuOrDrawer.svelte";
6
5
  import type Drawer from '../../simple/navigation/Drawer.svelte';
7
6
  import type Menu from '../../simple/common/Menu.svelte';
8
7
  import SelectableVerticalList from '../../simple/lists/SelectableVerticalList.svelte';
9
- declare const __propDef: {
10
- props: {
11
- open?: boolean | undefined;
12
- activator: HTMLElement;
13
- drawerPosition?: ComponentProps<Drawer>['position'];
14
- menuAnchor?: ComponentProps<Menu>['anchor'];
15
- elements?: ComponentProps<SelectableVerticalList>['elements'];
16
- stayInViewport?: ComponentProps<MenuOrDrawer>['stayInViewport'];
17
- flipOnOverflow?: ComponentProps<MenuOrDrawer>['flipOnOverflow'];
18
- _boxShadow?: string | undefined;
19
- _height?: string | undefined;
20
- _maxHeight?: string | undefined;
21
- _minWidth?: string | undefined;
22
- _borderRadius?: string | undefined;
23
- openingId?: ComponentProps<MenuOrDrawer>['openingId'];
24
- };
25
- events: {
26
- select: CustomEvent<{
27
- element: import("../../simple/lists/SelectableVerticalList.svelte").Element;
28
- }>;
29
- } & {
30
- [evt: string]: CustomEvent<any>;
31
- };
32
- slots: {};
33
- };
34
- export type MenuOrDrawerOptionsProps = typeof __propDef.props;
35
- export type MenuOrDrawerOptionsEvents = typeof __propDef.events;
36
- export type MenuOrDrawerOptionsSlots = typeof __propDef.slots;
37
- export default class MenuOrDrawerOptions extends SvelteComponent<MenuOrDrawerOptionsProps, MenuOrDrawerOptionsEvents, MenuOrDrawerOptionsSlots> {
8
+ interface Props {
9
+ open?: boolean;
10
+ activator: HTMLElement;
11
+ drawerPosition?: ComponentProps<typeof Drawer>['position'];
12
+ menuAnchor?: ComponentProps<typeof Menu>['anchor'];
13
+ elements?: ComponentProps<typeof SelectableVerticalList>['elements'];
14
+ stayInViewport?: ComponentProps<typeof MenuOrDrawer>['stayInViewport'];
15
+ flipOnOverflow?: ComponentProps<typeof MenuOrDrawer>['flipOnOverflow'];
16
+ _boxShadow?: string;
17
+ _height?: string;
18
+ _maxHeight?: string;
19
+ _minWidth?: string;
20
+ _borderRadius?: string;
21
+ openingId?: ComponentProps<typeof MenuOrDrawer>['openingId'];
22
+ onselect?: ComponentProps<typeof SelectableVerticalList>['onselect'];
38
23
  }
39
- export {};
24
+ declare const MenuOrDrawerOptions: import("svelte").Component<Props, {}, "open" | "activator">;
25
+ type MenuOrDrawerOptions = ReturnType<typeof MenuOrDrawerOptions>;
26
+ export default MenuOrDrawerOptions;
@@ -1,25 +1,31 @@
1
- <script context="module"></script>
1
+ <script module lang="ts">export {};
2
+ </script>
2
3
 
3
- <script>import { Button, Icon, mediaQuery, ToolTip } from "../../..";
4
+ <script lang="ts">import { Button, Icon, mediaQuery, ToolTip } from "../../..";
4
5
  import DynamicTable from "../list/DynamicTable.svelte";
5
6
  import { fly } from "svelte/transition";
6
7
  import { cubicIn } from "svelte/easing";
7
8
  import MenuOrDrawer from "./MenuOrDrawer.svelte";
8
- import "./QuickActions.css";
9
- export let selectedItems, showSelectContainer, isSelectedAll, totalRows, slotSelectActionsContainer, disabled, loading, actionsForSelectedItems, position = "top", lang = "en";
10
- let actions = [], extraActions = [], moreActionsActivator, openMoreActions = false, infoActivators = {}, disabledInfoActivators = {};
11
- $: {
12
- if (!!slotSelectActionsContainer) {
13
- let numberOfSplit = $mediaQuery.xl ? 5 : $mediaQuery.l ? 4 : $mediaQuery.m ? 2 : $mediaQuery.s ? 0 : $mediaQuery.xs ? 0 : 3;
14
- if (actionsForSelectedItems.length > numberOfSplit) {
15
- extraActions = actionsForSelectedItems.slice(numberOfSplit);
16
- actions = actionsForSelectedItems.slice(0, numberOfSplit);
17
- } else {
18
- actions = actionsForSelectedItems;
19
- extraActions = [];
9
+ import './QuickActions.css';
10
+ let { selectedItems, showSelectContainer, isSelectedAll, totalRows, slotSelectActionsContainer = $bindable(), disabled, loading, actionsForSelectedItems, position = 'top', lang = 'en' } = $props();
11
+ let actions = $state([]), extraActions = $state([]), moreActionsActivator = $state(), openMoreActions = $state(false), infoActivators = $state({}), disabledInfoActivators = $state({});
12
+ $effect(() => {
13
+ if (!!slotSelectActionsContainer) {
14
+ let numberOfSplit = $mediaQuery.xl ? 5 :
15
+ $mediaQuery.l ? 4 :
16
+ $mediaQuery.m ? 2 :
17
+ $mediaQuery.s ? 0 :
18
+ $mediaQuery.xs ? 0 : 3;
19
+ if (actionsForSelectedItems.length > numberOfSplit) {
20
+ extraActions = actionsForSelectedItems.slice(numberOfSplit);
21
+ actions = actionsForSelectedItems.slice(0, numberOfSplit);
22
+ }
23
+ else {
24
+ actions = actionsForSelectedItems;
25
+ extraActions = [];
26
+ }
20
27
  }
21
- }
22
- }
28
+ });
23
29
  </script>
24
30
 
25
31
  {#if selectedItems && selectedItems.length > 0 && showSelectContainer}
@@ -31,7 +37,7 @@ $: {
31
37
  class="select-container"
32
38
  >
33
39
  <div>
34
- <button class="select-info" on:click={() => (selectedItems = [], infoActivators = {}, disabledInfoActivators = {})}>
40
+ <button class="select-info" onclick={() => (selectedItems = [], infoActivators = {}, disabledInfoActivators = {})}>
35
41
  {!!isSelectedAll ? totalRows : selectedItems.length} {lang == 'en' ? 'items selected' : 'righe selezionate'}
36
42
  <Icon name="mdi-close" />
37
43
  </button>
@@ -54,7 +60,7 @@ $: {
54
60
  '
55
61
  --button-height="20px"
56
62
  disabled={action.disabled}
57
- on:click={action.onClick}
63
+ onclick={action.onClick}
58
64
  >
59
65
  <div class="action" bind:this={disabledInfoActivators[action.label]}>
60
66
  {#if action.icon}
@@ -114,12 +120,12 @@ $: {
114
120
  --button-hover-color: var(--quick-actions-buttons-color, var(--quick-actions-default-buttons-color));
115
121
  --button-focus-color: var(--quick-actions-buttons-color, var(--quick-actions-default-buttons-color));
116
122
  --button-disabled-color: var(--quick-actions-buttons-color-disabled, var(--quick-actions-default-buttons-color-disabled));
117
- --button-box-shadow: none;
123
+ --button-box-shadow: none;"
118
124
  margin-left: 8px;
119
125
  '
120
126
  --button-height="20px"
121
127
  disabled={disabled || loading}
122
- on:click={(e) => {
128
+ onclick={(e) => {
123
129
  openMoreActions = !openMoreActions;
124
130
  }}
125
131
  >
@@ -145,77 +151,77 @@ $: {
145
151
  menuAnchor='bottom-center'
146
152
  openingId='more-actions'
147
153
  _drawerOverflow='hidden'
148
- let:isMenu
149
- let:isDrawer
150
154
  >
151
- <div
152
- class:more-actions-container-menu={isMenu}
153
- class:more-actions-container-drawer={isDrawer}
154
- class:more-actions-container-bottom={isMenu && position == 'bottom'}
155
- >
156
- {#each extraActions as action}
157
- <Button
158
- style='
159
- --button-background-color: var(--quick-actions-buttons-background-color, var(--quick-actions-default-buttons-background-color));
160
- --button-active-background-color: var(--quick-actions-buttons-background-color, var(--quick-actions-default-buttons-background-color));
161
- --button-focus-background-color: var(--quick-actions-buttons-background-color, var(--quick-actions-default-buttons-background-color));
162
- --button-hover-background-color: var(--quick-actions-buttons-background-color-hover, var(--quick-actions-default-buttons-background-color-hover));
163
- --button-disabled-background-color: var(--quick-actions-buttons-background-color-disabled, var(--quick-actions-default-buttons-background-color-disabled));
164
- --button-color: var(--quick-actions-buttons-color, var(--quick-actions-default-buttons-color));
165
- --button-hover-color: var(--quick-actions-buttons-color, var(--quick-actions-default-buttons-color));
166
- --button-focus-color: var(--quick-actions-buttons-color, var(--quick-actions-default-buttons-color));
167
- --button-disabled-color: var(--quick-actions-buttons-color-disabled, var(--quick-actions-default-buttons-color-disabled));
168
- --button-box-shadow: none;
169
- '
170
- --button-height="35px"
171
- disabled={action.disabled}
172
- on:click={action.onClick}
173
- >
174
- <div class="action" bind:this={disabledInfoActivators[action.label]}>
175
- {#if action.icon}
176
- <Icon name={action.icon} --icon-size='16px'/>
177
- {/if}
178
- {#if !!action.info && !action.disabled}
179
- <div bind:this={infoActivators[action.label]}>
180
- <Icon
181
- name="mdi-help-circle-outline"
182
- --icon-size="16px"
183
- />
184
- </div>
185
- <ToolTip
186
- appearTimeout={1000}
187
- activator={infoActivators[action.label]}
188
- >
189
- <div
190
- style:background-color='rgb(var(--global-color-background-300), .95)'
191
- style:border-radius="5px"
192
- style:padding="10px"
193
- style:color='rgb(var(--global-color-contrast-900))'
194
- >
195
- {action.info}
196
- </div>
197
- </ToolTip>
198
- {/if}
199
- {action.label}
200
- {#if !!action.disabledInfo && action.disabled}
201
- <ToolTip
202
- appearTimeout={1000}
203
- activator={disabledInfoActivators[action.label]}
204
- >
205
- <div
206
- style:background-color='rgb(var(--global-color-background-300), .95)'
207
- style:border-radius="5px"
208
- style:padding="10px"
209
- style:color='rgb(var(--global-color-contrast-900))'
210
- >
211
- {action.disabledInfo}
155
+ {#snippet children({ isDrawer, isMenu })}
156
+ <div
157
+ class:more-actions-container-menu={isMenu}
158
+ class:more-actions-container-drawer={isDrawer}
159
+ class:more-actions-container-bottom={isMenu && position == 'bottom'}
160
+ >
161
+ {#each extraActions as action}
162
+ <Button
163
+ style='
164
+ --button-background-color: var(--quick-actions-buttons-background-color, var(--quick-actions-default-buttons-background-color));
165
+ --button-active-background-color: var(--quick-actions-buttons-background-color, var(--quick-actions-default-buttons-background-color));
166
+ --button-focus-background-color: var(--quick-actions-buttons-background-color, var(--quick-actions-default-buttons-background-color));
167
+ --button-hover-background-color: var(--quick-actions-buttons-background-color-hover, var(--quick-actions-default-buttons-background-color-hover));
168
+ --button-disabled-background-color: var(--quick-actions-buttons-background-color-disabled, var(--quick-actions-default-buttons-background-color-disabled));
169
+ --button-color: var(--quick-actions-buttons-color, var(--quick-actions-default-buttons-color));
170
+ --button-hover-color: var(--quick-actions-buttons-color, var(--quick-actions-default-buttons-color));
171
+ --button-focus-color: var(--quick-actions-buttons-color, var(--quick-actions-default-buttons-color));
172
+ --button-disabled-color: var(--quick-actions-buttons-color-disabled, var(--quick-actions-default-buttons-color-disabled));
173
+ --button-box-shadow: none;
174
+ '
175
+ --button-height="35px"
176
+ disabled={action.disabled}
177
+ onclick={action.onClick}
178
+ >
179
+ <div class="action" bind:this={disabledInfoActivators[action.label]}>
180
+ {#if action.icon}
181
+ <Icon name={action.icon} --icon-size='16px'/>
182
+ {/if}
183
+ {#if !!action.info && !action.disabled}
184
+ <div bind:this={infoActivators[action.label]}>
185
+ <Icon
186
+ name="mdi-help-circle-outline"
187
+ --icon-size="16px"
188
+ />
212
189
  </div>
213
- </ToolTip>
214
- {/if}
215
- </div>
216
- </Button>
217
- {/each}
218
- </div>
190
+ <ToolTip
191
+ appearTimeout={1000}
192
+ activator={infoActivators[action.label]}
193
+ >
194
+ <div
195
+ style:background-color='rgb(var(--global-color-background-300), .95)'
196
+ style:border-radius="5px"
197
+ style:padding="10px"
198
+ style:color='rgb(var(--global-color-contrast-900))'
199
+ >
200
+ {action.info}
201
+ </div>
202
+ </ToolTip>
203
+ {/if}
204
+ {action.label}
205
+ {#if !!action.disabledInfo && action.disabled}
206
+ <ToolTip
207
+ appearTimeout={1000}
208
+ activator={disabledInfoActivators[action.label]}
209
+ >
210
+ <div
211
+ style:background-color='rgb(var(--global-color-background-300), .95)'
212
+ style:border-radius="5px"
213
+ style:padding="10px"
214
+ style:color='rgb(var(--global-color-contrast-900))'
215
+ >
216
+ {action.disabledInfo}
217
+ </div>
218
+ </ToolTip>
219
+ {/if}
220
+ </div>
221
+ </Button>
222
+ {/each}
223
+ </div>
224
+ {/snippet}
219
225
  </MenuOrDrawer>
220
226
  </div>
221
227
  {/if}
@@ -1,38 +1,27 @@
1
- import { SvelteComponent } from "svelte";
2
1
  export type Action = {
3
2
  label: string;
4
3
  icon?: string;
5
4
  disabled?: boolean;
6
5
  info?: string;
7
6
  disabledInfo?: string;
8
- onClick: (e: CustomEvent<{
9
- nativeEvent: MouseEvent;
10
- }>) => void;
7
+ onClick: NonNullable<ComponentProps<typeof Button>['onclick']>;
11
8
  };
9
+ import { Button } from "../../..";
12
10
  import type { ComponentProps } from "svelte";
13
11
  import DynamicTable from "../list/DynamicTable.svelte";
14
12
  import './QuickActions.css';
15
- declare const __propDef: {
16
- props: {
17
- selectedItems: ComponentProps<DynamicTable["selectedItems"]>[];
18
- showSelectContainer: boolean;
19
- isSelectedAll: boolean;
20
- totalRows: number;
21
- slotSelectActionsContainer: HTMLElement | undefined;
22
- disabled: boolean;
23
- loading: boolean;
24
- actionsForSelectedItems: Action[];
25
- position?: "bottom" | "top" | undefined;
26
- lang?: "it" | "en" | undefined;
27
- };
28
- events: {
29
- [evt: string]: CustomEvent<any>;
30
- };
31
- slots: {};
32
- };
33
- export type QuickActionsProps = typeof __propDef.props;
34
- export type QuickActionsEvents = typeof __propDef.events;
35
- export type QuickActionsSlots = typeof __propDef.slots;
36
- export default class QuickActions extends SvelteComponent<QuickActionsProps, QuickActionsEvents, QuickActionsSlots> {
13
+ interface Props {
14
+ selectedItems: ComponentProps<typeof DynamicTable>["selectedItems"];
15
+ showSelectContainer: boolean;
16
+ isSelectedAll: boolean;
17
+ totalRows: number;
18
+ slotSelectActionsContainer?: HTMLElement;
19
+ disabled: boolean;
20
+ loading: boolean;
21
+ actionsForSelectedItems: Action[];
22
+ position?: 'top' | 'bottom';
23
+ lang?: 'it' | 'en';
37
24
  }
38
- export {};
25
+ declare const QuickActions: import("svelte").Component<Props, {}, "slotSelectActionsContainer">;
26
+ type QuickActions = ReturnType<typeof QuickActions>;
27
+ export default QuickActions;