@sentropic/design-system-svelte 0.34.51 → 0.34.56
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/CopyButton.svelte +9 -3
- package/dist/CopyButton.svelte.d.ts +1 -0
- package/dist/CopyButton.svelte.d.ts.map +1 -1
- package/dist/DataTable.svelte +10 -4
- package/dist/DataTable.svelte.d.ts +1 -0
- package/dist/DataTable.svelte.d.ts.map +1 -1
- package/dist/Dropdown.svelte +7 -2
- package/dist/Dropdown.svelte.d.ts +1 -0
- package/dist/Dropdown.svelte.d.ts.map +1 -1
- package/dist/InlineLoading.svelte +10 -7
- package/dist/InlineLoading.svelte.d.ts +1 -0
- package/dist/InlineLoading.svelte.d.ts.map +1 -1
- package/dist/MultiSelect.svelte +21 -12
- package/dist/MultiSelect.svelte.d.ts +1 -0
- package/dist/MultiSelect.svelte.d.ts.map +1 -1
- package/dist/NavItem.svelte +6 -6
- package/dist/Notification.svelte +8 -3
- package/dist/Notification.svelte.d.ts +1 -0
- package/dist/Notification.svelte.d.ts.map +1 -1
- package/dist/Pagination.svelte +10 -4
- package/dist/Pagination.svelte.d.ts +1 -0
- package/dist/Pagination.svelte.d.ts.map +1 -1
- package/dist/PaginationNav.svelte +10 -4
- package/dist/PaginationNav.svelte.d.ts +1 -0
- package/dist/PaginationNav.svelte.d.ts.map +1 -1
- package/dist/SkeletonText.svelte +8 -1
- package/dist/SkeletonText.svelte.d.ts +2 -0
- package/dist/SkeletonText.svelte.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/CopyButton.svelte
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
type CopyButtonProps = Omit<HTMLButtonAttributes, "class" | "type"> & {
|
|
6
6
|
value: string;
|
|
7
|
+
locale?: string;
|
|
7
8
|
label?: string;
|
|
8
9
|
copiedLabel?: string;
|
|
9
10
|
feedbackTimeoutMs?: number;
|
|
@@ -15,8 +16,9 @@
|
|
|
15
16
|
|
|
16
17
|
let {
|
|
17
18
|
value,
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
locale = "fr-FR",
|
|
20
|
+
label,
|
|
21
|
+
copiedLabel,
|
|
20
22
|
feedbackTimeoutMs = 1500,
|
|
21
23
|
size = "md",
|
|
22
24
|
onCopied,
|
|
@@ -26,6 +28,10 @@
|
|
|
26
28
|
...rest
|
|
27
29
|
}: CopyButtonProps = $props();
|
|
28
30
|
|
|
31
|
+
const isFr = $derived(locale.toLowerCase().startsWith("fr"));
|
|
32
|
+
const resolvedLabel = $derived(label ?? (isFr ? "Copier" : "Copy"));
|
|
33
|
+
const resolvedCopiedLabel = $derived(copiedLabel ?? (isFr ? "Copié" : "Copied"));
|
|
34
|
+
|
|
29
35
|
let copied = $state(false);
|
|
30
36
|
let timeoutId: ReturnType<typeof setTimeout> | undefined;
|
|
31
37
|
|
|
@@ -65,7 +71,7 @@
|
|
|
65
71
|
<Copy size={14} strokeWidth={2} aria-hidden="true" />
|
|
66
72
|
{/if}
|
|
67
73
|
</span>
|
|
68
|
-
<span class="st-copyButton__label">{copied ?
|
|
74
|
+
<span class="st-copyButton__label">{copied ? resolvedCopiedLabel : resolvedLabel}</span>
|
|
69
75
|
</button>
|
|
70
76
|
|
|
71
77
|
<style>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.svelte.d.ts","sourceRoot":"","sources":["../src/lib/CopyButton.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAI1D,KAAK,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,MAAM,CAAC,GAAG;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"CopyButton.svelte.d.ts","sourceRoot":"","sources":["../src/lib/CopyButton.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAI1D,KAAK,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,MAAM,CAAC,GAAG;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA+DJ,QAAA,MAAM,UAAU,qDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
package/dist/DataTable.svelte
CHANGED
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
sortBy?: DataTableSort | null;
|
|
53
53
|
pageSize?: number;
|
|
54
54
|
page?: number;
|
|
55
|
+
locale?: string;
|
|
55
56
|
selectAllLabel?: string;
|
|
56
57
|
selectRowLabel?: string;
|
|
57
58
|
sortAscendingLabel?: string;
|
|
@@ -78,13 +79,14 @@
|
|
|
78
79
|
sortBy = $bindable<DataTableSort | null>(null),
|
|
79
80
|
pageSize,
|
|
80
81
|
page = $bindable(1),
|
|
82
|
+
locale = "fr-FR",
|
|
81
83
|
selectAllLabel = "Select all rows",
|
|
82
84
|
selectRowLabel = "Select row",
|
|
83
85
|
sortAscendingLabel = "Sorted ascending",
|
|
84
86
|
sortDescendingLabel = "Sorted descending",
|
|
85
87
|
sortNoneLabel = "Not sorted",
|
|
86
|
-
previousLabel
|
|
87
|
-
nextLabel
|
|
88
|
+
previousLabel,
|
|
89
|
+
nextLabel,
|
|
88
90
|
paginationLabel = "Pagination",
|
|
89
91
|
rangeLabel = ({ start, end, total }) => `${start}–${end} of ${total}`,
|
|
90
92
|
emptyLabel = "No data",
|
|
@@ -93,6 +95,10 @@
|
|
|
93
95
|
...rest
|
|
94
96
|
}: DataTableProps = $props();
|
|
95
97
|
|
|
98
|
+
const isFr = $derived(locale.toLowerCase().startsWith("fr"));
|
|
99
|
+
const resolvedPreviousLabel = $derived(previousLabel ?? (isFr ? "Précédent" : "Previous"));
|
|
100
|
+
const resolvedNextLabel = $derived(nextLabel ?? (isFr ? "Suivant" : "Next"));
|
|
101
|
+
|
|
96
102
|
const classes = () =>
|
|
97
103
|
["st-dataTable", `st-dataTable--${size}`, className].filter(Boolean).join(" ");
|
|
98
104
|
|
|
@@ -381,7 +387,7 @@
|
|
|
381
387
|
disabled={safePage <= 1}
|
|
382
388
|
onclick={() => goToPage(safePage - 1)}
|
|
383
389
|
>
|
|
384
|
-
{
|
|
390
|
+
{resolvedPreviousLabel}
|
|
385
391
|
</button>
|
|
386
392
|
<span class="st-dataTable__pagerStatus" aria-live="polite">
|
|
387
393
|
{safePage} / {pageCount}
|
|
@@ -392,7 +398,7 @@
|
|
|
392
398
|
disabled={safePage >= pageCount}
|
|
393
399
|
onclick={() => goToPage(safePage + 1)}
|
|
394
400
|
>
|
|
395
|
-
{
|
|
401
|
+
{resolvedNextLabel}
|
|
396
402
|
</button>
|
|
397
403
|
</nav>
|
|
398
404
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.svelte.d.ts","sourceRoot":"","sources":["../src/lib/DataTable.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,YAAY;IAC/C,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;IACf,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAKzD,KAAK,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG;IACzD,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTable.svelte.d.ts","sourceRoot":"","sources":["../src/lib/DataTable.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,YAAY;IAC/C,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;IACf,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAKzD,KAAK,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG;IACzD,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA6SJ,QAAA,MAAM,SAAS,mFAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
|
package/dist/Dropdown.svelte
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
label: string;
|
|
13
13
|
options: DropdownOption[];
|
|
14
14
|
value?: string;
|
|
15
|
+
locale?: string;
|
|
15
16
|
placeholder?: string;
|
|
16
17
|
open?: boolean;
|
|
17
18
|
class?: string;
|
|
@@ -22,13 +23,17 @@
|
|
|
22
23
|
label,
|
|
23
24
|
options,
|
|
24
25
|
value,
|
|
25
|
-
|
|
26
|
+
locale = "fr-FR",
|
|
27
|
+
placeholder,
|
|
26
28
|
open = false,
|
|
27
29
|
class: className,
|
|
28
30
|
onselect,
|
|
29
31
|
...rest
|
|
30
32
|
}: DropdownProps = $props();
|
|
31
33
|
|
|
34
|
+
const isFr = $derived(locale.toLowerCase().startsWith("fr"));
|
|
35
|
+
const resolvedPlaceholder = $derived(placeholder ?? (isFr ? "Sélectionner" : "Select"));
|
|
36
|
+
|
|
32
37
|
let host: HTMLDivElement | undefined = $state();
|
|
33
38
|
let buttonEl: HTMLButtonElement | undefined = $state();
|
|
34
39
|
let expanded = $state(false);
|
|
@@ -38,7 +43,7 @@
|
|
|
38
43
|
let listPos = $state({ top: 0, left: 0, width: 0 });
|
|
39
44
|
|
|
40
45
|
const classes = () => ["st-dropdown", className].filter(Boolean).join(" ");
|
|
41
|
-
const selectedLabel = () => options.find((option) => option.value === currentValue)?.label ??
|
|
46
|
+
const selectedLabel = () => options.find((option) => option.value === currentValue)?.label ?? resolvedPlaceholder;
|
|
42
47
|
|
|
43
48
|
function updateListPos() {
|
|
44
49
|
if (!buttonEl) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.svelte.d.ts","sourceRoot":"","sources":["../src/lib/Dropdown.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CAAC;
|
|
1
|
+
{"version":3,"file":"Dropdown.svelte.d.ts","sourceRoot":"","sources":["../src/lib/Dropdown.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CAAC;AAgHJ,QAAA,MAAM,QAAQ,mDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
|
|
@@ -5,24 +5,27 @@
|
|
|
5
5
|
type InlineLoadingProps = Omit<HTMLAttributes<HTMLDivElement>, "class"> & {
|
|
6
6
|
label?: string;
|
|
7
7
|
status?: "active" | "success" | "error" | "inactive";
|
|
8
|
+
locale?: string;
|
|
8
9
|
class?: string;
|
|
9
10
|
};
|
|
10
11
|
|
|
11
|
-
const FALLBACK_LABELS = {
|
|
12
|
-
active: "Loading",
|
|
13
|
-
success: "Completed",
|
|
14
|
-
error: "Error",
|
|
15
|
-
inactive: "Inactive"
|
|
16
|
-
} as const;
|
|
17
|
-
|
|
18
12
|
let {
|
|
19
13
|
label,
|
|
20
14
|
status = "active",
|
|
15
|
+
locale = "fr-FR",
|
|
21
16
|
class: className,
|
|
22
17
|
"aria-label": ariaLabel,
|
|
23
18
|
...rest
|
|
24
19
|
}: InlineLoadingProps = $props();
|
|
25
20
|
|
|
21
|
+
const isFr = $derived(locale.toLowerCase().startsWith("fr"));
|
|
22
|
+
const FALLBACK_LABELS = $derived({
|
|
23
|
+
active: isFr ? "Chargement" : "Loading",
|
|
24
|
+
success: isFr ? "Terminé" : "Completed",
|
|
25
|
+
error: isFr ? "Erreur" : "Error",
|
|
26
|
+
inactive: isFr ? "Inactif" : "Inactive",
|
|
27
|
+
});
|
|
28
|
+
|
|
26
29
|
const classes = () =>
|
|
27
30
|
["st-inlineLoading", `st-inlineLoading--${status}`, className].filter(Boolean).join(" ");
|
|
28
31
|
|
|
@@ -2,6 +2,7 @@ import type { HTMLAttributes } from "svelte/elements";
|
|
|
2
2
|
type InlineLoadingProps = Omit<HTMLAttributes<HTMLDivElement>, "class"> & {
|
|
3
3
|
label?: string;
|
|
4
4
|
status?: "active" | "success" | "error" | "inactive";
|
|
5
|
+
locale?: string;
|
|
5
6
|
class?: string;
|
|
6
7
|
};
|
|
7
8
|
declare const InlineLoading: import("svelte").Component<InlineLoadingProps, {}, "">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineLoading.svelte.d.ts","sourceRoot":"","sources":["../src/lib/InlineLoading.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIpD,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"InlineLoading.svelte.d.ts","sourceRoot":"","sources":["../src/lib/InlineLoading.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIpD,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAiDJ,QAAA,MAAM,aAAa,wDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
|
package/dist/MultiSelect.svelte
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
size?: "sm" | "md" | "lg";
|
|
19
19
|
options: MultiSelectOption[];
|
|
20
20
|
selected?: string[];
|
|
21
|
+
locale?: string;
|
|
21
22
|
placeholder?: string;
|
|
22
23
|
searchPlaceholder?: string;
|
|
23
24
|
noResultsLabel?: string;
|
|
@@ -37,11 +38,12 @@
|
|
|
37
38
|
size = "md",
|
|
38
39
|
options,
|
|
39
40
|
selected = $bindable([]),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
locale = "fr-FR",
|
|
42
|
+
placeholder,
|
|
43
|
+
searchPlaceholder,
|
|
44
|
+
noResultsLabel,
|
|
45
|
+
toggleLabel,
|
|
46
|
+
removeLabel,
|
|
45
47
|
listLabel,
|
|
46
48
|
disabled = false,
|
|
47
49
|
class: className,
|
|
@@ -49,6 +51,13 @@
|
|
|
49
51
|
...rest
|
|
50
52
|
}: MultiSelectProps = $props();
|
|
51
53
|
|
|
54
|
+
const isFr = $derived(locale.toLowerCase().startsWith("fr"));
|
|
55
|
+
const resolvedPlaceholder = $derived(placeholder ?? (isFr ? "Sélectionner des éléments" : "Select items"));
|
|
56
|
+
const resolvedSearchPlaceholder = $derived(searchPlaceholder ?? (isFr ? "Filtrer" : "Filter"));
|
|
57
|
+
const resolvedNoResultsLabel = $derived(noResultsLabel ?? (isFr ? "Aucun résultat" : "No results"));
|
|
58
|
+
const resolvedToggleLabel = $derived(toggleLabel ?? (isFr ? "Afficher les options" : "Toggle options"));
|
|
59
|
+
const resolvedRemoveLabel = $derived(removeLabel ?? (isFr ? "Supprimer" : "Remove"));
|
|
60
|
+
|
|
52
61
|
let expanded = $state(false);
|
|
53
62
|
let query = $state("");
|
|
54
63
|
|
|
@@ -112,7 +121,7 @@
|
|
|
112
121
|
<button
|
|
113
122
|
type="button"
|
|
114
123
|
class="st-multiSelect__tagRemove"
|
|
115
|
-
aria-label={`${
|
|
124
|
+
aria-label={`${resolvedRemoveLabel} ${option.label}`}
|
|
116
125
|
{disabled}
|
|
117
126
|
onclick={() => removeOption(option.value)}
|
|
118
127
|
>
|
|
@@ -132,9 +141,9 @@
|
|
|
132
141
|
onclick={toggleOpen}
|
|
133
142
|
>
|
|
134
143
|
{#if selectedOptions.length === 0}
|
|
135
|
-
<span class="st-multiSelect__placeholder">{
|
|
144
|
+
<span class="st-multiSelect__placeholder">{resolvedPlaceholder}</span>
|
|
136
145
|
{:else}
|
|
137
|
-
<span class="st-multiSelect__count">{selectedOptions.length} selected</span>
|
|
146
|
+
<span class="st-multiSelect__count">{selectedOptions.length} {isFr ? "sélectionné(s)" : "selected"}</span>
|
|
138
147
|
{/if}
|
|
139
148
|
<span class="st-multiSelect__caret" aria-hidden="true">
|
|
140
149
|
<ChevronDown
|
|
@@ -143,7 +152,7 @@
|
|
|
143
152
|
strokeWidth={2.25}
|
|
144
153
|
/>
|
|
145
154
|
</span>
|
|
146
|
-
<span class="st-visually-hidden">{
|
|
155
|
+
<span class="st-visually-hidden">{resolvedToggleLabel}</span>
|
|
147
156
|
</button>
|
|
148
157
|
</span>
|
|
149
158
|
{#if expanded}
|
|
@@ -151,13 +160,13 @@
|
|
|
151
160
|
<input
|
|
152
161
|
type="search"
|
|
153
162
|
class="st-multiSelect__search"
|
|
154
|
-
placeholder={
|
|
163
|
+
placeholder={resolvedSearchPlaceholder}
|
|
155
164
|
bind:value={query}
|
|
156
|
-
aria-label={
|
|
165
|
+
aria-label={resolvedSearchPlaceholder}
|
|
157
166
|
/>
|
|
158
167
|
<div class="st-multiSelect__list" role="listbox" aria-label={listLabel ?? label ?? "Options"} aria-multiselectable="true">
|
|
159
168
|
{#if filtered.length === 0}
|
|
160
|
-
<div class="st-multiSelect__empty">{
|
|
169
|
+
<div class="st-multiSelect__empty">{resolvedNoResultsLabel}</div>
|
|
161
170
|
{:else}
|
|
162
171
|
{#each filtered as option (option.value)}
|
|
163
172
|
{@const isSelected = selected.includes(option.value)}
|
|
@@ -12,6 +12,7 @@ type MultiSelectProps = Omit<HTMLAttributes<HTMLDivElement>, "class" | "onchange
|
|
|
12
12
|
size?: "sm" | "md" | "lg";
|
|
13
13
|
options: MultiSelectOption[];
|
|
14
14
|
selected?: string[];
|
|
15
|
+
locale?: string;
|
|
15
16
|
placeholder?: string;
|
|
16
17
|
searchPlaceholder?: string;
|
|
17
18
|
noResultsLabel?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.svelte.d.ts","sourceRoot":"","sources":["../src/lib/MultiSelect.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACzC,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiSelect.svelte.d.ts","sourceRoot":"","sources":["../src/lib/MultiSelect.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACzC,CAAC;AA6IJ,QAAA,MAAM,WAAW,8DAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
|
package/dist/NavItem.svelte
CHANGED
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
selected = $bindable(false),
|
|
88
88
|
disabled = false,
|
|
89
89
|
href,
|
|
90
|
-
leading,
|
|
91
|
-
trailing,
|
|
90
|
+
leading: leadingProp,
|
|
91
|
+
trailing: trailingProp,
|
|
92
92
|
divider = false,
|
|
93
93
|
class: className
|
|
94
94
|
}: NavItemProps = $props();
|
|
@@ -150,8 +150,8 @@
|
|
|
150
150
|
caption={caption ? captionSnippet : undefined}
|
|
151
151
|
>
|
|
152
152
|
{#snippet leading()}
|
|
153
|
-
{#if
|
|
154
|
-
{@render
|
|
153
|
+
{#if leadingProp}
|
|
154
|
+
{@render leadingProp()}
|
|
155
155
|
{:else if swatch}
|
|
156
156
|
<!-- Tête : ColorSwatch pour une couleur arbitraire, sinon StatusDot pour
|
|
157
157
|
un ton sémantique. Décoratif → aria géré par la primitive. -->
|
|
@@ -168,8 +168,8 @@
|
|
|
168
168
|
{/snippet}
|
|
169
169
|
|
|
170
170
|
{#snippet trailing()}
|
|
171
|
-
{#if
|
|
172
|
-
{@render
|
|
171
|
+
{#if trailingProp}
|
|
172
|
+
{@render trailingProp()}
|
|
173
173
|
{:else if count != null}
|
|
174
174
|
<!-- Queue : bulle de compte. Badge shape="circle" size="sm" (tabular-nums),
|
|
175
175
|
ton sémantique aligné sur le `status` de la rangée. aria-label explicite. -->
|
package/dist/Notification.svelte
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
message?: string;
|
|
9
9
|
dismissible?: boolean;
|
|
10
10
|
dismissLabel?: string;
|
|
11
|
+
locale?: string;
|
|
11
12
|
onDismiss?: () => void;
|
|
12
13
|
class?: string;
|
|
13
14
|
actions?: Snippet;
|
|
@@ -19,7 +20,8 @@
|
|
|
19
20
|
title,
|
|
20
21
|
message,
|
|
21
22
|
dismissible = false,
|
|
22
|
-
dismissLabel
|
|
23
|
+
dismissLabel,
|
|
24
|
+
locale = "fr-FR",
|
|
23
25
|
onDismiss,
|
|
24
26
|
class: className,
|
|
25
27
|
actions,
|
|
@@ -27,6 +29,9 @@
|
|
|
27
29
|
...rest
|
|
28
30
|
}: NotificationProps = $props();
|
|
29
31
|
|
|
32
|
+
const isFr = $derived(locale.toLowerCase().startsWith("fr"));
|
|
33
|
+
const resolvedDismissLabel = $derived(dismissLabel ?? (isFr ? "Fermer" : "Dismiss"));
|
|
34
|
+
|
|
30
35
|
const classes = () =>
|
|
31
36
|
["st-notification", `st-notification--${tone}`, className].filter(Boolean).join(" ");
|
|
32
37
|
|
|
@@ -54,8 +59,8 @@
|
|
|
54
59
|
<button
|
|
55
60
|
type="button"
|
|
56
61
|
class="st-notification__close"
|
|
57
|
-
aria-label={
|
|
58
|
-
title={
|
|
62
|
+
aria-label={resolvedDismissLabel}
|
|
63
|
+
title={resolvedDismissLabel}
|
|
59
64
|
onclick={onDismissClick}
|
|
60
65
|
>
|
|
61
66
|
×
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notification.svelte.d.ts","sourceRoot":"","sources":["../src/lib/Notification.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,KAAK,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IACpE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"Notification.svelte.d.ts","sourceRoot":"","sources":["../src/lib/Notification.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,KAAK,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IACpE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AA0DJ,QAAA,MAAM,YAAY,uDAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
|
package/dist/Pagination.svelte
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
type PaginationProps = Omit<HTMLAttributes<HTMLElement>, "class"> & {
|
|
5
5
|
page: number;
|
|
6
6
|
pageCount: number;
|
|
7
|
+
locale?: string;
|
|
7
8
|
previousLabel?: string;
|
|
8
9
|
nextLabel?: string;
|
|
9
10
|
class?: string;
|
|
@@ -13,13 +14,18 @@
|
|
|
13
14
|
let {
|
|
14
15
|
page,
|
|
15
16
|
pageCount,
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
locale = "fr-FR",
|
|
18
|
+
previousLabel,
|
|
19
|
+
nextLabel,
|
|
18
20
|
class: className,
|
|
19
21
|
onpagechange,
|
|
20
22
|
...rest
|
|
21
23
|
}: PaginationProps = $props();
|
|
22
24
|
|
|
25
|
+
const isFr = $derived(locale.toLowerCase().startsWith("fr"));
|
|
26
|
+
const resolvedPreviousLabel = $derived(previousLabel ?? (isFr ? "Précédent" : "Previous"));
|
|
27
|
+
const resolvedNextLabel = $derived(nextLabel ?? (isFr ? "Suivant" : "Next"));
|
|
28
|
+
|
|
23
29
|
const classes = () => ["st-pagination", className].filter(Boolean).join(" ");
|
|
24
30
|
const pages = () => Array.from({ length: pageCount }, (_, index) => index + 1);
|
|
25
31
|
const go = (target: number) => {
|
|
@@ -28,7 +34,7 @@
|
|
|
28
34
|
</script>
|
|
29
35
|
|
|
30
36
|
<nav {...rest} class={classes()} aria-label="Pagination">
|
|
31
|
-
<button type="button" disabled={page <= 1} onclick={() => go(page - 1)}>{
|
|
37
|
+
<button type="button" disabled={page <= 1} onclick={() => go(page - 1)}>{resolvedPreviousLabel}</button>
|
|
32
38
|
{#each pages() as item}
|
|
33
39
|
<button
|
|
34
40
|
type="button"
|
|
@@ -40,7 +46,7 @@
|
|
|
40
46
|
{item}
|
|
41
47
|
</button>
|
|
42
48
|
{/each}
|
|
43
|
-
<button type="button" disabled={page >= pageCount} onclick={() => go(page + 1)}>{
|
|
49
|
+
<button type="button" disabled={page >= pageCount} onclick={() => go(page + 1)}>{resolvedNextLabel}</button>
|
|
44
50
|
</nav>
|
|
45
51
|
|
|
46
52
|
<style>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.svelte.d.ts","sourceRoot":"","sources":["../src/lib/Pagination.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,KAAK,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;
|
|
1
|
+
{"version":3,"file":"Pagination.svelte.d.ts","sourceRoot":"","sources":["../src/lib/Pagination.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,KAAK,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AAyCJ,QAAA,MAAM,UAAU,qDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
page: number;
|
|
7
7
|
pageCount: number;
|
|
8
8
|
siblings?: number;
|
|
9
|
+
locale?: string;
|
|
9
10
|
label?: string;
|
|
10
11
|
previousLabel?: string;
|
|
11
12
|
nextLabel?: string;
|
|
@@ -17,14 +18,19 @@
|
|
|
17
18
|
page = $bindable(1),
|
|
18
19
|
pageCount,
|
|
19
20
|
siblings = 1,
|
|
21
|
+
locale = "fr-FR",
|
|
20
22
|
label = "Pagination",
|
|
21
|
-
previousLabel
|
|
22
|
-
nextLabel
|
|
23
|
+
previousLabel,
|
|
24
|
+
nextLabel,
|
|
23
25
|
class: className,
|
|
24
26
|
onPageChange,
|
|
25
27
|
...rest
|
|
26
28
|
}: PaginationNavProps = $props();
|
|
27
29
|
|
|
30
|
+
const isFr = $derived(locale.toLowerCase().startsWith("fr"));
|
|
31
|
+
const resolvedPreviousLabel = $derived(previousLabel ?? (isFr ? "Page précédente" : "Previous page"));
|
|
32
|
+
const resolvedNextLabel = $derived(nextLabel ?? (isFr ? "Page suivante" : "Next page"));
|
|
33
|
+
|
|
28
34
|
type Slot = number | "ellipsis-start" | "ellipsis-end";
|
|
29
35
|
|
|
30
36
|
const classes = () => ["st-paginationNav", className].filter(Boolean).join(" ");
|
|
@@ -86,7 +92,7 @@
|
|
|
86
92
|
<button
|
|
87
93
|
type="button"
|
|
88
94
|
class="st-paginationNav__nav"
|
|
89
|
-
aria-label={
|
|
95
|
+
aria-label={resolvedPreviousLabel}
|
|
90
96
|
disabled={page <= 1 || pageCount <= 0}
|
|
91
97
|
onclick={() => go(page - 1)}
|
|
92
98
|
>
|
|
@@ -117,7 +123,7 @@
|
|
|
117
123
|
<button
|
|
118
124
|
type="button"
|
|
119
125
|
class="st-paginationNav__nav"
|
|
120
|
-
aria-label={
|
|
126
|
+
aria-label={resolvedNextLabel}
|
|
121
127
|
disabled={page >= pageCount || pageCount <= 0}
|
|
122
128
|
onclick={() => go(page + 1)}
|
|
123
129
|
>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationNav.svelte.d.ts","sourceRoot":"","sources":["../src/lib/PaginationNav.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIpD,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;
|
|
1
|
+
{"version":3,"file":"PaginationNav.svelte.d.ts","sourceRoot":"","sources":["../src/lib/PaginationNav.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIpD,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AA+GJ,QAAA,MAAM,aAAa,4DAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
|
package/dist/SkeletonText.svelte
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
width?: string;
|
|
7
7
|
heading?: boolean;
|
|
8
8
|
paragraph?: boolean;
|
|
9
|
+
locale?: string;
|
|
10
|
+
loadingLabel?: string;
|
|
9
11
|
class?: string;
|
|
10
12
|
};
|
|
11
13
|
|
|
@@ -14,10 +16,15 @@
|
|
|
14
16
|
width,
|
|
15
17
|
heading = false,
|
|
16
18
|
paragraph = false,
|
|
19
|
+
locale = "fr-FR",
|
|
20
|
+
loadingLabel,
|
|
17
21
|
class: className,
|
|
18
22
|
...rest
|
|
19
23
|
}: SkeletonTextProps = $props();
|
|
20
24
|
|
|
25
|
+
const isFr = $derived(locale.toLowerCase().startsWith("fr"));
|
|
26
|
+
const resolvedLoadingLabel = $derived(loadingLabel ?? (isFr ? "Chargement…" : "Loading…"));
|
|
27
|
+
|
|
21
28
|
const wrapperClasses = () => ["st-skeleton", className].filter(Boolean).join(" ");
|
|
22
29
|
const lineClasses = () =>
|
|
23
30
|
["st-skeleton__line", heading ? "st-skeleton__line--heading" : null].filter(Boolean).join(" ");
|
|
@@ -30,7 +37,7 @@
|
|
|
30
37
|
}
|
|
31
38
|
</script>
|
|
32
39
|
|
|
33
|
-
<div {...rest} class={wrapperClasses()} role="status" aria-label=
|
|
40
|
+
<div {...rest} class={wrapperClasses()} role="status" aria-label={resolvedLoadingLabel} aria-busy="true">
|
|
34
41
|
{#each Array.from({ length: lineCount() }) as _, i (i)}
|
|
35
42
|
<span class={lineClasses()} style={lineWidth(i, lineCount()) ? `width:${lineWidth(i, lineCount())}` : undefined}></span>
|
|
36
43
|
{/each}
|
|
@@ -4,6 +4,8 @@ type SkeletonTextProps = Omit<HTMLAttributes<HTMLDivElement>, "class"> & {
|
|
|
4
4
|
width?: string;
|
|
5
5
|
heading?: boolean;
|
|
6
6
|
paragraph?: boolean;
|
|
7
|
+
locale?: string;
|
|
8
|
+
loadingLabel?: string;
|
|
7
9
|
class?: string;
|
|
8
10
|
};
|
|
9
11
|
declare const SkeletonText: import("svelte").Component<SkeletonTextProps, {}, "">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonText.svelte.d.ts","sourceRoot":"","sources":["../src/lib/SkeletonText.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,KAAK,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"SkeletonText.svelte.d.ts","sourceRoot":"","sources":["../src/lib/SkeletonText.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,KAAK,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAyCJ,QAAA,MAAM,YAAY,uDAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
|