@celar-ui/svelte 1.6.0 → 1.8.1

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.
@@ -1,9 +1,9 @@
1
1
  <script lang="ts">
2
2
  import './styles/card.scss';
3
- import Container from './Container.svelte';
4
- import type { ContainerProps } from './Container.svelte';
3
+ import type { SurfaceContainerProps } from './SurfaceContainer.svelte';
4
+ import SurfaceContainer from './SurfaceContainer.svelte';
5
5
 
6
- let props: ContainerProps = $props();
6
+ let props: SurfaceContainerProps = $props();
7
7
  </script>
8
8
 
9
- <Container {...props} data-card />
9
+ <SurfaceContainer {...props} data-card />
@@ -1,5 +1,5 @@
1
1
  import './styles/card.scss';
2
- import type { ContainerProps } from './Container.svelte';
3
- declare const Card: import("svelte").Component<ContainerProps, {}, "">;
2
+ import type { SurfaceContainerProps } from './SurfaceContainer.svelte';
3
+ declare const Card: import("svelte").Component<SurfaceContainerProps, {}, "">;
4
4
  type Card = ReturnType<typeof Card>;
5
5
  export default Card;
@@ -1,5 +1,3 @@
1
1
  [data-card] {
2
2
  box-shadow: 0 var(--gap--xs) var(--gap--sm) var(--color-shadow--soft);
3
- background-color: var(--color-surface);
4
- border-radius: var(--gap);
5
3
  }
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export { default as CommandDialog } from './overlay/CommandDialog.svelte';
17
17
  export { default as CommandGroupItems } from './overlay/CommandGroupItems.svelte';
18
18
  export { default as CommandItem } from './overlay/CommandItem.svelte';
19
19
  export { default as MinimalSurfaceDialog } from './overlay/MinimalSurfaceDialog.svelte';
20
+ export { default as Popover } from './overlay/Popover.svelte';
20
21
  export { default as Gap } from './misc/Gap.svelte';
21
22
  export { default as DuckSpinner } from './misc/DuckSpinner.svelte';
22
23
  export { default as DotSpinner } from './misc/DotSpinner.svelte';
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ export { default as CommandDialog } from './overlay/CommandDialog.svelte';
18
18
  export { default as CommandGroupItems } from './overlay/CommandGroupItems.svelte';
19
19
  export { default as CommandItem } from './overlay/CommandItem.svelte';
20
20
  export { default as MinimalSurfaceDialog } from './overlay/MinimalSurfaceDialog.svelte';
21
+ export { default as Popover } from './overlay/Popover.svelte';
21
22
  export { default as Gap } from './misc/Gap.svelte';
22
23
  export { default as DuckSpinner } from './misc/DuckSpinner.svelte';
23
24
  export { default as DotSpinner } from './misc/DotSpinner.svelte';
@@ -1,16 +1,19 @@
1
1
  <script lang="ts">
2
+ import '../containment/styles/surface-container.scss';
2
3
  import type { HTMLAttributes } from 'svelte/elements';
3
4
 
4
5
  interface AdaptiveSidebarProps extends HTMLAttributes<HTMLElement> {
5
6
  open?: boolean;
6
7
  collapsedSize?: string;
7
8
  expandedSize?: string;
9
+ elevated?: 0 | 1 | 2 | 3 | 4 | 5;
8
10
  }
9
11
 
10
12
  let {
11
13
  open = $bindable(false),
12
14
  collapsedSize = '80px',
13
15
  expandedSize = '300px',
16
+ elevated = 3,
14
17
  children,
15
18
  ...rest
16
19
  }: AdaptiveSidebarProps = $props();
@@ -33,9 +36,11 @@
33
36
  <aside
34
37
  {...rest}
35
38
  data-adaptive-sidebar
39
+ data-surface-container
36
40
  style:--collapsed={collapsedSize}
37
41
  style:--expanded={expandedSize}
38
42
  style:--width={open ? expandedSize : collapsedSize}
43
+ data-elevated={elevated}
39
44
  >
40
45
  {@render children?.()}
41
46
  </aside>
@@ -77,10 +82,8 @@
77
82
  position: relative;
78
83
  height: 100vh;
79
84
  width: var(--expanded);
80
- background-color: var(--color-surface);
81
85
  padding: var(--gap);
82
- border-top-right-radius: var(--gap--x2);
83
- border-bottom-right-radius: var(--gap--x2);
86
+ border-radius: 0 var(--gap--x2) var(--gap--x2) 0;
84
87
  max-width: 80vw;
85
88
  overflow: hidden;
86
89
  transition-property: transform, width, opacity, visibility;
@@ -1,8 +1,10 @@
1
+ import '../containment/styles/surface-container.scss';
1
2
  import type { HTMLAttributes } from 'svelte/elements';
2
3
  interface AdaptiveSidebarProps extends HTMLAttributes<HTMLElement> {
3
4
  open?: boolean;
4
5
  collapsedSize?: string;
5
6
  expandedSize?: string;
7
+ elevated?: 0 | 1 | 2 | 3 | 4 | 5;
6
8
  }
