@makolabs/ripple 1.7.10 → 1.8.0

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 (90) hide show
  1. package/dist/adapters/ai/OpenAIAdapter.d.ts +8 -1
  2. package/dist/adapters/ai/OpenAIAdapter.js +2 -2
  3. package/dist/adapters/storage/BaseAdapter.js +2 -2
  4. package/dist/adapters/storage/S3Adapter.js +1 -6
  5. package/dist/adapters/storage/types.d.ts +3 -3
  6. package/dist/ai/AIChatInterface.svelte +0 -1
  7. package/dist/ai/ai-chat-interface.d.ts +21 -22
  8. package/dist/ai/content-detector.js +0 -1
  9. package/dist/button/Button.svelte +9 -2
  10. package/dist/button/button.d.ts +39 -40
  11. package/dist/charts/Chart.svelte +4 -1
  12. package/dist/drawer/Drawer.svelte +57 -23
  13. package/dist/drawer/drawer.d.ts +18 -19
  14. package/dist/elements/accordion/Accordion.svelte +39 -18
  15. package/dist/elements/accordion/accordion.d.ts +21 -22
  16. package/dist/elements/alert/Alert.svelte +20 -8
  17. package/dist/elements/badge/Badge.svelte +5 -2
  18. package/dist/elements/badge/badge.d.ts +39 -40
  19. package/dist/elements/dropdown/Dropdown.svelte +18 -2
  20. package/dist/elements/dropdown/Select.svelte +17 -5
  21. package/dist/elements/dropdown/dropdown.d.ts +18 -19
  22. package/dist/elements/dropdown/select.d.ts +18 -19
  23. package/dist/elements/pagination/Pagination.svelte +15 -2
  24. package/dist/elements/pagination/Pagination.svelte.d.ts +1 -0
  25. package/dist/forms/Checkbox.svelte +16 -4
  26. package/dist/forms/Form.svelte +0 -2
  27. package/dist/forms/Input.svelte +16 -4
  28. package/dist/forms/NumberInput.svelte +8 -1
  29. package/dist/forms/RadioInputs.svelte +14 -5
  30. package/dist/forms/Slider.svelte +6 -4
  31. package/dist/forms/Toggle.svelte +67 -29
  32. package/dist/forms/slider.d.ts +72 -10
  33. package/dist/forms/slider.js +21 -0
  34. package/dist/header/Breadcrumbs.svelte +47 -24
  35. package/dist/header/PageHeader.svelte +12 -2
  36. package/dist/header/breadcrumbs.d.ts +47 -39
  37. package/dist/helper/deprecation.d.ts +14 -0
  38. package/dist/helper/deprecation.js +24 -0
  39. package/dist/helper/testid.d.ts +10 -0
  40. package/dist/helper/testid.js +17 -0
  41. package/dist/index.d.ts +147 -47
  42. package/dist/index.js +1 -0
  43. package/dist/layout/activity-list/activity-list.d.ts +21 -22
  44. package/dist/layout/card/Card.svelte +19 -5
  45. package/dist/layout/card/card.d.ts +21 -22
  46. package/dist/layout/card/ranked-card.d.ts +2 -1
  47. package/dist/layout/navbar/Navbar.svelte +14 -16
  48. package/dist/layout/navbar/navbar.d.ts +19 -19
  49. package/dist/layout/sidebar/Sidebar.svelte +6 -3
  50. package/dist/layout/table/Table.svelte +237 -303
  51. package/dist/layout/table/table.d.ts +24 -25
  52. package/dist/layout/tabs/Tab.svelte +3 -1
  53. package/dist/layout/tabs/TabGroup.svelte +7 -4
  54. package/dist/layout/tabs/tabs.d.ts +39 -40
  55. package/dist/modal/Modal.svelte +124 -21
  56. package/dist/modal/modal.d.ts +18 -19
  57. package/dist/modal/modal.js +2 -2
  58. package/dist/user-management/UserModal.svelte +1 -1
  59. package/dist/user-management/UserTable.svelte +3 -3
  60. package/dist/user-management/UserViewModal.svelte +2 -2
  61. package/dist/variants.d.ts +13 -13
  62. package/package.json +9 -15
  63. package/dist/ai/AIChatInterfaceTestWrapper.svelte +0 -26
  64. package/dist/ai/AIChatInterfaceTestWrapper.svelte.d.ts +0 -17
  65. package/dist/button/ButtonTestWrapper.svelte +0 -10
  66. package/dist/button/ButtonTestWrapper.svelte.d.ts +0 -7
  67. package/dist/drawer/DrawerTestWrapper.svelte +0 -19
  68. package/dist/drawer/DrawerTestWrapper.svelte.d.ts +0 -9
  69. package/dist/elements/accordion/AccordionTestWrapper.svelte +0 -21
  70. package/dist/elements/accordion/AccordionTestWrapper.svelte.d.ts +0 -10
  71. package/dist/elements/badge/BadgeTestWrapper.svelte +0 -14
  72. package/dist/elements/badge/BadgeTestWrapper.svelte.d.ts +0 -9
  73. package/dist/forms/CheckboxTestWrapper.svelte +0 -8
  74. package/dist/forms/CheckboxTestWrapper.svelte.d.ts +0 -4
  75. package/dist/forms/InputTestWrapper.svelte +0 -8
  76. package/dist/forms/InputTestWrapper.svelte.d.ts +0 -4
  77. package/dist/forms/ToggleTestWrapper.svelte +0 -8
  78. package/dist/forms/ToggleTestWrapper.svelte.d.ts +0 -7
  79. package/dist/layout/card/CardTestWrapper.svelte +0 -15
  80. package/dist/layout/card/CardTestWrapper.svelte.d.ts +0 -7
  81. package/dist/modal/ModalTestWrapper.svelte +0 -20
  82. package/dist/modal/ModalTestWrapper.svelte.d.ts +0 -8
  83. package/dist/user-management/UserManagementTestWrapper.svelte +0 -32
  84. package/dist/user-management/UserManagementTestWrapper.svelte.d.ts +0 -12
  85. package/dist/user-management/UserModalTestWrapper.svelte +0 -22
  86. package/dist/user-management/UserModalTestWrapper.svelte.d.ts +0 -7
  87. package/dist/user-management/UserTableTestWrapper.svelte +0 -41
  88. package/dist/user-management/UserTableTestWrapper.svelte.d.ts +0 -7
  89. package/dist/user-management/UserViewModalTestWrapper.svelte +0 -22
  90. package/dist/user-management/UserViewModalTestWrapper.svelte.d.ts +0 -7
