@r2digisolutions/components 0.3.1 → 0.3.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/atoms/Grid/Grid.stories.d.ts +9 -1
- package/dist/components/atoms/Grid/Grid.stories.js +3 -0
- package/dist/components/atoms/Grid/Grid.svelte +103 -2
- package/dist/components/atoms/Grid/Grid.svelte.d.ts +9 -1
- package/dist/components/atoms/Grid/GridStory.svelte +17 -3
- package/dist/components/atoms/Grid/GridStory.svelte.d.ts +10 -1
- package/dist/components/organisms/DataGrid/DataGrid.svelte +2 -3
- package/package.json +1 -1
|
@@ -2,7 +2,14 @@ import type { StoryObj } from '@storybook/svelte';
|
|
|
2
2
|
declare const meta: {
|
|
3
3
|
title: string;
|
|
4
4
|
component: import("svelte").Component<{
|
|
5
|
-
cols?: 1 | 2 | 3 | 4
|
|
5
|
+
cols?: (1 | 2 | 9 | 3 | 4 | 8 | 5 | 6 | 7 | 10 | 11 | 12) | {
|
|
6
|
+
base?: 1 | 2 | 9 | 3 | 4 | 8 | 5 | 6 | 7 | 10 | 11 | 12;
|
|
7
|
+
sm?: 1 | 2 | 9 | 3 | 4 | 8 | 5 | 6 | 7 | 10 | 11 | 12;
|
|
8
|
+
md?: 1 | 2 | 9 | 3 | 4 | 8 | 5 | 6 | 7 | 10 | 11 | 12;
|
|
9
|
+
lg?: 1 | 2 | 9 | 3 | 4 | 8 | 5 | 6 | 7 | 10 | 11 | 12;
|
|
10
|
+
xl?: 1 | 2 | 9 | 3 | 4 | 8 | 5 | 6 | 7 | 10 | 11 | 12;
|
|
11
|
+
'2xl'?: 1 | 2 | 9 | 3 | 4 | 8 | 5 | 6 | 7 | 10 | 11 | 12;
|
|
12
|
+
};
|
|
6
13
|
}, {}, "">;
|
|
7
14
|
tags: string[];
|
|
8
15
|
argTypes: {
|
|
@@ -19,3 +26,4 @@ export default meta;
|
|
|
19
26
|
type Story = StoryObj<typeof meta>;
|
|
20
27
|
export declare const Default: Story;
|
|
21
28
|
export declare const TwoColumns: Story;
|
|
29
|
+
export declare const Responsive: Story;
|
|
@@ -4,8 +4,19 @@
|
|
|
4
4
|
type GridGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5
5
|
type GridCols = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
6
6
|
|
|
7
|
+
type GridColsConfig =
|
|
8
|
+
| GridCols
|
|
9
|
+
| {
|
|
10
|
+
base?: GridCols;
|
|
11
|
+
sm?: GridCols;
|
|
12
|
+
md?: GridCols;
|
|
13
|
+
lg?: GridCols;
|
|
14
|
+
xl?: GridCols;
|
|
15
|
+
'2xl'?: GridCols;
|
|
16
|
+
};
|
|
17
|
+
|
|
7
18
|
interface GridProps {
|
|
8
|
-
cols?:
|
|
19
|
+
cols?: GridColsConfig;
|
|
9
20
|
gap?: GridGap;
|
|
10
21
|
class?: string;
|
|
11
22
|
children?: Snippet;
|
|
@@ -36,8 +47,98 @@
|
|
|
36
47
|
11: 'grid-cols-11',
|
|
37
48
|
12: 'grid-cols-12'
|
|
38
49
|
};
|
|
50
|
+
|
|
51
|
+
const smColClasses: Record<GridCols, string> = {
|
|
52
|
+
1: 'sm:grid-cols-1',
|
|
53
|
+
2: 'sm:grid-cols-2',
|
|
54
|
+
3: 'sm:grid-cols-3',
|
|
55
|
+
4: 'sm:grid-cols-4',
|
|
56
|
+
5: 'sm:grid-cols-5',
|
|
57
|
+
6: 'sm:grid-cols-6',
|
|
58
|
+
7: 'sm:grid-cols-7',
|
|
59
|
+
8: 'sm:grid-cols-8',
|
|
60
|
+
9: 'sm:grid-cols-9',
|
|
61
|
+
10: 'sm:grid-cols-10',
|
|
62
|
+
11: 'sm:grid-cols-11',
|
|
63
|
+
12: 'sm:grid-cols-12'
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const mdColClasses: Record<GridCols, string> = {
|
|
67
|
+
1: 'md:grid-cols-1',
|
|
68
|
+
2: 'md:grid-cols-2',
|
|
69
|
+
3: 'md:grid-cols-3',
|
|
70
|
+
4: 'md:grid-cols-4',
|
|
71
|
+
5: 'md:grid-cols-5',
|
|
72
|
+
6: 'md:grid-cols-6',
|
|
73
|
+
7: 'md:grid-cols-7',
|
|
74
|
+
8: 'md:grid-cols-8',
|
|
75
|
+
9: 'md:grid-cols-9',
|
|
76
|
+
10: 'md:grid-cols-10',
|
|
77
|
+
11: 'md:grid-cols-11',
|
|
78
|
+
12: 'md:grid-cols-12'
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const lgColClasses: Record<GridCols, string> = {
|
|
82
|
+
1: 'lg:grid-cols-1',
|
|
83
|
+
2: 'lg:grid-cols-2',
|
|
84
|
+
3: 'lg:grid-cols-3',
|
|
85
|
+
4: 'lg:grid-cols-4',
|
|
86
|
+
5: 'lg:grid-cols-5',
|
|
87
|
+
6: 'lg:grid-cols-6',
|
|
88
|
+
7: 'lg:grid-cols-7',
|
|
89
|
+
8: 'lg:grid-cols-8',
|
|
90
|
+
9: 'lg:grid-cols-9',
|
|
91
|
+
10: 'lg:grid-cols-10',
|
|
92
|
+
11: 'lg:grid-cols-11',
|
|
93
|
+
12: 'lg:grid-cols-12'
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
const xlColClasses: Record<GridCols, string> = {
|
|
97
|
+
1: 'xl:grid-cols-1',
|
|
98
|
+
2: 'xl:grid-cols-2',
|
|
99
|
+
3: 'xl:grid-cols-3',
|
|
100
|
+
4: 'xl:grid-cols-4',
|
|
101
|
+
5: 'xl:grid-cols-5',
|
|
102
|
+
6: 'xl:grid-cols-6',
|
|
103
|
+
7: 'xl:grid-cols-7',
|
|
104
|
+
8: 'xl:grid-cols-8',
|
|
105
|
+
9: 'xl:grid-cols-9',
|
|
106
|
+
10: 'xl:grid-cols-10',
|
|
107
|
+
11: 'xl:grid-cols-11',
|
|
108
|
+
12: 'xl:grid-cols-12'
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const twoxlColClasses: Record<GridCols, string> = {
|
|
112
|
+
1: '2xl:grid-cols-1',
|
|
113
|
+
2: '2xl:grid-cols-2',
|
|
114
|
+
3: '2xl:grid-cols-3',
|
|
115
|
+
4: '2xl:grid-cols-4',
|
|
116
|
+
5: '2xl:grid-cols-5',
|
|
117
|
+
6: '2xl:grid-cols-6',
|
|
118
|
+
7: '2xl:grid-cols-7',
|
|
119
|
+
8: '2xl:grid-cols-8',
|
|
120
|
+
9: '2xl:grid-cols-9',
|
|
121
|
+
10: '2xl:grid-cols-10',
|
|
122
|
+
11: '2xl:grid-cols-11',
|
|
123
|
+
12: '2xl:grid-cols-12'
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
const resolved = $derived(typeof cols === 'number' ? { base: cols } : cols);
|
|
127
|
+
const baseCols = $derived(resolved.base ?? 3);
|
|
39
128
|
</script>
|
|
40
129
|
|
|
41
|
-
<div
|
|
130
|
+
<div
|
|
131
|
+
class={[
|
|
132
|
+
'grid',
|
|
133
|
+
colClasses[baseCols],
|
|
134
|
+
resolved.sm != null && smColClasses[resolved.sm],
|
|
135
|
+
resolved.md != null && mdColClasses[resolved.md],
|
|
136
|
+
resolved.lg != null && lgColClasses[resolved.lg],
|
|
137
|
+
resolved.xl != null && xlColClasses[resolved.xl],
|
|
138
|
+
resolved['2xl'] != null && twoxlColClasses[resolved['2xl']],
|
|
139
|
+
gaps[gap],
|
|
140
|
+
className
|
|
141
|
+
]}
|
|
142
|
+
>
|
|
42
143
|
{#if children}{@render children()}{/if}
|
|
43
144
|
</div>
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
2
|
type GridGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3
3
|
type GridCols = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
4
|
+
type GridColsConfig = GridCols | {
|
|
5
|
+
base?: GridCols;
|
|
6
|
+
sm?: GridCols;
|
|
7
|
+
md?: GridCols;
|
|
8
|
+
lg?: GridCols;
|
|
9
|
+
xl?: GridCols;
|
|
10
|
+
'2xl'?: GridCols;
|
|
11
|
+
};
|
|
4
12
|
interface GridProps {
|
|
5
|
-
cols?:
|
|
13
|
+
cols?: GridColsConfig;
|
|
6
14
|
gap?: GridGap;
|
|
7
15
|
class?: string;
|
|
8
16
|
children?: Snippet;
|
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import Grid from './Grid.svelte';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
type GridCols = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
5
|
+
type GridColsConfig =
|
|
6
|
+
| GridCols
|
|
7
|
+
| {
|
|
8
|
+
base?: GridCols;
|
|
9
|
+
sm?: GridCols;
|
|
10
|
+
md?: GridCols;
|
|
11
|
+
lg?: GridCols;
|
|
12
|
+
xl?: GridCols;
|
|
13
|
+
'2xl'?: GridCols;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
let props = $props<{ cols?: GridColsConfig }>();
|
|
5
17
|
</script>
|
|
6
18
|
|
|
7
|
-
<Grid cols={props.cols ?? 3} gap="md" class="w-full max-w-
|
|
19
|
+
<Grid cols={props.cols ?? 3} gap="md" class="w-full max-w-3xl">
|
|
8
20
|
{#each [1, 2, 3, 4, 5, 6] as n}
|
|
9
|
-
<div
|
|
21
|
+
<div
|
|
22
|
+
class="rounded-lg border border-border bg-surface-elevated px-3 py-6 text-center text-sm text-secondary"
|
|
23
|
+
>
|
|
10
24
|
{n}
|
|
11
25
|
</div>
|
|
12
26
|
{/each}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
type GridCols = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
2
|
+
type GridColsConfig = GridCols | {
|
|
3
|
+
base?: GridCols;
|
|
4
|
+
sm?: GridCols;
|
|
5
|
+
md?: GridCols;
|
|
6
|
+
lg?: GridCols;
|
|
7
|
+
xl?: GridCols;
|
|
8
|
+
'2xl'?: GridCols;
|
|
9
|
+
};
|
|
1
10
|
type $$ComponentProps = {
|
|
2
|
-
cols?:
|
|
11
|
+
cols?: GridColsConfig;
|
|
3
12
|
};
|
|
4
13
|
declare const GridStory: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
5
14
|
type GridStory = ReturnType<typeof GridStory>;
|
|
@@ -256,9 +256,8 @@
|
|
|
256
256
|
let contextTarget = $state<CellRef | null>(null);
|
|
257
257
|
let contextOpen = $state(false);
|
|
258
258
|
let contextAnchor = $state<ContextMenuAnchor | null>(null);
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
);
|
|
259
|
+
/** Same on SSR + first client paint to avoid hydration mismatch; real width set in $effect. */
|
|
260
|
+
let viewportWidth = $state(1280);
|
|
262
261
|
let filterColumnDraft = $state('');
|
|
263
262
|
let filterValueDraft = $state('');
|
|
264
263
|
|