7
9
  declare const AdaptiveSidebar: import("svelte").Component<AdaptiveSidebarProps, {}, "open">;
8
10
  type AdaptiveSidebar = ReturnType<typeof AdaptiveSidebar>;
@@ -0,0 +1,37 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import './styles/popover.scss';
4
+ import { scale } from 'svelte/transition';
5
+ import { Popover as BitsPopover, type PopoverContentProps } from 'bits-ui';
6
+
7
+ type PopoverProps = PopoverContentProps & {
8
+ open?: boolean;
9
+ trigger?: Snippet<[{ props: Record<string, unknown> }]>;
10
+ transitionDuration?: number;
11
+ };
12
+
13
+ let {
14
+ open = $bindable(false),
15
+ trigger,
16
+ children,
17
+ transitionDuration = 200,
18
+ ...rest
19
+ }: PopoverProps = $props();
20
+ </script>
21
+
22
+ <BitsPopover.Root bind:open>
23
+ <BitsPopover.Trigger child={trigger} />
24
+ <BitsPopover.Portal>
25
+ <BitsPopover.Content {...rest} forceMount>
26
+ {#snippet child({ wrapperProps, props, open })}
27
+ {#if open}
28
+ <div {...wrapperProps}>
29
+ <div {...props} transition:scale={{ duration: transitionDuration }}>
30
+ {@render children?.()}
31
+ </div>
32
+ </div>
33
+ {/if}
34
+ {/snippet}
35
+ </BitsPopover.Content>
36
+ </BitsPopover.Portal>
37
+ </BitsPopover.Root>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import './styles/popover.scss';
3
+ import { type PopoverContentProps } from 'bits-ui';
4
+ type PopoverProps = PopoverContentProps & {
5
+ open?: boolean;
6
+ trigger?: Snippet<[{
7
+ props: Record<string, unknown>;
8
+ }]>;
9
+ transitionDuration?: number;
10
+ };
11
+ declare const Popover: import("svelte").Component<PopoverProps, {}, "open">;
12
+ type Popover = ReturnType<typeof Popover>;
13
+ export default Popover;
@@ -0,0 +1,5 @@
1
+ [data-popover-content] {
2
+ z-index: var(--z-index, 120);
3
+ max-width: 100vw;
4
+ margin: var(--gap--half) auto;
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celar-ui/svelte",
3
- "version": "1.6.0",
3
+ "version": "1.8.1",
4
4
  "license": "MIT",
5
5
  "author": {
6
6
  "name": "cuikho210",
@@ -51,32 +51,32 @@
51
51
  "svelte": "^5.0.0"
52
52
  },
53
53
  "devDependencies": {
54
- "@eslint/compat": "^1.4.0",
55
- "@eslint/js": "^9.36.0",
56
- "@iconify-json/hugeicons": "^1.2.16",
54
+ "@eslint/compat": "^1.4.1",
55
+ "@eslint/js": "^9.39.1",
56
+ "@iconify-json/hugeicons": "^1.2.17",
57
57
  "@sveltejs/adapter-auto": "^4.0.0",
58
- "@sveltejs/kit": "^2.43.1",
59
- "@sveltejs/package": "^2.5.3",
58
+ "@sveltejs/kit": "^2.48.4",
59
+ "@sveltejs/package": "^2.5.4",
60
60
  "@sveltejs/vite-plugin-svelte": "^5.1.1",
61
- "@types/bun": "^1.2.22",
61
+ "@types/bun": "^1.3.1",
62
62
  "autoprefixer": "^10.4.21",
63
- "bits-ui": "^2.11.0",
63
+ "bits-ui": "^2.14.2",
64
64
  "csstype": "^3.1.3",
65
- "eslint": "^9.36.0",
65
+ "eslint": "^9.39.1",
66
66
  "eslint-config-prettier": "^10.1.8",
67
- "eslint-plugin-svelte": "^3.12.4",
68
- "globals": "^16.4.0",
67
+ "eslint-plugin-svelte": "^3.13.0",
68
+ "globals": "^16.5.0",
69
69
  "material-dynamic-colors": "^1.1.2",
70
70
  "prettier": "^3.6.2",
71
71
  "prettier-plugin-svelte": "^3.4.0",
72
- "publint": "^0.3.13",
73
- "sass": "^1.93.1",
74
- "svelte": "^5.39.4",
75
- "svelte-check": "^4.3.2",
76
- "typescript": "^5.9.2",
77
- "typescript-eslint": "^8.44.1",
78
- "unplugin-icons": "^22.3.0",
79
- "vite": "^6.3.6"
72
+ "publint": "^0.3.15",
73
+ "sass": "^1.93.3",
74
+ "svelte": "^5.43.4",
75
+ "svelte-check": "^4.3.3",
76
+ "typescript": "^5.9.3",
77
+ "typescript-eslint": "^8.46.3",
78
+ "unplugin-icons": "^22.5.0",
79
+ "vite": "^6.4.1"
80
80
  },
81
81
  "keywords": [
82
82
  "svelte"