@sentropic/design-system-svelte 0.34.49 → 0.34.51
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/README.md +62 -0
- package/dist/AnomalySwimLaneChart.svelte +10 -1
- package/dist/AnomalySwimLaneChart.svelte.d.ts +2 -0
- package/dist/AnomalySwimLaneChart.svelte.d.ts.map +1 -1
- package/dist/AppShell.svelte +284 -28
- package/dist/AppShell.svelte.d.ts +23 -3
- package/dist/AppShell.svelte.d.ts.map +1 -1
- package/dist/CalendarHeatmapChart.svelte +11 -1
- package/dist/CalendarHeatmapChart.svelte.d.ts +2 -0
- package/dist/CalendarHeatmapChart.svelte.d.ts.map +1 -1
- package/dist/Combobox.svelte +5 -1
- package/dist/Combobox.svelte.d.ts.map +1 -1
- package/dist/ContextPanel.svelte +86 -0
- package/dist/ContextPanel.svelte.d.ts +14 -0
- package/dist/ContextPanel.svelte.d.ts.map +1 -0
- package/dist/ContourChart.svelte +76 -13
- package/dist/ContourChart.svelte.d.ts +3 -1
- package/dist/ContourChart.svelte.d.ts.map +1 -1
- package/dist/Dashboard.svelte +155 -0
- package/dist/Dashboard.svelte.d.ts +21 -0
- package/dist/Dashboard.svelte.d.ts.map +1 -0
- package/dist/DashboardGrid.svelte +237 -0
- package/dist/DashboardGrid.svelte.d.ts +24 -0
- package/dist/DashboardGrid.svelte.d.ts.map +1 -0
- package/dist/DataTable.svelte +3 -1
- package/dist/DataTable.svelte.d.ts +1 -0
- package/dist/DataTable.svelte.d.ts.map +1 -1
- package/dist/DatePicker.svelte +33 -28
- package/dist/DatePicker.svelte.d.ts.map +1 -1
- package/dist/Density2DChart.svelte +10 -1
- package/dist/Density2DChart.svelte.d.ts +2 -0
- package/dist/Density2DChart.svelte.d.ts.map +1 -1
- package/dist/Dropdown.svelte +33 -9
- package/dist/Dropdown.svelte.d.ts.map +1 -1
- package/dist/EventFeedPanel.svelte +3 -3
- package/dist/EventFeedPanel.svelte.d.ts +1 -1
- package/dist/EventFeedPanel.svelte.d.ts.map +1 -1
- package/dist/FileUploader.svelte +7 -3
- package/dist/Footer.svelte +75 -11
- package/dist/Footer.svelte.d.ts +16 -6
- package/dist/Footer.svelte.d.ts.map +1 -1
- package/dist/ForceGraph.svelte +9 -3
- package/dist/ForceGraph.svelte.d.ts +4 -0
- package/dist/ForceGraph.svelte.d.ts.map +1 -1
- package/dist/HeatmapChart.svelte +39 -3
- package/dist/HeatmapChart.svelte.d.ts +4 -1
- package/dist/HeatmapChart.svelte.d.ts.map +1 -1
- package/dist/KanbanBoard.svelte +144 -0
- package/dist/KanbanBoard.svelte.d.ts +23 -0
- package/dist/KanbanBoard.svelte.d.ts.map +1 -0
- package/dist/ListReportPage.svelte +184 -0
- package/dist/ListReportPage.svelte.d.ts +46 -0
- package/dist/ListReportPage.svelte.d.ts.map +1 -0
- package/dist/MasterDetail.svelte +267 -0
- package/dist/MasterDetail.svelte.d.ts +35 -0
- package/dist/MasterDetail.svelte.d.ts.map +1 -0
- package/dist/NavDrawer.svelte +46 -0
- package/dist/NavDrawer.svelte.d.ts +17 -0
- package/dist/NavDrawer.svelte.d.ts.map +1 -0
- package/dist/NavItem.svelte +3 -5
- package/dist/NavItem.svelte.d.ts.map +1 -1
- package/dist/NavRail.svelte +147 -0
- package/dist/NavRail.svelte.d.ts +23 -0
- package/dist/NavRail.svelte.d.ts.map +1 -0
- package/dist/NavShell.svelte +218 -0
- package/dist/NavShell.svelte.d.ts +38 -0
- package/dist/NavShell.svelte.d.ts.map +1 -0
- package/dist/ObjectPage.svelte +222 -0
- package/dist/ObjectPage.svelte.d.ts +46 -0
- package/dist/ObjectPage.svelte.d.ts.map +1 -0
- package/dist/OrderedList.svelte +7 -12
- package/dist/OrderedList.svelte.d.ts.map +1 -1
- package/dist/PointAndFigureChart.svelte +18 -11
- package/dist/PointAndFigureChart.svelte.d.ts +1 -1
- package/dist/PointAndFigureChart.svelte.d.ts.map +1 -1
- package/dist/RenkoChart.svelte +40 -13
- package/dist/RenkoChart.svelte.d.ts +1 -1
- package/dist/RenkoChart.svelte.d.ts.map +1 -1
- package/dist/SelectableRow.svelte +16 -5
- package/dist/SelectableRow.svelte.d.ts +2 -0
- package/dist/SelectableRow.svelte.d.ts.map +1 -1
- package/dist/UtilityPanel.svelte +89 -0
- package/dist/UtilityPanel.svelte.d.ts +18 -0
- package/dist/UtilityPanel.svelte.d.ts.map +1 -0
- package/dist/VectorFieldChart.svelte +5 -5
- package/dist/VectorFieldChart.svelte.d.ts +1 -1
- package/dist/VectorFieldChart.svelte.d.ts.map +1 -1
- package/dist/WindBarbChart.svelte +5 -5
- package/dist/WindBarbChart.svelte.d.ts +1 -1
- package/dist/WindBarbChart.svelte.d.ts.map +1 -1
- package/dist/Wizard.svelte +125 -0
- package/dist/Wizard.svelte.d.ts +25 -0
- package/dist/Wizard.svelte.d.ts.map +1 -0
- package/dist/index.d.ts +35 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectPage.svelte.d.ts","sourceRoot":"","sources":["../src/lib/ObjectPage.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC,CAAC;AAgGJ,QAAA,MAAM,UAAU,qDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
package/dist/OrderedList.svelte
CHANGED
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
}
|
|
42
42
|
</script>
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
{#each
|
|
44
|
+
{#snippet renderItems(list: OrderedListInput[])}
|
|
45
|
+
{#each list as raw, index (index)}
|
|
46
46
|
{@const item = normalize(raw)}
|
|
47
47
|
<li class="st-orderedList__item">
|
|
48
48
|
{#if isSnippet(item.content)}
|
|
@@ -52,20 +52,15 @@
|
|
|
52
52
|
{/if}
|
|
53
53
|
{#if item.children && item.children.length > 0}
|
|
54
54
|
<ol class="st-orderedList st-orderedList--nested">
|
|
55
|
-
{
|
|
56
|
-
{@const child = normalize(childRaw)}
|
|
57
|
-
<li class="st-orderedList__item">
|
|
58
|
-
{#if isSnippet(child.content)}
|
|
59
|
-
{@render child.content()}
|
|
60
|
-
{:else}
|
|
61
|
-
{child.content}
|
|
62
|
-
{/if}
|
|
63
|
-
</li>
|
|
64
|
-
{/each}
|
|
55
|
+
{@render renderItems(item.children)}
|
|
65
56
|
</ol>
|
|
66
57
|
{/if}
|
|
67
58
|
</li>
|
|
68
59
|
{/each}
|
|
60
|
+
{/snippet}
|
|
61
|
+
|
|
62
|
+
<ol {...rest} class={classes()}>
|
|
63
|
+
{@render renderItems(items)}
|
|
69
64
|
</ol>
|
|
70
65
|
|
|
71
66
|
<style>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderedList.svelte.d.ts","sourceRoot":"","sources":["../src/lib/OrderedList.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,eAAe,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,GAAG;IACxE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"OrderedList.svelte.d.ts","sourceRoot":"","sources":["../src/lib/OrderedList.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,eAAe,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,GAAG;IACxE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAuDJ,QAAA,MAAM,WAAW,sDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
|
|
@@ -30,12 +30,8 @@
|
|
|
30
30
|
/** Prix de clôture : pilote la formation des colonnes. */
|
|
31
31
|
close: number;
|
|
32
32
|
};
|
|
33
|
-
</script>
|
|
34
|
-
|
|
35
|
-
<script lang="ts">
|
|
36
|
-
import ChartDataList from "./ChartDataList.svelte";
|
|
37
33
|
|
|
38
|
-
type PointAndFigureChartProps = {
|
|
34
|
+
export type PointAndFigureChartProps = {
|
|
39
35
|
data: PointAndFigureChartDatum[];
|
|
40
36
|
boxSize?: number;
|
|
41
37
|
reversal?: number;
|
|
@@ -45,6 +41,10 @@
|
|
|
45
41
|
size?: number;
|
|
46
42
|
class?: string;
|
|
47
43
|
};
|
|
44
|
+
</script>
|
|
45
|
+
|
|
46
|
+
<script lang="ts">
|
|
47
|
+
import ChartDataList from "./ChartDataList.svelte";
|
|
48
48
|
|
|
49
49
|
let {
|
|
50
50
|
data = [],
|
|
@@ -126,16 +126,23 @@
|
|
|
126
126
|
// Indice de case (entier) d'un prix : quantifié sur la grille de `box`.
|
|
127
127
|
const boxIndex = (price: number) => Math.floor((price - baseMin) / box + 1e-9);
|
|
128
128
|
|
|
129
|
+
const firstBoxIndex = boxIndex(closes[0]);
|
|
129
130
|
let mark: PointAndFigureChartMark | null = null;
|
|
130
|
-
let low =
|
|
131
|
-
let high =
|
|
131
|
+
let low = firstBoxIndex;
|
|
132
|
+
let high = firstBoxIndex;
|
|
132
133
|
|
|
133
|
-
for (let i =
|
|
134
|
+
for (let i = 1; i < closes.length; i++) {
|
|
134
135
|
const idx = boxIndex(closes[i]);
|
|
135
136
|
if (mark === null) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
if (idx >= firstBoxIndex + 1) {
|
|
138
|
+
mark = "x";
|
|
139
|
+
low = firstBoxIndex;
|
|
140
|
+
high = idx;
|
|
141
|
+
} else if (idx <= firstBoxIndex - 1) {
|
|
142
|
+
mark = "o";
|
|
143
|
+
low = idx;
|
|
144
|
+
high = firstBoxIndex;
|
|
145
|
+
}
|
|
139
146
|
continue;
|
|
140
147
|
}
|
|
141
148
|
if (mark === "x") {
|
|
@@ -28,7 +28,7 @@ export type PointAndFigureChartDatum = {
|
|
|
28
28
|
/** Prix de clôture : pilote la formation des colonnes. */
|
|
29
29
|
close: number;
|
|
30
30
|
};
|
|
31
|
-
type PointAndFigureChartProps = {
|
|
31
|
+
export type PointAndFigureChartProps = {
|
|
32
32
|
data: PointAndFigureChartDatum[];
|
|
33
33
|
boxSize?: number;
|
|
34
34
|
reversal?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointAndFigureChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/PointAndFigureChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,uBAAuB,GAAG,GAAG,GAAG,GAAG,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG;IACrC,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;
|
|
1
|
+
{"version":3,"file":"PointAndFigureChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/PointAndFigureChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,uBAAuB,GAAG,GAAG,GAAG,GAAG,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG;IACrC,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,wBAAwB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAuRJ,QAAA,MAAM,mBAAmB,8DAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}
|
package/dist/RenkoChart.svelte
CHANGED
|
@@ -30,12 +30,8 @@
|
|
|
30
30
|
/** Prix de clôture : pilote la formation des briques. */
|
|
31
31
|
close: number;
|
|
32
32
|
};
|
|
33
|
-
</script>
|
|
34
|
-
|
|
35
|
-
<script lang="ts">
|
|
36
|
-
import ChartDataList from "./ChartDataList.svelte";
|
|
37
33
|
|
|
38
|
-
type RenkoChartProps = {
|
|
34
|
+
export type RenkoChartProps = {
|
|
39
35
|
data: RenkoChartDatum[];
|
|
40
36
|
boxSize?: number;
|
|
41
37
|
label?: string;
|
|
@@ -44,6 +40,10 @@
|
|
|
44
40
|
size?: number;
|
|
45
41
|
class?: string;
|
|
46
42
|
};
|
|
43
|
+
</script>
|
|
44
|
+
|
|
45
|
+
<script lang="ts">
|
|
46
|
+
import ChartDataList from "./ChartDataList.svelte";
|
|
47
47
|
|
|
48
48
|
let {
|
|
49
49
|
data = [],
|
|
@@ -107,31 +107,58 @@
|
|
|
107
107
|
|
|
108
108
|
// Construit les briques Renko. Chaque brique couvre [bottom, top] (hauteur
|
|
109
109
|
// boxSize) ; on en émet une à chaque franchissement de `box`. L'inversion
|
|
110
|
-
// exige 2×box
|
|
110
|
+
// exige 2×box : la première brique du nouveau sens repart un cran au-delà de
|
|
111
|
+
// la dernière brique du sens précédent.
|
|
111
112
|
const bricks = $derived.by(() => {
|
|
112
113
|
const box = effectiveBox;
|
|
113
114
|
const out: { bottom: number; top: number; direction: RenkoChartDirection }[] = [];
|
|
114
115
|
if (validData.length === 0 || box <= 0) return out;
|
|
115
116
|
|
|
116
|
-
// Niveau de référence :
|
|
117
|
+
// Niveau de référence : extrémité de la dernière brique posée.
|
|
117
118
|
let base = validData[0].close;
|
|
118
119
|
let direction: RenkoChartDirection | null = null;
|
|
119
120
|
|
|
120
121
|
for (let i = 1; i < validData.length; i++) {
|
|
121
122
|
const price = validData[i].close;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
base
|
|
126
|
-
|
|
123
|
+
|
|
124
|
+
if (direction !== "down") {
|
|
125
|
+
// Briques haussières tant que le prix monte d'au moins un `box`.
|
|
126
|
+
while (price >= base + box) {
|
|
127
|
+
out.push({ bottom: base, top: base + box, direction: "up" });
|
|
128
|
+
base += box;
|
|
129
|
+
direction = "up";
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (direction === "up") {
|
|
134
|
+
// Inversion haussière -> baissière : il faut franchir 2×box.
|
|
135
|
+
if (price <= base - 2 * box) {
|
|
136
|
+
base -= box;
|
|
137
|
+
do {
|
|
138
|
+
out.push({ bottom: base - box, top: base, direction: "down" });
|
|
139
|
+
base -= box;
|
|
140
|
+
direction = "down";
|
|
141
|
+
} while (price <= base - box);
|
|
142
|
+
}
|
|
143
|
+
continue;
|
|
127
144
|
}
|
|
145
|
+
|
|
128
146
|
// Briques baissières tant que le prix descend d'au moins un `box`.
|
|
129
147
|
while (price <= base - box) {
|
|
130
148
|
out.push({ bottom: base - box, top: base, direction: "down" });
|
|
131
149
|
base -= box;
|
|
132
150
|
direction = "down";
|
|
133
151
|
}
|
|
134
|
-
|
|
152
|
+
|
|
153
|
+
if (direction === "down" && price >= base + 2 * box) {
|
|
154
|
+
// Inversion baissière -> haussière : il faut franchir 2×box.
|
|
155
|
+
base += box;
|
|
156
|
+
do {
|
|
157
|
+
out.push({ bottom: base, top: base + box, direction: "up" });
|
|
158
|
+
base += box;
|
|
159
|
+
direction = "up";
|
|
160
|
+
} while (price >= base + box);
|
|
161
|
+
}
|
|
135
162
|
}
|
|
136
163
|
return out;
|
|
137
164
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenkoChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/RenkoChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,MAAM,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;
|
|
1
|
+
{"version":3,"file":"RenkoChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/RenkoChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,MAAM,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAgPJ,QAAA,MAAM,UAAU,qDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
|
@@ -43,6 +43,8 @@
|
|
|
43
43
|
disabled?: boolean;
|
|
44
44
|
/** Stable value, surfaced as `data-value` and used by the list for `value`. */
|
|
45
45
|
value?: string;
|
|
46
|
+
/** Native link target. When set on a standalone row, the row renders as an anchor. */
|
|
47
|
+
href?: string;
|
|
46
48
|
/**
|
|
47
49
|
* ARIA role for the standalone row. Defaults to "button" for standalone use —
|
|
48
50
|
* "option" is only valid inside a listbox and would be invalid without one.
|
|
@@ -82,6 +84,7 @@
|
|
|
82
84
|
onselect,
|
|
83
85
|
disabled = false,
|
|
84
86
|
value,
|
|
87
|
+
href,
|
|
85
88
|
role = "button",
|
|
86
89
|
accentBar = false,
|
|
87
90
|
leading,
|
|
@@ -122,7 +125,8 @@
|
|
|
122
125
|
const isSelected = $derived(list && el ? list.isSelected(el) : selected);
|
|
123
126
|
|
|
124
127
|
// Effective role: a managed row is always an "option" inside the listbox.
|
|
125
|
-
const effectiveRole = $derived(list ? list.itemRole : role);
|
|
128
|
+
const effectiveRole = $derived(list ? list.itemRole : href ? undefined : role);
|
|
129
|
+
const rowTag = $derived(href ? "a" : "div");
|
|
126
130
|
|
|
127
131
|
// Roving tabindex: in a list, exactly one enabled row is the tab stop (0), the
|
|
128
132
|
// rest are -1. Standalone enabled rows are always tabbable (0). Disabled = -1.
|
|
@@ -143,8 +147,12 @@
|
|
|
143
147
|
.join(" ")
|
|
144
148
|
);
|
|
145
149
|
|
|
146
|
-
function activate() {
|
|
147
|
-
if (disabled)
|
|
150
|
+
function activate(event?: MouseEvent) {
|
|
151
|
+
if (disabled) {
|
|
152
|
+
event?.preventDefault();
|
|
153
|
+
event?.stopPropagation();
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
148
156
|
if (list && el) {
|
|
149
157
|
list.activate(el);
|
|
150
158
|
return;
|
|
@@ -155,6 +163,7 @@
|
|
|
155
163
|
|
|
156
164
|
function handleKeydown(e: KeyboardEvent) {
|
|
157
165
|
if (disabled) return;
|
|
166
|
+
if (href && !list) return;
|
|
158
167
|
if (e.key === "Enter" || e.key === " ") {
|
|
159
168
|
e.preventDefault();
|
|
160
169
|
activate();
|
|
@@ -186,9 +195,11 @@
|
|
|
186
195
|
tabindex is correct; the role is dynamic, which the static a11y check cannot
|
|
187
196
|
verify, hence the targeted ignore. -->
|
|
188
197
|
<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
|
|
189
|
-
<
|
|
198
|
+
<svelte:element
|
|
199
|
+
this={rowTag}
|
|
190
200
|
bind:this={el}
|
|
191
201
|
class={classes}
|
|
202
|
+
href={href && !disabled ? href : undefined}
|
|
192
203
|
role={effectiveRole}
|
|
193
204
|
aria-selected={effectiveRole === "option" ? isSelected : undefined}
|
|
194
205
|
aria-pressed={effectiveRole === "button" ? isSelected : undefined}
|
|
@@ -216,7 +227,7 @@
|
|
|
216
227
|
{#if trailing}
|
|
217
228
|
<span class="st-selectableRow__trailing">{@render trailing()}</span>
|
|
218
229
|
{/if}
|
|
219
|
-
</
|
|
230
|
+
</svelte:element>
|
|
220
231
|
|
|
221
232
|
<style>
|
|
222
233
|
/* Compact, full-width selectable list/rail row. By DEFAULT the selected state
|
|
@@ -39,6 +39,8 @@ export type SelectableRowProps = {
|
|
|
39
39
|
disabled?: boolean;
|
|
40
40
|
/** Stable value, surfaced as `data-value` and used by the list for `value`. */
|
|
41
41
|
value?: string;
|
|
42
|
+
/** Native link target. When set on a standalone row, the row renders as an anchor. */
|
|
43
|
+
href?: string;
|
|
42
44
|
/**
|
|
43
45
|
* ARIA role for the standalone row. Defaults to "button" for standalone use —
|
|
44
46
|
* "option" is only valid inside a listbox and would be invalid without one.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectableRow.svelte.d.ts","sourceRoot":"","sources":["../src/lib/SelectableRow.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,eAA+B,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG;IAClC,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,wIAAwI;IACxI,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,MAAM,IAAI,CAAC;IACzF,uDAAuD;IACvD,UAAU,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC;IACzC,iFAAiF;IACjF,SAAS,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC;IACxC,6EAA6E;IAC7E,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,wDAAwD;IACxD,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,gDAAgD;IAChD,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectableRow.svelte.d.ts","sourceRoot":"","sources":["../src/lib/SelectableRow.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,eAA+B,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG;IAClC,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,wIAAwI;IACxI,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,MAAM,IAAI,CAAC;IACzF,uDAAuD;IACvD,UAAU,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC;IACzC,iFAAiF;IACjF,SAAS,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC;IACxC,6EAA6E;IAC7E,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,wDAAwD;IACxD,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,gDAAgD;IAChD,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAkJJ,QAAA,MAAM,aAAa,gEAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
|
|
4
|
+
export type UtilityPanelMode = "reserve" | "overlay" | "floating";
|
|
5
|
+
export type UtilityPanelSide = "left" | "right" | "bottom";
|
|
6
|
+
|
|
7
|
+
export interface UtilityPanelProps {
|
|
8
|
+
mode?: UtilityPanelMode;
|
|
9
|
+
side?: UtilityPanelSide;
|
|
10
|
+
title?: string;
|
|
11
|
+
label?: string;
|
|
12
|
+
collapsed?: boolean;
|
|
13
|
+
header?: Snippet;
|
|
14
|
+
footer?: Snippet;
|
|
15
|
+
children?: Snippet;
|
|
16
|
+
class?: string;
|
|
17
|
+
}
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<script lang="ts">
|
|
21
|
+
let {
|
|
22
|
+
mode = "reserve",
|
|
23
|
+
side = "right",
|
|
24
|
+
title,
|
|
25
|
+
label,
|
|
26
|
+
collapsed = false,
|
|
27
|
+
header,
|
|
28
|
+
footer,
|
|
29
|
+
children,
|
|
30
|
+
class: className
|
|
31
|
+
}: UtilityPanelProps = $props();
|
|
32
|
+
|
|
33
|
+
const classes = $derived(["st-utilityPanel", `st-utilityPanel--${mode}`, `st-utilityPanel--${side}`, collapsed && "st-utilityPanel--collapsed", className].filter(Boolean).join(" "));
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
<aside class={classes} aria-label={label ?? title ?? "Utility panel"} data-mode={mode} data-side={side}>
|
|
37
|
+
{#if header || title}
|
|
38
|
+
<header class="st-utilityPanel__header">
|
|
39
|
+
{#if header}{@render header()}{:else}<h2 class="st-utilityPanel__title">{title}</h2>{/if}
|
|
40
|
+
</header>
|
|
41
|
+
{/if}
|
|
42
|
+
{#if !collapsed}
|
|
43
|
+
<div class="st-utilityPanel__body">{@render children?.()}</div>
|
|
44
|
+
{#if footer}<footer class="st-utilityPanel__footer">{@render footer()}</footer>{/if}
|
|
45
|
+
{/if}
|
|
46
|
+
</aside>
|
|
47
|
+
|
|
48
|
+
<style>
|
|
49
|
+
.st-utilityPanel {
|
|
50
|
+
background: var(--st-component-utilityPanel-surface, var(--st-semantic-surface-raised));
|
|
51
|
+
color: var(--st-semantic-text-primary);
|
|
52
|
+
display: grid;
|
|
53
|
+
grid-template-rows: auto 1fr auto;
|
|
54
|
+
block-size: 100%;
|
|
55
|
+
min-block-size: 0;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.st-utilityPanel--floating,
|
|
59
|
+
.st-utilityPanel--overlay {
|
|
60
|
+
box-shadow: var(--st-component-utilityPanel-shadow, 0 18px 45px rgb(15 23 42 / 0.18));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.st-utilityPanel__header,
|
|
64
|
+
.st-utilityPanel__footer {
|
|
65
|
+
border-color: var(--st-component-utilityPanel-border, var(--st-semantic-border-subtle));
|
|
66
|
+
padding: var(--st-spacing-4, 1rem);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.st-utilityPanel__header {
|
|
70
|
+
border-block-end-style: solid;
|
|
71
|
+
border-block-end-width: 1px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.st-utilityPanel__footer {
|
|
75
|
+
border-block-start-style: solid;
|
|
76
|
+
border-block-start-width: 1px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.st-utilityPanel__title {
|
|
80
|
+
font-size: 1rem;
|
|
81
|
+
line-height: 1.3;
|
|
82
|
+
margin: 0;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.st-utilityPanel__body {
|
|
86
|
+
min-block-size: 0;
|
|
87
|
+
overflow: auto;
|
|
88
|
+
}
|
|
89
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
export type UtilityPanelMode = "reserve" | "overlay" | "floating";
|
|
3
|
+
export type UtilityPanelSide = "left" | "right" | "bottom";
|
|
4
|
+
export interface UtilityPanelProps {
|
|
5
|
+
mode?: UtilityPanelMode;
|
|
6
|
+
side?: UtilityPanelSide;
|
|
7
|
+
title?: string;
|
|
8
|
+
label?: string;
|
|
9
|
+
collapsed?: boolean;
|
|
10
|
+
header?: Snippet;
|
|
11
|
+
footer?: Snippet;
|
|
12
|
+
children?: Snippet;
|
|
13
|
+
class?: string;
|
|
14
|
+
}
|
|
15
|
+
declare const UtilityPanel: import("svelte").Component<UtilityPanelProps, {}, "">;
|
|
16
|
+
type UtilityPanel = ReturnType<typeof UtilityPanel>;
|
|
17
|
+
export default UtilityPanel;
|
|
18
|
+
//# sourceMappingURL=UtilityPanel.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UtilityPanel.svelte.d.ts","sourceRoot":"","sources":["../src/lib/UtilityPanel.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoCH,QAAA,MAAM,YAAY,uDAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
|
|
@@ -33,12 +33,8 @@
|
|
|
33
33
|
/** Direction en DEGRÉS (0° = +X, sens trigonométrique). */
|
|
34
34
|
direction: number;
|
|
35
35
|
};
|
|
36
|
-
</script>
|
|
37
|
-
|
|
38
|
-
<script lang="ts">
|
|
39
|
-
import ChartDataList from "./ChartDataList.svelte";
|
|
40
36
|
|
|
41
|
-
type VectorFieldChartProps = {
|
|
37
|
+
export type VectorFieldChartProps = {
|
|
42
38
|
data: VectorFieldChartDatum[];
|
|
43
39
|
label?: string;
|
|
44
40
|
width?: number;
|
|
@@ -46,6 +42,10 @@
|
|
|
46
42
|
size?: number;
|
|
47
43
|
class?: string;
|
|
48
44
|
};
|
|
45
|
+
</script>
|
|
46
|
+
|
|
47
|
+
<script lang="ts">
|
|
48
|
+
import ChartDataList from "./ChartDataList.svelte";
|
|
49
49
|
|
|
50
50
|
let {
|
|
51
51
|
data = [],
|
|
@@ -29,7 +29,7 @@ export type VectorFieldChartDatum = {
|
|
|
29
29
|
/** Direction en DEGRÉS (0° = +X, sens trigonométrique). */
|
|
30
30
|
direction: number;
|
|
31
31
|
};
|
|
32
|
-
type VectorFieldChartProps = {
|
|
32
|
+
export type VectorFieldChartProps = {
|
|
33
33
|
data: VectorFieldChartDatum[];
|
|
34
34
|
label?: string;
|
|
35
35
|
width?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorFieldChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/VectorFieldChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GACrD,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"VectorFieldChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/VectorFieldChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GACrD,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAoMJ,QAAA,MAAM,gBAAgB,2DAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
|
|
@@ -35,12 +35,8 @@
|
|
|
35
35
|
/** Direction (d'où vient le vent) en DEGRÉS (0° = Nord). */
|
|
36
36
|
direction: number;
|
|
37
37
|
};
|
|
38
|
-
</script>
|
|
39
|
-
|
|
40
|
-
<script lang="ts">
|
|
41
|
-
import ChartDataList from "./ChartDataList.svelte";
|
|
42
38
|
|
|
43
|
-
type WindBarbChartProps = {
|
|
39
|
+
export type WindBarbChartProps = {
|
|
44
40
|
data: WindBarbChartDatum[];
|
|
45
41
|
label?: string;
|
|
46
42
|
width?: number;
|
|
@@ -48,6 +44,10 @@
|
|
|
48
44
|
size?: number;
|
|
49
45
|
class?: string;
|
|
50
46
|
};
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<script lang="ts">
|
|
50
|
+
import ChartDataList from "./ChartDataList.svelte";
|
|
51
51
|
|
|
52
52
|
let {
|
|
53
53
|
data = [],
|
|
@@ -31,7 +31,7 @@ export type WindBarbChartDatum = {
|
|
|
31
31
|
/** Direction (d'où vient le vent) en DEGRÉS (0° = Nord). */
|
|
32
32
|
direction: number;
|
|
33
33
|
};
|
|
34
|
-
type WindBarbChartProps = {
|
|
34
|
+
export type WindBarbChartProps = {
|
|
35
35
|
data: WindBarbChartDatum[];
|
|
36
36
|
label?: string;
|
|
37
37
|
width?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindBarbChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/WindBarbChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,iBAAiB,GACzB,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GACrD,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"WindBarbChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/WindBarbChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,iBAAiB,GACzB,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GACrD,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA6NJ,QAAA,MAAM,aAAa,wDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
|
|
4
|
+
export interface WizardStep {
|
|
5
|
+
label: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type WizardProps = {
|
|
10
|
+
stepperLabel?: string;
|
|
11
|
+
steps: WizardStep[];
|
|
12
|
+
currentStep?: number;
|
|
13
|
+
stepTitle: string;
|
|
14
|
+
cancelLabel?: string;
|
|
15
|
+
backLabel?: string;
|
|
16
|
+
nextLabel?: string;
|
|
17
|
+
finishLabel?: string;
|
|
18
|
+
isLast?: boolean;
|
|
19
|
+
children?: Snippet;
|
|
20
|
+
oncancel?: () => void;
|
|
21
|
+
onback?: () => void;
|
|
22
|
+
onnext?: () => void;
|
|
23
|
+
onfinish?: () => void;
|
|
24
|
+
};
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<script lang="ts">
|
|
28
|
+
import Stepper from "./Stepper.svelte";
|
|
29
|
+
import Button from "./Button.svelte";
|
|
30
|
+
|
|
31
|
+
let {
|
|
32
|
+
stepperLabel = "Étapes",
|
|
33
|
+
steps,
|
|
34
|
+
currentStep = 0,
|
|
35
|
+
stepTitle,
|
|
36
|
+
cancelLabel = "Annuler",
|
|
37
|
+
backLabel = "Retour",
|
|
38
|
+
nextLabel = "Suivant",
|
|
39
|
+
finishLabel = "Terminer",
|
|
40
|
+
isLast = false,
|
|
41
|
+
children,
|
|
42
|
+
oncancel,
|
|
43
|
+
onback,
|
|
44
|
+
onnext,
|
|
45
|
+
onfinish,
|
|
46
|
+
}: WizardProps = $props();
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<div class="st-wz">
|
|
50
|
+
<div class="st-wz__stepper">
|
|
51
|
+
<Stepper {steps} current={currentStep} label={stepperLabel} />
|
|
52
|
+
</div>
|
|
53
|
+
<div class="st-wz__body">
|
|
54
|
+
<h3 class="st-wz__stepTitle">{stepTitle}</h3>
|
|
55
|
+
{#if children}
|
|
56
|
+
<div class="st-wz__content">
|
|
57
|
+
{@render children()}
|
|
58
|
+
</div>
|
|
59
|
+
{/if}
|
|
60
|
+
</div>
|
|
61
|
+
<div class="st-wz__footer">
|
|
62
|
+
<div class="st-wz__footerLeft">
|
|
63
|
+
<Button variant="ghost" onclick={oncancel}>{cancelLabel}</Button>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="st-wz__footerRight">
|
|
66
|
+
{#if currentStep > 0}
|
|
67
|
+
<Button variant="secondary" onclick={onback}>{backLabel}</Button>
|
|
68
|
+
{/if}
|
|
69
|
+
{#if isLast}
|
|
70
|
+
<Button variant="primary" onclick={onfinish}>{finishLabel}</Button>
|
|
71
|
+
{:else}
|
|
72
|
+
<Button variant="primary" onclick={onnext}>{nextLabel}</Button>
|
|
73
|
+
{/if}
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<style>
|
|
79
|
+
.st-wz {
|
|
80
|
+
display: grid;
|
|
81
|
+
grid-template-rows: auto 1fr auto;
|
|
82
|
+
min-block-size: 100vh;
|
|
83
|
+
background: var(--st-semantic-surface-default);
|
|
84
|
+
color: var(--st-semantic-text-primary);
|
|
85
|
+
}
|
|
86
|
+
.st-wz__stepper {
|
|
87
|
+
padding: var(--st-spacing-6, 1.5rem);
|
|
88
|
+
border-block-end: 1px solid var(--st-semantic-border-subtle);
|
|
89
|
+
background: var(--st-semantic-surface-raised);
|
|
90
|
+
}
|
|
91
|
+
.st-wz__body {
|
|
92
|
+
display: flex;
|
|
93
|
+
flex-direction: column;
|
|
94
|
+
gap: var(--st-spacing-4, 1rem);
|
|
95
|
+
padding: var(--st-spacing-8, 2rem) var(--st-spacing-6, 1.5rem);
|
|
96
|
+
overflow-y: auto;
|
|
97
|
+
}
|
|
98
|
+
.st-wz__stepTitle {
|
|
99
|
+
font-size: 1.25rem;
|
|
100
|
+
font-weight: 700;
|
|
101
|
+
margin: 0;
|
|
102
|
+
color: var(--st-semantic-text-primary);
|
|
103
|
+
}
|
|
104
|
+
.st-wz__content {
|
|
105
|
+
display: flex;
|
|
106
|
+
flex-direction: column;
|
|
107
|
+
gap: var(--st-spacing-4, 1rem);
|
|
108
|
+
}
|
|
109
|
+
.st-wz__footer {
|
|
110
|
+
display: flex;
|
|
111
|
+
align-items: center;
|
|
112
|
+
justify-content: space-between;
|
|
113
|
+
padding: var(--st-spacing-4, 1rem) var(--st-spacing-6, 1.5rem);
|
|
114
|
+
border-block-start: 1px solid var(--st-semantic-border-subtle);
|
|
115
|
+
background: var(--st-semantic-surface-raised);
|
|
116
|
+
}
|
|
117
|
+
.st-wz__footerLeft {
|
|
118
|
+
display: flex;
|
|
119
|
+
gap: var(--st-spacing-2, 0.5rem);
|
|
120
|
+
}
|
|
121
|
+
.st-wz__footerRight {
|
|
122
|
+
display: flex;
|
|
123
|
+
gap: var(--st-spacing-2, 0.5rem);
|
|
124
|
+
}
|
|
125
|
+
</style>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
export interface WizardStep {
|
|
3
|
+
label: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
}
|
|
6
|
+
export type WizardProps = {
|
|
7
|
+
stepperLabel?: string;
|
|
8
|
+
steps: WizardStep[];
|
|
9
|
+
currentStep?: number;
|
|
10
|
+
stepTitle: string;
|
|
11
|
+
cancelLabel?: string;
|
|
12
|
+
backLabel?: string;
|
|
13
|
+
nextLabel?: string;
|
|
14
|
+
finishLabel?: string;
|
|
15
|
+
isLast?: boolean;
|
|
16
|
+
children?: Snippet;
|
|
17
|
+
oncancel?: () => void;
|
|
18
|
+
onback?: () => void;
|
|
19
|
+
onnext?: () => void;
|
|
20
|
+
onfinish?: () => void;
|
|
21
|
+
};
|
|
22
|
+
declare const Wizard: import("svelte").Component<WizardProps, {}, "">;
|
|
23
|
+
type Wizard = ReturnType<typeof Wizard>;
|
|
24
|
+
export default Wizard;
|
|
25
|
+
//# sourceMappingURL=Wizard.svelte.d.ts.map
|