@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.
Files changed (140) hide show
  1. package/dist/calendar/AboutShow/AboutShow.svelte +9 -5
  2. package/dist/calendar/AboutShow/AboutShow.svelte.d.ts +2 -2
  3. package/dist/calendar/AboutShow/AboutShow.svelte.d.ts.map +1 -1
  4. package/dist/calendar/Calendar/MiniMonthCalendar.svelte +39 -18
  5. package/dist/calendar/Calendar/MiniMonthCalendar.svelte.d.ts +4 -0
  6. package/dist/calendar/Calendar/MiniMonthCalendar.svelte.d.ts.map +1 -1
  7. package/dist/calendar/FAQs/FAQs.svelte +16 -5
  8. package/dist/calendar/FAQs/FAQs.svelte.d.ts +6 -4
  9. package/dist/calendar/FAQs/FAQs.svelte.d.ts.map +1 -1
  10. package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +19 -4
  11. package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte.d.ts +2 -0
  12. package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte.d.ts.map +1 -1
  13. package/dist/calendar/OrderSummary/OrderSummary.spec.js +3 -3
  14. package/dist/calendar/OrderSummary/OrderSummary.svelte +17 -13
  15. package/dist/calendar/OrderSummary/OrderSummary.svelte.d.ts +4 -2
  16. package/dist/calendar/OrderSummary/OrderSummary.svelte.d.ts.map +1 -1
  17. package/dist/calendar/PublicCard/PublicCard.svelte +11 -2
  18. package/dist/calendar/PublicCard/PublicCard.svelte.d.ts +4 -0
  19. package/dist/calendar/PublicCard/PublicCard.svelte.d.ts.map +1 -1
  20. package/dist/calendar/ShowCard/ShowCard.svelte +25 -11
  21. package/dist/calendar/ShowCard/ShowCard.svelte.d.ts +4 -0
  22. package/dist/calendar/ShowCard/ShowCard.svelte.d.ts.map +1 -1
  23. package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +12 -4
  24. package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte.d.ts +4 -0
  25. package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte.d.ts.map +1 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -0
  29. package/dist/patterns/chat/ChatBubble.svelte +9 -1
  30. package/dist/patterns/chat/ChatBubble.svelte.d.ts +6 -4
  31. package/dist/patterns/chat/ChatBubble.svelte.d.ts.map +1 -1
  32. package/dist/patterns/chat/ChatInvitationBubble.svelte +10 -1
  33. package/dist/patterns/chat/ChatInvitationBubble.svelte.d.ts +6 -3
  34. package/dist/patterns/chat/ChatInvitationBubble.svelte.d.ts.map +1 -1
  35. package/dist/patterns/chat/ChatInvitationNotice.svelte +10 -1
  36. package/dist/patterns/chat/ChatInvitationNotice.svelte.d.ts +6 -3
  37. package/dist/patterns/chat/ChatInvitationNotice.svelte.d.ts.map +1 -1
  38. package/dist/patterns/forms/FormValidationSummary.svelte +9 -1
  39. package/dist/patterns/forms/FormValidationSummary.svelte.d.ts +5 -3
  40. package/dist/patterns/forms/FormValidationSummary.svelte.d.ts.map +1 -1
  41. package/dist/patterns/navigation/BottomNav.svelte +9 -1
  42. package/dist/patterns/navigation/BottomNav.svelte.d.ts +10 -9
  43. package/dist/patterns/navigation/BottomNav.svelte.d.ts.map +1 -1
  44. package/dist/patterns/navigation/Header.svelte +20 -8
  45. package/dist/patterns/navigation/Header.svelte.d.ts +17 -9
  46. package/dist/patterns/navigation/Header.svelte.d.ts.map +1 -1
  47. package/dist/patterns/page/PageLoader.svelte +12 -3
  48. package/dist/patterns/page/PageLoader.svelte.d.ts +6 -3
  49. package/dist/patterns/page/PageLoader.svelte.d.ts.map +1 -1
  50. package/dist/primitives/Accordion/AccordionItem.svelte +9 -1
  51. package/dist/primitives/Accordion/AccordionItem.svelte.d.ts +6 -4
  52. package/dist/primitives/Accordion/AccordionItem.svelte.d.ts.map +1 -1
  53. package/dist/primitives/Alert/Alert.svelte +10 -2
  54. package/dist/primitives/Alert/Alert.svelte.d.ts +6 -4
  55. package/dist/primitives/Alert/Alert.svelte.d.ts.map +1 -1
  56. package/dist/primitives/Breadcrumb/Breadcrumb.svelte +9 -1
  57. package/dist/primitives/Breadcrumb/Breadcrumb.svelte.d.ts +13 -9
  58. package/dist/primitives/Breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  59. package/dist/primitives/DarkModeToggle.svelte +16 -5
  60. package/dist/primitives/DarkModeToggle.svelte.d.ts +9 -3
  61. package/dist/primitives/DarkModeToggle.svelte.d.ts.map +1 -1
  62. package/dist/primitives/Dropdown/Dropdown.svelte +11 -2
  63. package/dist/primitives/Dropdown/Dropdown.svelte.d.ts +7 -4
  64. package/dist/primitives/Dropdown/Dropdown.svelte.d.ts.map +1 -1
  65. package/dist/primitives/Input/Input.svelte +19 -6
  66. package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
  67. package/dist/primitives/NumberInput/NumberInput.svelte +10 -2
  68. package/dist/primitives/NumberInput/NumberInput.svelte.d.ts.map +1 -1
  69. package/dist/primitives/Pagination/Pagination.svelte +21 -7
  70. package/dist/primitives/Pagination/Pagination.svelte.d.ts +14 -6
  71. package/dist/primitives/Pagination/Pagination.svelte.d.ts.map +1 -1
  72. package/dist/primitives/Skeleton/CardPlaceholder.svelte +11 -2
  73. package/dist/primitives/Skeleton/CardPlaceholder.svelte.d.ts +8 -5
  74. package/dist/primitives/Skeleton/CardPlaceholder.svelte.d.ts.map +1 -1
  75. package/dist/primitives/Skeleton/ImagePlaceholder.svelte +11 -2
  76. package/dist/primitives/Skeleton/ImagePlaceholder.svelte.d.ts +8 -5
  77. package/dist/primitives/Skeleton/ImagePlaceholder.svelte.d.ts.map +1 -1
  78. package/dist/primitives/Skeleton/ListPlaceholder.svelte +11 -2
  79. package/dist/primitives/Skeleton/ListPlaceholder.svelte.d.ts +8 -5
  80. package/dist/primitives/Skeleton/ListPlaceholder.svelte.d.ts.map +1 -1
  81. package/dist/primitives/Skeleton/Skeleton.svelte +11 -2
  82. package/dist/primitives/Skeleton/Skeleton.svelte.d.ts +7 -4
  83. package/dist/primitives/Skeleton/Skeleton.svelte.d.ts.map +1 -1
  84. package/dist/primitives/Spinner/Spinner.svelte +9 -1
  85. package/dist/primitives/Spinner/Spinner.svelte.d.ts +6 -4
  86. package/dist/primitives/Spinner/Spinner.svelte.d.ts.map +1 -1
  87. package/dist/recipes/ImageUploader/ImageUploader.svelte +5 -3
  88. package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts +1 -0
  89. package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts.map +1 -1
  90. package/dist/recipes/SuperLogin/SuperLogin.svelte +25 -23
  91. package/dist/recipes/SuperLogin/SuperLogin.svelte.d.ts.map +1 -1
  92. package/dist/recipes/feedback/EmptyState/EmptyState.svelte +12 -3
  93. package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts +7 -4
  94. package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts.map +1 -1
  95. package/dist/recipes/inputs/MultiSelect.svelte +10 -2
  96. package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
  97. package/dist/recipes/inputs/OTPInput.svelte +14 -3
  98. package/dist/recipes/inputs/OTPInput.svelte.d.ts +14 -12
  99. package/dist/recipes/inputs/OTPInput.svelte.d.ts.map +1 -1
  100. package/dist/recipes/inputs/PasswordInput.svelte +10 -1
  101. package/dist/recipes/inputs/PasswordInput.svelte.d.ts +7 -4
  102. package/dist/recipes/inputs/PasswordInput.svelte.d.ts.map +1 -1
  103. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +21 -10
  104. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts +8 -3
  105. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts.map +1 -1
  106. package/dist/recipes/inputs/PhoneInput.svelte +1 -5
  107. package/dist/recipes/inputs/PhoneInput.svelte.d.ts +0 -2
  108. package/dist/recipes/inputs/PhoneInput.svelte.d.ts.map +1 -1
  109. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +22 -9
  110. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts +21 -16
  111. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts.map +1 -1
  112. package/dist/recipes/inputs/Search.svelte +10 -2
  113. package/dist/recipes/inputs/Search.svelte.d.ts +7 -5
  114. package/dist/recipes/inputs/Search.svelte.d.ts.map +1 -1
  115. package/dist/recipes/inputs/phoneInput/CountrySelector.svelte +9 -66
  116. package/dist/recipes/inputs/phoneInput/CountrySelector.svelte.d.ts +0 -2
  117. package/dist/recipes/inputs/phoneInput/CountrySelector.svelte.d.ts.map +1 -1
  118. package/dist/recipes/inputs/phoneInput/countryData.d.ts +0 -2
  119. package/dist/recipes/inputs/phoneInput/countryData.d.ts.map +1 -1
  120. package/dist/recipes/inputs/phoneInput/countryData.js +3 -3
  121. package/dist/recipes/modals/AlertModal.svelte +11 -2
  122. package/dist/recipes/modals/AlertModal.svelte.d.ts +4 -2
  123. package/dist/recipes/modals/AlertModal.svelte.d.ts.map +1 -1
  124. package/dist/recipes/modals/ConfirmationModal.svelte +8 -1
  125. package/dist/recipes/modals/ConfirmationModal.svelte.d.ts +2 -0
  126. package/dist/recipes/modals/ConfirmationModal.svelte.d.ts.map +1 -1
  127. package/dist/recipes/modals/InputModal.svelte +19 -7
  128. package/dist/recipes/modals/InputModal.svelte.d.ts +6 -4
  129. package/dist/recipes/modals/InputModal.svelte.d.ts.map +1 -1
  130. package/dist/recipes/modals/StatusModal.svelte +14 -4
  131. package/dist/recipes/modals/StatusModal.svelte.d.ts +4 -2
  132. package/dist/recipes/modals/StatusModal.svelte.d.ts.map +1 -1
  133. package/dist/tokens/__tests__/variants.test.js +12 -4
  134. package/dist/tokens/variants.d.ts +4 -4
  135. package/dist/tokens/variants.js +4 -4
  136. package/dist/utils/formatters.d.ts +6 -0
  137. package/dist/utils/formatters.d.ts.map +1 -1
  138. package/dist/utils/formatters.js +8 -0
  139. package/dist/utils/utils.js +25 -16
  140. package/package.json +1 -1
