@makolabs/ripple 1.7.11 → 1.9.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 (135) hide show
  1. package/README.md +16 -0
  2. package/dist/adapters/ai/OpenAIAdapter.d.ts +8 -1
  3. package/dist/adapters/ai/OpenAIAdapter.js +2 -2
  4. package/dist/adapters/storage/BaseAdapter.js +2 -2
  5. package/dist/adapters/storage/S3Adapter.js +1 -6
  6. package/dist/adapters/storage/types.d.ts +3 -3
  7. package/dist/ai/AIChatInterface.svelte +0 -1
  8. package/dist/ai/ai-chat-interface.d.ts +21 -22
  9. package/dist/ai/ai-types.d.ts +44 -0
  10. package/dist/ai/ai-types.js +1 -0
  11. package/dist/ai/content-detector.js +0 -1
  12. package/dist/button/Button.svelte +9 -2
  13. package/dist/button/button-types.d.ts +25 -0
  14. package/dist/button/button-types.js +1 -0
  15. package/dist/button/button.d.ts +39 -40
  16. package/dist/charts/Chart.svelte +11 -23
  17. package/dist/charts/chart-types.d.ts +137 -0
  18. package/dist/charts/chart-types.js +1 -0
  19. package/dist/drawer/Drawer.svelte +57 -23
  20. package/dist/drawer/drawer-types.d.ts +33 -0
  21. package/dist/drawer/drawer-types.js +1 -0
  22. package/dist/drawer/drawer.d.ts +18 -19
  23. package/dist/elements/accordion/Accordion.svelte +39 -18
  24. package/dist/elements/accordion/accordion-types.d.ts +29 -0
  25. package/dist/elements/accordion/accordion-types.js +1 -0
  26. package/dist/elements/accordion/accordion.d.ts +21 -22
  27. package/dist/elements/alert/Alert.svelte +20 -8
  28. package/dist/elements/badge/Badge.svelte +5 -2
  29. package/dist/elements/badge/badge-types.d.ts +11 -0
  30. package/dist/elements/badge/badge-types.js +1 -0
  31. package/dist/elements/badge/badge.d.ts +39 -40
  32. package/dist/elements/dropdown/Dropdown.svelte +18 -2
  33. package/dist/elements/dropdown/Select.svelte +17 -5
  34. package/dist/elements/dropdown/dropdown-types.d.ts +68 -0
  35. package/dist/elements/dropdown/dropdown-types.js +1 -0
  36. package/dist/elements/dropdown/dropdown.d.ts +18 -19
  37. package/dist/elements/dropdown/select.d.ts +18 -19
  38. package/dist/elements/file-upload/file-upload-types.d.ts +68 -0
  39. package/dist/elements/file-upload/file-upload-types.js +1 -0
  40. package/dist/elements/pagination/Pagination.svelte +15 -2
  41. package/dist/elements/pagination/Pagination.svelte.d.ts +1 -0
  42. package/dist/elements/progress/progress-types.d.ts +22 -0
  43. package/dist/elements/progress/progress-types.js +1 -0
  44. package/dist/elements/timeline/timeline-types.d.ts +11 -0
  45. package/dist/elements/timeline/timeline-types.js +1 -0
  46. package/dist/filters/filter-types.d.ts +24 -0
  47. package/dist/filters/filter-types.js +1 -0
  48. package/dist/forms/Checkbox.svelte +16 -4
  49. package/dist/forms/Form.svelte +0 -2
  50. package/dist/forms/Input.svelte +19 -5
  51. package/dist/forms/NumberInput.svelte +8 -1
  52. package/dist/forms/RadioInputs.svelte +14 -5
  53. package/dist/forms/Slider.svelte +6 -4
  54. package/dist/forms/Toggle.svelte +67 -29
  55. package/dist/forms/form-types.d.ts +168 -0
  56. package/dist/forms/form-types.js +1 -0
  57. package/dist/forms/slider.d.ts +72 -10
  58. package/dist/forms/slider.js +21 -0
  59. package/dist/header/Breadcrumbs.svelte +47 -24
  60. package/dist/header/PageHeader.svelte +12 -2
  61. package/dist/header/breadcrumbs.d.ts +47 -39
  62. package/dist/header/header-types.d.ts +43 -0
  63. package/dist/header/header-types.js +1 -0
  64. package/dist/helper/deprecation.d.ts +14 -0
  65. package/dist/helper/deprecation.js +24 -0
  66. package/dist/helper/testid.d.ts +10 -0
  67. package/dist/helper/testid.js +17 -0
  68. package/dist/index.d.ts +37 -1007
  69. package/dist/index.js +38 -14
  70. package/dist/layout/activity-list/activity-list-types.d.ts +30 -0
  71. package/dist/layout/activity-list/activity-list-types.js +1 -0
  72. package/dist/layout/activity-list/activity-list.d.ts +21 -22
  73. package/dist/layout/card/Card.svelte +19 -5
  74. package/dist/layout/card/card-types.d.ts +43 -0
  75. package/dist/layout/card/card-types.js +1 -0
  76. package/dist/layout/card/card.d.ts +21 -22
  77. package/dist/layout/card/metric-card.d.ts +3 -3
  78. package/dist/layout/card/ranked-card.d.ts +2 -1
  79. package/dist/layout/navbar/Navbar.svelte +14 -16
  80. package/dist/layout/navbar/navbar-types.d.ts +19 -0
  81. package/dist/layout/navbar/navbar-types.js +1 -0
  82. package/dist/layout/navbar/navbar.d.ts +19 -19
  83. package/dist/layout/sidebar/Sidebar.svelte +6 -3
  84. package/dist/layout/sidebar/sidebar-types.d.ts +59 -0
  85. package/dist/layout/sidebar/sidebar-types.js +1 -0
  86. package/dist/layout/table/Table.svelte +237 -303
  87. package/dist/layout/table/table-types.d.ts +82 -0
  88. package/dist/layout/table/table-types.js +1 -0
  89. package/dist/layout/table/table.d.ts +24 -25
  90. package/dist/layout/tabs/Tab.svelte +3 -1
  91. package/dist/layout/tabs/TabGroup.svelte +7 -4
  92. package/dist/layout/tabs/tabs-types.d.ts +43 -0
  93. package/dist/layout/tabs/tabs-types.js +1 -0
  94. package/dist/layout/tabs/tabs.d.ts +39 -40
  95. package/dist/modal/Modal.svelte +124 -21
  96. package/dist/modal/modal-types.d.ts +34 -0
  97. package/dist/modal/modal-types.js +1 -0
  98. package/dist/modal/modal.d.ts +18 -19
  99. package/dist/modal/modal.js +2 -2
  100. package/dist/types/echarts.d.ts +27 -0
  101. package/dist/user-management/UserModal.svelte +1 -1
  102. package/dist/user-management/UserTable.svelte +3 -3
  103. package/dist/user-management/UserViewModal.svelte +2 -2
  104. package/dist/user-management/user-management-types.d.ts +156 -0
  105. package/dist/user-management/user-management-types.js +1 -0
  106. package/dist/variants.d.ts +13 -13
  107. package/package.json +9 -7
  108. package/dist/ai/AIChatInterfaceTestWrapper.svelte +0 -26
  109. package/dist/ai/AIChatInterfaceTestWrapper.svelte.d.ts +0 -17
  110. package/dist/button/ButtonTestWrapper.svelte +0 -10
  111. package/dist/button/ButtonTestWrapper.svelte.d.ts +0 -7
  112. package/dist/drawer/DrawerTestWrapper.svelte +0 -19
  113. package/dist/drawer/DrawerTestWrapper.svelte.d.ts +0 -9
  114. package/dist/elements/accordion/AccordionTestWrapper.svelte +0 -21
  115. package/dist/elements/accordion/AccordionTestWrapper.svelte.d.ts +0 -10
  116. package/dist/elements/badge/BadgeTestWrapper.svelte +0 -14
  117. package/dist/elements/badge/BadgeTestWrapper.svelte.d.ts +0 -9
  118. package/dist/forms/CheckboxTestWrapper.svelte +0 -8
  119. package/dist/forms/CheckboxTestWrapper.svelte.d.ts +0 -4
  120. package/dist/forms/InputTestWrapper.svelte +0 -8
  121. package/dist/forms/InputTestWrapper.svelte.d.ts +0 -4
  122. package/dist/forms/ToggleTestWrapper.svelte +0 -8
  123. package/dist/forms/ToggleTestWrapper.svelte.d.ts +0 -7
  124. package/dist/layout/card/CardTestWrapper.svelte +0 -15
  125. package/dist/layout/card/CardTestWrapper.svelte.d.ts +0 -7
  126. package/dist/modal/ModalTestWrapper.svelte +0 -20
  127. package/dist/modal/ModalTestWrapper.svelte.d.ts +0 -8
  128. package/dist/user-management/UserManagementTestWrapper.svelte +0 -32
  129. package/dist/user-management/UserManagementTestWrapper.svelte.d.ts +0 -12
  130. package/dist/user-management/UserModalTestWrapper.svelte +0 -22
  131. package/dist/user-management/UserModalTestWrapper.svelte.d.ts +0 -7
  132. package/dist/user-management/UserTableTestWrapper.svelte +0 -41
  133. package/dist/user-management/UserTableTestWrapper.svelte.d.ts +0 -7
  134. package/dist/user-management/UserViewModalTestWrapper.svelte +0 -22
  135. package/dist/user-management/UserViewModalTestWrapper.svelte.d.ts +0 -7
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { cn } from '../helper/cls.js';
3
+ import { buildTestId } from '../helper/testid.js';
3
4
  import { Size } from '../variants.js';
