@getmicdrop/svelte-components 5.18.0 → 5.18.1
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/calendar/AboutShow/AboutShow.svelte +9 -5
- package/dist/calendar/AboutShow/AboutShow.svelte.d.ts +2 -2
- package/dist/calendar/AboutShow/AboutShow.svelte.d.ts.map +1 -1
- package/dist/calendar/Calendar/MiniMonthCalendar.svelte +39 -18
- package/dist/calendar/Calendar/MiniMonthCalendar.svelte.d.ts +4 -0
- package/dist/calendar/Calendar/MiniMonthCalendar.svelte.d.ts.map +1 -1
- package/dist/calendar/FAQs/FAQs.svelte +16 -5
- package/dist/calendar/FAQs/FAQs.svelte.d.ts +6 -4
- package/dist/calendar/FAQs/FAQs.svelte.d.ts.map +1 -1
- package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +19 -4
- package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte.d.ts +2 -0
- package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte.d.ts.map +1 -1
- package/dist/calendar/OrderSummary/OrderSummary.spec.js +3 -3
- package/dist/calendar/OrderSummary/OrderSummary.svelte +17 -13
- package/dist/calendar/OrderSummary/OrderSummary.svelte.d.ts +4 -2
- package/dist/calendar/OrderSummary/OrderSummary.svelte.d.ts.map +1 -1
- package/dist/calendar/PublicCard/PublicCard.svelte +11 -2
- package/dist/calendar/PublicCard/PublicCard.svelte.d.ts +4 -0
- package/dist/calendar/PublicCard/PublicCard.svelte.d.ts.map +1 -1
- package/dist/calendar/ShowCard/ShowCard.svelte +25 -11
- package/dist/calendar/ShowCard/ShowCard.svelte.d.ts +4 -0
- package/dist/calendar/ShowCard/ShowCard.svelte.d.ts.map +1 -1
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +12 -4
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte.d.ts +4 -0
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/patterns/chat/ChatBubble.svelte +9 -1
- package/dist/patterns/chat/ChatBubble.svelte.d.ts +6 -4
- package/dist/patterns/chat/ChatBubble.svelte.d.ts.map +1 -1
- package/dist/patterns/chat/ChatInvitationBubble.svelte +10 -1
- package/dist/patterns/chat/ChatInvitationBubble.svelte.d.ts +6 -3
- package/dist/patterns/chat/ChatInvitationBubble.svelte.d.ts.map +1 -1
- package/dist/patterns/chat/ChatInvitationNotice.svelte +10 -1
- package/dist/patterns/chat/ChatInvitationNotice.svelte.d.ts +6 -3
- package/dist/patterns/chat/ChatInvitationNotice.svelte.d.ts.map +1 -1
- package/dist/patterns/forms/FormValidationSummary.svelte +9 -1
- package/dist/patterns/forms/FormValidationSummary.svelte.d.ts +5 -3
- package/dist/patterns/forms/FormValidationSummary.svelte.d.ts.map +1 -1
- package/dist/patterns/navigation/BottomNav.svelte +9 -1
- package/dist/patterns/navigation/BottomNav.svelte.d.ts +10 -9
- package/dist/patterns/navigation/BottomNav.svelte.d.ts.map +1 -1
- package/dist/patterns/navigation/Header.svelte +20 -8
- package/dist/patterns/navigation/Header.svelte.d.ts +17 -9
- package/dist/patterns/navigation/Header.svelte.d.ts.map +1 -1
- package/dist/patterns/page/PageLoader.svelte +12 -3
- package/dist/patterns/page/PageLoader.svelte.d.ts +6 -3
- package/dist/patterns/page/PageLoader.svelte.d.ts.map +1 -1
- package/dist/primitives/Accordion/AccordionItem.svelte +9 -1
- package/dist/primitives/Accordion/AccordionItem.svelte.d.ts +6 -4
- package/dist/primitives/Accordion/AccordionItem.svelte.d.ts.map +1 -1
- package/dist/primitives/Alert/Alert.svelte +10 -2
- package/dist/primitives/Alert/Alert.svelte.d.ts +6 -4
- package/dist/primitives/Alert/Alert.svelte.d.ts.map +1 -1
- package/dist/primitives/Breadcrumb/Breadcrumb.svelte +9 -1
- package/dist/primitives/Breadcrumb/Breadcrumb.svelte.d.ts +13 -9
- package/dist/primitives/Breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
- package/dist/primitives/DarkModeToggle.svelte +16 -5
- package/dist/primitives/DarkModeToggle.svelte.d.ts +9 -3
- package/dist/primitives/DarkModeToggle.svelte.d.ts.map +1 -1
- package/dist/primitives/Dropdown/Dropdown.svelte +11 -2
- package/dist/primitives/Dropdown/Dropdown.svelte.d.ts +7 -4
- package/dist/primitives/Dropdown/Dropdown.svelte.d.ts.map +1 -1
- package/dist/primitives/Input/Input.svelte +19 -6
- package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
- package/dist/primitives/NumberInput/NumberInput.svelte +10 -2
- package/dist/primitives/NumberInput/NumberInput.svelte.d.ts.map +1 -1
- package/dist/primitives/Pagination/Pagination.svelte +21 -7
- package/dist/primitives/Pagination/Pagination.svelte.d.ts +14 -6
- package/dist/primitives/Pagination/Pagination.svelte.d.ts.map +1 -1
- package/dist/primitives/Skeleton/CardPlaceholder.svelte +11 -2
- package/dist/primitives/Skeleton/CardPlaceholder.svelte.d.ts +8 -5
- package/dist/primitives/Skeleton/CardPlaceholder.svelte.d.ts.map +1 -1
- package/dist/primitives/Skeleton/ImagePlaceholder.svelte +11 -2
- package/dist/primitives/Skeleton/ImagePlaceholder.svelte.d.ts +8 -5
- package/dist/primitives/Skeleton/ImagePlaceholder.svelte.d.ts.map +1 -1
- package/dist/primitives/Skeleton/ListPlaceholder.svelte +11 -2
- package/dist/primitives/Skeleton/ListPlaceholder.svelte.d.ts +8 -5
- package/dist/primitives/Skeleton/ListPlaceholder.svelte.d.ts.map +1 -1
- package/dist/primitives/Skeleton/Skeleton.svelte +11 -2
- package/dist/primitives/Skeleton/Skeleton.svelte.d.ts +7 -4
- package/dist/primitives/Skeleton/Skeleton.svelte.d.ts.map +1 -1
- package/dist/primitives/Spinner/Spinner.svelte +9 -1
- package/dist/primitives/Spinner/Spinner.svelte.d.ts +6 -4
- package/dist/primitives/Spinner/Spinner.svelte.d.ts.map +1 -1
- package/dist/recipes/ImageUploader/ImageUploader.svelte +5 -3
- package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts +1 -0
- package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts.map +1 -1
- package/dist/recipes/SuperLogin/SuperLogin.svelte +25 -23
- package/dist/recipes/SuperLogin/SuperLogin.svelte.d.ts.map +1 -1
- package/dist/recipes/feedback/EmptyState/EmptyState.svelte +12 -3
- package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts +7 -4
- package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/MultiSelect.svelte +10 -2
- package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/OTPInput.svelte +14 -3
- package/dist/recipes/inputs/OTPInput.svelte.d.ts +14 -12
- package/dist/recipes/inputs/OTPInput.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/PasswordInput.svelte +10 -1
- package/dist/recipes/inputs/PasswordInput.svelte.d.ts +7 -4
- package/dist/recipes/inputs/PasswordInput.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +21 -10
- package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts +8 -3
- package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/PhoneInput.svelte +1 -5
- package/dist/recipes/inputs/PhoneInput.svelte.d.ts +0 -2
- package/dist/recipes/inputs/PhoneInput.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +22 -9
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts +21 -16
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/Search.svelte +10 -2
- package/dist/recipes/inputs/Search.svelte.d.ts +7 -5
- package/dist/recipes/inputs/Search.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/phoneInput/CountrySelector.svelte +9 -66
- package/dist/recipes/inputs/phoneInput/CountrySelector.svelte.d.ts +0 -2
- package/dist/recipes/inputs/phoneInput/CountrySelector.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/phoneInput/countryData.d.ts +0 -2
- package/dist/recipes/inputs/phoneInput/countryData.d.ts.map +1 -1
- package/dist/recipes/inputs/phoneInput/countryData.js +3 -3
- package/dist/recipes/modals/AlertModal.svelte +11 -2
- package/dist/recipes/modals/AlertModal.svelte.d.ts +4 -2
- package/dist/recipes/modals/AlertModal.svelte.d.ts.map +1 -1
- package/dist/recipes/modals/ConfirmationModal.svelte +8 -1
- package/dist/recipes/modals/ConfirmationModal.svelte.d.ts +2 -0
- package/dist/recipes/modals/ConfirmationModal.svelte.d.ts.map +1 -1
- package/dist/recipes/modals/InputModal.svelte +19 -7
- package/dist/recipes/modals/InputModal.svelte.d.ts +6 -4
- package/dist/recipes/modals/InputModal.svelte.d.ts.map +1 -1
- package/dist/recipes/modals/StatusModal.svelte +14 -4
- package/dist/recipes/modals/StatusModal.svelte.d.ts +4 -2
- package/dist/recipes/modals/StatusModal.svelte.d.ts.map +1 -1
- package/dist/tokens/__tests__/variants.test.js +12 -4
- package/dist/tokens/variants.d.ts +4 -4
- package/dist/tokens/variants.js +4 -4
- package/dist/utils/formatters.d.ts +6 -0
- package/dist/utils/formatters.d.ts.map +1 -1
- package/dist/utils/formatters.js +8 -0
- package/dist/utils/utils.js +25 -16
- package/package.json +1 -1
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
label: string;
|
|
3
|
-
href: string;
|
|
4
|
-
}
|
|
5
|
-
interface Props {
|
|
1
|
+
declare const Header: import("svelte").Component<{
|
|
6
2
|
signoutHandler?: () => void;
|
|
7
3
|
name?: string;
|
|
8
4
|
avatar?: string;
|
|
9
5
|
email?: string;
|
|
10
|
-
navLinks?:
|
|
11
|
-
|
|
6
|
+
navLinks?: {
|
|
7
|
+
label: string;
|
|
8
|
+
href: string;
|
|
9
|
+
}[];
|
|
10
|
+
dropdownLinks?: {
|
|
11
|
+
label: string;
|
|
12
|
+
href: string;
|
|
13
|
+
}[];
|
|
12
14
|
showBackButton?: boolean;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
labels?: Partial<{
|
|
16
|
+
back: string;
|
|
17
|
+
signOut: string;
|
|
18
|
+
signOutMobile: string;
|
|
19
|
+
cancel: string;
|
|
20
|
+
defaultName: string;
|
|
21
|
+
}>;
|
|
22
|
+
}, {}, "">;
|
|
15
23
|
type Header = ReturnType<typeof Header>;
|
|
16
24
|
export default Header;
|
|
17
25
|
//# sourceMappingURL=Header.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/navigation/Header.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Header.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/navigation/Header.svelte.ts"],"names":[],"mappings":"AA8OA,QAAA,MAAM,MAAM;qBA5LS,MAAM,IAAI;WACpB,MAAM;aACJ,MAAM;YACP,MAAM;eACH;eAjBJ,MAAM;cACP,MAAM;OAgBQ;oBACJ;eAlBT,MAAM;cACP,MAAM;OAiBa;qBACR,OAAO;aACf,OAAO;;;;;;MAAsB;UAqLU,CAAC;AACrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AACxC,eAAe,MAAM,CAAC"}
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
import Button from "../../primitives/Button/Button.svelte";
|
|
6
6
|
import { typography } from '../../tokens/typography';
|
|
7
7
|
|
|
8
|
+
const defaultLabels = {
|
|
9
|
+
error: 'Error',
|
|
10
|
+
tryAgain: 'Try again',
|
|
11
|
+
};
|
|
12
|
+
|
|
8
13
|
interface Props {
|
|
9
14
|
isLoading?: boolean;
|
|
10
15
|
error?: string | null;
|
|
@@ -14,18 +19,22 @@
|
|
|
14
19
|
onRetry?: () => void;
|
|
15
20
|
minHeight?: string;
|
|
16
21
|
children?: Snippet;
|
|
22
|
+
labels?: Partial<typeof defaultLabels>;
|
|
17
23
|
}
|
|
18
24
|
|
|
19
25
|
let {
|
|
20
26
|
isLoading = true,
|
|
21
27
|
error = null,
|
|
22
28
|
loadingMessage = "",
|
|
23
|
-
errorTitle =
|
|
29
|
+
errorTitle = undefined,
|
|
24
30
|
showRetry = false,
|
|
25
31
|
onRetry = () => {},
|
|
26
32
|
minHeight = "h-64",
|
|
27
33
|
children,
|
|
34
|
+
labels: userLabels = {},
|
|
28
35
|
}: Props = $props();
|
|
36
|
+
|
|
37
|
+
let labels = $derived({ ...defaultLabels, ...userLabels });
|
|
29
38
|
</script>
|
|
30
39
|
|
|
31
40
|
{#if isLoading}
|
|
@@ -39,11 +48,11 @@
|
|
|
39
48
|
</div>
|
|
40
49
|
{:else if error}
|
|
41
50
|
<div class="p-4">
|
|
42
|
-
<Alert type="danger" title={errorTitle} message={error} />
|
|
51
|
+
<Alert type="danger" title={errorTitle ?? labels.error} message={error} />
|
|
43
52
|
{#if showRetry}
|
|
44
53
|
<div class="mt-4 text-center">
|
|
45
54
|
<Button variant="link" onclick={onRetry}>
|
|
46
|
-
|
|
55
|
+
{labels.tryAgain}
|
|
47
56
|
</Button>
|
|
48
57
|
</div>
|
|
49
58
|
{/if}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
-
|
|
2
|
+
declare const PageLoader: import("svelte").Component<{
|
|
3
3
|
isLoading?: boolean;
|
|
4
4
|
error?: string | null;
|
|
5
5
|
loadingMessage?: string;
|
|
@@ -8,8 +8,11 @@ interface Props {
|
|
|
8
8
|
onRetry?: () => void;
|
|
9
9
|
minHeight?: string;
|
|
10
10
|
children?: Snippet;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
labels?: Partial<{
|
|
12
|
+
error: string;
|
|
13
|
+
tryAgain: string;
|
|
14
|
+
}>;
|
|
15
|
+
}, {}, "">;
|
|
13
16
|
type PageLoader = ReturnType<typeof PageLoader>;
|
|
14
17
|
export default PageLoader;
|
|
15
18
|
//# sourceMappingURL=PageLoader.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageLoader.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/page/PageLoader.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"PageLoader.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/page/PageLoader.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAuEtC,QAAA,MAAM,UAAU;gBApDA,OAAO;YACX,MAAM,GAAG,IAAI;qBACJ,MAAM;iBACV,MAAM;gBACP,OAAO;cACT,MAAM,IAAI;gBACR,MAAM;eACP,OAAO;aACT,OAAO;;;MAAsB;UA4Cc,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
import { ChevronUpOutline } from "../Icons";
|
|
15
15
|
import { typography } from "../../tokens/typography";
|
|
16
16
|
|
|
17
|
+
const defaultLabels = {
|
|
18
|
+
accordionItem: 'Accordion Item',
|
|
19
|
+
};
|
|
20
|
+
|
|
17
21
|
interface Props {
|
|
18
22
|
open?: boolean;
|
|
19
23
|
class?: string;
|
|
@@ -21,6 +25,7 @@
|
|
|
21
25
|
borderOpenClass?: string;
|
|
22
26
|
header?: Snippet;
|
|
23
27
|
children?: Snippet;
|
|
28
|
+
labels?: Partial<typeof defaultLabels>;
|
|
24
29
|
[key: string]: unknown;
|
|
25
30
|
}
|
|
26
31
|
|
|
@@ -31,9 +36,12 @@
|
|
|
31
36
|
borderOpenClass = "",
|
|
32
37
|
header,
|
|
33
38
|
children,
|
|
39
|
+
labels: userLabels = {},
|
|
34
40
|
...restProps
|
|
35
41
|
}: Props = $props();
|
|
36
42
|
|
|
43
|
+
let labels = $derived({ ...defaultLabels, ...userLabels });
|
|
44
|
+
|
|
37
45
|
const { openItems, toggle, flush } = getContext<{
|
|
38
46
|
openItems: Writable<Set<string>>;
|
|
39
47
|
toggle: (id: string) => void;
|
|
@@ -76,7 +84,7 @@
|
|
|
76
84
|
onclick={handleClick}
|
|
77
85
|
>
|
|
78
86
|
<span class={typography.body}>
|
|
79
|
-
{#if header}{@render header()}{:else}
|
|
87
|
+
{#if header}{@render header()}{:else}{labels.accordionItem}{/if}
|
|
80
88
|
</span>
|
|
81
89
|
<!-- Flowbite arrow icon -->
|
|
82
90
|
<ChevronUpOutline class="w-3 h-3 shrink-0 transition-transform duration-200 {isOpen ? 'rotate-180' : ''}" />
|
|
@@ -7,16 +7,18 @@
|
|
|
7
7
|
* borderOpenClass: string - Additional classes when open
|
|
8
8
|
*/
|
|
9
9
|
import type { Snippet } from 'svelte';
|
|
10
|
-
|
|
10
|
+
declare const AccordionItem: import("svelte").Component<{
|
|
11
|
+
[key: string]: unknown;
|
|
11
12
|
open?: boolean;
|
|
12
13
|
class?: string;
|
|
13
14
|
border?: boolean;
|
|
14
15
|
borderOpenClass?: string;
|
|
15
16
|
header?: Snippet;
|
|
16
17
|
children?: Snippet;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
labels?: Partial<{
|
|
19
|
+
accordionItem: string;
|
|
20
|
+
}>;
|
|
21
|
+
}, {}, "">;
|
|
20
22
|
type AccordionItem = ReturnType<typeof AccordionItem>;
|
|
21
23
|
export default AccordionItem;
|
|
22
24
|
//# sourceMappingURL=AccordionItem.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItem.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Accordion/AccordionItem.svelte.ts"],"names":[],"mappings":"AAGA;;;;;;;KAOK;AACL,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"AccordionItem.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Accordion/AccordionItem.svelte.ts"],"names":[],"mappings":"AAGA;;;;;;;KAOK;AACL,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAqGtC,QAAA,MAAM,aAAa;;WAhFR,OAAO;YACN,MAAM;aACL,OAAO;sBACE,MAAM;aACf,OAAO;eACL,OAAO;aACT,OAAO;;MAAsB;UA0EiB,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
type AlertColorVariant,
|
|
8
8
|
} from '../../tokens/variants.js';
|
|
9
9
|
|
|
10
|
+
const defaultLabels = {
|
|
11
|
+
close: 'Close',
|
|
12
|
+
};
|
|
13
|
+
|
|
10
14
|
interface Props {
|
|
11
15
|
title?: string;
|
|
12
16
|
message?: string;
|
|
@@ -14,6 +18,7 @@
|
|
|
14
18
|
onClose?: () => void;
|
|
15
19
|
onclose?: () => void;
|
|
16
20
|
children?: Snippet;
|
|
21
|
+
labels?: Partial<typeof defaultLabels>;
|
|
17
22
|
[key: string]: unknown;
|
|
18
23
|
}
|
|
19
24
|
|
|
@@ -24,9 +29,12 @@
|
|
|
24
29
|
onClose,
|
|
25
30
|
onclose,
|
|
26
31
|
children,
|
|
32
|
+
labels: userLabels = {},
|
|
27
33
|
...restProps
|
|
28
34
|
}: Props = $props();
|
|
29
35
|
|
|
36
|
+
let labels = $derived({ ...defaultLabels, ...userLabels });
|
|
37
|
+
|
|
30
38
|
let alertClasses = $derived(alertColorVariants[type] || alertColorVariants.info);
|
|
31
39
|
let closeButtonClasses = $derived(alertCloseButtonVariants[type] || alertCloseButtonVariants.info);
|
|
32
40
|
|
|
@@ -54,10 +62,10 @@
|
|
|
54
62
|
<button
|
|
55
63
|
type="button"
|
|
56
64
|
class="ms-auto -mx-1.5 -my-1.5 rounded-lg focus:ring-2 p-1.5 inline-flex items-center justify-center h-8 w-8 {closeButtonClasses}"
|
|
57
|
-
aria-label=
|
|
65
|
+
aria-label={labels.close}
|
|
58
66
|
onclick={handleClose}
|
|
59
67
|
>
|
|
60
|
-
<span class="sr-only">
|
|
68
|
+
<span class="sr-only">{labels.close}</span>
|
|
61
69
|
<CloseOutline class="w-3 h-3" />
|
|
62
70
|
</button>
|
|
63
71
|
{/if}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
2
|
import { type AlertColorVariant } from '../../tokens/variants.js';
|
|
3
|
-
|
|
3
|
+
declare const Alert: import("svelte").Component<{
|
|
4
|
+
[key: string]: unknown;
|
|
4
5
|
title?: string;
|
|
5
6
|
message?: string;
|
|
6
7
|
type?: AlertColorVariant;
|
|
7
8
|
onClose?: () => void;
|
|
8
9
|
onclose?: () => void;
|
|
9
10
|
children?: Snippet;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
labels?: Partial<{
|
|
12
|
+
close: string;
|
|
13
|
+
}>;
|
|
14
|
+
}, {}, "">;
|
|
13
15
|
type Alert = ReturnType<typeof Alert>;
|
|
14
16
|
export default Alert;
|
|
15
17
|
//# sourceMappingURL=Alert.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Alert/Alert.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAGH,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"Alert.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Alert/Alert.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAGH,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAoEpC,QAAA,MAAM,KAAK;;YAxDC,MAAM;cACJ,MAAM;WACT,iBAAiB;cACd,MAAM,IAAI;cACV,MAAM,IAAI;eACT,OAAO;aACT,OAAO;;MAAsB;UAkDS,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
import { ChevronRightOutline, HomeSolid } from "../Icons";
|
|
3
3
|
import { typography } from "../../tokens/typography";
|
|
4
4
|
|
|
5
|
+
const defaultLabels = {
|
|
6
|
+
breadcrumb: 'Breadcrumb',
|
|
7
|
+
};
|
|
8
|
+
|
|
5
9
|
interface BreadcrumbItem {
|
|
6
10
|
name: string;
|
|
7
11
|
href: string;
|
|
@@ -20,6 +24,7 @@
|
|
|
20
24
|
subtitle?: string;
|
|
21
25
|
/** Click handler callback */
|
|
22
26
|
onclick?: (crumb: BreadcrumbItem) => void;
|
|
27
|
+
labels?: Partial<typeof defaultLabels>;
|
|
23
28
|
}
|
|
24
29
|
|
|
25
30
|
let {
|
|
@@ -29,8 +34,11 @@
|
|
|
29
34
|
title = '',
|
|
30
35
|
subtitle = '',
|
|
31
36
|
onclick,
|
|
37
|
+
labels: userLabels = {},
|
|
32
38
|
}: Props = $props();
|
|
33
39
|
|
|
40
|
+
let labels = $derived({ ...defaultLabels, ...userLabels });
|
|
41
|
+
|
|
34
42
|
function handleClick(crumb: BreadcrumbItem) {
|
|
35
43
|
onclick?.(crumb);
|
|
36
44
|
}
|
|
@@ -38,7 +46,7 @@
|
|
|
38
46
|
|
|
39
47
|
<div class="flex flex-col items-start gap-2 min-w-0">
|
|
40
48
|
{#if data.length > 0}
|
|
41
|
-
<nav class={`flex items-center ${typography.smMuted} font-medium ${className}`} aria-label=
|
|
49
|
+
<nav class={`flex items-center ${typography.smMuted} font-medium ${className}`} aria-label={labels.breadcrumb}>
|
|
42
50
|
<ol class="inline-flex items-center rtl:space-x-reverse flex-wrap">
|
|
43
51
|
{#each data as crumb, index}
|
|
44
52
|
<li class="inline-flex items-center">
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
name: string;
|
|
3
|
-
href: string;
|
|
4
|
-
}
|
|
5
|
-
interface Props {
|
|
1
|
+
declare const Breadcrumb: import("svelte").Component<{
|
|
6
2
|
/** Breadcrumb items array */
|
|
7
|
-
data?:
|
|
3
|
+
data?: {
|
|
4
|
+
name: string;
|
|
5
|
+
href: string;
|
|
6
|
+
}[];
|
|
8
7
|
/** Additional CSS classes */
|
|
9
8
|
className?: string;
|
|
10
9
|
/** Show built-in home icon for first item */
|
|
@@ -14,9 +13,14 @@ interface Props {
|
|
|
14
13
|
/** Subtitle displayed below title */
|
|
15
14
|
subtitle?: string;
|
|
16
15
|
/** Click handler callback */
|
|
17
|
-
onclick?: (crumb:
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
onclick?: (crumb: {
|
|
17
|
+
name: string;
|
|
18
|
+
href: string;
|
|
19
|
+
}) => void;
|
|
20
|
+
labels?: Partial<{
|
|
21
|
+
breadcrumb: string;
|
|
22
|
+
}>;
|
|
23
|
+
}, {}, "">;
|
|
20
24
|
type Breadcrumb = ReturnType<typeof Breadcrumb>;
|
|
21
25
|
export default Breadcrumb;
|
|
22
26
|
//# sourceMappingURL=Breadcrumb.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Breadcrumb/Breadcrumb.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Breadcrumb.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Breadcrumb/Breadcrumb.svelte.ts"],"names":[],"mappings":"AA0GA,QAAA,MAAM,UAAU;IAtFZ,6BAA6B;WACtB;cAND,MAAM;cACN,MAAM;OAKW;IACvB,6BAA6B;gBACjB,MAAM;IAClB,6CAA6C;mBAC9B,OAAO;IACtB,4CAA4C;YACpC,MAAM;IACd,qCAAqC;eAC1B,MAAM;IACjB,6BAA6B;cACnB,CAAC,KAAK;cAhBV,MAAM;cACN,MAAM;KAeoB,KAAK,IAAI;aAChC,OAAO;;MAAsB;UA0Ec,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
|
@@ -4,12 +4,23 @@
|
|
|
4
4
|
import MoonIcon from "./Icons/MoonIcon.svelte";
|
|
5
5
|
import Button from "./Button/Button.svelte";
|
|
6
6
|
|
|
7
|
+
const defaultLabels = {
|
|
8
|
+
toggleTheme: 'Toggle theme',
|
|
9
|
+
autoThemeClickForLight: 'Auto theme (following device) - click for light mode',
|
|
10
|
+
lightModeClickForDark: 'Light mode - click for dark mode',
|
|
11
|
+
darkModeClickForAuto: 'Dark mode - click for auto',
|
|
12
|
+
};
|
|
13
|
+
|
|
7
14
|
interface Props {
|
|
8
15
|
/** Container selector for applying dark class */
|
|
9
16
|
containerSelector?: string;
|
|
17
|
+
/** Override user-visible strings */
|
|
18
|
+
labels?: Partial<typeof defaultLabels>;
|
|
10
19
|
}
|
|
11
20
|
|
|
12
|
-
let { containerSelector = ".performer-portal" }: Props = $props();
|
|
21
|
+
let { containerSelector = ".performer-portal", labels: userLabels = {} }: Props = $props();
|
|
22
|
+
|
|
23
|
+
let labels = $derived({ ...defaultLabels, ...userLabels });
|
|
13
24
|
|
|
14
25
|
let themeMode = $state<"auto" | "light" | "dark">("auto");
|
|
15
26
|
let isDark = $state(false);
|
|
@@ -83,10 +94,10 @@
|
|
|
83
94
|
|
|
84
95
|
let titleText = $derived(
|
|
85
96
|
themeMode === "auto"
|
|
86
|
-
?
|
|
97
|
+
? labels.autoThemeClickForLight
|
|
87
98
|
: themeMode === "light"
|
|
88
|
-
?
|
|
89
|
-
:
|
|
99
|
+
? labels.lightModeClickForDark
|
|
100
|
+
: labels.darkModeClickForAuto
|
|
90
101
|
);
|
|
91
102
|
</script>
|
|
92
103
|
|
|
@@ -94,7 +105,7 @@
|
|
|
94
105
|
variant="alternative"
|
|
95
106
|
onclick={toggleTheme}
|
|
96
107
|
class="relative h-10 w-10 overflow-hidden p-0"
|
|
97
|
-
aria-label=
|
|
108
|
+
aria-label={labels.toggleTheme}
|
|
98
109
|
title={titleText}
|
|
99
110
|
>
|
|
100
111
|
<span
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
declare const DarkModeToggle: import("svelte").Component<{
|
|
2
2
|
/** Container selector for applying dark class */
|
|
3
3
|
containerSelector?: string;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/** Override user-visible strings */
|
|
5
|
+
labels?: Partial<{
|
|
6
|
+
toggleTheme: string;
|
|
7
|
+
autoThemeClickForLight: string;
|
|
8
|
+
lightModeClickForDark: string;
|
|
9
|
+
darkModeClickForAuto: string;
|
|
10
|
+
}>;
|
|
11
|
+
}, {}, "">;
|
|
6
12
|
type DarkModeToggle = ReturnType<typeof DarkModeToggle>;
|
|
7
13
|
export default DarkModeToggle;
|
|
8
14
|
//# sourceMappingURL=DarkModeToggle.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DarkModeToggle.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/primitives/DarkModeToggle.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DarkModeToggle.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/primitives/DarkModeToggle.svelte.ts"],"names":[],"mappings":"AA8IA,QAAA,MAAM,cAAc;IAxHhB,iDAAiD;wBAC7B,MAAM;IAC1B,oCAAoC;aAC3B,OAAO;;;;;MAAsB;UAqHkB,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
|
|
@@ -3,14 +3,20 @@
|
|
|
3
3
|
import type { Snippet } from "svelte";
|
|
4
4
|
import { bloom } from "../../utils/transitions.js";
|
|
5
5
|
|
|
6
|
+
const defaultLabels = {
|
|
7
|
+
menu: 'Menu',
|
|
8
|
+
};
|
|
9
|
+
|
|
6
10
|
interface Props {
|
|
7
11
|
open?: boolean;
|
|
8
12
|
activeUrl?: string;
|
|
9
13
|
placement?: string;
|
|
10
14
|
class?: string;
|
|
15
|
+
/** @deprecated Use `labels.menu` instead */
|
|
11
16
|
ariaLabel?: string;
|
|
12
17
|
onclose?: () => void;
|
|
13
18
|
children?: Snippet;
|
|
19
|
+
labels?: Partial<typeof defaultLabels>;
|
|
14
20
|
[key: string]: unknown;
|
|
15
21
|
}
|
|
16
22
|
|
|
@@ -19,12 +25,15 @@
|
|
|
19
25
|
activeUrl = "",
|
|
20
26
|
placement = "bottom",
|
|
21
27
|
class: className = "",
|
|
22
|
-
ariaLabel =
|
|
28
|
+
ariaLabel = undefined,
|
|
23
29
|
onclose,
|
|
24
30
|
children,
|
|
31
|
+
labels: userLabels = {},
|
|
25
32
|
...restProps
|
|
26
33
|
}: Props = $props();
|
|
27
34
|
|
|
35
|
+
let labels = $derived({ ...defaultLabels, ...userLabels });
|
|
36
|
+
|
|
28
37
|
let dropdownRef: HTMLUListElement | null = $state(null);
|
|
29
38
|
let containerRef: HTMLDivElement | null = $state(null);
|
|
30
39
|
let focusedIndex = $state(-1);
|
|
@@ -159,7 +168,7 @@
|
|
|
159
168
|
bind:this={containerRef}
|
|
160
169
|
class="absolute z-10 bg-white divide-y divide-gray-100 rounded-lg shadow-lg w-44 dark:bg-gray-700 dark:divide-gray-600 {className}"
|
|
161
170
|
role="menu"
|
|
162
|
-
aria-label={ariaLabel}
|
|
171
|
+
aria-label={ariaLabel ?? labels.menu}
|
|
163
172
|
transition:bloom={{ origin: placementOrigins[placement] || "top left" }}
|
|
164
173
|
{...restProps}
|
|
165
174
|
>
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import type { Snippet } from "svelte";
|
|
2
|
-
|
|
2
|
+
declare const Dropdown: import("svelte").Component<{
|
|
3
|
+
[key: string]: unknown;
|
|
3
4
|
open?: boolean;
|
|
4
5
|
activeUrl?: string;
|
|
5
6
|
placement?: string;
|
|
6
7
|
class?: string;
|
|
8
|
+
/** @deprecated Use `labels.menu` instead */
|
|
7
9
|
ariaLabel?: string;
|
|
8
10
|
onclose?: () => void;
|
|
9
11
|
children?: Snippet;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
labels?: Partial<{
|
|
13
|
+
menu: string;
|
|
14
|
+
}>;
|
|
15
|
+
}, {}, "open">;
|
|
13
16
|
type Dropdown = ReturnType<typeof Dropdown>;
|
|
14
17
|
export default Dropdown;
|
|
15
18
|
//# sourceMappingURL=Dropdown.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Dropdown/Dropdown.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Dropdown.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Dropdown/Dropdown.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAkLtC,QAAA,MAAM,QAAQ;;WArKH,OAAO;gBACF,MAAM;gBACN,MAAM;YACV,MAAM;IACd,4CAA4C;gBAChC,MAAM;cACR,MAAM,IAAI;eACT,OAAO;aACT,OAAO;;MAAsB;cA6JY,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
|
|
@@ -16,6 +16,16 @@
|
|
|
16
16
|
import { formInputSizes } from "../../tokens/sizing";
|
|
17
17
|
import { formatCreditCardNumber, formatPhoneNumber } from "../../utils/formatters";
|
|
18
18
|
|
|
19
|
+
const defaultLabels = {
|
|
20
|
+
hidePassword: 'Hide password',
|
|
21
|
+
showPassword: 'Show password',
|
|
22
|
+
clearInput: 'Clear input',
|
|
23
|
+
buttonIconAlt: 'Button Icon',
|
|
24
|
+
inputIconAlt: 'Input icon',
|
|
25
|
+
helperIconAlt: 'Helper icon',
|
|
26
|
+
optional: '(optional)',
|
|
27
|
+
};
|
|
28
|
+
|
|
19
29
|
/** @type {{
|
|
20
30
|
required?: boolean,
|
|
21
31
|
disabled?: boolean,
|
|
@@ -107,9 +117,12 @@
|
|
|
107
117
|
onblur,
|
|
108
118
|
oninputchange,
|
|
109
119
|
leftIcon,
|
|
120
|
+
labels: userLabels = {},
|
|
110
121
|
...restProps
|
|
111
122
|
} = $props();
|
|
112
123
|
|
|
124
|
+
let labels = $derived({ ...defaultLabels, ...userLabels });
|
|
125
|
+
|
|
113
126
|
let inputValue = $state(value);
|
|
114
127
|
let inputElement = $state(null);
|
|
115
128
|
let debounceTimer;
|
|
@@ -275,7 +288,7 @@
|
|
|
275
288
|
<span class="text-sm font-medium {statusType === 'success' ? 'text-green-600' : statusType === 'error' ? 'text-red-500' : ''}">({statusText})</span>
|
|
276
289
|
{/if}
|
|
277
290
|
{#if optional}
|
|
278
|
-
<span class={typography.smMuted}>
|
|
291
|
+
<span class={typography.smMuted}>{labels.optional}</span>
|
|
279
292
|
{/if}
|
|
280
293
|
</div>
|
|
281
294
|
{/if}
|
|
@@ -328,7 +341,7 @@
|
|
|
328
341
|
onclick={togglePasswordVisibility}
|
|
329
342
|
class="flex items-center justify-center px-3 text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 focus:outline-none"
|
|
330
343
|
tabindex="-1"
|
|
331
|
-
aria-label={isPasswordVisible ?
|
|
344
|
+
aria-label={isPasswordVisible ? labels.hidePassword : labels.showPassword}
|
|
332
345
|
>
|
|
333
346
|
{#if isPasswordVisible}
|
|
334
347
|
<EyeSlashOutline class="w-5 h-5" />
|
|
@@ -373,7 +386,7 @@
|
|
|
373
386
|
type="button"
|
|
374
387
|
onclick={clearInput}
|
|
375
388
|
class="absolute right-2 top-1/2 -translate-y-1/2 flex items-center justify-center p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200"
|
|
376
|
-
aria-label=
|
|
389
|
+
aria-label={labels.clearInput}
|
|
377
390
|
tabindex="-1"
|
|
378
391
|
>
|
|
379
392
|
<CloseCircleOutline class="w-4 h-4" />
|
|
@@ -386,7 +399,7 @@
|
|
|
386
399
|
class="absolute inset-y-0 right-0 gap-1 flex items-center justify-center px-4 text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300 disabled:opacity-50 disabled:cursor-not-allowed {helperText || hintText || errorText ? 'mb-7' : ''}"
|
|
387
400
|
>
|
|
388
401
|
{#if buttonIcon}
|
|
389
|
-
<img src={buttonIcon} alt=
|
|
402
|
+
<img src={buttonIcon} alt={labels.buttonIconAlt} class="w-5 h-5" />
|
|
390
403
|
{/if}
|
|
391
404
|
{#if buttonText}
|
|
392
405
|
<span class="text-sm font-medium">{buttonText}</span>
|
|
@@ -394,7 +407,7 @@
|
|
|
394
407
|
</button>
|
|
395
408
|
{/if}
|
|
396
409
|
{#if icon && type !== "textarea" && !(showClearButton && inputValue)}
|
|
397
|
-
<img src={icon} alt=
|
|
410
|
+
<img src={icon} alt={labels.inputIconAlt} class="absolute inset-y-0 right-0 w-5 h-5 mr-3 top-1/2 transform -translate-y-1/2" />
|
|
398
411
|
{/if}
|
|
399
412
|
</div>
|
|
400
413
|
{/if}
|
|
@@ -407,7 +420,7 @@
|
|
|
407
420
|
{:else if helperText || hintText}
|
|
408
421
|
<div class={`mt-2 flex items-center ${typography.xsMuted} opacity-65`}>
|
|
409
422
|
{#if helperIcon || hintIcon}
|
|
410
|
-
<img src={helperIcon || hintIcon} alt=
|
|
423
|
+
<img src={helperIcon || hintIcon} alt={labels.helperIconAlt} class="w-4 h-4 mr-2" />
|
|
411
424
|
{/if}
|
|
412
425
|
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
|
413
426
|
<span>{@html helperText || hintText}</span>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Input/Input.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Input.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Input/Input.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgaA;eA7Ce,OAAO;eACP,OAAO;eACP,OAAO;WACX,MAAM,GAAG,IAAI;iBACP,MAAM,GAAG,IAAI;iBACb,MAAM,GAAG,IAAI;gBACd,MAAM,GAAG,IAAI;gBACb,MAAM,GAAG,IAAI;WAClB,MAAM;kBACC,MAAM;YACZ,MAAM;SACT,MAAM;WACJ,MAAM;gBACD,MAAM;WACX,IAAI,GAAG,IAAI,GAAG,IAAI;mBACV,MAAM;gBACT,MAAM;YACV,MAAM,GAAG,KAAK;iBACT,MAAM;iBACN,MAAM;eACR,MAAM;eACN,MAAM;mBACF,MAAM;eACV,OAAO;iBACL,OAAO;oBACJ,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI;YACxC,MAAM,GAAG,MAAM,GAAG,IAAI;mBACf,MAAM,GAAG,IAAI;gBAChB,OAAO;yBACE,OAAO;mBACb,OAAO;iBACT,MAAM;iBACN,MAAM;qBACF,OAAO;gBACZ,MAAM,GAAG,IAAI;oBACT,OAAO;iBACV,MAAM;qBACF,MAAM;sBACL,OAAO;eACd,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI;cACpC,MAAM,IAAI;aACX,MAAM,IAAI;oBACH,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;eAC5B,OAAO,QAAQ,EAAE,OAAO;gBAEa"}
|
|
@@ -11,6 +11,11 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { twMerge } from 'tailwind-merge';
|
|
13
13
|
|
|
14
|
+
const defaultLabels = {
|
|
15
|
+
decreaseQuantity: 'Decrease quantity',
|
|
16
|
+
increaseQuantity: 'Increase quantity',
|
|
17
|
+
};
|
|
18
|
+
|
|
14
19
|
/** @type {{
|
|
15
20
|
value?: number,
|
|
16
21
|
min?: number,
|
|
@@ -26,9 +31,12 @@
|
|
|
26
31
|
disabled = false,
|
|
27
32
|
onchange,
|
|
28
33
|
class: className = "",
|
|
34
|
+
labels: userLabels = {},
|
|
29
35
|
...restProps
|
|
30
36
|
} = $props();
|
|
31
37
|
|
|
38
|
+
let labels = $derived({ ...defaultLabels, ...userLabels });
|
|
39
|
+
|
|
32
40
|
function increment() {
|
|
33
41
|
if (value < max && !disabled) {
|
|
34
42
|
const newValue = value + 1;
|
|
@@ -80,7 +88,7 @@
|
|
|
80
88
|
class={decrementClasses}
|
|
81
89
|
onclick={decrement}
|
|
82
90
|
disabled={isMinDisabled}
|
|
83
|
-
aria-label=
|
|
91
|
+
aria-label={labels.decreaseQuantity}
|
|
84
92
|
>
|
|
85
93
|
<svg class="w-3 h-3 text-gray-800 dark:text-white" fill="none" viewBox="0 0 18 2">
|
|
86
94
|
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 1h16"/>
|
|
@@ -96,7 +104,7 @@
|
|
|
96
104
|
class={incrementClasses}
|
|
97
105
|
onclick={increment}
|
|
98
106
|
disabled={isMaxDisabled}
|
|
99
|
-
aria-label=
|
|
107
|
+
aria-label={labels.increaseQuantity}
|
|
100
108
|
>
|
|
101
109
|
<svg class="w-3 h-3 text-gray-800 dark:text-white" fill="none" viewBox="0 0 18 18">
|
|
102
110
|
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 1v16M1 9h16"/>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/NumberInput/NumberInput.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"NumberInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/NumberInput/NumberInput.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;AAqHA;YAPY,MAAM;UACR,MAAM;UACN,MAAM;eACD,OAAO;eACP,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;YAC1B,MAAM;WAEwC"}
|