@@ -1,7 +1,8 @@
1
1
  <script lang="ts">
2
2
  import { cn } from '../helper/cls.js';
3
3
  import { Color, Size } from '../variants.js';
4
- import type { ToggleProps } from '../index.js';
4
+ import { buildTestId } from '../helper/testid.js';
5
+ import type { ToggleProps, VariantColors, VariantSizes } from '../index.js';
5
6
 
6
7
  let {
7
8
  name,
@@ -15,44 +16,76 @@
15
16
  errors = [],
16
17
  offColor = 'bg-default-200',
17
18
  onColor,
19
+ testId,
18
20
  ...restProps
19
21
  }: ToggleProps = $props();
20
22
 
21
23
  const activeColor = $derived(
22
24
  onColor ||
23
- {
24
- [Color.PRIMARY]: 'bg-primary-500',
25
- [Color.SECONDARY]: 'bg-secondary-500',
26
- [Color.SUCCESS]: 'bg-green-500',
27
- [Color.DANGER]: 'bg-danger-500',
28
- [Color.WARNING]: 'bg-yellow-500',
29
- [Color.INFO]: 'bg-blue-500',
30
- [Color.DEFAULT]: 'bg-default-800'
31
- }[color]
25
+ (
26
+ {
27
+ [Color.DEFAULT]: 'bg-default-800',
28
+ [Color.PRIMARY]: 'bg-primary-500',
29
+ [Color.SECONDARY]: 'bg-secondary-500',
30
+ [Color.INFO]: 'bg-info-500',
31
+ [Color.SUCCESS]: 'bg-success-500',
32
+ [Color.WARNING]: 'bg-warning-500',
33
+ [Color.DANGER]: 'bg-danger-500'
34
+ } satisfies Record<VariantColors, string>
35
+ )[color]
32
36
  );
