@thatix.io/credit-ui 0.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.
- package/LICENSE +19 -0
- package/README.md +186 -0
- package/dist/components/atoms/Avatar/Avatar.stories.d.ts +11 -0
- package/dist/components/atoms/Avatar/Avatar.vue.d.ts +16 -0
- package/dist/components/atoms/Avatar/index.d.ts +2 -0
- package/dist/components/atoms/Badge/Badge.stories.d.ts +11 -0
- package/dist/components/atoms/Badge/Badge.vue.d.ts +40 -0
- package/dist/components/atoms/Badge/index.d.ts +2 -0
- package/dist/components/atoms/Button/Button.stories.d.ts +15 -0
- package/dist/components/atoms/Button/Button.vue.d.ts +47 -0
- package/dist/components/atoms/Button/index.d.ts +2 -0
- package/dist/components/atoms/Card/Card.stories.d.ts +9 -0
- package/dist/components/atoms/Card/Card.vue.d.ts +33 -0
- package/dist/components/atoms/Card/index.d.ts +2 -0
- package/dist/components/atoms/Checkbox/Checkbox.stories.d.ts +11 -0
- package/dist/components/atoms/Checkbox/Checkbox.vue.d.ts +28 -0
- package/dist/components/atoms/Checkbox/index.d.ts +2 -0
- package/dist/components/atoms/CurrencyDisplay/CurrencyDisplay.stories.d.ts +10 -0
- package/dist/components/atoms/CurrencyDisplay/CurrencyDisplay.vue.d.ts +26 -0
- package/dist/components/atoms/CurrencyDisplay/index.d.ts +2 -0
- package/dist/components/atoms/Divider/Divider.stories.d.ts +9 -0
- package/dist/components/atoms/Divider/Divider.vue.d.ts +11 -0
- package/dist/components/atoms/Divider/index.d.ts +2 -0
- package/dist/components/atoms/GradientMesh/GradientMesh.stories.d.ts +13 -0
- package/dist/components/atoms/GradientMesh/GradientMesh.vue.d.ts +43 -0
- package/dist/components/atoms/GradientMesh/index.d.ts +2 -0
- package/dist/components/atoms/Icon/Icon.stories.d.ts +11 -0
- package/dist/components/atoms/Icon/Icon.vue.d.ts +23 -0
- package/dist/components/atoms/Icon/index.d.ts +2 -0
- package/dist/components/atoms/Input/Input.stories.d.ts +13 -0
- package/dist/components/atoms/Input/Input.vue.d.ts +73 -0
- package/dist/components/atoms/Input/index.d.ts +2 -0
- package/dist/components/atoms/Label/Label.stories.d.ts +11 -0
- package/dist/components/atoms/Label/Label.vue.d.ts +28 -0
- package/dist/components/atoms/Label/index.d.ts +2 -0
- package/dist/components/atoms/Logo/Logo.stories.d.ts +10 -0
- package/dist/components/atoms/Logo/Logo.vue.d.ts +17 -0
- package/dist/components/atoms/Logo/index.d.ts +2 -0
- package/dist/components/atoms/Spinner/Spinner.stories.d.ts +11 -0
- package/dist/components/atoms/Spinner/Spinner.vue.d.ts +11 -0
- package/dist/components/atoms/Spinner/index.d.ts +2 -0
- package/dist/components/atoms/Typography/Typography.stories.d.ts +12 -0
- package/dist/components/atoms/Typography/Typography.vue.d.ts +32 -0
- package/dist/components/atoms/Typography/index.d.ts +2 -0
- package/dist/components/atoms/index.d.ts +14 -0
- package/dist/components/index.d.ts +14 -0
- package/dist/components/molecules/ActionButton/ActionButton.stories.d.ts +11 -0
- package/dist/components/molecules/ActionButton/ActionButton.vue.d.ts +31 -0
- package/dist/components/molecules/ActionButton/index.d.ts +2 -0
- package/dist/components/molecules/Alert/Alert.stories.d.ts +12 -0
- package/dist/components/molecules/Alert/Alert.vue.d.ts +20 -0
- package/dist/components/molecules/Alert/index.d.ts +2 -0
- package/dist/components/molecules/AnalysisStatus/AnalysisStatus.stories.d.ts +14 -0
- package/dist/components/molecules/AnalysisStatus/AnalysisStatus.vue.d.ts +16 -0
- package/dist/components/molecules/AnalysisStatus/index.d.ts +2 -0
- package/dist/components/molecules/ContractPaidCelebration/ContractPaidCelebration.stories.d.ts +9 -0
- package/dist/components/molecules/ContractPaidCelebration/ContractPaidCelebration.vue.d.ts +25 -0
- package/dist/components/molecules/ContractPaidCelebration/index.d.ts +2 -0
- package/dist/components/molecules/DocumentUpload/DocumentUpload.stories.d.ts +10 -0
- package/dist/components/molecules/DocumentUpload/DocumentUpload.vue.d.ts +40 -0
- package/dist/components/molecules/DocumentUpload/index.d.ts +2 -0
- package/dist/components/molecules/FilePreview/FilePreview.stories.d.ts +13 -0
- package/dist/components/molecules/FilePreview/FilePreview.vue.d.ts +32 -0
- package/dist/components/molecules/FilePreview/index.d.ts +2 -0
- package/dist/components/molecules/FormField/FormField.stories.d.ts +9 -0
- package/dist/components/molecules/FormField/FormField.vue.d.ts +39 -0
- package/dist/components/molecules/FormField/index.d.ts +2 -0
- package/dist/components/molecules/IdentifierInput/IdentifierInput.stories.d.ts +14 -0
- package/dist/components/molecules/IdentifierInput/IdentifierInput.vue.d.ts +29 -0
- package/dist/components/molecules/IdentifierInput/index.d.ts +2 -0
- package/dist/components/molecules/InfoCard/InfoCard.stories.d.ts +13 -0
- package/dist/components/molecules/InfoCard/InfoCard.vue.d.ts +53 -0
- package/dist/components/molecules/InfoCard/index.d.ts +2 -0
- package/dist/components/molecules/InputRangeMoney/InputRangeMoney.stories.d.ts +9 -0
- package/dist/components/molecules/InputRangeMoney/InputRangeMoney.vue.d.ts +19 -0
- package/dist/components/molecules/InputRangeMoney/index.d.ts +2 -0
- package/dist/components/molecules/InstallmentCard/InstallmentCard.stories.d.ts +9 -0
- package/dist/components/molecules/InstallmentCard/InstallmentCard.vue.d.ts +29 -0
- package/dist/components/molecules/InstallmentCard/index.d.ts +2 -0
- package/dist/components/molecules/InstallmentSelector/InstallmentSelector.stories.d.ts +10 -0
- package/dist/components/molecules/InstallmentSelector/InstallmentSelector.vue.d.ts +28 -0
- package/dist/components/molecules/InstallmentSelector/index.d.ts +2 -0
- package/dist/components/molecules/MarginIndicator/MarginIndicator.stories.d.ts +12 -0
- package/dist/components/molecules/MarginIndicator/MarginIndicator.vue.d.ts +18 -0
- package/dist/components/molecules/MarginIndicator/index.d.ts +2 -0
- package/dist/components/molecules/Modal/Modal.stories.d.ts +8 -0
- package/dist/components/molecules/Modal/Modal.vue.d.ts +38 -0
- package/dist/components/molecules/Modal/index.d.ts +2 -0
- package/dist/components/molecules/PasswordInput/PasswordInput.stories.d.ts +11 -0
- package/dist/components/molecules/PasswordInput/PasswordInput.vue.d.ts +30 -0
- package/dist/components/molecules/PasswordInput/index.d.ts +2 -0
- package/dist/components/molecules/PendingProposalBanner/PendingProposalBanner.stories.d.ts +10 -0
- package/dist/components/molecules/PendingProposalBanner/PendingProposalBanner.vue.d.ts +24 -0
- package/dist/components/molecules/PendingProposalBanner/index.d.ts +2 -0
- package/dist/components/molecules/PinInput/PinInput.stories.d.ts +13 -0
- package/dist/components/molecules/PinInput/PinInput.vue.d.ts +36 -0
- package/dist/components/molecules/PinInput/index.d.ts +2 -0
- package/dist/components/molecules/ProgressBar/ProgressBar.stories.d.ts +12 -0
- package/dist/components/molecules/ProgressBar/ProgressBar.vue.d.ts +24 -0
- package/dist/components/molecules/ProgressBar/index.d.ts +2 -0
- package/dist/components/molecules/SearchBar/SearchBar.stories.d.ts +11 -0
- package/dist/components/molecules/SearchBar/SearchBar.vue.d.ts +30 -0
- package/dist/components/molecules/SearchBar/index.d.ts +2 -0
- package/dist/components/molecules/SimulationLoading/SimulationLoading.stories.d.ts +10 -0
- package/dist/components/molecules/SimulationLoading/SimulationLoading.vue.d.ts +17 -0
- package/dist/components/molecules/SimulationLoading/index.d.ts +2 -0
- package/dist/components/molecules/StatusBadge/StatusBadge.stories.d.ts +12 -0
- package/dist/components/molecules/StatusBadge/StatusBadge.vue.d.ts +38 -0
- package/dist/components/molecules/StatusBadge/index.d.ts +2 -0
- package/dist/components/molecules/StepperProgress/StepperProgress.stories.d.ts +11 -0
- package/dist/components/molecules/StepperProgress/StepperProgress.vue.d.ts +22 -0
- package/dist/components/molecules/StepperProgress/index.d.ts +2 -0
- package/dist/components/molecules/WelcomeCard/WelcomeCard.stories.d.ts +11 -0
- package/dist/components/molecules/WelcomeCard/WelcomeCard.vue.d.ts +33 -0
- package/dist/components/molecules/WelcomeCard/index.d.ts +2 -0
- package/dist/components/molecules/index.d.ts +23 -0
- package/dist/components/organisms/AuthLayout/AuthLayout.stories.d.ts +10 -0
- package/dist/components/organisms/AuthLayout/AuthLayout.vue.d.ts +42 -0
- package/dist/components/organisms/AuthLayout/index.d.ts +2 -0
- package/dist/components/organisms/BottomNavigation/BottomNavigation.stories.d.ts +8 -0
- package/dist/components/organisms/BottomNavigation/BottomNavigation.vue.d.ts +38 -0
- package/dist/components/organisms/BottomNavigation/index.d.ts +2 -0
- package/dist/components/organisms/ConsentForm/ConsentForm.stories.d.ts +9 -0
- package/dist/components/organisms/ConsentForm/ConsentForm.vue.d.ts +45 -0
- package/dist/components/organisms/ConsentForm/TermModal.vue.d.ts +37 -0
- package/dist/components/organisms/ConsentForm/index.d.ts +4 -0
- package/dist/components/organisms/ContractCard/ContractCard.stories.d.ts +12 -0
- package/dist/components/organisms/ContractCard/ContractCard.vue.d.ts +41 -0
- package/dist/components/organisms/ContractCard/index.d.ts +2 -0
- package/dist/components/organisms/ContractDetails/ContractDetails.stories.d.ts +9 -0
- package/dist/components/organisms/ContractDetails/ContractDetails.vue.d.ts +53 -0
- package/dist/components/organisms/ContractDetails/index.d.ts +2 -0
- package/dist/components/organisms/CreatePasswordForm/CreatePasswordForm.stories.d.ts +12 -0
- package/dist/components/organisms/CreatePasswordForm/CreatePasswordForm.vue.d.ts +52 -0
- package/dist/components/organisms/CreatePasswordForm/index.d.ts +2 -0
- package/dist/components/organisms/DashboardHeader/DashboardHeader.stories.d.ts +8 -0
- package/dist/components/organisms/DashboardHeader/DashboardHeader.vue.d.ts +14 -0
- package/dist/components/organisms/DashboardHeader/index.d.ts +2 -0
- package/dist/components/organisms/DocumentUploadSection/DocumentUploadSection.stories.d.ts +10 -0
- package/dist/components/organisms/DocumentUploadSection/DocumentUploadSection.vue.d.ts +72 -0
- package/dist/components/organisms/DocumentUploadSection/index.d.ts +2 -0
- package/dist/components/organisms/Footer/Footer.stories.d.ts +10 -0
- package/dist/components/organisms/Footer/Footer.vue.d.ts +50 -0
- package/dist/components/organisms/Footer/index.d.ts +2 -0
- package/dist/components/organisms/ForgotPasswordForm/ForgotPasswordForm.stories.d.ts +12 -0
- package/dist/components/organisms/ForgotPasswordForm/ForgotPasswordForm.vue.d.ts +64 -0
- package/dist/components/organisms/ForgotPasswordForm/index.d.ts +2 -0
- package/dist/components/organisms/Header/Header.stories.d.ts +9 -0
- package/dist/components/organisms/Header/Header.vue.d.ts +36 -0
- package/dist/components/organisms/Header/index.d.ts +2 -0
- package/dist/components/organisms/InstallmentHistory/InstallmentHistory.stories.d.ts +10 -0
- package/dist/components/organisms/InstallmentHistory/InstallmentHistory.vue.d.ts +42 -0
- package/dist/components/organisms/InstallmentHistory/index.d.ts +2 -0
- package/dist/components/organisms/LoginForm/LoginForm.stories.d.ts +10 -0
- package/dist/components/organisms/LoginForm/LoginForm.vue.d.ts +51 -0
- package/dist/components/organisms/LoginForm/index.d.ts +2 -0
- package/dist/components/organisms/ManualInputModal/ManualInputModal.stories.d.ts +9 -0
- package/dist/components/organisms/ManualInputModal/ManualInputModal.vue.d.ts +41 -0
- package/dist/components/organisms/ManualInputModal/index.d.ts +2 -0
- package/dist/components/organisms/OfferCard/OfferCard.stories.d.ts +11 -0
- package/dist/components/organisms/OfferCard/OfferCard.vue.d.ts +39 -0
- package/dist/components/organisms/OfferCard/index.d.ts +2 -0
- package/dist/components/organisms/ProfileForm/ProfileForm.stories.d.ts +10 -0
- package/dist/components/organisms/ProfileForm/ProfileForm.vue.d.ts +62 -0
- package/dist/components/organisms/ProfileForm/index.d.ts +2 -0
- package/dist/components/organisms/QuickActions/QuickActions.stories.d.ts +9 -0
- package/dist/components/organisms/QuickActions/QuickActions.vue.d.ts +24 -0
- package/dist/components/organisms/QuickActions/index.d.ts +2 -0
- package/dist/components/organisms/ResetPasswordForm/ResetPasswordForm.stories.d.ts +12 -0
- package/dist/components/organisms/ResetPasswordForm/ResetPasswordForm.vue.d.ts +52 -0
- package/dist/components/organisms/ResetPasswordForm/index.d.ts +2 -0
- package/dist/components/organisms/SCRConsentModal/SCRConsentModal.stories.d.ts +8 -0
- package/dist/components/organisms/SCRConsentModal/SCRConsentModal.vue.d.ts +18 -0
- package/dist/components/organisms/SCRConsentModal/index.d.ts +2 -0
- package/dist/components/organisms/Sidebar/Sidebar.stories.d.ts +8 -0
- package/dist/components/organisms/Sidebar/Sidebar.vue.d.ts +78 -0
- package/dist/components/organisms/Sidebar/SidebarItem.vue.d.ts +28 -0
- package/dist/components/organisms/Sidebar/index.d.ts +4 -0
- package/dist/components/organisms/SimulationResult/SimulationResult.stories.d.ts +11 -0
- package/dist/components/organisms/SimulationResult/SimulationResult.vue.d.ts +44 -0
- package/dist/components/organisms/SimulationResult/index.d.ts +2 -0
- package/dist/components/organisms/TopNavigation/TopNavigation.stories.d.ts +8 -0
- package/dist/components/organisms/TopNavigation/TopNavigation.vue.d.ts +48 -0
- package/dist/components/organisms/TopNavigation/index.d.ts +2 -0
- package/dist/components/organisms/index.d.ts +26 -0
- package/dist/components/templates/FormLayout/FormLayout.stories.d.ts +65 -0
- package/dist/components/templates/FormLayout/FormLayout.vue.d.ts +84 -0
- package/dist/components/templates/FormLayout/index.d.ts +2 -0
- package/dist/components/templates/index.d.ts +1 -0
- package/dist/composables/index.d.ts +4 -0
- package/dist/composables/useTheme.d.ts +66 -0
- package/dist/credit-ui.cjs.js +90 -0
- package/dist/credit-ui.css +1 -0
- package/dist/credit-ui.es.js +8936 -0
- package/dist/images/auth-background.jpg +0 -0
- package/dist/index.d.ts +20 -0
- package/dist/logo.png +0 -0
- package/dist/nuxt/index.d.ts +5 -0
- package/dist/nuxt/module.d.ts +17 -0
- package/dist/nuxt.cjs.js +1 -0
- package/dist/nuxt.es.js +31 -0
- package/dist/themes/defaults.d.ts +96 -0
- package/dist/themes/index.d.ts +8 -0
- package/dist/themes/utils.d.ts +35 -0
- package/dist/themes.cjs.js +6 -0
- package/dist/themes.es.js +163 -0
- package/dist/tokens.css +124 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/theme.d.ts +142 -0
- package/package.json +75 -0
- package/src/nuxt/runtime/composables/useTheme.ts +86 -0
- package/src/nuxt/runtime/plugin.server.ts +32 -0
- package/src/nuxt/runtime/plugin.ts +22 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
PROPRIETARY LICENSE
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Thatix.io
|
|
4
|
+
|
|
5
|
+
All rights reserved.
|
|
6
|
+
|
|
7
|
+
This software and associated documentation files (the "Software") are the exclusive
|
|
8
|
+
property of Thatix.io. No part of this Software may be reproduced, distributed, or
|
|
9
|
+
transmitted in any form or by any means, including photocopying, recording, or other
|
|
10
|
+
electronic or mechanical methods, without the prior written permission of Thatix.io.
|
|
11
|
+
|
|
12
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
13
|
+
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
14
|
+
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
15
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
16
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
17
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
18
|
+
|
|
19
|
+
For licensing inquiries, contact: legal@thatix.io
|
package/README.md
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# @thatix.io/credit-ui
|
|
2
|
+
|
|
3
|
+
UI Kit para esteiras de crédito da Thatix com sistema de theming configurável.
|
|
4
|
+
|
|
5
|
+
## Instalação
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add @thatix.io/credit-ui
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Uso com Nuxt
|
|
12
|
+
|
|
13
|
+
### 1. Configurar módulo
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
// nuxt.config.ts
|
|
17
|
+
export default defineNuxtConfig({
|
|
18
|
+
modules: ['@thatix.io/credit-ui/nuxt'],
|
|
19
|
+
creditUi: {
|
|
20
|
+
theme: {
|
|
21
|
+
colors: {
|
|
22
|
+
primary: '#06012C',
|
|
23
|
+
accent: '#FFCA46',
|
|
24
|
+
},
|
|
25
|
+
fonts: {
|
|
26
|
+
heading: 'Montserrat',
|
|
27
|
+
base: 'Galano Grotesque',
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
})
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 2. Usar o composable
|
|
35
|
+
|
|
36
|
+
```vue
|
|
37
|
+
<script setup>
|
|
38
|
+
// Auto-importado pelo módulo
|
|
39
|
+
const { getColor, getToken, colors } = useTheme()
|
|
40
|
+
|
|
41
|
+
const primaryColor = getColor('primary')
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<template>
|
|
45
|
+
<div :style="{ color: colors.primary }">
|
|
46
|
+
Themed content
|
|
47
|
+
</div>
|
|
48
|
+
</template>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Uso com Vue (sem Nuxt)
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
import { useTheme } from '@thatix.io/credit-ui'
|
|
55
|
+
import '@thatix.io/credit-ui/themes/tokens.css'
|
|
56
|
+
|
|
57
|
+
const { getColor, applyTheme, colors } = useTheme()
|
|
58
|
+
|
|
59
|
+
// Aplicar tema customizado
|
|
60
|
+
applyTheme({
|
|
61
|
+
colors: { primary: '#FF0000' }
|
|
62
|
+
})
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## CSS Variables
|
|
66
|
+
|
|
67
|
+
O pacote disponibiliza CSS Variables que podem ser usadas diretamente:
|
|
68
|
+
|
|
69
|
+
```css
|
|
70
|
+
.my-component {
|
|
71
|
+
color: var(--color-primary);
|
|
72
|
+
font-family: var(--font-family-heading);
|
|
73
|
+
padding: var(--spacing-4);
|
|
74
|
+
border-radius: var(--radius-md);
|
|
75
|
+
box-shadow: var(--shadow-md);
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Tokens disponíveis
|
|
80
|
+
|
|
81
|
+
#### Colors
|
|
82
|
+
- `--color-primary`, `--color-primary-dark`, `--color-primary-light`
|
|
83
|
+
- `--color-secondary`, `--color-accent`
|
|
84
|
+
- `--color-background`, `--color-background-alt`
|
|
85
|
+
- `--color-surface`, `--color-surface-accent`
|
|
86
|
+
- `--color-text`, `--color-text-muted`, `--color-text-inverse`
|
|
87
|
+
- `--color-error`, `--color-warning`, `--color-success`, `--color-info`
|
|
88
|
+
|
|
89
|
+
#### Typography
|
|
90
|
+
- `--font-family-heading`, `--font-family-base`
|
|
91
|
+
- `--font-size-xs` ... `--font-size-4xl`
|
|
92
|
+
- `--font-weight-normal`, `medium`, `semibold`, `bold`
|
|
93
|
+
- `--line-height-tight`, `normal`, `relaxed`
|
|
94
|
+
|
|
95
|
+
#### Spacing
|
|
96
|
+
- `--spacing-0` ... `--spacing-16` (escala 4px)
|
|
97
|
+
|
|
98
|
+
#### Radius
|
|
99
|
+
- `--radius-none`, `sm`, `md`, `lg`, `xl`, `2xl`, `full`
|
|
100
|
+
|
|
101
|
+
#### Shadows
|
|
102
|
+
- `--shadow-sm`, `md`, `lg`, `xl`
|
|
103
|
+
|
|
104
|
+
#### Transitions
|
|
105
|
+
- `--transition-fast` (150ms), `normal` (300ms), `slow` (500ms)
|
|
106
|
+
- `--easing-default`, `in`, `out`
|
|
107
|
+
|
|
108
|
+
## Customização
|
|
109
|
+
|
|
110
|
+
Apenas cores e fontes são customizáveis. Spacing, radius, shadows e transitions são fixos para manter consistência do design system.
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
interface ThemeConfig {
|
|
114
|
+
colors?: {
|
|
115
|
+
primary?: string
|
|
116
|
+
primaryDark?: string
|
|
117
|
+
primaryLight?: string
|
|
118
|
+
secondary?: string
|
|
119
|
+
accent?: string
|
|
120
|
+
background?: string
|
|
121
|
+
backgroundAlt?: string
|
|
122
|
+
surface?: string
|
|
123
|
+
surfaceAccent?: string
|
|
124
|
+
text?: string
|
|
125
|
+
textMuted?: string
|
|
126
|
+
textInverse?: string
|
|
127
|
+
error?: string
|
|
128
|
+
warning?: string
|
|
129
|
+
success?: string
|
|
130
|
+
info?: string
|
|
131
|
+
}
|
|
132
|
+
fonts?: {
|
|
133
|
+
heading?: string
|
|
134
|
+
base?: string
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Exports
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
// Main entry
|
|
143
|
+
import { useTheme, version } from '@thatix.io/credit-ui'
|
|
144
|
+
import type { ThemeConfig, ThemeColors } from '@thatix.io/credit-ui'
|
|
145
|
+
|
|
146
|
+
// Nuxt module
|
|
147
|
+
import CreditUIModule from '@thatix.io/credit-ui/nuxt'
|
|
148
|
+
|
|
149
|
+
// Theme utilities
|
|
150
|
+
import { mergeTheme, defaultTokens } from '@thatix.io/credit-ui/themes'
|
|
151
|
+
|
|
152
|
+
// CSS only
|
|
153
|
+
import '@thatix.io/credit-ui/themes/tokens.css'
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Desenvolvimento
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
pnpm install # Instalar dependências
|
|
160
|
+
pnpm build # Build
|
|
161
|
+
pnpm typecheck # Type check
|
|
162
|
+
pnpm lint # Lint
|
|
163
|
+
pnpm lint:fix # Corrigir lint
|
|
164
|
+
pnpm format # Formatar código
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Estrutura
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
src/
|
|
171
|
+
├── components/ # Componentes UI (GC-3)
|
|
172
|
+
├── composables/ # useTheme (Vue puro)
|
|
173
|
+
├── nuxt/ # Módulo Nuxt
|
|
174
|
+
│ ├── module.ts # defineNuxtModule
|
|
175
|
+
│ └── runtime/ # Plugins e composables
|
|
176
|
+
├── themes/ # Sistema de theming
|
|
177
|
+
│ ├── tokens.css # CSS Variables
|
|
178
|
+
│ ├── defaults.ts # Valores default
|
|
179
|
+
│ └── utils.ts # Utilities
|
|
180
|
+
├── types/ # TypeScript types
|
|
181
|
+
└── index.ts # Entry point
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Licença
|
|
185
|
+
|
|
186
|
+
Proprietário - Thatix.io
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
+
import { default as Avatar } from './Avatar.vue';
|
|
3
|
+
declare const meta: Meta<typeof Avatar>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const WithImage: Story;
|
|
8
|
+
export declare const SingleName: Story;
|
|
9
|
+
export declare const Sizes: Story;
|
|
10
|
+
export declare const WithImageSizes: Story;
|
|
11
|
+
export declare const BrokenImage: Story;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface AvatarProps {
|
|
2
|
+
/** URL da imagem do avatar */
|
|
3
|
+
src?: string;
|
|
4
|
+
/** Nome completo do usuário */
|
|
5
|
+
name: string;
|
|
6
|
+
/** Tamanho do avatar */
|
|
7
|
+
size?: 'sm' | 'md' | 'lg';
|
|
8
|
+
}
|
|
9
|
+
declare const _default: import('vue').DefineComponent<AvatarProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
10
|
+
click: () => any;
|
|
11
|
+
}, string, import('vue').PublicProps, Readonly<AvatarProps> & Readonly<{
|
|
12
|
+
onClick?: (() => any) | undefined;
|
|
13
|
+
}>, {
|
|
14
|
+
size: "sm" | "md" | "lg";
|
|
15
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLButtonElement>;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
+
import { default as Badge } from './Badge.vue';
|
|
3
|
+
declare const meta: Meta<typeof Badge>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const AllVariants: Story;
|
|
8
|
+
export declare const Sizes: Story;
|
|
9
|
+
export declare const Dismissible: Story;
|
|
10
|
+
export declare const DotVariant: Story;
|
|
11
|
+
export declare const DotSizes: Story;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface BadgeProps {
|
|
2
|
+
/** Variante semântica do badge */
|
|
3
|
+
variant?: 'success' | 'error' | 'warning' | 'info' | 'neutral' | 'primary';
|
|
4
|
+
/** Tamanho do badge */
|
|
5
|
+
size?: 'sm' | 'md' | 'lg';
|
|
6
|
+
/** Label exibido no badge */
|
|
7
|
+
label?: string;
|
|
8
|
+
/** Permite remover o badge */
|
|
9
|
+
dismissible?: boolean;
|
|
10
|
+
/** Renderiza apenas um ponto colorido */
|
|
11
|
+
dot?: boolean;
|
|
12
|
+
}
|
|
13
|
+
declare function __VLS_template(): {
|
|
14
|
+
attrs: Partial<{}>;
|
|
15
|
+
slots: {
|
|
16
|
+
'leading-icon'?(_: {}): any;
|
|
17
|
+
'trailing-icon'?(_: {}): any;
|
|
18
|
+
};
|
|
19
|
+
refs: {};
|
|
20
|
+
rootEl: any;
|
|
21
|
+
};
|
|
22
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
23
|
+
declare const __VLS_component: import('vue').DefineComponent<BadgeProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
24
|
+
dismiss: () => any;
|
|
25
|
+
}, string, import('vue').PublicProps, Readonly<BadgeProps> & Readonly<{
|
|
26
|
+
onDismiss?: (() => any) | undefined;
|
|
27
|
+
}>, {
|
|
28
|
+
size: "sm" | "md" | "lg";
|
|
29
|
+
label: string;
|
|
30
|
+
variant: "success" | "error" | "warning" | "info" | "neutral" | "primary";
|
|
31
|
+
dismissible: boolean;
|
|
32
|
+
dot: boolean;
|
|
33
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
34
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
35
|
+
export default _default;
|
|
36
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
37
|
+
new (): {
|
|
38
|
+
$slots: S;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
+
import { default as Button } from './Button.vue';
|
|
3
|
+
declare const meta: Meta<typeof Button>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Button>;
|
|
6
|
+
export declare const Primary: Story;
|
|
7
|
+
export declare const Secondary: Story;
|
|
8
|
+
export declare const Outline: Story;
|
|
9
|
+
export declare const Ghost: Story;
|
|
10
|
+
export declare const Accent: Story;
|
|
11
|
+
export declare const Sizes: Story;
|
|
12
|
+
export declare const States: Story;
|
|
13
|
+
export declare const Block: Story;
|
|
14
|
+
export declare const AllVariants: Story;
|
|
15
|
+
export declare const Playground: Story;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Props do componente Button
|
|
3
|
+
*/
|
|
4
|
+
export interface ButtonProps {
|
|
5
|
+
/** Variante visual do botão */
|
|
6
|
+
variant?: 'primary' | 'secondary' | 'accent' | 'outline' | 'ghost';
|
|
7
|
+
/** Tamanho do botão */
|
|
8
|
+
size?: 'sm' | 'md' | 'lg';
|
|
9
|
+
/** Border radius */
|
|
10
|
+
rounded?: 'sm' | 'md' | 'lg' | 'full';
|
|
11
|
+
/** Estado desabilitado */
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
/** Estado de loading */
|
|
14
|
+
loading?: boolean;
|
|
15
|
+
/** Botão ocupa 100% da largura */
|
|
16
|
+
block?: boolean;
|
|
17
|
+
}
|
|
18
|
+
declare function __VLS_template(): {
|
|
19
|
+
attrs: Partial<{}>;
|
|
20
|
+
slots: {
|
|
21
|
+
'leading-icon'?(_: {}): any;
|
|
22
|
+
default?(_: {}): any;
|
|
23
|
+
'trailing-icon'?(_: {}): any;
|
|
24
|
+
};
|
|
25
|
+
refs: {};
|
|
26
|
+
rootEl: HTMLButtonElement;
|
|
27
|
+
};
|
|
28
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
29
|
+
declare const __VLS_component: import('vue').DefineComponent<ButtonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
30
|
+
click: (event: MouseEvent) => any;
|
|
31
|
+
}, string, import('vue').PublicProps, Readonly<ButtonProps> & Readonly<{
|
|
32
|
+
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
33
|
+
}>, {
|
|
34
|
+
size: "sm" | "md" | "lg";
|
|
35
|
+
loading: boolean;
|
|
36
|
+
variant: "primary" | "secondary" | "accent" | "outline" | "ghost";
|
|
37
|
+
rounded: "sm" | "md" | "lg" | "full";
|
|
38
|
+
disabled: boolean;
|
|
39
|
+
block: boolean;
|
|
40
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLButtonElement>;
|
|
41
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
42
|
+
export default _default;
|
|
43
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
44
|
+
new (): {
|
|
45
|
+
$slots: S;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
+
import { default as Card } from './Card.vue';
|
|
3
|
+
declare const meta: Meta<typeof Card>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Variants: Story;
|
|
8
|
+
export declare const Padding: Story;
|
|
9
|
+
export declare const Clickable: Story;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface CardProps {
|
|
2
|
+
/** Variante visual do card */
|
|
3
|
+
variant?: 'default' | 'outlined' | 'elevated';
|
|
4
|
+
/** Espaçamento interno do card */
|
|
5
|
+
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
6
|
+
/** Torna o card clicável com efeito hover */
|
|
7
|
+
clickable?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare function __VLS_template(): {
|
|
10
|
+
attrs: Partial<{}>;
|
|
11
|
+
slots: {
|
|
12
|
+
default?(_: {}): any;
|
|
13
|
+
};
|
|
14
|
+
refs: {};
|
|
15
|
+
rootEl: HTMLDivElement;
|
|
16
|
+
};
|
|
17
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
18
|
+
declare const __VLS_component: import('vue').DefineComponent<CardProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
19
|
+
click: (event: MouseEvent) => any;
|
|
20
|
+
}, string, import('vue').PublicProps, Readonly<CardProps> & Readonly<{
|
|
21
|
+
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
22
|
+
}>, {
|
|
23
|
+
variant: "default" | "outlined" | "elevated";
|
|
24
|
+
padding: "none" | "sm" | "md" | "lg";
|
|
25
|
+
clickable: boolean;
|
|
26
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
27
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
28
|
+
export default _default;
|
|
29
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
30
|
+
new (): {
|
|
31
|
+
$slots: S;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
+
import { default as Checkbox } from './Checkbox.vue';
|
|
3
|
+
declare const meta: Meta<typeof Checkbox>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Checked: Story;
|
|
8
|
+
export declare const Required: Story;
|
|
9
|
+
export declare const Disabled: Story;
|
|
10
|
+
export declare const WithoutLabel: Story;
|
|
11
|
+
export declare const MultipleOptions: Story;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface CheckboxProps {
|
|
2
|
+
/** Valor do checkbox (v-model) */
|
|
3
|
+
modelValue?: boolean;
|
|
4
|
+
/** Label do checkbox */
|
|
5
|
+
label?: string;
|
|
6
|
+
/** Campo obrigatório */
|
|
7
|
+
required?: boolean;
|
|
8
|
+
/** Checkbox desabilitado */
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
/** ID do checkbox */
|
|
11
|
+
id?: string;
|
|
12
|
+
/** Name do checkbox */
|
|
13
|
+
name?: string;
|
|
14
|
+
/** aria-label para acessibilidade */
|
|
15
|
+
ariaLabel?: string;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: import('vue').DefineComponent<CheckboxProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
18
|
+
"update:modelValue": (value: boolean) => any;
|
|
19
|
+
change: (event: Event) => any;
|
|
20
|
+
}, string, import('vue').PublicProps, Readonly<CheckboxProps> & Readonly<{
|
|
21
|
+
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
22
|
+
onChange?: ((event: Event) => any) | undefined;
|
|
23
|
+
}>, {
|
|
24
|
+
required: boolean;
|
|
25
|
+
disabled: boolean;
|
|
26
|
+
modelValue: boolean;
|
|
27
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
28
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
+
import { default as CurrencyDisplay } from './CurrencyDisplay.vue';
|
|
3
|
+
declare const meta: Meta<typeof CurrencyDisplay>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Sizes: Story;
|
|
8
|
+
export declare const Animated: Story;
|
|
9
|
+
export declare const Colorized: Story;
|
|
10
|
+
export declare const Interactive: Story;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CurrencyDisplay - Componente para exibição de valores monetários
|
|
3
|
+
*
|
|
4
|
+
* Suporta animação count-up, tamanhos variados e colorização baseada no valor.
|
|
5
|
+
*/
|
|
6
|
+
export interface CurrencyDisplayProps {
|
|
7
|
+
/** Valor em centavos (ex: 1542000 = R$ 15.420,00) */
|
|
8
|
+
value: number;
|
|
9
|
+
/** Habilitar animação count-up */
|
|
10
|
+
animated?: boolean;
|
|
11
|
+
/** Duração da animação em ms */
|
|
12
|
+
duration?: number;
|
|
13
|
+
/** Tamanho do texto */
|
|
14
|
+
size?: 'sm' | 'md' | 'lg';
|
|
15
|
+
/** Colorir baseado no valor positivo/negativo/zero */
|
|
16
|
+
colorize?: boolean;
|
|
17
|
+
}
|
|
18
|
+
declare const _default: import('vue').DefineComponent<CurrencyDisplayProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<CurrencyDisplayProps> & Readonly<{}>, {
|
|
19
|
+
size: "sm" | "md" | "lg";
|
|
20
|
+
animated: boolean;
|
|
21
|
+
duration: number;
|
|
22
|
+
colorize: boolean;
|
|
23
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
24
|
+
elementRef: HTMLSpanElement;
|
|
25
|
+
}, HTMLSpanElement>;
|
|
26
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
+
import { default as Divider } from './Divider.vue';
|
|
3
|
+
declare const meta: Meta<typeof Divider>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const HorizontalSpacing: Story;
|
|
8
|
+
export declare const Vertical: Story;
|
|
9
|
+
export declare const InCard: Story;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface DividerProps {
|
|
2
|
+
/** Orientação do divider */
|
|
3
|
+
orientation?: 'horizontal' | 'vertical';
|
|
4
|
+
/** Espaçamento ao redor do divider */
|
|
5
|
+
spacing?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
6
|
+
}
|
|
7
|
+
declare const _default: import('vue').DefineComponent<DividerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<DividerProps> & Readonly<{}>, {
|
|
8
|
+
orientation: "horizontal" | "vertical";
|
|
9
|
+
spacing: "none" | "xs" | "sm" | "md" | "lg" | "xl";
|
|
10
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLHRElement>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
+
import { default as GradientMesh } from './GradientMesh.vue';
|
|
3
|
+
declare const meta: Meta<typeof GradientMesh>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const PurpleBlue: Story;
|
|
8
|
+
export declare const Sunset: Story;
|
|
9
|
+
export declare const Ocean: Story;
|
|
10
|
+
export declare const Forest: Story;
|
|
11
|
+
export declare const SlowAnimation: Story;
|
|
12
|
+
export declare const HighDistortion: Story;
|
|
13
|
+
export declare const AsBackground: Story;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface GradientMeshProps {
|
|
2
|
+
/** Cores do gradiente (array de 3 cores hex) */
|
|
3
|
+
colors?: string[];
|
|
4
|
+
/** Nível de distorção */
|
|
5
|
+
distortion?: number;
|
|
6
|
+
/** Intensidade do swirl */
|
|
7
|
+
swirl?: number;
|
|
8
|
+
/** Velocidade da animação */
|
|
9
|
+
speed?: number;
|
|
10
|
+
/** Escala */
|
|
11
|
+
scale?: number;
|
|
12
|
+
/** Offset X */
|
|
13
|
+
offsetX?: number;
|
|
14
|
+
/** Offset Y */
|
|
15
|
+
offsetY?: number;
|
|
16
|
+
/** Rotação em graus */
|
|
17
|
+
rotation?: number;
|
|
18
|
+
/** Amplitude das ondas */
|
|
19
|
+
waveAmp?: number;
|
|
20
|
+
/** Frequência das ondas */
|
|
21
|
+
waveFreq?: number;
|
|
22
|
+
/** Velocidade das ondas */
|
|
23
|
+
waveSpeed?: number;
|
|
24
|
+
/** Intensidade do grain */
|
|
25
|
+
grain?: number;
|
|
26
|
+
}
|
|
27
|
+
declare const _default: import('vue').DefineComponent<GradientMeshProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<GradientMeshProps> & Readonly<{}>, {
|
|
28
|
+
colors: string[];
|
|
29
|
+
distortion: number;
|
|
30
|
+
swirl: number;
|
|
31
|
+
speed: number;
|
|
32
|
+
scale: number;
|
|
33
|
+
offsetX: number;
|
|
34
|
+
offsetY: number;
|
|
35
|
+
rotation: number;
|
|
36
|
+
waveAmp: number;
|
|
37
|
+
waveFreq: number;
|
|
38
|
+
waveSpeed: number;
|
|
39
|
+
grain: number;
|
|
40
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
41
|
+
ctnDom: HTMLDivElement;
|
|
42
|
+
}, HTMLDivElement>;
|
|
43
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
+
import { default as Icon } from './Icon.vue';
|
|
3
|
+
declare const meta: Meta<typeof Icon>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Sizes: Story;
|
|
8
|
+
export declare const Variants: Story;
|
|
9
|
+
export declare const CommonIcons: Story;
|
|
10
|
+
export declare const StatusIcons: Story;
|
|
11
|
+
export declare const NavigationIcons: Story;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type IconName = 'home' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-down' | 'chevron-down' | 'chevron-right' | 'chevron-left' | 'chevron-up' | 'x' | 'x-mark' | 'check' | 'magnifying-glass' | 'search' | 'exclamation-circle' | 'alert-circle' | 'exclamation-triangle' | 'alert-triangle' | 'check-circle' | 'information-circle' | 'info' | 'question-mark-circle' | 'user' | 'user-circle' | 'cog' | 'bell' | 'eye' | 'eye-off' | 'eye-slash' | 'document-text' | 'document-check' | 'file-check' | 'chart-pie' | 'pie-chart' | 'chart-bar' | 'bar-chart-2' | 'banknotes' | 'banknote' | 'calculator' | 'clock' | 'calendar' | 'bolt' | 'sparkles' | 'list-bullet' | 'chat-bubble-left-right' | 'shield-check' | 'shield-exclamation' | 'identification' | 'arrow-path' | 'loader' | 'refresh-cw' | 'rotate-ccw' | 'arrow-uturn-left' | 'arrow-up-tray' | 'arrow-down-tray' | 'upload' | 'download' | 'trash' | 'bars-3' | 'menu' | 'arrow-right-on-rectangle' | 'logout' | 'pencil' | 'phone' | 'envelope' | 'building-office' | 'minus' | 'plus' | 'photograph' | 'photo';
|
|
2
|
+
export type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3
|
+
export type IconVariant = 'outline' | 'solid';
|
|
4
|
+
export interface IconProps {
|
|
5
|
+
/** Nome do ícone Heroicons */
|
|
6
|
+
name: IconName;
|
|
7
|
+
/** Tamanho do ícone */
|
|
8
|
+
size?: IconSize | number | string;
|
|
9
|
+
/** Variante do ícone */
|
|
10
|
+
variant?: IconVariant;
|
|
11
|
+
/** Cor do ícone */
|
|
12
|
+
color?: string;
|
|
13
|
+
/** Label ARIA para ícones semânticos */
|
|
14
|
+
ariaLabel?: string;
|
|
15
|
+
/** Se true, ícone é decorativo */
|
|
16
|
+
decorative?: boolean;
|
|
17
|
+
}
|
|
18
|
+
declare const _default: import('vue').DefineComponent<IconProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<IconProps> & Readonly<{}>, {
|
|
19
|
+
size: IconSize | number | string;
|
|
20
|
+
variant: IconVariant;
|
|
21
|
+
decorative: boolean;
|
|
22
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
23
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
+
import { default as Input } from './Input.vue';
|
|
3
|
+
declare const meta: Meta<typeof Input>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Types: Story;
|
|
8
|
+
export declare const WithError: Story;
|
|
9
|
+
export declare const Disabled: Story;
|
|
10
|
+
export declare const Readonly: Story;
|
|
11
|
+
export declare const WithLeadingIcon: Story;
|
|
12
|
+
export declare const WithTrailingIcon: Story;
|
|
13
|
+
export declare const WithBothIcons: Story;
|