@archbase/components 3.0.25 → 4.0.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 (168) hide show
  1. package/dist/buttons/ArchbaseSpeedDial.d.ts +59 -0
  2. package/dist/buttons/index.d.ts +2 -0
  3. package/dist/charts/ArchbaseArcGauge.d.ts +55 -0
  4. package/dist/charts/ArchbaseGantt.d.ts +70 -0
  5. package/dist/charts/ArchbaseLinearGauge.d.ts +55 -0
  6. package/dist/charts/ArchbaseResourceTimeline.d.ts +61 -0
  7. package/dist/charts/ArchbaseSparkline.d.ts +45 -0
  8. package/dist/charts/index.d.ts +10 -0
  9. package/dist/containers/ArchbaseExpansionPanel.d.ts +60 -0
  10. package/dist/containers/ArchbaseFloatingPanel.d.ts +91 -0
  11. package/dist/containers/index.d.ts +4 -0
  12. package/dist/datagrid/export/ArchbaseDataGridExcelExport.d.ts +67 -0
  13. package/dist/datagrid/export/index.d.ts +2 -0
  14. package/dist/datagrid/index.d.ts +1 -0
  15. package/dist/display/ArchbaseAnimationWrapper.d.ts +73 -0
  16. package/dist/display/ArchbaseBarcodeGenerator.d.ts +50 -0
  17. package/dist/display/ArchbaseCarousel.d.ts +100 -0
  18. package/dist/display/ArchbaseCodeViewer.d.ts +63 -0
  19. package/dist/display/ArchbaseDiffViewer.d.ts +41 -0
  20. package/dist/display/ArchbaseJsonTree.d.ts +34 -0
  21. package/dist/display/ArchbaseLightbox.d.ts +89 -0
  22. package/dist/display/ArchbaseMarquee.d.ts +46 -0
  23. package/dist/display/ArchbasePhotoAlbum.d.ts +58 -0
  24. package/dist/display/ArchbaseQRCode.d.ts +44 -0
  25. package/dist/display/ArchbaseTooltipRich.d.ts +82 -0
  26. package/dist/display/ArchbaseVirtualList.d.ts +116 -0
  27. package/dist/display/index.d.ts +24 -0
  28. package/dist/editors/ArchbaseAIPromptInput.d.ts +69 -0
  29. package/dist/editors/ArchbaseAsyncMultiSelect.d.ts +1 -1
  30. package/dist/editors/ArchbaseAsyncSelect.d.ts +1 -1
  31. package/dist/editors/ArchbaseBarcodeScanner.d.ts +63 -0
  32. package/dist/editors/ArchbaseCepInput.d.ts +26 -0
  33. package/dist/editors/ArchbaseColorGradientPicker.d.ts +80 -0
  34. package/dist/editors/ArchbaseCpfCnpjInput.d.ts +21 -0
  35. package/dist/editors/ArchbaseCurrencyInput.d.ts +25 -0
  36. package/dist/editors/ArchbaseDualListbox.d.ts +61 -0
  37. package/dist/editors/ArchbaseInPlaceEditor.d.ts +67 -0
  38. package/dist/editors/ArchbaseLightGrid.d.ts +56 -0
  39. package/dist/editors/ArchbaseMentionInput.d.ts +75 -0
  40. package/dist/editors/ArchbaseMultiEmail.d.ts +53 -0
  41. package/dist/editors/ArchbaseMultiViewCalendar.d.ts +47 -0
  42. package/dist/editors/ArchbaseNumberStepper.d.ts +66 -0
  43. package/dist/editors/ArchbaseOTPInput.d.ts +27 -0
  44. package/dist/editors/ArchbasePhoneInput.d.ts +52 -0
  45. package/dist/editors/ArchbaseRangeSlider.d.ts +22 -0
  46. package/dist/editors/ArchbaseSignaturePad.d.ts +60 -0
  47. package/dist/editors/ArchbaseSpeechToTextInput.d.ts +106 -0
  48. package/dist/editors/ArchbaseSpreadsheet.d.ts +56 -0
  49. package/dist/editors/ArchbaseTagInput.d.ts +55 -0
  50. package/dist/editors/index.d.ts +40 -0
  51. package/dist/feedback/ArchbaseChunkProgressBar.d.ts +35 -0
  52. package/dist/feedback/ArchbaseRipple.d.ts +43 -0
  53. package/dist/feedback/ArchbaseSkeleton.d.ts +115 -0
  54. package/dist/feedback/index.d.ts +6 -0
  55. package/dist/filters/ArchbaseColumnSelector.d.ts +38 -0
  56. package/dist/filters/index.d.ts +2 -0
  57. package/dist/forms/ArchbaseFieldArray.d.ts +80 -0
  58. package/dist/forms/ArchbaseFormWizard.d.ts +73 -0
  59. package/dist/forms/ArchbaseStepper.d.ts +51 -0
  60. package/dist/forms/index.d.ts +8 -0
  61. package/dist/forms/useArchbaseFormWizard.d.ts +74 -0
  62. package/dist/hooks/index.d.ts +2 -0
  63. package/dist/hooks/useArchbaseConfirm.d.ts +59 -0
  64. package/dist/image/editor/index.d.ts +43 -4
  65. package/dist/image/index.d.ts +1 -0
  66. package/dist/index.css +1 -1
  67. package/dist/index.d.ts +1 -0
  68. package/dist/index.js +22510 -13820
  69. package/dist/list/ArchbaseTreeList.d.ts +76 -0
  70. package/dist/list/index.d.ts +2 -0
  71. package/dist/navigation/ArchbaseActionSheet.d.ts +70 -0
  72. package/dist/navigation/ArchbaseAppBar.d.ts +63 -0
  73. package/dist/navigation/ArchbaseBottomNavigation.d.ts +61 -0
  74. package/dist/navigation/ArchbaseContextMenu.d.ts +76 -0
  75. package/dist/navigation/ArchbaseKeyboardShortcuts.d.ts +85 -0
  76. package/dist/navigation/ArchbaseSpotlight.d.ts +69 -0
  77. package/dist/navigation/index.d.ts +12 -0
  78. package/dist/notification/ArchbaseNotificationCenter.d.ts +56 -0
  79. package/dist/notification/index.d.ts +2 -0
  80. package/dist/onboarding/ArchbaseOnboardingTour.d.ts +27 -76
  81. package/dist/viewers/ArchbaseDocViewer.d.ts +40 -0
  82. package/dist/viewers/ArchbasePdfBuilder.d.ts +53 -0
  83. package/dist/viewers/ArchbaseXmlViewer.d.ts +36 -0
  84. package/dist/viewers/index.d.ts +6 -0
  85. package/package.json +41 -18
  86. package/src/buttons/ArchbaseSpeedDial.tsx +282 -0
  87. package/src/buttons/index.ts +3 -0
  88. package/src/charts/ArchbaseArcGauge.tsx +325 -0
  89. package/src/charts/ArchbaseGantt.tsx +494 -0
  90. package/src/charts/ArchbaseLinearGauge.tsx +288 -0
  91. package/src/charts/ArchbaseResourceTimeline.tsx +433 -0
  92. package/src/charts/ArchbaseSparkline.tsx +193 -0
  93. package/src/charts/index.ts +20 -1
  94. package/src/containers/ArchbaseExpansionPanel.tsx +208 -0
  95. package/src/containers/ArchbaseFloatingPanel.tsx +448 -0
  96. package/src/containers/index.ts +17 -0
  97. package/src/datagrid/components/pagination/grid-pagination.tsx +2 -2
  98. package/src/datagrid/export/ArchbaseDataGridExcelExport.tsx +293 -0
  99. package/src/datagrid/export/index.ts +8 -0
  100. package/src/datagrid/index.tsx +2 -0
  101. package/src/display/ArchbaseAnimationWrapper.tsx +272 -0
  102. package/src/display/ArchbaseBarcodeGenerator.tsx +303 -0
  103. package/src/display/ArchbaseCarousel.tsx +679 -0
  104. package/src/display/ArchbaseCodeViewer.tsx +271 -0
  105. package/src/display/ArchbaseDiffViewer.tsx +108 -0
  106. package/src/display/ArchbaseJsonTree.tsx +150 -0
  107. package/src/display/ArchbaseLightbox.tsx +279 -0
  108. package/src/display/ArchbaseMarquee.tsx +268 -0
  109. package/src/display/ArchbasePhotoAlbum.tsx +415 -0
  110. package/src/display/ArchbaseQRCode.tsx +137 -0
  111. package/src/display/ArchbaseTooltipRich.tsx +317 -0
  112. package/src/display/ArchbaseVirtualList.tsx +618 -0
  113. package/src/display/index.ts +94 -1
  114. package/src/editors/ArchbaseAIPromptInput.tsx +432 -0
  115. package/src/editors/ArchbaseBarcodeScanner.tsx +570 -0
  116. package/src/editors/ArchbaseCepInput.tsx +173 -0
  117. package/src/editors/ArchbaseColorGradientPicker.tsx +460 -0
  118. package/src/editors/ArchbaseCpfCnpjInput.tsx +193 -0
  119. package/src/editors/ArchbaseCurrencyInput.tsx +100 -0
  120. package/src/editors/ArchbaseDualListbox.tsx +671 -0
  121. package/src/editors/ArchbaseInPlaceEditor.tsx +406 -0
  122. package/src/editors/ArchbaseLightGrid.tsx +538 -0
  123. package/src/editors/ArchbaseMentionInput.tsx +384 -0
  124. package/src/editors/ArchbaseMultiEmail.tsx +367 -0
  125. package/src/editors/ArchbaseMultiViewCalendar.tsx +439 -0
  126. package/src/editors/ArchbaseNumberStepper.tsx +219 -0
  127. package/src/editors/ArchbaseOTPInput.tsx +133 -0
  128. package/src/editors/ArchbaseOperationHoursEditor.tsx +1 -1
  129. package/src/editors/ArchbasePhoneInput.tsx +355 -0
  130. package/src/editors/ArchbaseRangeSlider.tsx +109 -0
  131. package/src/editors/ArchbaseSignaturePad.tsx +425 -0
  132. package/src/editors/ArchbaseSpeechToTextInput.tsx +444 -0
  133. package/src/editors/ArchbaseSpreadsheet.tsx +388 -0
  134. package/src/editors/ArchbaseTagInput.tsx +326 -0
  135. package/src/editors/index.tsx +92 -0
  136. package/src/feedback/ArchbaseChunkProgressBar.tsx +156 -0
  137. package/src/feedback/ArchbaseRipple.tsx +278 -0
  138. package/src/feedback/ArchbaseSkeleton.tsx +419 -0
  139. package/src/feedback/index.ts +22 -1
  140. package/src/filters/ArchbaseColumnSelector.tsx +268 -0
  141. package/src/filters/index.ts +2 -0
  142. package/src/forms/ArchbaseFieldArray.tsx +305 -0
  143. package/src/forms/ArchbaseFormWizard.tsx +284 -0
  144. package/src/forms/ArchbaseStepper.tsx +137 -0
  145. package/src/forms/index.ts +24 -2
  146. package/src/forms/useArchbaseFormWizard.ts +283 -0
  147. package/src/hooks/index.ts +12 -0
  148. package/src/hooks/useArchbaseConfirm.ts +293 -0
  149. package/src/image/editor/functions/image-processing.ts +5 -0
  150. package/src/image/editor/index.tsx +305 -391
  151. package/src/image/index.ts +1 -0
  152. package/src/index.ts +3 -0
  153. package/src/list/ArchbaseTreeList.tsx +422 -0
  154. package/src/list/index.ts +3 -0
  155. package/src/navigation/ArchbaseActionSheet.tsx +301 -0
  156. package/src/navigation/ArchbaseAppBar.tsx +233 -0
  157. package/src/navigation/ArchbaseBottomNavigation.tsx +243 -0
  158. package/src/navigation/ArchbaseContextMenu.tsx +298 -0
  159. package/src/navigation/ArchbaseKeyboardShortcuts.tsx +472 -0
  160. package/src/navigation/ArchbaseSpotlight.tsx +483 -0
  161. package/src/navigation/index.ts +48 -1
  162. package/src/notification/ArchbaseNotificationCenter.tsx +502 -0
  163. package/src/notification/index.ts +2 -0
  164. package/src/onboarding/ArchbaseOnboardingTour.tsx +229 -102
  165. package/src/viewers/ArchbaseDocViewer.tsx +584 -0
  166. package/src/viewers/ArchbasePdfBuilder.tsx +291 -0
  167. package/src/viewers/ArchbaseXmlViewer.tsx +142 -0
  168. package/src/viewers/index.ts +12 -0
