@x33025/sveltely 0.1.1 → 0.1.3
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/Library/AnimatedNumber/AnimatedNumber.demo.svelte +1 -1
- package/dist/components/Library/AsyncButton/AsyncButton.svelte +42 -16
- package/dist/components/Library/Button/Button.demo.svelte +5 -3
- package/dist/components/Library/Button/Button.demo.svelte.d.ts +1 -0
- package/dist/components/Library/Button/Button.svelte +21 -13
- package/dist/components/Library/Calendar/Calendar.demo.svelte +2 -14
- package/dist/components/Library/Calendar/Calendar.svelte +69 -65
- package/dist/components/Library/Checkbox/Checkbox.svelte +13 -14
- package/dist/components/Library/ChipInput/ChipInput.demo.svelte +1 -1
- package/dist/components/Library/ChipInput/ChipInput.svelte +7 -4
- package/dist/components/Library/Divider/Divider.svelte +10 -0
- package/dist/components/Library/Divider/Divider.svelte.d.ts +26 -0
- package/dist/components/Library/Divider/index.d.ts +1 -0
- package/dist/components/Library/Divider/index.js +1 -0
- package/dist/components/Library/Dropdown/Action.svelte +60 -0
- package/dist/components/Library/Dropdown/Action.svelte.d.ts +11 -0
- package/dist/components/Library/Dropdown/Divider.svelte +5 -0
- package/dist/components/Library/Dropdown/Divider.svelte.d.ts +19 -0
- package/dist/components/Library/Dropdown/Dropdown.demo.svelte +182 -65
- package/dist/components/Library/Dropdown/Dropdown.demo.svelte.d.ts +2 -1
- package/dist/components/Library/Dropdown/Dropdown.svelte +95 -250
- package/dist/components/Library/Dropdown/Dropdown.svelte.d.ts +17 -16
- package/dist/components/Library/Dropdown/Item.svelte +68 -0
- package/dist/components/Library/Dropdown/Item.svelte.d.ts +31 -0
- package/dist/components/Library/Dropdown/Section.svelte +34 -0
- package/dist/components/Library/Dropdown/Section.svelte.d.ts +8 -0
- package/dist/components/Library/Dropdown/context.d.ts +34 -0
- package/dist/components/Library/Dropdown/context.js +6 -0
- package/dist/components/Library/Dropdown/index.d.ts +13 -2
- package/dist/components/Library/Dropdown/index.js +11 -1
- package/dist/components/Library/Floating/Floating.svelte +44 -7
- package/dist/components/Library/ForEach/ForEach.svelte +14 -0
- package/dist/components/Library/ForEach/ForEach.svelte.d.ts +28 -0
- package/dist/components/Library/ForEach/index.d.ts +1 -0
- package/dist/components/Library/ForEach/index.js +1 -0
- package/dist/components/Library/Grid/Grid.svelte +74 -0
- package/dist/components/Library/Grid/Grid.svelte.d.ts +13 -0
- package/dist/components/Library/Grid/index.d.ts +1 -0
- package/dist/components/Library/Grid/index.js +1 -0
- package/dist/components/Library/GridItem/GridItem.svelte +65 -0
- package/dist/components/Library/GridItem/GridItem.svelte.d.ts +14 -0
- package/dist/components/Library/GridItem/index.d.ts +1 -0
- package/dist/components/Library/GridItem/index.js +1 -0
- package/dist/components/Library/HStack/HStack.svelte +45 -0
- package/dist/components/Library/HStack/HStack.svelte.d.ts +9 -0
- package/dist/components/Library/HStack/index.d.ts +1 -0
- package/dist/components/Library/HStack/index.js +1 -0
- package/dist/components/Library/Image/Image.demo.svelte +18 -0
- package/dist/components/Library/Image/Image.demo.svelte.d.ts +23 -0
- package/dist/components/Library/Image/Image.svelte +57 -0
- package/dist/components/Library/Image/Image.svelte.d.ts +17 -0
- package/dist/components/Library/Image/ImagePlaceholder.svelte +202 -0
- package/dist/components/Library/Image/ImagePlaceholder.svelte.d.ts +7 -0
- package/dist/components/Library/Image/index.d.ts +1 -0
- package/dist/components/Library/Image/index.js +1 -0
- package/dist/components/Library/ImageMask/BrushPreview.svelte +119 -0
- package/dist/components/Library/ImageMask/BrushPreview.svelte.d.ts +11 -0
- package/dist/components/Library/ImageMask/ImageMask.demo.svelte +117 -0
- package/dist/components/Library/ImageMask/ImageMask.demo.svelte.d.ts +10 -0
- package/dist/components/Library/ImageMask/ImageMask.svelte +46 -0
- package/dist/components/Library/ImageMask/ImageMask.svelte.d.ts +20 -0
- package/dist/components/Library/ImageMask/MaskLayer.svelte +341 -0
- package/dist/components/Library/ImageMask/MaskLayer.svelte.d.ts +12 -0
- package/dist/components/Library/ImageMask/contour.d.ts +11 -0
- package/dist/components/Library/ImageMask/contour.js +152 -0
- package/dist/components/Library/ImageMask/index.d.ts +2 -0
- package/dist/components/Library/ImageMask/index.js +1 -0
- package/dist/components/Library/ImageMask/marchingAnts.d.ts +8 -0
- package/dist/components/Library/ImageMask/marchingAnts.js +29 -0
- package/dist/components/Library/ImageMask/maskSurface.d.ts +5 -0
- package/dist/components/Library/ImageMask/maskSurface.js +94 -0
- package/dist/components/Library/ImageMask/types.d.ts +23 -0
- package/dist/components/Library/Label/Label.demo.svelte +28 -0
- package/dist/components/Library/Label/Label.demo.svelte.d.ts +9 -0
- package/dist/components/Library/Label/Label.svelte +175 -0
- package/dist/components/Library/Label/Label.svelte.d.ts +18 -0
- package/dist/components/Library/Label/index.d.ts +1 -0
- package/dist/components/Library/Label/index.js +1 -0
- package/dist/components/Library/NavigationStack/NavigationStack.svelte +17 -7
- package/dist/components/Library/NavigationStack/Toolbar.svelte +7 -2
- package/dist/components/Library/NumberField/NumberField.demo.svelte +21 -0
- package/dist/components/Library/NumberField/NumberField.demo.svelte.d.ts +8 -0
- package/dist/components/Library/NumberField/NumberField.svelte +199 -0
- package/dist/components/Library/NumberField/NumberField.svelte.d.ts +21 -0
- package/dist/components/Library/NumberField/index.d.ts +1 -0
- package/dist/components/Library/NumberField/index.js +1 -0
- package/dist/components/Library/Pagination/Pagination.svelte +16 -20
- package/dist/components/Library/Popover/Popover.demo.svelte +2 -2
- package/dist/components/Library/Popover/Popover.svelte +7 -4
- package/dist/components/Library/ScrollView/ScrollView.svelte +165 -12
- package/dist/components/Library/ScrollView/ScrollView.svelte.d.ts +32 -4
- package/dist/components/Library/ScrollView/index.d.ts +1 -0
- package/dist/components/Library/{SearchInput/SearchInput.demo.svelte → SearchField/SearchField.demo.svelte} +4 -4
- package/dist/components/Library/SearchField/SearchField.demo.svelte.d.ts +8 -0
- package/dist/components/Library/{SearchInput/SearchInput.svelte → SearchField/SearchField.svelte} +26 -30
- package/dist/components/Library/{SearchInput/SearchInput.svelte.d.ts → SearchField/SearchField.svelte.d.ts} +3 -3
- package/dist/components/Library/SearchField/index.d.ts +1 -0
- package/dist/components/Library/SearchField/index.js +1 -0
- package/dist/components/Library/SegmentedPicker/SegmentedPicker.demo.svelte +1 -1
- package/dist/components/Library/SegmentedPicker/SegmentedPicker.svelte +9 -9
- package/dist/components/Library/Sheet/Sheet.demo.svelte +1 -1
- package/dist/components/Library/Sheet/Sheet.svelte +8 -5
- package/dist/components/Library/Slider/Slider.demo.svelte +1 -1
- package/dist/components/Library/Slider/Slider.svelte +11 -10
- package/dist/components/Library/Spacer/Spacer.svelte +7 -0
- package/dist/components/Library/Spacer/Spacer.svelte.d.ts +26 -0
- package/dist/components/Library/Spacer/index.d.ts +1 -0
- package/dist/components/Library/Spacer/index.js +1 -0
- package/dist/components/Library/Spinner/Spinner.demo.svelte +1 -1
- package/dist/components/Library/Switch/Switch.svelte +6 -11
- package/dist/components/Library/TextField/TextField.demo.svelte +14 -0
- package/dist/components/Library/TextField/TextField.demo.svelte.d.ts +8 -0
- package/dist/components/Library/TextField/TextField.svelte +154 -0
- package/dist/components/Library/TextField/TextField.svelte.d.ts +19 -0
- package/dist/components/Library/TextField/index.d.ts +1 -0
- package/dist/components/Library/TextField/index.js +1 -0
- package/dist/components/Library/{TokenSearchInput/TokenSearchInput.demo.svelte → TokenSearchField/TokenSearchField.demo.svelte} +4 -4
- package/dist/components/Library/TokenSearchField/TokenSearchField.demo.svelte.d.ts +9 -0
- package/dist/components/Library/{TokenSearchInput/TokenSearchInput.svelte → TokenSearchField/TokenSearchField.svelte} +70 -66
- package/dist/components/Library/{TokenSearchInput/TokenSearchInput.svelte.d.ts → TokenSearchField/TokenSearchField.svelte.d.ts} +3 -3
- package/dist/components/Library/TokenSearchField/index.d.ts +1 -0
- package/dist/components/Library/TokenSearchField/index.js +1 -0
- package/dist/components/Library/VStack/VStack.svelte +45 -0
- package/dist/components/Library/VStack/VStack.svelte.d.ts +9 -0
- package/dist/components/Library/VStack/index.d.ts +1 -0
- package/dist/components/Library/VStack/index.js +1 -0
- package/dist/components/Library/WheelPicker/WheelColumn.svelte +4 -10
- package/dist/components/Library/WheelPicker/WheelPicker.svelte +5 -9
- package/dist/components/Local/ComponentGrid.svelte +15 -31
- package/dist/components/Local/HeroCard.svelte +30 -38
- package/dist/components/Local/HeroCard.svelte.d.ts +0 -2
- package/dist/components/Local/StyleControls.svelte +58 -27
- package/dist/components/Local/StyleControls.svelte.d.ts +3 -1
- package/dist/index.d.ts +26 -2
- package/dist/index.js +19 -2
- package/dist/style/index.css +35 -20
- package/dist/style/label.d.ts +6 -0
- package/dist/style/label.js +4 -0
- package/dist/style/layout.d.ts +57 -0
- package/dist/style/layout.js +128 -0
- package/dist/style/media.d.ts +12 -0
- package/dist/style/media.js +8 -0
- package/dist/style/scroll.d.ts +7 -0
- package/dist/style/scroll.js +5 -0
- package/dist/style/text-editor.d.ts +34 -0
- package/dist/style/text-editor.js +29 -0
- package/dist/style.css +112 -58
- package/package.json +1 -1
- package/dist/components/Library/Dropdown/types.d.ts +0 -27
- package/dist/components/Library/SearchInput/SearchInput.demo.svelte.d.ts +0 -8
- package/dist/components/Library/SearchInput/index.d.ts +0 -1
- package/dist/components/Library/SearchInput/index.js +0 -1
- package/dist/components/Library/TokenSearchInput/TokenSearchInput.demo.svelte.d.ts +0 -9
- package/dist/components/Library/TokenSearchInput/index.d.ts +0 -1
- package/dist/components/Library/TokenSearchInput/index.js +0 -1
- /package/dist/components/Library/{Dropdown → ImageMask}/types.js +0 -0
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
type Props = {
|
|
7
7
|
columns: WheelColumnData[];
|
|
8
8
|
height?: number | string;
|
|
9
|
-
} & StyleProps &
|
|
9
|
+
} & StyleProps &
|
|
10
|
+
Record<string, unknown>;
|
|
10
11
|
|
|
11
12
|
const toCssLength = (value: number | string | undefined) =>
|
|
12
13
|
value === undefined ? undefined : typeof value === 'number' ? `${value}px` : value;
|
|
@@ -23,7 +24,6 @@
|
|
|
23
24
|
const heightStyle = `--wheel-picker-height: ${resolvedHeight};`;
|
|
24
25
|
return rootStyle ? `${rootStyle} ${heightStyle}` : heightStyle;
|
|
25
26
|
});
|
|
26
|
-
|
|
27
27
|
</script>
|
|
28
28
|
|
|
29
29
|
<div class="wheel-picker vstack" style={pickerStyle} {...props}>
|
|
@@ -47,11 +47,7 @@
|
|
|
47
47
|
class="wheel-picker-column"
|
|
48
48
|
style={`--wheel-picker-column-flex: ${column.options.length <= 3 ? 0.85 : 1};`}
|
|
49
49
|
>
|
|
50
|
-
<WheelColumn
|
|
51
|
-
options={column.options}
|
|
52
|
-
value={column.value}
|
|
53
|
-
onChange={column.onChange}
|
|
54
|
-
/>
|
|
50
|
+
<WheelColumn options={column.options} value={column.value} onChange={column.onChange} />
|
|
55
51
|
</div>
|
|
56
52
|
{/each}
|
|
57
53
|
</div>
|
|
@@ -99,7 +95,7 @@
|
|
|
99
95
|
height: var(--wheel-picker-option-height);
|
|
100
96
|
transform: translateY(-50%);
|
|
101
97
|
border-radius: var(--sveltely-border-radius);
|
|
102
|
-
background: color-mix(in oklab, var(--
|
|
98
|
+
background: color-mix(in oklab, var(--sveltely-inactive-color) 85%, white);
|
|
103
99
|
pointer-events: none;
|
|
104
100
|
z-index: 0;
|
|
105
101
|
}
|
|
@@ -109,6 +105,6 @@
|
|
|
109
105
|
font-size: calc(var(--wheel-picker-font-size) * 0.75);
|
|
110
106
|
line-height: 1;
|
|
111
107
|
font-weight: 500;
|
|
112
|
-
color: var(--
|
|
108
|
+
color: var(--sveltely-secondary-color);
|
|
113
109
|
}
|
|
114
110
|
</style>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Component } from 'svelte';
|
|
3
|
+
import Grid from '../Library/Grid';
|
|
4
|
+
import GridItem from '../Library/GridItem';
|
|
3
5
|
import HeroCard from './HeroCard.svelte';
|
|
4
6
|
|
|
5
7
|
type DemoEntry = {
|
|
@@ -17,38 +19,20 @@
|
|
|
17
19
|
let { demos }: Props = $props();
|
|
18
20
|
</script>
|
|
19
21
|
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
<Grid
|
|
23
|
+
columns="repeat(auto-fit, minmax(min(100%, 18rem), 1fr))"
|
|
24
|
+
autoRows={14}
|
|
25
|
+
gap={1}
|
|
26
|
+
paddingX="calc(var(--sveltely-padding-x) * 2)"
|
|
27
|
+
paddingY="calc(var(--sveltely-padding-y) * 2)"
|
|
28
|
+
overflow="auto"
|
|
23
29
|
>
|
|
24
30
|
{#each demos as entry}
|
|
25
31
|
{@const DemoComponent = entry.component}
|
|
26
|
-
<
|
|
27
|
-
title={entry.name}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
>
|
|
32
|
-
<DemoComponent />
|
|
33
|
-
</HeroCard>
|
|
32
|
+
<GridItem columnSpan={entry.columnSpan ?? 1} rowSpan={entry.rowSpan ?? 1}>
|
|
33
|
+
<HeroCard title={entry.name} description={entry.description}>
|
|
34
|
+
<DemoComponent />
|
|
35
|
+
</HeroCard>
|
|
36
|
+
</GridItem>
|
|
34
37
|
{/each}
|
|
35
|
-
</
|
|
36
|
-
|
|
37
|
-
<style>
|
|
38
|
-
.component-grid :global(.hero-card) {
|
|
39
|
-
--sveltely-border-width: 1px;
|
|
40
|
-
min-height: 14rem;
|
|
41
|
-
border: 1px solid var(--sveltely-border-color);
|
|
42
|
-
border-radius: 0.75rem;
|
|
43
|
-
align-items: stretch;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.component-grid :global(.hero-card h1) {
|
|
47
|
-
font-size: 1rem;
|
|
48
|
-
line-height: 1.5rem;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.component-grid :global(.hero-card p) {
|
|
52
|
-
max-width: none;
|
|
53
|
-
}
|
|
54
|
-
</style>
|
|
38
|
+
</Grid>
|
|
@@ -1,61 +1,53 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
|
+
import HStack from '../Library/HStack';
|
|
4
|
+
import VStack from '../Library/VStack';
|
|
3
5
|
|
|
4
6
|
type Props = {
|
|
5
7
|
title?: string;
|
|
6
8
|
description?: string;
|
|
7
9
|
children?: Snippet;
|
|
8
|
-
columnSpan?: 1 | 2;
|
|
9
|
-
rowSpan?: 1 | 2;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
let {
|
|
13
|
-
title,
|
|
14
|
-
description = '',
|
|
15
|
-
children,
|
|
16
|
-
columnSpan = 1,
|
|
17
|
-
rowSpan = 1
|
|
18
|
-
}: Props = $props();
|
|
12
|
+
let { title, description = '', children }: Props = $props();
|
|
19
13
|
</script>
|
|
20
14
|
|
|
21
|
-
<
|
|
15
|
+
<VStack
|
|
16
|
+
minHeight={14}
|
|
17
|
+
height="100%"
|
|
18
|
+
shrink={0}
|
|
19
|
+
align="stretch"
|
|
20
|
+
gap={0.5}
|
|
21
|
+
border="1px solid var(--sveltely-border-color)"
|
|
22
|
+
borderRadius={0.75}
|
|
23
|
+
background="var(--sveltely-background-color)"
|
|
24
|
+
paddingX={1.5}
|
|
25
|
+
paddingY={1.5}
|
|
26
|
+
>
|
|
22
27
|
{#if title}
|
|
23
|
-
<h1 class="text-3xl font-semibold tracking-tight text-
|
|
28
|
+
<h1 class="text-3xl font-semibold tracking-tight text-[var(--sveltely-primary-color)]">
|
|
29
|
+
{title}
|
|
30
|
+
</h1>
|
|
24
31
|
{#if description}
|
|
25
|
-
<p class="max-w-3xl text-sm text-
|
|
32
|
+
<p class="max-w-3xl text-sm text-[var(--sveltely-secondary-color)]">{description}</p>
|
|
26
33
|
{/if}
|
|
27
34
|
{/if}
|
|
28
|
-
<
|
|
29
|
-
class="hero-card-content center flex"
|
|
30
|
-
>
|
|
35
|
+
<VStack grow shrink overflow="hidden" paddingX={0} paddingY={0}>
|
|
31
36
|
{#if children}
|
|
32
|
-
|
|
37
|
+
<HStack minWidth="min-content" minHeight="100%" align="center" justify="center">
|
|
38
|
+
{@render children()}
|
|
39
|
+
</HStack>
|
|
33
40
|
{/if}
|
|
34
|
-
</
|
|
35
|
-
</
|
|
41
|
+
</VStack>
|
|
42
|
+
</VStack>
|
|
36
43
|
|
|
37
44
|
<style>
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
--hero-card-inset: max(var(--hero-card-inset-x), var(--hero-card-inset-y));
|
|
42
|
-
--sveltely-nested-inset: var(--hero-card-inset);
|
|
43
|
-
background: white;
|
|
44
|
-
padding: 1.5rem 1.5rem;
|
|
45
|
+
h1 {
|
|
46
|
+
font-size: 1rem;
|
|
47
|
+
line-height: 1.5rem;
|
|
45
48
|
}
|
|
46
49
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
flex: 1 1 auto;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
@media (min-width: 48rem) {
|
|
53
|
-
.hero-card[data-column-span='2'] {
|
|
54
|
-
grid-column: span 2;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.hero-card[data-row-span='2'] {
|
|
58
|
-
grid-row: span 2;
|
|
59
|
-
}
|
|
50
|
+
p {
|
|
51
|
+
max-width: none;
|
|
60
52
|
}
|
|
61
53
|
</style>
|
|
@@ -10,8 +10,10 @@
|
|
|
10
10
|
inset?: number;
|
|
11
11
|
borderColor?: string;
|
|
12
12
|
primaryColor?: string;
|
|
13
|
+
secondaryColor?: string;
|
|
13
14
|
activeColor?: string;
|
|
14
15
|
inactiveColor?: string;
|
|
16
|
+
backgroundColor?: string;
|
|
15
17
|
};
|
|
16
18
|
|
|
17
19
|
let {
|
|
@@ -23,81 +25,110 @@
|
|
|
23
25
|
inset = $bindable(0.25),
|
|
24
26
|
borderColor = $bindable('#e4e4e7'),
|
|
25
27
|
primaryColor = $bindable('#18181b'),
|
|
28
|
+
secondaryColor = $bindable('#71717a'),
|
|
26
29
|
activeColor = $bindable('#18181b'),
|
|
27
|
-
inactiveColor = $bindable('#
|
|
30
|
+
inactiveColor = $bindable('#18181b'),
|
|
31
|
+
backgroundColor = $bindable('#ffffff')
|
|
28
32
|
}: Props = $props();
|
|
29
33
|
</script>
|
|
30
34
|
|
|
31
|
-
<div
|
|
32
|
-
|
|
35
|
+
<div
|
|
36
|
+
class="vstack gap-3 text-sm text-[var(--sveltely-primary-color)]"
|
|
37
|
+
style="--sveltely-border-radius: 0.75rem;"
|
|
38
|
+
>
|
|
39
|
+
<div class="font-semibold tracking-wide text-[var(--sveltely-secondary-color)] uppercase">
|
|
40
|
+
Controls
|
|
41
|
+
</div>
|
|
33
42
|
<div class="vstack gap-2">
|
|
34
|
-
<div class="hstack items-center justify-between gap-3
|
|
43
|
+
<div class="hstack items-center justify-between gap-3">
|
|
35
44
|
<span class="font-medium">Font size</span>
|
|
36
|
-
<span class="text-
|
|
45
|
+
<span class="text-[var(--sveltely-secondary-color)]">{fontSize.toFixed(2)}rem</span>
|
|
37
46
|
</div>
|
|
38
47
|
<Slider bind:value={fontSize} min={0.5} max={2} step={0.05} />
|
|
39
48
|
</div>
|
|
40
49
|
<div class="vstack gap-2">
|
|
41
|
-
<div class="hstack items-center justify-between gap-3
|
|
50
|
+
<div class="hstack items-center justify-between gap-3">
|
|
42
51
|
<span class="font-medium">Border radius</span>
|
|
43
|
-
<span class="text-
|
|
52
|
+
<span class="text-[var(--sveltely-secondary-color)]">{borderRadius.toFixed(2)}rem</span>
|
|
44
53
|
</div>
|
|
45
54
|
<Slider bind:value={borderRadius} min={0} max={3} step={0.05} />
|
|
46
55
|
</div>
|
|
47
56
|
<div class="vstack gap-2">
|
|
48
|
-
<div class="hstack items-center justify-between gap-3
|
|
57
|
+
<div class="hstack items-center justify-between gap-3">
|
|
49
58
|
<span class="font-medium">Padding X</span>
|
|
50
|
-
<span class="text-
|
|
59
|
+
<span class="text-[var(--sveltely-secondary-color)]">{paddingX.toFixed(2)}rem</span>
|
|
51
60
|
</div>
|
|
52
61
|
<Slider bind:value={paddingX} min={0} max={2} step="any" />
|
|
53
62
|
</div>
|
|
54
63
|
<div class="vstack gap-2">
|
|
55
|
-
<div class="hstack items-center justify-between gap-3
|
|
64
|
+
<div class="hstack items-center justify-between gap-3">
|
|
56
65
|
<span class="font-medium">Padding Y</span>
|
|
57
|
-
<span class="text-
|
|
66
|
+
<span class="text-[var(--sveltely-secondary-color)]">{paddingY.toFixed(2)}rem</span>
|
|
58
67
|
</div>
|
|
59
68
|
<Slider bind:value={paddingY} min={0} max={2} step="any" />
|
|
60
69
|
</div>
|
|
61
70
|
<div class="vstack gap-2">
|
|
62
|
-
<div class="hstack items-center justify-between gap-3
|
|
71
|
+
<div class="hstack items-center justify-between gap-3">
|
|
63
72
|
<span class="font-medium">Gap</span>
|
|
64
|
-
<span class="text-
|
|
73
|
+
<span class="text-[var(--sveltely-secondary-color)]">{gap.toFixed(2)}rem</span>
|
|
65
74
|
</div>
|
|
66
75
|
<Slider bind:value={gap} min={0} max={2} step="any" />
|
|
67
76
|
</div>
|
|
68
77
|
<div class="vstack gap-2">
|
|
69
|
-
<div class="hstack items-center justify-between gap-3
|
|
78
|
+
<div class="hstack items-center justify-between gap-3">
|
|
70
79
|
<span class="font-medium">Inset</span>
|
|
71
|
-
<span class="text-
|
|
80
|
+
<span class="text-[var(--sveltely-secondary-color)]">{inset.toFixed(2)}rem</span>
|
|
72
81
|
</div>
|
|
73
82
|
<Slider bind:value={inset} min={0} max={1} step="any" />
|
|
74
83
|
</div>
|
|
75
84
|
<div class="vstack gap-2">
|
|
76
|
-
<div class="hstack items-center justify-between gap-3
|
|
77
|
-
<span class="font-medium">
|
|
78
|
-
<span class="text-
|
|
85
|
+
<div class="hstack items-center justify-between gap-3">
|
|
86
|
+
<span class="font-medium">Primary color</span>
|
|
87
|
+
<span class="text-[var(--sveltely-secondary-color)]">{primaryColor}</span>
|
|
79
88
|
</div>
|
|
80
89
|
<input
|
|
81
|
-
bind:value={
|
|
90
|
+
bind:value={primaryColor}
|
|
82
91
|
type="color"
|
|
83
92
|
class="h-10 w-full cursor-pointer rounded-md border border-zinc-200 bg-white p-1"
|
|
84
93
|
/>
|
|
85
94
|
</div>
|
|
86
95
|
<div class="vstack gap-2">
|
|
87
|
-
<div class="hstack items-center justify-between gap-3
|
|
88
|
-
<span class="font-medium">
|
|
89
|
-
<span class="text-
|
|
96
|
+
<div class="hstack items-center justify-between gap-3">
|
|
97
|
+
<span class="font-medium">Secondary color</span>
|
|
98
|
+
<span class="text-[var(--sveltely-secondary-color)]">{secondaryColor}</span>
|
|
90
99
|
</div>
|
|
91
100
|
<input
|
|
92
|
-
bind:value={
|
|
101
|
+
bind:value={secondaryColor}
|
|
102
|
+
type="color"
|
|
103
|
+
class="h-10 w-full cursor-pointer rounded-md border border-zinc-200 bg-white p-1"
|
|
104
|
+
/>
|
|
105
|
+
</div>
|
|
106
|
+
<div class="vstack gap-2">
|
|
107
|
+
<div class="hstack items-center justify-between gap-3">
|
|
108
|
+
<span class="font-medium">Background color</span>
|
|
109
|
+
<span class="text-[var(--sveltely-secondary-color)]">{backgroundColor}</span>
|
|
110
|
+
</div>
|
|
111
|
+
<input
|
|
112
|
+
bind:value={backgroundColor}
|
|
113
|
+
type="color"
|
|
114
|
+
class="h-10 w-full cursor-pointer rounded-md border border-zinc-200 bg-white p-1"
|
|
115
|
+
/>
|
|
116
|
+
</div>
|
|
117
|
+
<div class="vstack gap-2">
|
|
118
|
+
<div class="hstack items-center justify-between gap-3">
|
|
119
|
+
<span class="font-medium">Border color</span>
|
|
120
|
+
<span class="text-[var(--sveltely-secondary-color)]">{borderColor}</span>
|
|
121
|
+
</div>
|
|
122
|
+
<input
|
|
123
|
+
bind:value={borderColor}
|
|
93
124
|
type="color"
|
|
94
125
|
class="h-10 w-full cursor-pointer rounded-md border border-zinc-200 bg-white p-1"
|
|
95
126
|
/>
|
|
96
127
|
</div>
|
|
97
128
|
<div class="vstack gap-2">
|
|
98
|
-
<div class="hstack items-center justify-between gap-3
|
|
129
|
+
<div class="hstack items-center justify-between gap-3">
|
|
99
130
|
<span class="font-medium">Active color</span>
|
|
100
|
-
<span class="text-
|
|
131
|
+
<span class="text-[var(--sveltely-secondary-color)]">{activeColor}</span>
|
|
101
132
|
</div>
|
|
102
133
|
<input
|
|
103
134
|
bind:value={activeColor}
|
|
@@ -106,9 +137,9 @@
|
|
|
106
137
|
/>
|
|
107
138
|
</div>
|
|
108
139
|
<div class="vstack gap-2">
|
|
109
|
-
<div class="hstack items-center justify-between gap-3
|
|
140
|
+
<div class="hstack items-center justify-between gap-3">
|
|
110
141
|
<span class="font-medium">Inactive color</span>
|
|
111
|
-
<span class="text-
|
|
142
|
+
<span class="text-[var(--sveltely-secondary-color)]">{inactiveColor}</span>
|
|
112
143
|
</div>
|
|
113
144
|
<input
|
|
114
145
|
bind:value={inactiveColor}
|
|
@@ -7,9 +7,11 @@ type Props = {
|
|
|
7
7
|
inset?: number;
|
|
8
8
|
borderColor?: string;
|
|
9
9
|
primaryColor?: string;
|
|
10
|
+
secondaryColor?: string;
|
|
10
11
|
activeColor?: string;
|
|
11
12
|
inactiveColor?: string;
|
|
13
|
+
backgroundColor?: string;
|
|
12
14
|
};
|
|
13
|
-
declare const StyleControls: import("svelte").Component<Props, {}, "borderColor" | "borderRadius" | "fontSize" | "gap" | "inset" | "paddingX" | "paddingY" | "primaryColor" | "activeColor" | "inactiveColor">;
|
|
15
|
+
declare const StyleControls: import("svelte").Component<Props, {}, "backgroundColor" | "borderColor" | "borderRadius" | "fontSize" | "gap" | "inset" | "paddingX" | "paddingY" | "primaryColor" | "secondaryColor" | "activeColor" | "inactiveColor">;
|
|
14
16
|
type StyleControls = ReturnType<typeof StyleControls>;
|
|
15
17
|
export default StyleControls;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,25 +2,49 @@ export { motion, hover } from './actions/motion';
|
|
|
2
2
|
export { portalHost, portalContent } from './actions/portal';
|
|
3
3
|
export { tooltip } from './actions/tooltip';
|
|
4
4
|
export type { TooltipOptions } from './actions/tooltip';
|
|
5
|
+
export { LayoutAlignment, LayoutJustification, LayoutOverflow, LayoutSize } from './style/layout';
|
|
6
|
+
export type { LayoutAlignmentValue, LayoutJustificationValue, LayoutOverflowValue, LayoutProps, LayoutSizeValue } from './style/layout';
|
|
7
|
+
export { LabelOrientation } from './style/label';
|
|
8
|
+
export type { LabelOrientationValue } from './style/label';
|
|
9
|
+
export { ImageFit, ImageLoading } from './style/media';
|
|
10
|
+
export type { ImageFitValue, ImageLoadingValue } from './style/media';
|
|
11
|
+
export { ScrollAxis } from './style/scroll';
|
|
12
|
+
export type { ScrollAxisValue } from './style/scroll';
|
|
13
|
+
export { TextAlignment, TextFieldType, TextInputMode } from './style/text-editor';
|
|
14
|
+
export type { TextAlignmentValue, TextEditorProps, TextFieldTypeValue, TextInputModeValue } from './style/text-editor';
|
|
5
15
|
export { default as AnimatedNumber } from './components/Library/AnimatedNumber';
|
|
6
16
|
export { default as Button } from './components/Library/Button';
|
|
7
17
|
export { default as Checkbox } from './components/Library/Checkbox';
|
|
8
18
|
export { default as GlowEffect } from './components/Library/GlowEffect';
|
|
19
|
+
export { default as Grid } from './components/Library/Grid';
|
|
20
|
+
export { default as GridItem } from './components/Library/GridItem';
|
|
21
|
+
export { default as HStack } from './components/Library/HStack';
|
|
22
|
+
export { default as Image } from './components/Library/Image';
|
|
23
|
+
export { default as ImageMask } from './components/Library/ImageMask';
|
|
24
|
+
export type { ImageMaskValue } from './components/Library/ImageMask';
|
|
25
|
+
export { default as Label } from './components/Library/Label';
|
|
9
26
|
export { default as NavigationStack } from './components/Library/NavigationStack';
|
|
27
|
+
export { default as NumberField } from './components/Library/NumberField';
|
|
10
28
|
export { default as SegmentedPicker } from './components/Library/SegmentedPicker';
|
|
11
29
|
export { default as Pagination } from './components/Library/Pagination';
|
|
12
30
|
export { default as Dropdown } from './components/Library/Dropdown';
|
|
31
|
+
export { default as Divider } from './components/Library/Divider';
|
|
32
|
+
export { default as ForEach } from './components/Library/ForEach';
|
|
13
33
|
export { default as TimePicker } from './components/Library/TimePicker';
|
|
14
34
|
export { default as WheelPicker } from './components/Library/WheelPicker';
|
|
15
35
|
export { default as Slider } from './components/Library/Slider';
|
|
16
36
|
export { default as Switch } from './components/Library/Switch';
|
|
17
37
|
export { default as Sheet } from './components/Library/Sheet';
|
|
38
|
+
export { default as Spacer } from './components/Library/Spacer';
|
|
18
39
|
export { default as Spinner } from './components/Library/Spinner';
|
|
19
40
|
export { default as TextShimmer } from './components/Library/TextShimmer';
|
|
41
|
+
export { default as TextField } from './components/Library/TextField';
|
|
20
42
|
export { default as Popover } from './components/Library/Popover';
|
|
21
43
|
export { default as ChipInput } from './components/Library/ChipInput';
|
|
22
44
|
export { default as Calendar } from './components/Library/Calendar';
|
|
23
45
|
export { default as AsyncButton } from './components/Library/AsyncButton';
|
|
24
|
-
export { default as
|
|
46
|
+
export { default as SearchField } from './components/Library/SearchField';
|
|
25
47
|
export { default as ScrollView } from './components/Library/ScrollView';
|
|
26
|
-
export {
|
|
48
|
+
export type { ScrollGeometry } from './components/Library/ScrollView';
|
|
49
|
+
export { default as TokenSearchField } from './components/Library/TokenSearchField';
|
|
50
|
+
export { default as VStack } from './components/Library/VStack';
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,42 @@
|
|
|
1
1
|
export { motion, hover } from './actions/motion';
|
|
2
2
|
export { portalHost, portalContent } from './actions/portal';
|
|
3
3
|
export { tooltip } from './actions/tooltip';
|
|
4
|
+
export { LayoutAlignment, LayoutJustification, LayoutOverflow, LayoutSize } from './style/layout';
|
|
5
|
+
export { LabelOrientation } from './style/label';
|
|
6
|
+
export { ImageFit, ImageLoading } from './style/media';
|
|
7
|
+
export { ScrollAxis } from './style/scroll';
|
|
8
|
+
export { TextAlignment, TextFieldType, TextInputMode } from './style/text-editor';
|
|
4
9
|
export { default as AnimatedNumber } from './components/Library/AnimatedNumber';
|
|
5
10
|
export { default as Button } from './components/Library/Button';
|
|
6
11
|
export { default as Checkbox } from './components/Library/Checkbox';
|
|
7
12
|
export { default as GlowEffect } from './components/Library/GlowEffect';
|
|
13
|
+
export { default as Grid } from './components/Library/Grid';
|
|
14
|
+
export { default as GridItem } from './components/Library/GridItem';
|
|
15
|
+
export { default as HStack } from './components/Library/HStack';
|
|
16
|
+
export { default as Image } from './components/Library/Image';
|
|
17
|
+
export { default as ImageMask } from './components/Library/ImageMask';
|
|
18
|
+
export { default as Label } from './components/Library/Label';
|
|
8
19
|
export { default as NavigationStack } from './components/Library/NavigationStack';
|
|
20
|
+
export { default as NumberField } from './components/Library/NumberField';
|
|
9
21
|
export { default as SegmentedPicker } from './components/Library/SegmentedPicker';
|
|
10
22
|
export { default as Pagination } from './components/Library/Pagination';
|
|
11
23
|
export { default as Dropdown } from './components/Library/Dropdown';
|
|
24
|
+
export { default as Divider } from './components/Library/Divider';
|
|
25
|
+
export { default as ForEach } from './components/Library/ForEach';
|
|
12
26
|
export { default as TimePicker } from './components/Library/TimePicker';
|
|
13
27
|
export { default as WheelPicker } from './components/Library/WheelPicker';
|
|
14
28
|
export { default as Slider } from './components/Library/Slider';
|
|
15
29
|
export { default as Switch } from './components/Library/Switch';
|
|
16
30
|
export { default as Sheet } from './components/Library/Sheet';
|
|
31
|
+
export { default as Spacer } from './components/Library/Spacer';
|
|
17
32
|
export { default as Spinner } from './components/Library/Spinner';
|
|
18
33
|
export { default as TextShimmer } from './components/Library/TextShimmer';
|
|
34
|
+
export { default as TextField } from './components/Library/TextField';
|
|
19
35
|
export { default as Popover } from './components/Library/Popover';
|
|
20
36
|
export { default as ChipInput } from './components/Library/ChipInput';
|
|
21
37
|
export { default as Calendar } from './components/Library/Calendar';
|
|
22
38
|
export { default as AsyncButton } from './components/Library/AsyncButton';
|
|
23
|
-
export { default as
|
|
39
|
+
export { default as SearchField } from './components/Library/SearchField';
|
|
24
40
|
export { default as ScrollView } from './components/Library/ScrollView';
|
|
25
|
-
export { default as
|
|
41
|
+
export { default as TokenSearchField } from './components/Library/TokenSearchField';
|
|
42
|
+
export { default as VStack } from './components/Library/VStack';
|
package/dist/style/index.css
CHANGED
|
@@ -7,15 +7,17 @@
|
|
|
7
7
|
:root {
|
|
8
8
|
--sveltely-font-size: 1rem;
|
|
9
9
|
--sveltely-border-radius: 0.75rem;
|
|
10
|
-
--sveltely-inset:
|
|
10
|
+
--sveltely-inset: 0.25rem;
|
|
11
11
|
--sveltely-nested-inset: var(--sveltely-inset);
|
|
12
12
|
--sveltely-padding-x: 0.75rem;
|
|
13
13
|
--sveltely-padding-y: 0.75rem;
|
|
14
14
|
--sveltely-gap: 0.5rem;
|
|
15
15
|
--sveltely-primary-color: var(--color-zinc-900);
|
|
16
|
-
--sveltely-
|
|
17
|
-
--sveltely-
|
|
18
|
-
--sveltely-
|
|
16
|
+
--sveltely-secondary-color: var(--color-zinc-500);
|
|
17
|
+
--sveltely-active-color: var(--color-zinc-900);
|
|
18
|
+
--sveltely-inactive-color: var(--sveltely-active-color);
|
|
19
|
+
--sveltely-background-color: white;
|
|
20
|
+
--sveltely-hover-color: color-mix(in oklab, var(--sveltely-active-color) 5%, transparent);
|
|
19
21
|
--sveltely-inactive-hover-color: color-mix(in oklab, var(--sveltely-inactive-color) 88%, white);
|
|
20
22
|
--sveltely-active-hover-color: color-mix(in oklab, var(--sveltely-active-color) 88%, white);
|
|
21
23
|
--sveltely-border-radius-nested: clamp(
|
|
@@ -29,6 +31,8 @@
|
|
|
29
31
|
html,
|
|
30
32
|
body {
|
|
31
33
|
@apply size-full overflow-hidden;
|
|
34
|
+
background: var(--sveltely-background-color);
|
|
35
|
+
color: var(--sveltely-primary-color);
|
|
32
36
|
-webkit-user-select: none;
|
|
33
37
|
user-select: none;
|
|
34
38
|
}
|
|
@@ -48,6 +52,14 @@
|
|
|
48
52
|
background-clip: padding-box;
|
|
49
53
|
}
|
|
50
54
|
|
|
55
|
+
button {
|
|
56
|
+
cursor: pointer;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
button:disabled {
|
|
60
|
+
cursor: not-allowed;
|
|
61
|
+
}
|
|
62
|
+
|
|
51
63
|
input::-webkit-search-decoration,
|
|
52
64
|
input::-webkit-search-cancel-button,
|
|
53
65
|
input::-webkit-search-results-button,
|
|
@@ -88,23 +100,26 @@
|
|
|
88
100
|
@apply flex min-h-0 min-w-0 flex-row;
|
|
89
101
|
}
|
|
90
102
|
|
|
91
|
-
.
|
|
92
|
-
|
|
103
|
+
.button,
|
|
104
|
+
.async-button,
|
|
105
|
+
.segmented-picker,
|
|
106
|
+
.switch,
|
|
107
|
+
.checkbox,
|
|
108
|
+
.search-field,
|
|
109
|
+
.token-search-field,
|
|
110
|
+
.chip-input,
|
|
111
|
+
.dropdown,
|
|
112
|
+
.pagination,
|
|
113
|
+
.calendar,
|
|
114
|
+
.wheel-picker,
|
|
115
|
+
.time-picker,
|
|
116
|
+
.slider,
|
|
117
|
+
.spinner,
|
|
118
|
+
.image,
|
|
119
|
+
.image-mask,
|
|
120
|
+
.text-shimmer {
|
|
121
|
+
flex-shrink: 0;
|
|
93
122
|
}
|
|
94
|
-
|
|
95
|
-
.divider {
|
|
96
|
-
@apply bg-gray-200/70;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.hstack > .divider {
|
|
101
|
-
width: 1px;
|
|
102
|
-
align-self: stretch;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.vstack > .divider {
|
|
106
|
-
height: 1px;
|
|
107
|
-
width: 100%;
|
|
108
123
|
}
|
|
109
124
|
|
|
110
125
|
.overflow-auto > .vstack,
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
type StringWithAutocomplete<T extends string> = T | (string & {});
|
|
2
|
+
export declare const LayoutSize: {
|
|
3
|
+
readonly full: "full";
|
|
4
|
+
readonly fit: "fit";
|
|
5
|
+
};
|
|
6
|
+
export declare const LayoutOverflow: {
|
|
7
|
+
readonly visible: "visible";
|
|
8
|
+
readonly hidden: "hidden";
|
|
9
|
+
readonly clip: "clip";
|
|
10
|
+
readonly auto: "auto";
|
|
11
|
+
readonly scroll: "scroll";
|
|
12
|
+
};
|
|
13
|
+
export declare const LayoutAlignment: {
|
|
14
|
+
readonly start: "start";
|
|
15
|
+
readonly center: "center";
|
|
16
|
+
readonly end: "end";
|
|
17
|
+
readonly stretch: "stretch";
|
|
18
|
+
readonly baseline: "baseline";
|
|
19
|
+
};
|
|
20
|
+
export declare const LayoutJustification: {
|
|
21
|
+
readonly start: "start";
|
|
22
|
+
readonly center: "center";
|
|
23
|
+
readonly end: "end";
|
|
24
|
+
readonly between: "between";
|
|
25
|
+
readonly around: "around";
|
|
26
|
+
readonly evenly: "evenly";
|
|
27
|
+
};
|
|
28
|
+
export type LayoutSizeValue = (typeof LayoutSize)[keyof typeof LayoutSize];
|
|
29
|
+
export type LayoutOverflowValue = (typeof LayoutOverflow)[keyof typeof LayoutOverflow];
|
|
30
|
+
export type LayoutAlignmentValue = (typeof LayoutAlignment)[keyof typeof LayoutAlignment];
|
|
31
|
+
export type LayoutJustificationValue = (typeof LayoutJustification)[keyof typeof LayoutJustification];
|
|
32
|
+
export type LayoutSize = StringWithAutocomplete<LayoutSizeValue> | number;
|
|
33
|
+
export type LayoutOverflow = LayoutOverflowValue;
|
|
34
|
+
export type LayoutAlignment = LayoutAlignmentValue;
|
|
35
|
+
export type LayoutJustification = LayoutJustificationValue;
|
|
36
|
+
export type LayoutProps = {
|
|
37
|
+
size?: LayoutSize;
|
|
38
|
+
width?: number | string;
|
|
39
|
+
height?: number | string;
|
|
40
|
+
minWidth?: number | string;
|
|
41
|
+
minHeight?: number | string;
|
|
42
|
+
maxWidth?: number | string;
|
|
43
|
+
maxHeight?: number | string;
|
|
44
|
+
grow?: boolean | number;
|
|
45
|
+
shrink?: boolean | number;
|
|
46
|
+
basis?: number | string;
|
|
47
|
+
border?: boolean | string;
|
|
48
|
+
overflow?: LayoutOverflow;
|
|
49
|
+
align?: LayoutAlignment;
|
|
50
|
+
justify?: LayoutJustification;
|
|
51
|
+
};
|
|
52
|
+
export declare const extractLayoutProps: <T extends Record<string, unknown>>(props: T) => {
|
|
53
|
+
layoutProps: Partial<LayoutProps>;
|
|
54
|
+
restProps: Record<string, unknown>;
|
|
55
|
+
};
|
|
56
|
+
export declare const layoutStyle: (styles?: LayoutProps) => string;
|
|
57
|
+
export {};
|