@@ -12,16 +12,27 @@
12
12
  import Checkbox from "../../primitives/Checkbox/Checkbox.svelte";
13
13
  import { typography } from '../../tokens/typography';
14
14
 
15
+ /** Escape HTML special characters to prevent XSS in {@html} blocks. */
16
+ function escapeHtml(str) {
17
+ if (!str) return '';
18
+ return String(str)
19
+ .replace(/&/g, '&')
20
+ .replace(/</g, '&lt;')
21
+ .replace(/>/g, '&gt;')
22
+ .replace(/"/g, '&quot;')
23
+ .replace(/'/g, '&#39;');
24
+ }
25
+
15
26
  /**
16
27
  * Default labels for all user-visible strings in SuperLogin.
17
28
  * Consumers can override any string via the `labels` prop.
18
29
  */
19
30
  const defaultLabels = {
20
31
  // Login view
21
- welcomeTitle: (name) => name ? `Welcome, ${name}!` : 'Welcome!',
22
- signInDescription: (portal) => `Sign in to access your ${portal}.`,
23
- welcomeBackTitle: (name) => `Welcome back, ${name}`,
24
- notYouButton: (name) => `Not ${name}?`,
32
+ welcomeTitle: (name) => name ? `Welcome, ${escapeHtml(name)}!` : 'Welcome!',
33
+ signInDescription: (portal) => `Sign in to access your ${escapeHtml(portal)}.`,
34
+ welcomeBackTitle: (name) => `Welcome back, ${escapeHtml(name)}`,
35
+ notYouButton: (name) => `Not ${escapeHtml(name)}?`,
25
36
  logInTitle: 'Log in',
26
37
  emailLabel: 'Email',
27
38
  passwordLabel: 'Password',
@@ -33,12 +44,12 @@
33
44
 
34
45
  // Account selection view
35
46
  selectAccountTitle: 'Select account',
36
- multipleAccountsDescription: (email) => `You have multiple accounts associated with ${email}. Select one to continue.`,
47
+ multipleAccountsDescription: (email) => `You have multiple accounts associated with <span class="${typography.sm}">${escapeHtml(email)}</span>. Select one to continue.`,
37
48
  loginDifferentEmail: 'Log in with a different email',
38
49
  performerFallback: 'Performer',
39
50
 
40
51
  // Setup view
41
- setupTitle: (name) => name ? `Welcome, ${name}` : 'Set up your account',
52
+ setupTitle: (name) => name ? `Welcome, ${escapeHtml(name)}` : 'Set up your account',
42
53
  setupDescription: 'Create a password to finish setting up your account.',
43
54
  createPasswordLabel: 'Create password',
44
55
  completeSetupButton: 'Complete setup',
@@ -58,10 +69,10 @@
58
69
 
59
70
  // Success view
60
71
  checkEmailTitle: 'Check your email',
61
- resentMessage: (type, email) => `We've resent ${type === 'reset' ? 'password reset instructions' : 'a login link'} to ${email} if it is an email on file.`,
72
+ resentMessage: (type, email) => `We've resent ${type === 'reset' ? 'password reset instructions' : 'a login link'} to <span class="${typography.sm}">${escapeHtml(email)}</span> if it is an email on file.`,
62
73
  resentFollowUp: 'Please check again. If you still haven\'t received an email,',
63
74
  tryDifferentEmail: 'try a different email',
64
- successMessage: (type, email) => `Thanks! If ${email} matches an email we have on file, then we've sent you an email containing further instructions for ${type === 'reset' ? 'resetting your password' : 'signing in'}.`,
75
+ successMessage: (type, email) => `Thanks! If <span class="${typography.sm}">${escapeHtml(email)}</span> matches an email we have on file, then we've sent you an email containing further instructions for ${type === 'reset' ? 'resetting your password' : 'signing in'}.`,
65
76
  noEmailReceived: 'If you haven\'t received an email in 5 minutes, check your spam,',
66
77
  resend: 'resend',
67
78
  returnToSignIn: 'Return to sign in',
@@ -859,11 +870,8 @@
859
870
  {labels.selectAccountTitle}
860
871
  </h2>
861
872
  <p class={typography.smMuted}>
862
- {#if true}
863
- {@const message = typeof labels.multipleAccountsDescription === 'function' ? labels.multipleAccountsDescription(email) : labels.multipleAccountsDescription}
864
- {@const parts = message.split(email)}
865
- {parts[0]}<span class={typography.sm}>{email}</span>{parts[1] || ''}
866
- {/if}
873
+ <!-- eslint-disable-next-line svelte/no-at-html-tags -- labels use escapeHtml() for XSS safety -->
874
+ {@html typeof labels.multipleAccountsDescription === 'function' ? labels.multipleAccountsDescription(email) : labels.multipleAccountsDescription}
867
875
  </p>
868
876
  </div>
869
877
 
@@ -1158,11 +1166,8 @@
1158
1166
  </h2>
1159
1167
  {#if isResendSuccess}
1160
1168
  <p class={`${typography.smMuted} leading-relaxed text-left`}>
1161
- {#if true}
1162
- {@const message = typeof labels.resentMessage === 'function' ? labels.resentMessage(successType, successEmail) : labels.resentMessage}
1163
- {@const parts = message.split(successEmail)}
1164
- {parts[0]}<span class={typography.sm}>{successEmail}</span>{parts[1] || ''}
1165
- {/if}
1169
+ <!-- eslint-disable-next-line svelte/no-at-html-tags -- labels use escapeHtml() for XSS safety -->
1170
+ {@html typeof labels.resentMessage === 'function' ? labels.resentMessage(successType, successEmail) : labels.resentMessage}
1166
1171
  </p>
1167
1172
  <p class={`${typography.smMuted} leading-relaxed text-left`}>
1168
1173
  {labels.resentFollowUp} <Button
@@ -1172,11 +1177,8 @@
1172
1177
  </p>
1173
1178
  {:else}
1174
1179
  <p class={`${typography.smMuted} leading-relaxed text-left`}>
1175
- {#if true}
1176
- {@const message = typeof labels.successMessage === 'function' ? labels.successMessage(successType, successEmail) : labels.successMessage}
1177
- {@const parts = message.split(successEmail)}
1178
- {parts[0]}<span class={typography.sm}>{successEmail}</span>{parts[1] || ''}
1179
- {/if}
1180
+ <!-- eslint-disable-next-line svelte/no-at-html-tags -- labels use escapeHtml() for XSS safety -->
1181
+ {@html typeof labels.successMessage === 'function' ? labels.successMessage(successType, successEmail) : labels.successMessage}
1180
1182
  </p>
1181
1183
  <p class={`${typography.smMuted} leading-relaxed text-left`}>
1182
1184
  {labels.noEmailReceived} <Button variant="link" onclick={handleResend}>{labels.resend}</Button>, or
@@ -1 +1 @@
1
- {"version":3,"file":"SuperLogin.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/recipes/SuperLogin/SuperLogin.svelte.js"],"names":[],"mappings":";;;;;AAgjCA;iBAz7BkC,MAAM;cAAY,MAAM;cAAY,MAAM;kBAAgB,MAAM;kBAAgB,OAAO;gBAAc,MAAM;gBAAc,MAAM;iBAAe,MAAM;0BAAwB,MAAM;wBAAsB,MAAM;aAAW,MAAM;;;;;yBAAoI,OAAO;mBAAiB,MAAM;aAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WAy7BxY;wBAz7BtC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,WAAW;IAAC,eAAe,CAAC,WAAW;IAAC,UAAU,CAAC,WAAW;IAAC,kBAAkB,CAAC,WAAW;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE"}
1
+ {"version":3,"file":"SuperLogin.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/recipes/SuperLogin/SuperLogin.svelte.js"],"names":[],"mappings":";;;;;AAkjCA;iBAh7BkC,MAAM;cAAY,MAAM;cAAY,MAAM;kBAAgB,MAAM;kBAAgB,OAAO;gBAAc,MAAM;gBAAc,MAAM;iBAAe,MAAM;0BAAwB,MAAM;wBAAsB,MAAM;aAAW,MAAM;;;;;yBAAoI,OAAO;mBAAiB,MAAM;aAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WAg7BxY;wBAh7BtC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,WAAW;IAAC,eAAe,CAAC,WAAW;IAAC,UAAU,CAAC,WAAW;IAAC,kBAAkB,CAAC,WAAW;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE"}
@@ -2,6 +2,10 @@
2
2
  import type { Component, Snippet } from 'svelte';
3
3
  import { typography } from '../../../tokens/typography';
4
4
 
5
+ const defaultLabels = {
6
+ noResultsFound: 'No results found',
7
+ };
8
+
5
9
  interface Props {
6
10
  /** Title text (alias for message) */
7
11
  title?: string;
@@ -23,6 +27,8 @@
23
27
  class?: string;
24
28
  /** Optional action content (buttons, links, etc.) */
25
29
  children?: Snippet;
30
+ /** Override user-visible strings */
31
+ labels?: Partial<typeof defaultLabels>;
26
32
  }
27
33
 
28
34
  let {
@@ -35,11 +41,14 @@
35
41
  iconType = 'component',
36
42
  iconSize = 'w-20 h-20',
37
43
  class: className = '',
38
- children
44
+ children,
45
+ labels: userLabels = {},
39
46
  }: Props = $props();
40
-
47
+
48
+ let labels = $derived({ ...defaultLabels, ...userLabels });
49
+
41
50
  // Support both naming conventions
42
- let displayTitle = $derived(title || message || 'No results found');
51
+ let displayTitle = $derived(title || message || labels.noResultsFound);
43
52
  let displaySubtext = $derived(description || subtext);
44
53
  </script>
45
54
 
@@ -1,5 +1,5 @@
1
1
  import type { Component, Snippet } from 'svelte';
2
- interface Props {
2
+ declare const EmptyState: Component<{
3
3
  /** Title text (alias for message) */
4
4
  title?: string;
5
5
  /** Main message to display */
@@ -13,15 +13,18 @@ interface Props {
13
13
  /** Image path (when iconType='image') */
14
14
  imageSrc?: string;
15
15
  /** Type of icon provided */
16
- iconType?: 'component' | 'image';
16
+ iconType?: "component" | "image";
17
17
  /** Size classes for the icon */
18
18
  iconSize?: string;
19
19
  /** Additional CSS classes */
20
20
  class?: string;
21
21
  /** Optional action content (buttons, links, etc.) */
22
22
  children?: Snippet;
23
- }
24
- declare const EmptyState: Component<Props, {}, "">;
23
+ /** Override user-visible strings */
24
+ labels?: Partial<{
25
+ noResultsFound: string;
26
+ }>;
27
+ }, {}, "">;
25
28
  type EmptyState = ReturnType<typeof EmptyState>;
26
29
  export default EmptyState;
27
30
  //# sourceMappingURL=EmptyState.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/recipes/feedback/EmptyState/EmptyState.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAI/C,UAAU,KAAK;IACb,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IACjC,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAgDH,QAAA,MAAM,UAAU,0BAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"EmptyState.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/recipes/feedback/EmptyState/EmptyState.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAiFjD,QAAA,MAAM,UAAU;IArEZ,qCAAqC;YAC7B,MAAM;IACd,8BAA8B;cACpB,MAAM;IAChB,2CAA2C;kBAC7B,MAAM;IACpB,iCAAiC;cACvB,MAAM;IAChB,iDAAiD;WAC1C,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI;IAC5B,yCAAyC;eAC9B,MAAM;IACjB,4BAA4B;eACjB,WAAW,GAAG,OAAO;IAChC,gCAAgC;eACrB,MAAM;IACjB,6BAA6B;YACrB,MAAM;IACd,qDAAqD;eAC1C,OAAO;IAClB,oCAAoC;aAC3B,OAAO;;MAAsB;UAgDc,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -3,6 +3,11 @@
3
3
  import { typography } from '../../tokens/typography';
4
4
  import { bloom } from "../../utils/transitions.js";
5
5
 
6
+ const defaultLabels = {
7
+ clearAll: 'Clear all',
8
+ removeItem: (name) => `Remove ${name}`,
9
+ };
10
+
6
11
 
7
12
  /**
8
13
  * @typedef {Object} SelectItem
@@ -43,8 +48,11 @@
43
48
  size = "md",
44
49
  animateFocus = true,
45
50
  onchange,
51
+ labels: userLabels = {},
46
52
  } = $props();
47
53
 
54
+ let labels = $derived({ ...defaultLabels, ...userLabels });
55
+
48
56
  let isOpen = $state(false);
49
57
  let triggerElement = $state();
50
58
  let dropdownElement = $state();
@@ -209,7 +217,7 @@
209
217
  type="button"
210
218
  class="inline-flex items-center p-0.5 ms-1.5 text-sm text-blue-400 bg-transparent rounded-xs hover:bg-blue-200 hover:text-blue-900 dark:hover:bg-blue-800 dark:hover:text-blue-300"
211
219
  onclick={(e) => removeItem(item, e)}
212
- aria-label="Remove {item.name}"
220
+ aria-label={typeof labels.removeItem === 'function' ? labels.removeItem(item.name) : `Remove ${item.name}`}
213
221
  >
214
222
  <CloseOutline class="w-3 h-3" />
215
223
  </button>
@@ -227,7 +235,7 @@
227
235
  type="button"
228
236
  class="flex items-center justify-center w-5 h-5 p-0 bg-transparent border-none cursor-pointer text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 rounded"
229
237
  onclick={clearAll}
230
- aria-label="Clear all"
238
+ aria-label={labels.clearAll}
231
239
  >
232
240
  <CloseOutline class="w-3.5 h-3.5" />
233
241
  </button>
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/recipes/inputs/MultiSelect.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAwQA;YAhBY,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;YACnB;;;;cA1OI,MAAM;;;;eACN,MAAM,GAAG,MAAM;OAyOP;kBACN,MAAM;YACZ,MAAM;eACH,OAAO;eACP,OAAO;YACV,MAAM;gBACF,OAAO;qBACF,OAAO;mBACT,OAAO;WACf,MAAM;SACR,MAAM;WACJ,IAAI,GAAG,IAAI,GAAG,IAAI;mBACV,OAAO;eACX,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,KAAK,EAAE;;;;kBAvP7C,MAAM;;;;mBACN,MAAM,GAAG,MAAM;WAsP0C,CAAA;KAAE,KAAK,IAAI;gBAE1B;;;;;UAzP1C,MAAM;;;;WACN,MAAM,GAAG,MAAM"}
1
+ {"version":3,"file":"MultiSelect.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/recipes/inputs/MultiSelect.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAgRA;YAhBY,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;YACnB;;;;cA7OI,MAAM;;;;eACN,MAAM,GAAG,MAAM;OA4OP;kBACN,MAAM;YACZ,MAAM;eACH,OAAO;eACP,OAAO;YACV,MAAM;gBACF,OAAO;qBACF,OAAO;mBACT,OAAO;WACf,MAAM;SACR,MAAM;WACJ,IAAI,GAAG,IAAI,GAAG,IAAI;mBACV,OAAO;eACX,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,KAAK,EAAE;;;;kBA1P7C,MAAM;;;;mBACN,MAAM,GAAG,MAAM;WAyP0C,CAAA;KAAE,KAAK,IAAI;gBAE1B;;;;;UA5P1C,MAAM;;;;WACN,MAAM,GAAG,MAAM"}
@@ -6,12 +6,20 @@
6
6
  value: string[];
7
7
  code: string;
8
8
  }
9
+
10
+ const defaultLabels = {
11
+ enterCode: (len: number) => `Enter ${len}-digit verification code`,
12
+ instructions: (len: number) => `Enter one digit per box. Use backspace to navigate back. You can also paste a ${len}-digit code.`,
13
+ digitLabel: (index: number, total: number) => `Digit ${index + 1} of ${total}`,
14
+ };
15
+
9
16
  interface Props {
10
17
  value?: string[];
11
18
  length?: number;
12
19
  disabled?: boolean;
13
20
  oncomplete?: (event: CompleteEvent) => void;
14
21
  onchange?: (event: ChangeEvent) => void;
22
+ labels?: Partial<typeof defaultLabels>;
15
23
  }
16
24
 
17
25
  let {
@@ -20,8 +28,11 @@
20
28
  disabled = false,
21
29
  oncomplete,
22
30
  onchange,
31
+ labels: userLabels = {},
23
32
  }: Props = $props();
24
33
 
34
+ let labels = $derived({ ...defaultLabels, ...userLabels });
35
+
25
36
  let inputs = $state<HTMLInputElement[]>([]);
26
37
 
27
38
  // Initialize value array if needed
@@ -92,10 +103,10 @@
92
103
  <div
93
104
  class="flex justify-between gap-2 md:gap-3"
94
105
  role="group"
95
- aria-label="Enter {length}-digit verification code"
106
+ aria-label={typeof labels.enterCode === 'function' ? labels.enterCode(length) : labels.enterCode}
96
107
  >
97
108
  <span id="otp-instructions" class="sr-only">
98
- Enter one digit per box. Use backspace to navigate back. You can also paste a {length}-digit code.
109
+ {typeof labels.instructions === 'function' ? labels.instructions(length) : labels.instructions}
99
110
  </span>
100
111
  {#each value as digit, index}
101
112
  <input
@@ -106,7 +117,7 @@
106
117
  maxlength="1"
107
118
  value={digit}
108
119
  {disabled}
109
- aria-label="Digit {index + 1} of {length}"
120
+ aria-label={labels.digitLabel(index, length)}
110
121
  aria-describedby="otp-instructions"
111
122
  class="h-12 w-12 border-2 border-gray-300 bg-gray-50 p-0 text-center text-xl font-semibold leading-none text-gray-900 transition-colors focus:border-blue-500 focus:outline-hidden focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-200 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:disabled:bg-gray-600 md:h-14 md:w-14 md:text-2xl rounded-lg"
112
123
  oninput={(e) => handleInput(index, e)}
@@ -1,18 +1,20 @@
1
- interface CompleteEvent {
2
- code: string;
3
- }
4
- interface ChangeEvent {
5
- value: string[];
6
- code: string;
7
- }
8
- interface Props {
1
+ declare const OTPInput: import("svelte").Component<{
9
2
  value?: string[];
10
3
  length?: number;
11
4
  disabled?: boolean;
12
- oncomplete?: (event: CompleteEvent) => void;
13
- onchange?: (event: ChangeEvent) => void;
14
- }
15
- declare const OTPInput: import("svelte").Component<Props, {
5
+ oncomplete?: (event: {
6
+ code: string;
7
+ }) => void;
8
+ onchange?: (event: {
9
+ value: string[];
10
+ code: string;
11
+ }) => void;
12
+ labels?: Partial<{
13
+ enterCode: (len: number) => string;
14
+ instructions: (len: number) => string;
15
+ digitLabel: (index: number, total: number) => string;
16
+ }>;
17
+ }, {
16
18
  focus: () => void;
17
19
  clear: () => void;
18
20
  }, "value">;
@@ -1 +1 @@
1
- {"version":3,"file":"OTPInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/recipes/inputs/OTPInput.svelte.ts"],"names":[],"mappings":"AAGE,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AACD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AACD,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AA4FH,QAAA,MAAM,QAAQ;;;WAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"OTPInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/recipes/inputs/OTPInput.svelte.ts"],"names":[],"mappings":"AAoHA,QAAA,MAAM,QAAQ;YAjGF,MAAM,EAAE;aACP,MAAM;eACJ,OAAO;iBACL,CAAC,KAAK;cAjBb,MAAM;KAiBsB,KAAK,IAAI;eAChC,CAAC,KAAK;eAfV,MAAM,EAAE;cACT,MAAM;KAckB,KAAK,IAAI;aAC9B,OAAO;yBAXC,MAAM;4BACH,MAAM;4BACN,MAAM,SAAS,MAAM;MASH;;;;WA4FY,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -17,6 +17,10 @@
17
17
  import Input from '../../primitives/Input/Input.svelte';
18
18
  import PasswordStrengthIndicator from './PasswordStrengthIndicator/PasswordStrengthIndicator.svelte';
19
19
 
20
+ const defaultLabels = {
21
+ passwordStrength: 'Password strength:',
22
+ };
23
+
20
24
  interface Props {
21
25
  /** Password value */
22
26
  value?: string;
@@ -54,6 +58,8 @@
54
58
  oninput?: (value: string) => void;
55
59
  onblur?: () => void;
56
60
  onfocus?: () => void;
61
+ /** Override user-visible strings */
62
+ labels?: Partial<typeof defaultLabels>;
57
63
  }
58
64
 
59
65
  let {
@@ -76,8 +82,11 @@
76
82
  oninput,
77
83
  onblur,
78
84
  onfocus,
85
+ labels: userLabels = {},
79
86
  }: Props = $props();
80
87
 
88
+ let labels = $derived({ ...defaultLabels, ...userLabels });
89
+
81
90
  // Password strength tracking
82
91
  let strengthScore = $state(-1);
83
92
  let strengthText = $state('');
@@ -114,7 +123,7 @@
114
123
  bind:textColor={strengthColor}
115
124
  >
116
125
  <p class="text-xs {strengthColor}">
117
- Password strength: {strengthText}
126
+ {labels.passwordStrength} {strengthText}
118
127
  </p>
119
128
  </PasswordStrengthIndicator>
120
129
  {/if}
@@ -1,4 +1,4 @@
1
- interface Props {
1
+ declare const PasswordInput: import("svelte").Component<{
2
2
  /** Password value */
3
3
  value?: string;
4
4
  /** Label text */
@@ -20,7 +20,7 @@ interface Props {
20
20
  /** Show password strength indicator */
21
21
  showStrength?: boolean;
22
22
  /** Size variant */
23
- size?: 'sm' | 'md' | 'lg';
23
+ size?: "sm" | "md" | "lg";
24
24
  /** Minimum password length */
25
25
  minlength?: number | null;
26
26
  /** Maximum password length */
@@ -34,8 +34,11 @@ interface Props {
34
34
  oninput?: (value: string) => void;
35
35
  onblur?: () => void;
36
36
  onfocus?: () => void;
37
- }
38
- declare const PasswordInput: import("svelte").Component<Props, {}, "value">;
37
+ /** Override user-visible strings */
38
+ labels?: Partial<{
39
+ passwordStrength: string;
40
+ }>;
41
+ }, {}, "value">;
39
42
  type PasswordInput = ReturnType<typeof PasswordInput>;
40
43
  export default PasswordInput;
41
44
  //# sourceMappingURL=PasswordInput.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/recipes/inputs/PasswordInput.svelte.ts"],"names":[],"mappings":"AAsBE,UAAU,KAAK;IACb,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAiDH,QAAA,MAAM,aAAa,gDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"PasswordInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/recipes/inputs/PasswordInput.svelte.ts"],"names":[],"mappings":"AAoHA,QAAA,MAAM,aAAa;IArFf,qBAAqB;YACb,MAAM;IACd,iBAAiB;YACT,MAAM;IACd,uBAAuB;kBACT,MAAM;IACpB,2BAA2B;WACpB,MAAM;IACb,yBAAyB;SACpB,MAAM;IACX,oCAAoC;eACzB,OAAO;IAClB,oCAAoC;eACzB,OAAO;IAClB,+BAA+B;YACvB,MAAM;IACd,kCAAkC;WAC3B,MAAM;IACb,uCAAuC;mBACxB,OAAO;IACtB,mBAAmB;WACZ,IAAI,GAAG,IAAI,GAAG,IAAI;IACzB,8BAA8B;gBAClB,MAAM,GAAG,IAAI;IACzB,8BAA8B;gBAClB,MAAM,GAAG,IAAI;IACzB,6BAA6B;mBACd,MAAM;IACrB,iDAAiD;yBAC5B,OAAO;IAC5B,2CAA2C;YACnC,MAAM;cAEJ,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;aACxB,MAAM,IAAI;cACT,MAAM,IAAI;IACpB,oCAAoC;aAC3B,OAAO;;MAAsB;eAgDiB,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -5,12 +5,20 @@
5
5
  import { cubicOut } from "svelte/easing";
6
6
  import { untrack } from "svelte";
7
7
 
8
+ const defaultLabels = {
9
+ tooWeak: 'Too weak',
10
+ weak: 'Weak',
11
+ good: 'Good',
12
+ strong: 'Strong',
13
+ };
14
+
8
15
  interface Props {
9
16
  password?: string;
10
17
  strengthText?: string;
11
18
  score?: number;
12
19
  textColor?: string;
13
20
  children?: Snippet;
21
+ labels?: Partial<typeof defaultLabels>;
14
22
  }
15
23
 
16
24
  let {
@@ -19,38 +27,41 @@
19
27
  score = $bindable(-1),
20
28
  textColor = $bindable(""),
21
29
  children,
30
+ labels: userLabels = {},
22
31
  }: Props = $props();
23
32
 
33
+ let labels = $derived({ ...defaultLabels, ...userLabels });
34
+
24
35
  let debouncedPassword = $state("");
25
36
  // Use a plain variable for timer to avoid reactive dependency
26
37
  let timer: ReturnType<typeof setTimeout> | undefined;
27
38
 
28
- const customOptions = [
39
+ let customOptions = $derived([
29
40
  {
30
41
  id: 0,
31
- value: "Too weak",
42
+ value: labels.tooWeak,
32
43
  minDiversity: 0,
33
44
  minLength: 0,
34
45
  },
35
46
  {
36
47
  id: 1,
37
- value: "Weak",
48
+ value: labels.weak,
38
49
  minDiversity: 1,
39
50
  minLength: 6,
40
51
  },
41
52
  {
42
53
  id: 2,
43
- value: "Good",
54
+ value: labels.good,
44
55
  minDiversity: 2,
45
56
  minLength: 8,
46
57
  },
47
58
  {
48
59
  id: 3,
49
- value: "Strong",
60
+ value: labels.strong,
50
61
  minDiversity: 3,
51
62
  minLength: 10,
52
63
  },
53
- ] as const;
64
+ ] as const);
54
65
 
55
66
  // Debounce password updates - timer is not reactive to avoid dependency cycle
56
67
  $effect(() => {
@@ -82,10 +93,10 @@
82
93
 
83
94
  // Derive text and color from computedScore (not from bindable score)
84
95
  let computedStrengthText = $derived(
85
- computedScore === 0 ? "Too weak" :
86
- computedScore === 1 ? "Weak" :
87
- computedScore === 2 ? "Good" :
88
- computedScore === 3 ? "Strong" : ""
96
+ computedScore === 0 ? labels.tooWeak :
97
+ computedScore === 1 ? labels.weak :
98
+ computedScore === 2 ? labels.good :
99
+ computedScore === 3 ? labels.strong : ""
89
100
  );
90
101
 
91
102
  let computedTextColor = $derived(computedScore <= 1 ? "text-red-600" : "text-green-600");
@@ -1,12 +1,17 @@
1
1
  import type { Snippet } from 'svelte';
2
- interface Props {
2
+ declare const PasswordStrengthIndicator: import("svelte").Component<{
3
3
  password?: string;
4
4
  strengthText?: string;
5
5
  score?: number;
6
6
  textColor?: string;
7
7
  children?: Snippet;
8
- }
9
- declare const PasswordStrengthIndicator: import("svelte").Component<Props, {}, "textColor" | "strengthText" | "score">;
8
+ labels?: Partial<{
9
+ tooWeak: string;
10
+ weak: string;
11
+ good: string;
12
+ strong: string;
13
+ }>;
14
+ }, {}, "textColor" | "strengthText" | "score">;
10
15
  type PasswordStrengthIndicator = ReturnType<typeof PasswordStrengthIndicator>;
11
16
  export default PasswordStrengthIndicator;
12
17
  //# sourceMappingURL=PasswordStrengthIndicator.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordStrengthIndicator.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAOlC,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA2HL,QAAA,MAAM,yBAAyB,+EAAwC,CAAC;AACxE,KAAK,yBAAyB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC9E,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"PasswordStrengthIndicator.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAkJtC,QAAA,MAAM,yBAAyB;eA7Hd,MAAM;mBACF,MAAM;YACb,MAAM;gBACF,MAAM;eACP,OAAO;aACT,OAAO;;;;;MAAsB;8CAwH2B,CAAC;AACxE,KAAK,yBAAyB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC9E,eAAe,yBAAyB,CAAC"}
@@ -16,11 +16,9 @@
16
16
  import type { CountryCode } from "libphonenumber-js/min";
17
17
 
18
18
  const defaultLabels = {
19
- searchPlaceholder: 'Search countries...',
19
+ searchPlaceholder: 'Search...',
20
20
  noResults: 'No countries found',
21
21
  countrySelector: 'Select country',
22
- suggested: 'Suggested',
23
- allCountries: 'All countries',
24
22
  optional: '(optional)',
25
23
  };
26
24
 
@@ -209,8 +207,6 @@
209
207
  searchPlaceholder: labels.searchPlaceholder,
210
208
  noResults: labels.noResults,
211
209
  countrySelector: labels.countrySelector,
212
- suggested: labels.suggested,
213
- allCountries: labels.allCountries,
214
210
  }}
215
211
  />
216
212
 
@@ -21,8 +21,6 @@ declare const PhoneInput: import("svelte").Component<{
21
21
  searchPlaceholder: string;
22
22
  noResults: string;
23
23
  countrySelector: string;
24
- suggested: string;
25
- allCountries: string;
26
24
  optional: string;
27
25
  }>;
28
26
  onchange?: (detail: {
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/recipes/inputs/PhoneInput.svelte.ts"],"names":[],"mappings":"AA2PA,QAAA,MAAM,UAAU;;YAlNJ,MAAM;YACN,MAAM;SACT,MAAM;WACJ,MAAM;kBACC,MAAM;eACT,OAAO;eACP,OAAO;eACP,OAAO;WACX,IAAI,GAAG,IAAI,GAAG,IAAI;gBACb,MAAM;iBACL,MAAM;YACX,MAAM,GAAG,KAAK;iBACT,OAAO;iBACP,MAAM,GAAG,IAAI;qBACT,OAAO;oBACR,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI;qBAC/B,MAAM;aACd,OAAO;;;;;;;MAAsB;eAC3B,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;mBAClE,OAAO;iBACT,MAAM;iBACN,MAAM;;;;WA6LiC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"PhoneInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/recipes/inputs/PhoneInput.svelte.ts"],"names":[],"mappings":"AAuPA,QAAA,MAAM,UAAU;;YAhNJ,MAAM;YACN,MAAM;SACT,MAAM;WACJ,MAAM;kBACC,MAAM;eACT,OAAO;eACP,OAAO;eACP,OAAO;WACX,IAAI,GAAG,IAAI,GAAG,IAAI;gBACb,MAAM;iBACL,MAAM;YACX,MAAM,GAAG,KAAK;iBACT,OAAO;iBACP,MAAM,GAAG,IAAI;qBACT,OAAO;oBACR,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI;qBAC/B,MAAM;aACd,OAAO;;;;;MAAsB;eAC3B,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;mBAClE,OAAO;iBACT,MAAM;iBACN,MAAM;;;;WA2LiC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}