4
5
  import type { NumberInputProps } from '../index.js';
5
6
 
@@ -16,6 +17,7 @@
16
17
  disabled = false,
17
18
  dropdownicon: DropdownIcon,
18
19
  onunitchange: onUnitChange,
20
+ testId,
19
21
  ...restProps
20
22
  }: NumberInputProps = $props();
21
23
 
@@ -79,7 +81,11 @@
79
81
 
80
82
  <div class="space-y-1">
81
83
  {#if label}
82
- <label for={name} class="text-default-700 block text-sm font-medium">{label}</label>
84
+ <label
85
+ for={name}
86
+ class="text-default-700 block text-sm font-medium"
87
+ data-testid={buildTestId('numberinput', 'label', testId)}>{label}</label
88
+ >
83
89
  {/if}
84
90
  <div class={containerClass} bind:this={containerRef}>
85
91
  <svg
@@ -106,6 +112,7 @@
106
112
  {placeholder}
107
113
  {disabled}
108
114
  class={inputClass}
115
+ data-testid={buildTestId('numberinput', undefined, testId)}
109
116
  {...restProps}
110
117
  />
111
118
 
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { cn } from '../helper/cls.js';
3
+ import { buildTestId } from '../helper/testid.js';
3
4
  import type { RadioInputsProps } from '../index.js';
4
5
 
5
6
  let {
@@ -10,7 +11,8 @@
10
11
  disabled = false,
11
12
  class: className = '',
12
13
  errors = [],
13
- required = false
14
+ required = false,
15
+ testId
14
16
  }: RadioInputsProps = $props();
15
17
 
16
18
  const containerClass = $derived(cn('space-y-2', className));
@@ -35,7 +37,7 @@
35
37
  <label class={labelClass} for={`${name}-${value || options[0].value}`}>{label}</label>
36
38
  {/if}
37
39
  <div class="space-y-2">
38
- {#each options as option (option.value)}
40
+ {#each options as option, index (option.value)}
39
41
  <div class="flex items-center gap-2">
40
42
  <input
41
43
  type="radio"
@@ -46,9 +48,16 @@
46
48
  class={radioClass}
47
49
  {disabled}
48
50
  {required}
49
- aria-describedby={errors.length ? `${name}-errors` : undefined}
51
+ aria-describedby={errors.length
52
+ ? errors.map((_, i) => `${name}-error-${i}`).join(' ')
53
+ : undefined}
54
+ data-testid={buildTestId('radio', 'option', testId, index)}
50
55
  />
51
- <label for={`${name}-${option.value}`} class="text-default-700 text-sm">
56
+ <label
57
+ for={`${name}-${option.value}`}
58
+ class="text-default-700 text-sm"
59
+ data-testid={buildTestId('radio', 'label', testId, index)}
60
+ >
52
61
  {option.label}
53
62
  </label>
54
63
  </div>
@@ -56,7 +65,7 @@
56
65
  </div>
57
66
  {#if errors.length}
58
67
  {#each errors as error, i (i)}
59
- <p id={`${name}-errors`} class="text-danger-600 mt-1 text-sm" role="alert">
68
+ <p id={`${name}-error-${i}`} class="text-danger-600 mt-1 text-sm" role="alert">
60
69
  {error}
61
70
  </p>
62
71
  {/each}
@@ -1,6 +1,7 @@
1
1
  <!-- A unified slider component supporting enum, single value, and range selection -->
2
2
  <script lang="ts">
3
3
  import { cn } from '../helper/cls.js';
4
+ import { buildTestId } from '../helper/testid.js';
4
5
  import { slider } from './slider.js';
5
6
  import { Size } from '../variants.js';
6
7
  import type { SliderProps } from '../index.js';
@@ -36,7 +37,8 @@
36
37
  notation: 'standard' as NotationType,
37
38
  maximumFractionDigits: 1,
38
39
  minimumFractionDigits: 0
39
- }
40
+ },
41
+ testId
40
42
  }: SliderProps = $props();
41
43
 
42
44
  $effect(() => {
@@ -242,13 +244,13 @@
242
244
  {/if}
243
245
  <input type="hidden" name={`${name}[mode]`} bind:value={mode} />
244
246
 
245
- <div class={baseClass}>
247
+ <div class={baseClass} data-testid={buildTestId('slider', undefined, testId)}>
246
248
  <div class="flex items-center justify-between">
247
249
  {#if label}
248
250
  <label for={name} class={labelClass_}>{label}</label>
249
251
  {/if}
250
252
  {#if showValue && mode !== 'enum'}
251
- <div class={valueClass_}>
253
+ <div class={valueClass_} data-testid={buildTestId('slider', 'value', testId)}>
252
254
  {#if mode === 'range'}
253
255
  <span>{formatValue(valueStart)}</span>
254
256
  <span class="mx-1">-</span>
@@ -258,7 +260,7 @@
258
260
  {/if}
259
261
  </div>
260
262
  {:else if showValue && mode === 'enum'}
261
- <div class={valueClass_}>
263
+ <div class={valueClass_} data-testid={buildTestId('slider', 'value', testId)}>
262
264
  <span>{options[getEnumIndex()]?.label || ''}</span>
263
265
  </div>
264
266
  {/if}
@@ -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}
@@ -0,0 +1,168 @@
1
+ import type { ClassValue } from 'tailwind-variants';
2
+ import type { Snippet } from 'svelte';
3
+ import type { Component } from 'svelte';
4
+ import type { DOMAttributes } from 'svelte/elements';
5
+ import type { SuperForm } from 'sveltekit-superforms';
6
+ import type { VariantColors, VariantSizes } from '../index.js';
7
+ export interface FormProps<T extends Record<string, unknown>> {
8
+ form: SuperForm<any>;
9
+ class?: ClassValue;
10
+ method?: 'GET' | 'POST' | 'dialog' | 'get' | 'post' | 'DIALOG' | null | undefined;
11
+ action?: string;
12
+ enctype?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain' | null | undefined;
13
+ autocomplete?: 'on' | 'off';
14
+ novalidate?: boolean;
15
+ children?: Snippet;
16
+ testId?: string;
17
+ }
18
+ export type InputProps = {
19
+ type?: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'date' | 'textarea';
20
+ value?: string | number;
21
+ name: string;
22
+ label?: string;
23
+ placeholder?: string;
24
+ required?: boolean;
25
+ disabled?: boolean;
26
+ class?: ClassValue;
27
+ size?: VariantSizes;
28
+ id?: string;
29
+ errors?: string[];
30
+ testId?: string;
31
+ } & DOMAttributes<HTMLInputElement>;
32
+ export type RadioOption = {
33
+ value: string;
34
+ label: string;
35
+ };
36
+ export type RadioInputsProps = {
37
+ name: string;
38
+ label?: string;
39
+ options: RadioOption[];
40
+ value?: string;
41
+ disabled?: boolean;
42
+ class?: ClassValue;
43
+ size?: VariantSizes;
44
+ color?: VariantColors;
45
+ errors?: string[];
46
+ required?: boolean;
47
+ testId?: string;
48
+ };
49
+ export type CheckboxProps = {
50
+ name: string;
51
+ label?: string;
52
+ value?: boolean;
53
+ disabled?: boolean;
54
+ class?: ClassValue;
55
+ size?: VariantSizes;
56
+ color?: VariantColors;
57
+ errors?: string[];
58
+ required?: boolean;
59
+ testId?: string;
60
+ };
61
+ export interface ToggleProps {
62
+ name: string;
63
+ label?: string;
64
+ disabled?: boolean;
65
+ class?: ClassValue;
66
+ value?: boolean;
67
+ size?: VariantSizes;
68
+ color?: VariantColors;
69
+ id?: string;
70
+ errors?: string[];
71
+ offColor?: string;
72
+ onColor?: string;
73
+ testId?: string;
74
+ }
75
+ export type CurrencyOption = {
76
+ value: string;
77
+ icon?: Component;
78
+ };
79
+ export type NumberInputProps = {
80
+ value?: number;
81
+ name?: string;
82
+ label?: string;
83
+ placeholder?: string;
84
+ size?: VariantSizes;
85
+ class?: ClassValue;
86
+ unit?: string;
87
+ units?: CurrencyOption[];
88
+ errors?: string[];
89
+ disabled?: boolean;
90
+ dropdownicon?: Component;
91
+ onunitchange?: (prevUnit: string, newUnit: string) => void;
92
+ testId?: string;
93
+ };
94
+ export interface DateRangeProps {
95
+ startDate?: Date;
96
+ endDate?: Date;
97
+ minDate?: Date;
98
+ maxDate?: Date;
99
+ disabled?: boolean;
100
+ class?: ClassValue;
101
+ placeholder?: string;
102
+ startLabel?: string;
103
+ endLabel?: string;
104
+ format?: string;
105
+ onselect?: ({ startDate, endDate }: {
106
+ startDate?: Date;
107
+ endDate?: Date;
108
+ }) => void;
109
+ id?: string;
110
+ name?: string;
111
+ testId?: string;
112
+ }
113
+ export interface DateSelectEvent {
114
+ startDate: Date | null;
115
+ endDate: Date | null;
116
+ }
117
+ export type TagsProps = {
118
+ value?: string[];
119
+ name?: string;
120
+ label?: string;
121
+ errors?: string[];
122
+ placeholder?: string;
123
+ size?: VariantSizes;
124
+ class?: ClassValue;
125
+ suggestions?: string[];
126
+ onaddtag?: (tag: string) => void;
127
+ onremovetag?: (tag: string) => void;
128
+ testId?: string;
129
+ };
130
+ export type SliderMode = 'single' | 'range' | 'enum';
131
+ export type NotationType = 'standard' | 'compact' | 'scientific' | 'engineering';
132
+ export type EnumOption = {
133
+ value: string | number;
134
+ label: string;
135
+ };
136
+ export interface SliderProps {
137
+ name: string;
138
+ label?: string;
139
+ mode?: SliderMode;
140
+ disabled?: boolean;
141
+ size?: VariantSizes;
142
+ errors?: string[];
143
+ class?: ClassValue;
144
+ min?: number;
145
+ max?: number;
146
+ step?: number;
147
+ value?: number | string;
148
+ valueStart?: number;
149
+ valueEnd?: number;
150
+ showValue?: boolean;
151
+ valuePrefix?: string;
152
+ valueSuffix?: string;
153
+ options?: EnumOption[];
154
+ formatOptions?: Intl.NumberFormatOptions & {
155
+ notation?: NotationType;
156
+ };
157
+ testId?: string;
158
+ }
159
+ export type RadioPillProps = {
160
+ name: string;
161
+ options: RadioOption[];
162
+ value?: string;
163
+ label?: string;
164
+ class?: ClassValue;
165
+ errors?: string[];
166
+ onchange?: (value: string) => void;
167
+ testId?: string;
168
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -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: {