33
37
 
34
38
  const toggleSize = $derived(
35
- {
36
- [Size.SM]: 'w-8 h-4',
37
- [Size.BASE]: 'w-10 h-5',
38
- [Size.LG]: 'w-12 h-6'
39
- }[size]
39
+ (
40
+ {
41
+ [Size.XS]: 'w-8 h-4',
42
+ [Size.SM]: 'w-8 h-4',
43
+ [Size.BASE]: 'w-10 h-5',
44
+ [Size.LG]: 'w-12 h-6',
45
+ [Size.XL]: 'w-12 h-6',
46
+ [Size.XXL]: 'w-12 h-6'
47
+ } satisfies Record<VariantSizes, string>
48
+ )[size]
40
49
  );
41
50
 
42
51
  const thumbSize = $derived(
43
- {
44
- [Size.SM]: 'h-3 w-3',
45
- [Size.BASE]: 'h-4 w-4',
46
- [Size.LG]: 'h-5 w-5'
47
- }[size]
52
+ (
53
+ {
54
+ [Size.XS]: 'h-3 w-3',
55
+ [Size.SM]: 'h-3 w-3',
56
+ [Size.BASE]: 'h-4 w-4',
57
+ [Size.LG]: 'h-5 w-5',
58
+ [Size.XL]: 'h-5 w-5',
59
+ [Size.XXL]: 'h-5 w-5'
60
+ } satisfies Record<VariantSizes, string>
61
+ )[size]
48
62
  );
49
63
 
50
64
  const thumbPosition = $derived(
51
- {
52
- [Size.SM]: value ? 'translate-x-4' : 'translate-x-0.5',
53
- [Size.BASE]: value ? 'translate-x-5' : 'translate-x-0.5',
54
- [Size.LG]: value ? 'translate-x-6' : 'translate-x-0.5'
55
- }[size]
65
+ (
66
+ {
67
+ [Size.XS]: value ? 'translate-x-4' : 'translate-x-0.5',
68
+ [Size.SM]: value ? 'translate-x-4' : 'translate-x-0.5',
69
+ [Size.BASE]: value ? 'translate-x-5' : 'translate-x-0.5',
70
+ [Size.LG]: value ? 'translate-x-6' : 'translate-x-0.5',
71
+ [Size.XL]: value ? 'translate-x-6' : 'translate-x-0.5',
72
+ [Size.XXL]: value ? 'translate-x-6' : 'translate-x-0.5'
73
+ } satisfies Record<VariantSizes, string>
74
+ )[size]
75
+ );
76
+
77
+ const focusRingColor = $derived(
78
+ (
79
+ {
80
+ [Color.DEFAULT]: 'focus:ring-default-500',
81
+ [Color.PRIMARY]: 'focus:ring-primary-500',
82
+ [Color.SECONDARY]: 'focus:ring-secondary-500',
83
+ [Color.INFO]: 'focus:ring-info-500',
84
+ [Color.SUCCESS]: 'focus:ring-success-500',
85
+ [Color.WARNING]: 'focus:ring-warning-500',
86
+ [Color.DANGER]: 'focus:ring-danger-500'
87
+ } satisfies Record<VariantColors, string>
88
+ )[color]
56
89
  );
57
90
 
