compote-ui 0.31.1 → 0.32.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.
- package/dist/components/field/field-input.svelte +8 -6
- package/dist/components/toggle/toggle.svelte +17 -0
- package/dist/components/toggle/toggle.svelte.d.ts +4 -0
- package/dist/components/toggle/toggle.variants.d.ts +21 -0
- package/dist/components/toggle/toggle.variants.js +12 -0
- package/dist/components/toggle/types.d.ts +8 -0
- package/dist/components/toggle/types.js +1 -0
- package/dist/components/toggle-group/toggle-group-context.d.ts +8 -0
- package/dist/components/toggle-group/toggle-group-context.js +2 -0
- package/dist/components/toggle-group/toggle-group-item.svelte +7 -6
- package/dist/components/toggle-group/toggle-group-item.svelte.d.ts +2 -0
- package/dist/components/toggle-group/toggle-group.svelte +17 -2
- package/dist/components/toggle-group/toggle-group.svelte.d.ts +2 -0
- package/dist/components/tooltip/tooltip-trigger.svelte +2 -4
- package/dist/components/tooltip/tooltip-trigger.svelte.d.ts +2 -4
- package/dist/components/tree-view/tree-view.svelte +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/theme.css +1 -1
- package/package.json +1 -1
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
|
|
15
15
|
<div class="relative w-full">
|
|
16
16
|
{#if startIcon}
|
|
17
|
-
<div
|
|
18
|
-
class="
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
<div class="pointer-events-none absolute inset-y-0 left-0 flex items-center p-0.5 text-ink-dim">
|
|
18
|
+
<div class="flex h-full min-w-8 items-center justify-center">
|
|
19
|
+
{@render startIcon()}
|
|
20
|
+
</div>
|
|
21
21
|
</div>
|
|
22
22
|
{/if}
|
|
23
23
|
<Field.Input
|
|
@@ -31,8 +31,10 @@
|
|
|
31
31
|
)}
|
|
32
32
|
/>
|
|
33
33
|
{#if endIcon}
|
|
34
|
-
<div class="absolute inset-y-0 right-0 flex items-center
|
|
35
|
-
|
|
34
|
+
<div class="absolute inset-y-0 right-0 flex items-center justify-end p-0.5">
|
|
35
|
+
<div class="flex h-full min-w-8 items-center justify-center">
|
|
36
|
+
{@render endIcon()}
|
|
37
|
+
</div>
|
|
36
38
|
</div>
|
|
37
39
|
{/if}
|
|
38
40
|
</div>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Toggle as ArkToggle } from '@ark-ui/svelte/toggle';
|
|
3
|
+
import type { ToggleProps } from './types';
|
|
4
|
+
import { toggle } from './toggle.variants';
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
pressed = $bindable(),
|
|
10
|
+
size,
|
|
11
|
+
...rootProps
|
|
12
|
+
}: ToggleProps = $props();
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<ArkToggle.Root {...rootProps} bind:pressed class={toggle({ size, class: className as never })}>
|
|
16
|
+
{@render children?.()}
|
|
17
|
+
</ArkToggle.Root>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
export declare const toggle: import("tailwind-variants").TVReturnType<{
|
|
3
|
+
size: {
|
|
4
|
+
sm: string;
|
|
5
|
+
md: string;
|
|
6
|
+
lg: string;
|
|
7
|
+
};
|
|
8
|
+
}, undefined, "inline-flex cursor-pointer items-center justify-center rounded-md font-medium text-ink-dim transition-colors select-none hover:bg-surface-2 hover:text-ink focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none data-disabled:cursor-not-allowed data-disabled:opacity-50 data-pressed:bg-surface-2 data-pressed:text-ink data-pressed:shadow-sm data-[state=on]:bg-surface-2 data-[state=on]:text-ink data-[state=on]:shadow-sm [&_svg]:shrink-0", {
|
|
9
|
+
size: {
|
|
10
|
+
sm: string;
|
|
11
|
+
md: string;
|
|
12
|
+
lg: string;
|
|
13
|
+
};
|
|
14
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
15
|
+
size: {
|
|
16
|
+
sm: string;
|
|
17
|
+
md: string;
|
|
18
|
+
lg: string;
|
|
19
|
+
};
|
|
20
|
+
}, undefined, "inline-flex cursor-pointer items-center justify-center rounded-md font-medium text-ink-dim transition-colors select-none hover:bg-surface-2 hover:text-ink focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none data-disabled:cursor-not-allowed data-disabled:opacity-50 data-pressed:bg-surface-2 data-pressed:text-ink data-pressed:shadow-sm data-[state=on]:bg-surface-2 data-[state=on]:text-ink data-[state=on]:shadow-sm [&_svg]:shrink-0", unknown, unknown, undefined>>;
|
|
21
|
+
export type ToggleSize = NonNullable<VariantProps<typeof toggle>['size']>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
export const toggle = tv({
|
|
3
|
+
base: 'inline-flex cursor-pointer items-center justify-center rounded-md font-medium text-ink-dim transition-colors select-none hover:bg-surface-2 hover:text-ink focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none data-disabled:cursor-not-allowed data-disabled:opacity-50 data-pressed:bg-surface-2 data-pressed:text-ink data-pressed:shadow-sm data-[state=on]:bg-surface-2 data-[state=on]:text-ink data-[state=on]:shadow-sm [&_svg]:shrink-0',
|
|
4
|
+
variants: {
|
|
5
|
+
size: {
|
|
6
|
+
sm: 'h-7 min-w-7 gap-1 px-1.5 text-xs [&_svg]:size-3.5',
|
|
7
|
+
md: 'h-8 min-w-8 gap-1.5 px-2 text-sm [&_svg]:size-4',
|
|
8
|
+
lg: 'h-10 min-w-10 gap-2 px-2.5 text-sm [&_svg]:size-5'
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
defaultVariants: { size: 'md' }
|
|
12
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ToggleRootProps } from '@ark-ui/svelte/toggle';
|
|
2
|
+
import type { ClassValue } from 'svelte/elements';
|
|
3
|
+
import type { ToggleSize } from './toggle.variants';
|
|
4
|
+
export interface ToggleProps extends ToggleRootProps {
|
|
5
|
+
class?: ClassValue | null;
|
|
6
|
+
size?: ToggleSize;
|
|
7
|
+
}
|
|
8
|
+
export type { ToggleSize };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { ToggleGroup } from '@ark-ui/svelte/toggle-group';
|
|
3
3
|
import type { ToggleGroupItemBaseProps } from '@ark-ui/svelte/toggle-group';
|
|
4
|
-
import { cn } from 'tailwind-variants';
|
|
5
4
|
import type { ClassValue } from 'svelte/elements';
|
|
5
|
+
import { toggle, type ToggleSize } from '../toggle/toggle.variants';
|
|
6
|
+
import { getToggleGroupContext } from './toggle-group-context';
|
|
6
7
|
|
|
7
8
|
interface Props extends ToggleGroupItemBaseProps {
|
|
8
9
|
class?: ClassValue | null;
|
|
10
|
+
size?: ToggleSize;
|
|
9
11
|
}
|
|
10
12
|
|
|
11
|
-
let { class: className, children, ...rest }: Props = $props();
|
|
13
|
+
let { class: className, children, size, ...rest }: Props = $props();
|
|
14
|
+
const groupContext = getToggleGroupContext();
|
|
15
|
+
const itemSize = $derived(size ?? groupContext.size);
|
|
12
16
|
</script>
|
|
13
17
|
|
|
14
18
|
<ToggleGroup.Item
|
|
15
19
|
{...rest}
|
|
16
|
-
class={
|
|
17
|
-
'inline-flex h-8 min-w-8 items-center justify-center rounded-md text-sm text-ink-dim transition-colors select-none hover:bg-surface-2 hover:text-ink focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none data-disabled:cursor-not-allowed data-disabled:opacity-50 data-[state=on]:bg-surface-2 data-[state=on]:text-ink data-[state=on]:shadow-sm',
|
|
18
|
-
className as never
|
|
19
|
-
)}
|
|
20
|
+
class={toggle({ size: itemSize, class: ['rounded-none', className] as never })}
|
|
20
21
|
>
|
|
21
22
|
{@render children?.()}
|
|
22
23
|
</ToggleGroup.Item>
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { ToggleGroupItemBaseProps } from '@ark-ui/svelte/toggle-group';
|
|
2
2
|
import type { ClassValue } from 'svelte/elements';
|
|
3
|
+
import { type ToggleSize } from '../toggle/toggle.variants';
|
|
3
4
|
interface Props extends ToggleGroupItemBaseProps {
|
|
4
5
|
class?: ClassValue | null;
|
|
6
|
+
size?: ToggleSize;
|
|
5
7
|
}
|
|
6
8
|
declare const ToggleGroupItem: import("svelte").Component<Props, {}, "">;
|
|
7
9
|
type ToggleGroupItem = ReturnType<typeof ToggleGroupItem>;
|
|
@@ -2,19 +2,34 @@
|
|
|
2
2
|
import { ToggleGroup } from '@ark-ui/svelte/toggle-group';
|
|
3
3
|
import type { ToggleGroupRootBaseProps } from '@ark-ui/svelte/toggle-group';
|
|
4
4
|
import { cn } from 'tailwind-variants';
|
|
5
|
+
import type { ToggleSize } from '../toggle/toggle.variants';
|
|
6
|
+
import { setToggleGroupContext } from './toggle-group-context';
|
|
5
7
|
|
|
6
8
|
interface Props extends ToggleGroupRootBaseProps {
|
|
7
9
|
class?: string;
|
|
10
|
+
size?: ToggleSize;
|
|
8
11
|
}
|
|
9
12
|
|
|
10
|
-
let {
|
|
13
|
+
let {
|
|
14
|
+
class: className,
|
|
15
|
+
children,
|
|
16
|
+
value = $bindable(),
|
|
17
|
+
size = 'md',
|
|
18
|
+
...rootProps
|
|
19
|
+
}: Props = $props();
|
|
20
|
+
|
|
21
|
+
setToggleGroupContext({
|
|
22
|
+
get size() {
|
|
23
|
+
return size;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
11
26
|
</script>
|
|
12
27
|
|
|
13
28
|
<ToggleGroup.Root
|
|
14
29
|
{...rootProps}
|
|
15
30
|
bind:value
|
|
16
31
|
class={cn(
|
|
17
|
-
'inline-flex
|
|
32
|
+
'inline-flex w-fit rounded border border-border data-[orientation=vertical]:flex-col [&>:not([hidden])~:not([hidden])]:border-border data-[orientation=horizontal]:[&>:not([hidden])~:not([hidden])]:border-s data-[orientation=horizontal]:[&>:not([hidden])~:not([hidden])]:border-e-0 data-[orientation=vertical]:[&>:not([hidden])~:not([hidden])]:border-t data-[orientation=vertical]:[&>:not([hidden])~:not([hidden])]:border-b-0',
|
|
18
33
|
className
|
|
19
34
|
)}
|
|
20
35
|
>
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ToggleGroup } from '@ark-ui/svelte/toggle-group';
|
|
2
2
|
import type { ToggleGroupRootBaseProps } from '@ark-ui/svelte/toggle-group';
|
|
3
|
+
import type { ToggleSize } from '../toggle/toggle.variants';
|
|
3
4
|
interface Props extends ToggleGroupRootBaseProps {
|
|
4
5
|
class?: string;
|
|
6
|
+
size?: ToggleSize;
|
|
5
7
|
}
|
|
6
8
|
declare const ToggleGroup: import("svelte").Component<Props, {}, "value">;
|
|
7
9
|
type ToggleGroup = ReturnType<typeof ToggleGroup>;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { Tooltip } from '@ark-ui/svelte/tooltip';
|
|
3
|
-
import type {
|
|
4
|
-
import type { Snippet } from 'svelte';
|
|
3
|
+
import type { TooltipTriggerProps } from '@ark-ui/svelte/tooltip';
|
|
5
4
|
import { button, type ButtonSize, type ButtonVariant } from '../button/button.variants';
|
|
6
5
|
|
|
7
|
-
type Props =
|
|
6
|
+
type Props = Omit<TooltipTriggerProps, 'class'> & {
|
|
8
7
|
variant?: ButtonVariant;
|
|
9
8
|
size?: ButtonSize;
|
|
10
9
|
class?: string;
|
|
11
|
-
children?: Snippet;
|
|
12
10
|
};
|
|
13
11
|
|
|
14
12
|
const {
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Snippet } from 'svelte';
|
|
1
|
+
import type { TooltipTriggerProps } from '@ark-ui/svelte/tooltip';
|
|
3
2
|
import { type ButtonSize, type ButtonVariant } from '../button/button.variants';
|
|
4
|
-
type Props =
|
|
3
|
+
type Props = Omit<TooltipTriggerProps, 'class'> & {
|
|
5
4
|
variant?: ButtonVariant;
|
|
6
5
|
size?: ButtonSize;
|
|
7
6
|
class?: string;
|
|
8
|
-
children?: Snippet;
|
|
9
7
|
};
|
|
10
8
|
declare const TooltipTrigger: import("svelte").Component<Props, {}, "">;
|
|
11
9
|
type TooltipTrigger = ReturnType<typeof TooltipTrigger>;
|
package/dist/index.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export { default as Splitter } from './components/splitter/splitter.svelte';
|
|
|
30
30
|
export type { SplitterPanelConfig, SplitterProps } from './components/splitter/types';
|
|
31
31
|
export { default as Switch } from './components/switch/switch.svelte';
|
|
32
32
|
export * as Tabs from './components/tabs';
|
|
33
|
+
export { default as Toggle } from './components/toggle/toggle.svelte';
|
|
34
|
+
export type { ToggleProps, ToggleSize } from './components/toggle/types';
|
|
33
35
|
export * as ToggleGroup from './components/toggle-group';
|
|
34
36
|
export * as Menu from './components/menu';
|
|
35
37
|
export * as Tooltip from './components/tooltip';
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ export { default as Select } from './components/select/select.svelte';
|
|
|
23
23
|
export { default as Splitter } from './components/splitter/splitter.svelte';
|
|
24
24
|
export { default as Switch } from './components/switch/switch.svelte';
|
|
25
25
|
export * as Tabs from './components/tabs';
|
|
26
|
+
export { default as Toggle } from './components/toggle/toggle.svelte';
|
|
26
27
|
export * as ToggleGroup from './components/toggle-group';
|
|
27
28
|
export * as Menu from './components/menu';
|
|
28
29
|
export * as Tooltip from './components/tooltip';
|
package/dist/theme.css
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
--compote-ink: light-dark(var(--gray-15), var(--gray-1));
|
|
20
20
|
--compote-ink-dim: light-dark(var(--gray-11), var(--gray-5));
|
|
21
21
|
--compote-ink-inverse: white;
|
|
22
|
-
--compote-surface-3: light-dark(var(--gray-5), var(--gray-
|
|
22
|
+
--compote-surface-3: light-dark(var(--gray-5), var(--gray-10));
|
|
23
23
|
--compote-surface-2: light-dark(var(--gray-4), var(--gray-12));
|
|
24
24
|
--compote-surface-1: light-dark(var(--gray-3), var(--gray-13));
|
|
25
25
|
--compote-surface-document: light-dark(var(--gray-2), var(--gray-14));
|