@@ -0,0 +1,193 @@
1
+ import React, { useCallback, useState, useMemo } from 'react';
2
+ import { TextInput, TextInputProps, ThemeIcon, Tooltip } from '@mantine/core';
3
+ import { IconCheck, IconX, IconId } from '@tabler/icons-react';
4
+
5
+ // =============================================================================
6
+ // CPF/CNPJ Validation Utilities
7
+ // =============================================================================
8
+
9
+ function stripNonDigits(value: string): string {
10
+ return value.replace(/\D/g, '');
11
+ }
12
+
13
+ export function validateCPF(cpf: string): boolean {
14
+ const digits = stripNonDigits(cpf);
15
+ if (digits.length !== 11) return false;
16
+ if (/^(\d)\1+$/.test(digits)) return false;
17
+
18
+ let sum = 0;
19
+ for (let i = 0; i < 9; i++) {
20
+ sum += parseInt(digits[i]) * (10 - i);
21
+ }
22
+ let remainder = (sum * 10) % 11;
23
+ if (remainder === 10 || remainder === 11) remainder = 0;
24
+ if (remainder !== parseInt(digits[9])) return false;
25
+
26
+ sum = 0;
27
+ for (let i = 0; i < 10; i++) {
28
+ sum += parseInt(digits[i]) * (11 - i);
29
+ }
30
+ remainder = (sum * 10) % 11;
31
+ if (remainder === 10 || remainder === 11) remainder = 0;
32
+ if (remainder !== parseInt(digits[10])) return false;
33
+
34
+ return true;
35
+ }
36
+
37
+ export function validateCNPJ(cnpj: string): boolean {
38
+ const digits = stripNonDigits(cnpj);
39
+ if (digits.length !== 14) return false;
40
+ if (/^(\d)\1+$/.test(digits)) return false;
41
+
42
+ const weights1 = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
43
+ const weights2 = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
44
+
45
+ let sum = 0;
46
+ for (let i = 0; i < 12; i++) {
47
+ sum += parseInt(digits[i]) * weights1[i];
48
+ }
49
+ let remainder = sum % 11;
50
+ let digit1 = remainder < 2 ? 0 : 11 - remainder;
51
+ if (digit1 !== parseInt(digits[12])) return false;
52
+
53
+ sum = 0;
54
+ for (let i = 0; i < 13; i++) {
55
+ sum += parseInt(digits[i]) * weights2[i];
56
+ }
57
+ remainder = sum % 11;
58
+ let digit2 = remainder < 2 ? 0 : 11 - remainder;
59
+ if (digit2 !== parseInt(digits[13])) return false;
60
+
61
+ return true;
62
+ }
63
+
64
+ export function formatCPF(cpf: string): string {
65
+ const digits = stripNonDigits(cpf);
66
+ return digits.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, '$1.$2.$3-$4');
67
+ }
68
+
69
+ export function formatCNPJ(cnpj: string): string {
70
+ const digits = stripNonDigits(cnpj);
71
+ return digits.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/, '$1.$2.$3/$4-$5');
72
+ }
73
+
74
+ export type DocumentType = 'cpf' | 'cnpj' | 'unknown';
75
+
76
+ export function detectDocumentType(value: string): DocumentType {
77
+ const digits = stripNonDigits(value);
78
+ if (digits.length <= 11) return 'cpf';
79
+ if (digits.length <= 14) return 'cnpj';
80
+ return 'unknown';
81
+ }
82
+
83
+ // =============================================================================
84
+ // Types
85
+ // =============================================================================
86
+
87
+ export interface ArchbaseCpfCnpjInputProps extends Omit<TextInputProps, 'value' | 'onChange'> {
88
+ /** Valor atual */
89
+ value?: string;
90
+ /** Callback ao mudar */
91
+ onChange?: (value: string) => void;
92
+ /** Tipo de documento (auto-detecta se não informado) */
93
+ documentType?: 'cpf' | 'cnpj' | 'auto';
94
+ /** Mostrar ícone de validação */
95
+ showValidationIcon?: boolean;
96
+ /** Callback ao validar */
97
+ onValidate?: (isValid: boolean, type: DocumentType) => void;
98
+ }
99
+
100
+ // =============================================================================
101
+ // ArchbaseCpfCnpjInput Component
102
+ // =============================================================================
103
+
104
+ export function ArchbaseCpfCnpjInput({
105
+ value = '',
106
+ onChange,
107
+ documentType = 'auto',
108
+ showValidationIcon = true,
109
+ onValidate,
110
+ ...props
111
+ }: ArchbaseCpfCnpjInputProps) {
112
+ const digits = stripNonDigits(value);
113
+ const detectedType = documentType === 'auto' ? detectDocumentType(value) : documentType;
114
+
115
+ const isValid = useMemo(() => {
116
+ if (detectedType === 'cpf' && digits.length === 11) {
117
+ return validateCPF(digits);
118
+ }
119
+ if (detectedType === 'cnpj' && digits.length === 14) {
120
+ return validateCNPJ(digits);
121
+ }
122
+ return false;
123
+ }, [digits, detectedType]);
124
+
125
+ const formattedValue = useMemo(() => {
126
+ if (detectedType === 'cpf') {
127
+ return digits.replace(/(\d{3})(\d{3})?(\d{3})?(\d{2})?/, (_, p1, p2, p3, p4) => {
128
+ let result = p1;
129
+ if (p2) result += '.' + p2;
130
+ if (p3) result += '.' + p3;
131
+ if (p4) result += '-' + p4;
132
+ return result;
133
+ });
134
+ }
135
+ if (detectedType === 'cnpj') {
136
+ return digits.replace(/(\d{2})(\d{3})?(\d{3})?(\d{4})?(\d{2})?/, (_, p1, p2, p3, p4, p5) => {
137
+ let result = p1;
138
+ if (p2) result += '.' + p2;
139
+ if (p3) result += '.' + p3;
140
+ if (p4) result += '/' + p4;
141
+ if (p5) result += '-' + p5;
142
+ return result;
143
+ });
144
+ }
145
+ return value;
146
+ }, [digits, detectedType, value]);
147
+
148
+ const handleChange = useCallback(
149
+ (e: React.ChangeEvent<HTMLInputElement>) => {
150
+ const newDigits = stripNonDigits(e.target.value);
151
+ const maxLength = detectedType === 'cnpj' ? 14 : 11;
152
+ const truncated = newDigits.slice(0, maxLength);
153
+ onChange?.(truncated);
154
+ },
155
+ [onChange, detectedType]
156
+ );
157
+
158
+ React.useEffect(() => {
159
+ if (digits.length === 11 || digits.length === 14) {
160
+ onValidate?.(isValid, detectedType);
161
+ }
162
+ }, [isValid, detectedType, digits.length, onValidate]);
163
+
164
+ const rightSection = showValidationIcon && (digits.length === 11 || digits.length === 14) ? (
165
+ <Tooltip label={isValid ? 'Válido' : 'Inválido'}>
166
+ <ThemeIcon
167
+ size="sm"
168
+ variant="light"
169
+ color={isValid ? 'green' : 'red'}
170
+ radius="xl"
171
+ >
172
+ {isValid ? <IconCheck size={14} /> : <IconX size={14} />}
173
+ </ThemeIcon>
174
+ </Tooltip>
175
+ ) : (
176
+ <ThemeIcon size="sm" variant="light" color="gray" radius="xl">
177
+ <IconId size={14} />
178
+ </ThemeIcon>
179
+ );
180
+
181
+ return (
182
+ <TextInput
183
+ {...props}
184
+ value={formattedValue}
185
+ onChange={handleChange}
186
+ rightSection={rightSection}
187
+ placeholder={detectedType === 'cnpj' ? '00.000.000/0000-00' : '000.000.000-00'}
188
+ maxLength={detectedType === 'cnpj' ? 18 : 14}
189
+ />
190
+ );
191
+ }
192
+
193
+ export default ArchbaseCpfCnpjInput;
@@ -0,0 +1,100 @@
1
+ import React, { useCallback, useState } from 'react';
2
+ import { NumberInput, NumberInputProps } from '@mantine/core';
3
+
4
+ // =============================================================================
5
+ // Types
6
+ // =============================================================================
7
+
8
+ export type CurrencyCode = 'BRL' | 'USD' | 'EUR' | 'GBP' | 'JPY' | 'CNY' | 'ARS' | 'CLP' | 'COP' | 'MXN';
9
+
10
+ export interface CurrencyConfig {
11
+ prefix: string;
12
+ thousandSeparator: string;
13
+ decimalSeparator: string;
14
+ decimalScale: number;
15
+ }
16
+
17
+ const CURRENCY_CONFIGS: Record<CurrencyCode, CurrencyConfig> = {
18
+ BRL: { prefix: 'R$ ', thousandSeparator: '.', decimalSeparator: ',', decimalScale: 2 },
19
+ USD: { prefix: '$ ', thousandSeparator: ',', decimalSeparator: '.', decimalScale: 2 },
20
+ EUR: { prefix: '€ ', thousandSeparator: '.', decimalSeparator: ',', decimalScale: 2 },
21
+ GBP: { prefix: '£ ', thousandSeparator: ',', decimalSeparator: '.', decimalScale: 2 },
22
+ JPY: { prefix: '¥ ', thousandSeparator: ',', decimalSeparator: '.', decimalScale: 0 },
23
+ CNY: { prefix: '¥ ', thousandSeparator: ',', decimalSeparator: '.', decimalScale: 2 },
24
+ ARS: { prefix: '$ ', thousandSeparator: '.', decimalSeparator: ',', decimalScale: 2 },
25
+ CLP: { prefix: '$ ', thousandSeparator: '.', decimalSeparator: ',', decimalScale: 0 },
26
+ COP: { prefix: '$ ', thousandSeparator: '.', decimalSeparator: ',', decimalScale: 2 },
27
+ MXN: { prefix: '$ ', thousandSeparator: ',', decimalSeparator: '.', decimalScale: 2 },
28
+ };
29
+
30
+ export interface ArchbaseCurrencyInputProps extends Omit<NumberInputProps, 'value' | 'onChange'> {
31
+ /** Moeda */
32
+ currency?: CurrencyCode;
33
+ /** Valor atual */
34
+ value?: number | null;
35
+ /** Callback ao mudar */
36
+ onChange?: (value: number | null) => void;
37
+ /** Permitir valores negativos */
38
+ allowNegative?: boolean;
39
+ /** Mostrar símbolo da moeda */
40
+ showSymbol?: boolean;
41
+ }
42
+
43
+ // =============================================================================
44
+ // ArchbaseCurrencyInput Component
45
+ // =============================================================================
46
+
47
+ export function ArchbaseCurrencyInput({
48
+ currency = 'BRL',
49
+ value,
50
+ onChange,
51
+ allowNegative = false,
52
+ showSymbol = true,
53
+ ...props
54
+ }: ArchbaseCurrencyInputProps) {
55
+ const config = CURRENCY_CONFIGS[currency];
56
+
57
+ const handleChange = useCallback(
58
+ (newValue: string | number) => {
59
+ if (newValue === '' || newValue === null || newValue === undefined) {
60
+ onChange?.(null);
61
+ } else {
62
+ onChange?.(typeof newValue === 'string' ? parseFloat(newValue) : newValue);
63
+ }
64
+ },
65
+ [onChange]
66
+ );
67
+
68
+ return (
69
+ <NumberInput
70
+ {...props}
71
+ value={value ?? ''}
72
+ onChange={handleChange}
73
+ prefix={showSymbol ? config.prefix : undefined}
74
+ thousandSeparator={config.thousandSeparator}
75
+ decimalSeparator={config.decimalSeparator}
76
+ decimalScale={config.decimalScale}
77
+ fixedDecimalScale
78
+ allowNegative={allowNegative}
79
+ hideControls
80
+ />
81
+ );
82
+ }
83
+
84
+ // =============================================================================
85
+ // Convenience Components
86
+ // =============================================================================
87
+
88
+ export function ArchbaseBRLInput(props: Omit<ArchbaseCurrencyInputProps, 'currency'>) {
89
+ return <ArchbaseCurrencyInput currency="BRL" {...props} />;
90
+ }
91
+
92
+ export function ArchbaseUSDInput(props: Omit<ArchbaseCurrencyInputProps, 'currency'>) {
93
+ return <ArchbaseCurrencyInput currency="USD" {...props} />;
94
+ }
95
+
96
+ export function ArchbaseEURInput(props: Omit<ArchbaseCurrencyInputProps, 'currency'>) {
97
+ return <ArchbaseCurrencyInput currency="EUR" {...props} />;
98
+ }
99
+
100
+ export default ArchbaseCurrencyInput;