58
91
  const toggleWrapperClasses = $derived(
@@ -63,9 +96,9 @@
63
96
  {
64
97
  'opacity-50 cursor-not-allowed': disabled,
65
98
  'cursor-pointer': !disabled,
66
- 'focus:ring-danger-500': errors.length,
67
- [`focus:ring-${color}-500`]: !errors.length
99
+ 'focus:ring-danger-500': errors.length
68
100
  },
101
+ !errors.length && focusRingColor,
69
102
  className
70
103
  )
71
104
  );
@@ -97,7 +130,11 @@
97
130
 
98
131
  <div class="flex items-center">
99
132
  {#if label}
100
- <label for={id} class={cn('mr-3', labelClasses)}>{label}</label>
133
+ <label
134
+ for={id}
135
+ class={cn('mr-3', labelClasses)}
136
+ data-testid={buildTestId('toggle', 'label', testId)}>{label}</label
137
+ >
101
138
  {/if}
102
139
  <button
103
140
  type="button"
@@ -114,6 +151,7 @@
114
151
  }}
115
152
  onkeydown={handleKeyDown}
116
153
  tabindex={disabled ? -1 : 0}
154
+ data-testid={buildTestId('toggle', undefined, testId)}
117
155
  {...restProps}
118
156
  >
119
157
  <span class={thumbClasses} aria-hidden="true"></span>
@@ -122,7 +160,7 @@
122
160
  </div>
123
161
 
124
162
  {#if errors.length}
125
- <div id="{name}-errors" class="mt-1">
163
+ <div id="{name}-errors" class="mt-1" data-testid={buildTestId('toggle', 'error', testId)}>
126
164
  {#each errors as error, i (i)}
127
165
  <p class="text-danger-600 text-sm" role="alert">
128
166
  {error}
@@ -1,21 +1,41 @@
1
- import { Size } from '../variants.js';
2
1
  export declare const slider: import("tailwind-variants").TVReturnType<{
3
2
  size: {
4
- [Size.SM]: {
3
+ xs: {
5
4
  track: string;
6
5
  thumb: string;
7
6
  mark: string;
8
7
  label: string;
9
8
  value: string;
10
9
  };
11
- [Size.BASE]: {
10
+ sm: {
12
11
  track: string;
13
12
  thumb: string;
14
13
  mark: string;
15
14
  label: string;
16
15
  value: string;
17
16
  };
18
- [Size.LG]: {
17
+ base: {
18
+ track: string;
19
+ thumb: string;
20
+ mark: string;
21
+ label: string;
22
+ value: string;
23
+ };
24
+ lg: {
25
+ track: string;
26
+ thumb: string;
27
+ mark: string;
28
+ label: string;
29
+ value: string;
30
+ };
31
+ xl: {
32
+ track: string;
33
+ thumb: string;
34
+ mark: string;
35
+ label: string;
36
+ value: string;
37
+ };
38
+ "2xl": {
19
39
  track: string;
20
40
  thumb: string;
21
41
  mark: string;
@@ -48,21 +68,42 @@ export declare const slider: import("tailwind-variants").TVReturnType<{
48
68
  value: string;
49
69
  }, undefined, {
50
70
  size: {
51
- [Size.SM]: {
71
+ xs: {
72
+ track: string;
73
+ thumb: string;
74
+ mark: string;
75
+ label: string;
76
+ value: string;
77
+ };
78
+ sm: {
79
+ track: string;
80
+ thumb: string;
81
+ mark: string;
82
+ label: string;
83
+ value: string;
84
+ };
85
+ base: {
86
+ track: string;
87
+ thumb: string;
88
+ mark: string;
89
+ label: string;
90
+ value: string;
91
+ };
92
+ lg: {
52
93
  track: string;
53
94
  thumb: string;
54
95
  mark: string;
55
96
  label: string;
56
97
  value: string;
57
98
  };
58
- [Size.BASE]: {
99
+ xl: {
59
100
  track: string;
60
101
  thumb: string;
61
102
  mark: string;
62
103
  label: string;
63
104
  value: string;
64
105
  };
65
- [Size.LG]: {
106
+ "2xl": {
66
107
  track: string;
67
108
  thumb: string;
68
109
  mark: string;
@@ -95,21 +136,42 @@ export declare const slider: import("tailwind-variants").TVReturnType<{
95
136
  value: string;
96
137
  }, import("tailwind-variants").TVReturnType<{
97
138
  size: {
98
- [Size.SM]: {
139
+ xs: {
140
+ track: string;
141
+ thumb: string;
142
+ mark: string;
143
+ label: string;
144
+ value: string;
145
+ };
146
+ sm: {
147
+ track: string;
148
+ thumb: string;
149
+ mark: string;
150
+ label: string;
151
+ value: string;
152
+ };
153
+ base: {
154
+ track: string;
155
+ thumb: string;
156
+ mark: string;
157
+ label: string;
158
+ value: string;
159
+ };
160
+ lg: {
99
161
  track: string;
100
162
  thumb: string;
101
163
  mark: string;
102
164
  label: string;
103
165
  value: string;
104
166
  };
105
- [Size.BASE]: {
167
+ xl: {
106
168
  track: string;
107
169
  thumb: string;
108
170
  mark: string;
109
171
  label: string;
110
172
  value: string;
111
173
  };
112
- [Size.LG]: {
174
+ "2xl": {
113
175
  track: string;
114
176
  thumb: string;
115
177
  mark: string;
@@ -16,6 +16,13 @@ export const slider = tv({
16
16
  },
17
17
  variants: {
18
18
  size: {
19
+ [Size.XS]: {
20
+ track: 'h-1',
21
+ thumb: 'w-3 h-3',
22
+ mark: 'text-xs top-4',
23
+ label: 'text-xs',
24
+ value: 'text-xs'
25
+ },
19
26
  [Size.SM]: {
20
27
  track: 'h-1',
21
28
  thumb: 'w-3 h-3',
@@ -36,6 +43,20 @@ export const slider = tv({
36
43
  mark: 'text-base top-7',
37
44
  label: 'text-base',
38
45
  value: 'text-base'
46
+ },
47
+ [Size.XL]: {
48
+ track: 'h-3',
49
+ thumb: 'w-5 h-5',
50
+ mark: 'text-base top-7',
51
+ label: 'text-base',
52
+ value: 'text-base'
53
+ },
54
+ [Size.XXL]: {
55
+ track: 'h-3',
56
+ thumb: 'w-5 h-5',
57
+ mark: 'text-base top-7',
58
+ label: 'text-base',
59
+ value: 'text-base'
39
60
  }
40
61
  },
41
62
  disabled: {
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { cn } from '../helper/cls.js';
3
+ import { warnDeprecatedProps } from '../helper/deprecation.js';
3
4
  import { breadcrumbs } from './breadcrumbs.js';
4
5
  import type { BreadcrumbsProps } from '../index.js';
5
6
  import { resolve } from '$app/paths';
@@ -9,15 +10,29 @@
9
10
  size = 'sm',
10
11
  color = 'default',
11
12
  weight = 'medium',
12
- icon: Icon,
13
+ icon: SeparatorIcon,
13
14
  class: className = '',
14
- listclass: listClassName = '',
15
- itemclass: itemClassName = '',
16
- separatorclass: separatorClassName = '',
17
- wrapperclass: wrapperClassName = ''
15
+ listclass,
16
+ listClass = listclass ?? '',
17
+ itemclass,
18
+ itemClass = itemclass ?? '',
19
+ separatorclass,
20
+ separatorClass = separatorclass ?? '',
21
+ wrapperclass,
22
+ wrapperClass = wrapperclass ?? ''
18
23
  }: BreadcrumbsProps = $props();
19
24
 
20
- // Get the slots from the breadcrumbs
25
+ warnDeprecatedProps(
26
+ 'Breadcrumbs',
27
+ { listclass, itemclass, separatorclass, wrapperclass },
28
+ {
29
+ listclass: 'listClass',
30
+ itemclass: 'itemClass',
31
+ separatorclass: 'separatorClass',
32
+ wrapperclass: 'wrapperClass'
33
+ }
34
+ );
35
+
21
36
  const { base, list, item, separator, wrapper } = $derived(
22
37
  breadcrumbs({
23
38
  size,
@@ -27,21 +42,22 @@
27
42
  );
28
43
 
29
44
  const baseClass = $derived(cn(base(), className));
30
- const listClass = $derived(cn(list(), listClassName));
31
- const itemClasses = $derived(cn(item(), itemClassName));
32
- const separatorClasses = $derived(cn(separator(), separatorClassName));
33
- const wrapperClasses = $derived(cn(wrapper(), wrapperClassName));
45
+ const listClasses = $derived(cn(list(), listClass));
46
+ const itemClasses = $derived(cn(item(), itemClass));
47
+ const activeItemClasses = $derived(cn(item(), itemClass, breadcrumbs({ active: true }).item()));
48
+ const separatorClasses = $derived(cn(separator(), separatorClass));
49
+ const wrapperClasses = $derived(cn(wrapper(), wrapperClass));
34
50
  </script>
35
51
 
36
52
  <nav class={baseClass} aria-label="Breadcrumb">
37
- <ol role="list" class={listClass}>
53
+ <ol role="list" class={listClasses}>
38
54
  {#each items as breadcrumbItem, index (index)}
39
55
  <li>
40
56
  <div class={wrapperClasses}>
41
57
  {#if index > 0}
42
- <span class={separatorClasses}>
43
- {#if Icon}
44
- <Icon />
58
+ <span class={separatorClasses} aria-hidden="true">
59
+ {#if SeparatorIcon}
60
+ <SeparatorIcon />
45
61
  {:else}
46
62
  <svg
47
63
  xmlns="http://www.w3.org/2000/svg"
@@ -57,16 +73,23 @@
57
73
  {/if}
58
74
  </span>
59
75
  {/if}
60
- <a
61
- href={resolve(breadcrumbItem.href as `/`)}
62
- class={cn(
63
- itemClasses,
64
- breadcrumbItem.current ? breadcrumbs({ active: true }).item() : ''
65
- )}
66
- aria-current={breadcrumbItem.current ? 'page' : undefined}
67
- >
68
- {breadcrumbItem.label}
69
- </a>
76
+ {#if breadcrumbItem.current}
77
+ <span class={activeItemClasses} aria-current="page">
78
+ {#if breadcrumbItem.icon}
79
+ {@const ItemIcon = breadcrumbItem.icon}
80
+ <ItemIcon class="size-4 flex-shrink-0" />
81
+ {/if}
82
+ {breadcrumbItem.label}
83
+ </span>
84
+ {:else}
85
+ <a href={resolve(breadcrumbItem.href as `/`)} class={itemClasses}>
86
+ {#if breadcrumbItem.icon}
87
+ {@const ItemIcon = breadcrumbItem.icon}
88
+ <ItemIcon class="size-4 flex-shrink-0" />
89
+ {/if}
90
+ {breadcrumbItem.label}
91
+ </a>
92
+ {/if}
70
93
  </div>
71
94
  </li>
72
95
  {/each}
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { cn } from '../helper/cls.js';
3
+ import { warnDeprecatedProps } from '../helper/deprecation.js';
3
4
  import type { PageHeaderProps } from '../index.js';
4
5
  import Breadcrumbs from './Breadcrumbs.svelte';
5
6
 
@@ -9,15 +10,24 @@
9
10
  breadcrumbs = [],
10
11
  children,
11
12
  class: className = '',
12
- titleclass: titleClassName = '',
13
+ titleclass,
14
+ titleClass = titleclass ?? '',
13
15
  layout = 'vertical'
14
16
  }: PageHeaderProps = $props();
15
17
 
18
+ warnDeprecatedProps(
19
+ 'PageHeader',
20
+ { titleclass },
21
+ {
22
+ titleclass: 'titleClass'
23
+ }
24
+ );
25
+
16
26
  const defaultTitleClasses =
17
27
  'font-bold text-default-900 sm:tracking-tight sm:truncate text-2xl/7 sm:text-3xl';
18
28
 
19
29
  const hasBreadcrumbs = $derived(breadcrumbs && breadcrumbs.length > 0);
20
- const titleClasses = $derived(cn(defaultTitleClasses, titleClassName));
30
+ const titleClasses = $derived(cn(defaultTitleClasses, titleClass));
21
31
  const containerClass = $derived(cn('space-y-4', className as string));
22
32
  </script>
23
33
 
@@ -1,5 +1,5 @@
1
+ import type { ClassValue } from 'tailwind-variants';
1
2
  import type { Component } from 'svelte';
2
- import { Size, Color } from '../variants.js';
3
3
  type BreadcrumbItem = {
4
4
  label: string;
5
5
  href: string;
@@ -7,16 +7,16 @@ type BreadcrumbItem = {
7
7
  };
8
8
  export declare const breadcrumbs: import("tailwind-variants").TVReturnType<{
9
9
  size: {
10
- [Size.XS]: {
10
+ xs: {
11
11
  base: string;
12
12
  };
13
- [Size.SM]: {
13
+ sm: {
14
14
  base: string;
15
15
  };
16
- [Size.BASE]: {
16
+ base: {
17
17
  base: string;
18
18
  };
19
- [Size.LG]: {
19
+ lg: {
20
20
  base: string;
21
21
  };
22
22
  };
@@ -35,31 +35,31 @@ export declare const breadcrumbs: import("tailwind-variants").TVReturnType<{
35
35
  };
36
36
  };
37
37
  color: {
38
- [Color.DEFAULT]: {
38
+ default: {
39
39
  item: string;
40
40
  wrapper: string;
41
41
  };
42
- [Color.PRIMARY]: {
42
+ primary: {
43
43
  item: string;
44
44
  wrapper: string;
45
45
  };
46
- [Color.SECONDARY]: {
46
+ secondary: {
47
47
  item: string;
48
48
  wrapper: string;
49
49
  };
50
- [Color.INFO]: {
50
+ info: {
51
51
  item: string;
52
52
  wrapper: string;
53
53
  };
54
- [Color.SUCCESS]: {
54
+ success: {
55
55
  item: string;
56
56
  wrapper: string;
57
57
  };
58
- [Color.WARNING]: {
58
+ warning: {
59
59
  item: string;
60
60
  wrapper: string;
61
61
  };
62
- [Color.DANGER]: {
62
+ danger: {
63
63
  item: string;
64
64
  wrapper: string;
65
65
  };
@@ -80,16 +80,16 @@ export declare const breadcrumbs: import("tailwind-variants").TVReturnType<{
80
80
  wrapper: string;
81
81
  }, undefined, {
82
82
  size: {
83
- [Size.XS]: {
83
+ xs: {
84
84
  base: string;
85
85
  };
86
- [Size.SM]: {
86
+ sm: {
87
87
  base: string;
88
88
  };
89
- [Size.BASE]: {
89
+ base: {
90
90
  base: string;
91
91
  };
92
- [Size.LG]: {
92
+ lg: {
93
93
  base: string;
94
94
  };
95
95
  };
@@ -108,31 +108,31 @@ export declare const breadcrumbs: import("tailwind-variants").TVReturnType<{
108
108
  };
109
109
  };
110
110
  color: {
111
- [Color.DEFAULT]: {
111
+ default: {
112
112
  item: string;
113
113
  wrapper: string;
114
114
  };
115
- [Color.PRIMARY]: {
115
+ primary: {
116
116
  item: string;
117
117
  wrapper: string;
118
118
  };
119
- [Color.SECONDARY]: {
119
+ secondary: {
120
120
  item: string;
121
121
  wrapper: string;
122
122
  };
123
- [Color.INFO]: {
123
+ info: {
124
124
  item: string;
125
125
  wrapper: string;
126
126
  };
127
- [Color.SUCCESS]: {
127
+ success: {
128
128
  item: string;
129
129
  wrapper: string;
130
130
  };
131
- [Color.WARNING]: {
131
+ warning: {
132
132
  item: string;
133
133
  wrapper: string;
134
134
  };
135
- [Color.DANGER]: {
135
+ danger: {
136
136
  item: string;
137
137
  wrapper: string;
138
138
  };
@@ -153,16 +153,16 @@ export declare const breadcrumbs: import("tailwind-variants").TVReturnType<{
153
153
  wrapper: string;
154
154
  }, import("tailwind-variants").TVReturnType<{
155
155
  size: {
156
- [Size.XS]: {
156
+ xs: {
157
157
  base: string;
158
158
  };
159
- [Size.SM]: {
159
+ sm: {
160
160
  base: string;
161
161
  };
162
- [Size.BASE]: {
162
+ base: {
163
163
  base: string;
164
164
  };
165
- [Size.LG]: {
165
+ lg: {
166
166
  base: string;
167
167
  };
168
168
  };
@@ -181,31 +181,31 @@ export declare const breadcrumbs: import("tailwind-variants").TVReturnType<{
181
181
  };
182
182
  };
183
183
  color: {
184
- [Color.DEFAULT]: {
184
+ default: {
185
185
  item: string;
186
186
  wrapper: string;
187
187
  };
188
- [Color.PRIMARY]: {
188
+ primary: {
189
189
  item: string;
190
190
  wrapper: string;
191
191
  };
192
- [Color.SECONDARY]: {
192
+ secondary: {
193
193
  item: string;
194
194
  wrapper: string;
195
195
  };
196
- [Color.INFO]: {
196
+ info: {
197
197
  item: string;
198
198
  wrapper: string;
199
199
  };
200
- [Color.SUCCESS]: {
200
+ success: {
201
201
  item: string;
202
202
  wrapper: string;
203
203
  };
204
- [Color.WARNING]: {
204
+ warning: {
205
205
  item: string;
206
206
  wrapper: string;
207
207
  };
208
- [Color.DANGER]: {
208
+ danger: {
209
209
  item: string;
210
210
  wrapper: string;
211
211
  };
@@ -231,10 +231,18 @@ export type BreadcrumbsProps = {
231
231
  weight?: keyof typeof breadcrumbs.variants.weight;
232
232
  color?: keyof typeof breadcrumbs.variants.color;
233
233
  icon?: Component;
234
- class?: string;
235
- listclass?: string;
236
- itemclass?: string;
237
- separatorclass?: string;
238
- wrapperclass?: string;
234
+ class?: ClassValue;
235
+ /** @deprecated Use listClass instead */
236
+ listclass?: ClassValue;
237
+ listClass?: ClassValue;
238
+ /** @deprecated Use itemClass instead */
239
+ itemclass?: ClassValue;
240
+ itemClass?: ClassValue;
241
+ /** @deprecated Use separatorClass instead */
242
+ separatorclass?: ClassValue;
243
+ separatorClass?: ClassValue;
244
+ /** @deprecated Use wrapperClass instead */
245
+ wrapperclass?: ClassValue;
246
+ wrapperClass?: ClassValue;
239
247
  };
240
248
  export type { BreadcrumbItem };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Logs a console.warn once per component+prop combination when a deprecated prop is used.
3
+ * @param component - Component name (e.g. 'Modal', 'Card')
4
+ * @param props - The raw props object from $props()
5
+ * @param map - Map of deprecated prop names to their replacements (e.g. { titleclass: 'titleClass' })
6
+ */
7
+ export declare function warnDeprecatedProps(component: string, props: Record<string, unknown>, map: Record<string, string>): void;
8
+ /**
9
+ * Reset warnings — only for testing.
10
+ * Note: In SSR, the warned Set persists across requests within the same process,
11
+ * so warnings will only fire once per server lifetime. This is acceptable for
12
+ * development-time deprecation notices.
13
+ */
14
+ export declare function resetDeprecationWarnings(): void;