@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.
Files changed (213) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +186 -0
  3. package/dist/components/atoms/Avatar/Avatar.stories.d.ts +11 -0
  4. package/dist/components/atoms/Avatar/Avatar.vue.d.ts +16 -0
  5. package/dist/components/atoms/Avatar/index.d.ts +2 -0
  6. package/dist/components/atoms/Badge/Badge.stories.d.ts +11 -0
  7. package/dist/components/atoms/Badge/Badge.vue.d.ts +40 -0
  8. package/dist/components/atoms/Badge/index.d.ts +2 -0
  9. package/dist/components/atoms/Button/Button.stories.d.ts +15 -0
  10. package/dist/components/atoms/Button/Button.vue.d.ts +47 -0
  11. package/dist/components/atoms/Button/index.d.ts +2 -0
  12. package/dist/components/atoms/Card/Card.stories.d.ts +9 -0
  13. package/dist/components/atoms/Card/Card.vue.d.ts +33 -0
  14. package/dist/components/atoms/Card/index.d.ts +2 -0
  15. package/dist/components/atoms/Checkbox/Checkbox.stories.d.ts +11 -0
  16. package/dist/components/atoms/Checkbox/Checkbox.vue.d.ts +28 -0
  17. package/dist/components/atoms/Checkbox/index.d.ts +2 -0
  18. package/dist/components/atoms/CurrencyDisplay/CurrencyDisplay.stories.d.ts +10 -0
  19. package/dist/components/atoms/CurrencyDisplay/CurrencyDisplay.vue.d.ts +26 -0
  20. package/dist/components/atoms/CurrencyDisplay/index.d.ts +2 -0
  21. package/dist/components/atoms/Divider/Divider.stories.d.ts +9 -0
  22. package/dist/components/atoms/Divider/Divider.vue.d.ts +11 -0
  23. package/dist/components/atoms/Divider/index.d.ts +2 -0
  24. package/dist/components/atoms/GradientMesh/GradientMesh.stories.d.ts +13 -0
  25. package/dist/components/atoms/GradientMesh/GradientMesh.vue.d.ts +43 -0
  26. package/dist/components/atoms/GradientMesh/index.d.ts +2 -0
  27. package/dist/components/atoms/Icon/Icon.stories.d.ts +11 -0
  28. package/dist/components/atoms/Icon/Icon.vue.d.ts +23 -0
  29. package/dist/components/atoms/Icon/index.d.ts +2 -0
  30. package/dist/components/atoms/Input/Input.stories.d.ts +13 -0
  31. package/dist/components/atoms/Input/Input.vue.d.ts +73 -0
  32. package/dist/components/atoms/Input/index.d.ts +2 -0
  33. package/dist/components/atoms/Label/Label.stories.d.ts +11 -0
  34. package/dist/components/atoms/Label/Label.vue.d.ts +28 -0
  35. package/dist/components/atoms/Label/index.d.ts +2 -0
  36. package/dist/components/atoms/Logo/Logo.stories.d.ts +10 -0
  37. package/dist/components/atoms/Logo/Logo.vue.d.ts +17 -0
  38. package/dist/components/atoms/Logo/index.d.ts +2 -0
  39. package/dist/components/atoms/Spinner/Spinner.stories.d.ts +11 -0
  40. package/dist/components/atoms/Spinner/Spinner.vue.d.ts +11 -0
  41. package/dist/components/atoms/Spinner/index.d.ts +2 -0
  42. package/dist/components/atoms/Typography/Typography.stories.d.ts +12 -0
  43. package/dist/components/atoms/Typography/Typography.vue.d.ts +32 -0
  44. package/dist/components/atoms/Typography/index.d.ts +2 -0
  45. package/dist/components/atoms/index.d.ts +14 -0
  46. package/dist/components/index.d.ts +14 -0
  47. package/dist/components/molecules/ActionButton/ActionButton.stories.d.ts +11 -0
  48. package/dist/components/molecules/ActionButton/ActionButton.vue.d.ts +31 -0
  49. package/dist/components/molecules/ActionButton/index.d.ts +2 -0
  50. package/dist/components/molecules/Alert/Alert.stories.d.ts +12 -0
  51. package/dist/components/molecules/Alert/Alert.vue.d.ts +20 -0
  52. package/dist/components/molecules/Alert/index.d.ts +2 -0
  53. package/dist/components/molecules/AnalysisStatus/AnalysisStatus.stories.d.ts +14 -0
  54. package/dist/components/molecules/AnalysisStatus/AnalysisStatus.vue.d.ts +16 -0
  55. package/dist/components/molecules/AnalysisStatus/index.d.ts +2 -0
  56. package/dist/components/molecules/ContractPaidCelebration/ContractPaidCelebration.stories.d.ts +9 -0
  57. package/dist/components/molecules/ContractPaidCelebration/ContractPaidCelebration.vue.d.ts +25 -0
  58. package/dist/components/molecules/ContractPaidCelebration/index.d.ts +2 -0
  59. package/dist/components/molecules/DocumentUpload/DocumentUpload.stories.d.ts +10 -0
  60. package/dist/components/molecules/DocumentUpload/DocumentUpload.vue.d.ts +40 -0
  61. package/dist/components/molecules/DocumentUpload/index.d.ts +2 -0
  62. package/dist/components/molecules/FilePreview/FilePreview.stories.d.ts +13 -0
  63. package/dist/components/molecules/FilePreview/FilePreview.vue.d.ts +32 -0
  64. package/dist/components/molecules/FilePreview/index.d.ts +2 -0
  65. package/dist/components/molecules/FormField/FormField.stories.d.ts +9 -0
  66. package/dist/components/molecules/FormField/FormField.vue.d.ts +39 -0
  67. package/dist/components/molecules/FormField/index.d.ts +2 -0
  68. package/dist/components/molecules/IdentifierInput/IdentifierInput.stories.d.ts +14 -0
  69. package/dist/components/molecules/IdentifierInput/IdentifierInput.vue.d.ts +29 -0
  70. package/dist/components/molecules/IdentifierInput/index.d.ts +2 -0
  71. package/dist/components/molecules/InfoCard/InfoCard.stories.d.ts +13 -0
  72. package/dist/components/molecules/InfoCard/InfoCard.vue.d.ts +53 -0
  73. package/dist/components/molecules/InfoCard/index.d.ts +2 -0
  74. package/dist/components/molecules/InputRangeMoney/InputRangeMoney.stories.d.ts +9 -0
  75. package/dist/components/molecules/InputRangeMoney/InputRangeMoney.vue.d.ts +19 -0
  76. package/dist/components/molecules/InputRangeMoney/index.d.ts +2 -0
  77. package/dist/components/molecules/InstallmentCard/InstallmentCard.stories.d.ts +9 -0
  78. package/dist/components/molecules/InstallmentCard/InstallmentCard.vue.d.ts +29 -0
  79. package/dist/components/molecules/InstallmentCard/index.d.ts +2 -0
  80. package/dist/components/molecules/InstallmentSelector/InstallmentSelector.stories.d.ts +10 -0
  81. package/dist/components/molecules/InstallmentSelector/InstallmentSelector.vue.d.ts +28 -0
  82. package/dist/components/molecules/InstallmentSelector/index.d.ts +2 -0
  83. package/dist/components/molecules/MarginIndicator/MarginIndicator.stories.d.ts +12 -0
  84. package/dist/components/molecules/MarginIndicator/MarginIndicator.vue.d.ts +18 -0
  85. package/dist/components/molecules/MarginIndicator/index.d.ts +2 -0
  86. package/dist/components/molecules/Modal/Modal.stories.d.ts +8 -0
  87. package/dist/components/molecules/Modal/Modal.vue.d.ts +38 -0
  88. package/dist/components/molecules/Modal/index.d.ts +2 -0
  89. package/dist/components/molecules/PasswordInput/PasswordInput.stories.d.ts +11 -0
  90. package/dist/components/molecules/PasswordInput/PasswordInput.vue.d.ts +30 -0
  91. package/dist/components/molecules/PasswordInput/index.d.ts +2 -0
  92. package/dist/components/molecules/PendingProposalBanner/PendingProposalBanner.stories.d.ts +10 -0
  93. package/dist/components/molecules/PendingProposalBanner/PendingProposalBanner.vue.d.ts +24 -0
  94. package/dist/components/molecules/PendingProposalBanner/index.d.ts +2 -0
  95. package/dist/components/molecules/PinInput/PinInput.stories.d.ts +13 -0
  96. package/dist/components/molecules/PinInput/PinInput.vue.d.ts +36 -0
  97. package/dist/components/molecules/PinInput/index.d.ts +2 -0
  98. package/dist/components/molecules/ProgressBar/ProgressBar.stories.d.ts +12 -0
  99. package/dist/components/molecules/ProgressBar/ProgressBar.vue.d.ts +24 -0
  100. package/dist/components/molecules/ProgressBar/index.d.ts +2 -0
  101. package/dist/components/molecules/SearchBar/SearchBar.stories.d.ts +11 -0
  102. package/dist/components/molecules/SearchBar/SearchBar.vue.d.ts +30 -0
  103. package/dist/components/molecules/SearchBar/index.d.ts +2 -0
  104. package/dist/components/molecules/SimulationLoading/SimulationLoading.stories.d.ts +10 -0
  105. package/dist/components/molecules/SimulationLoading/SimulationLoading.vue.d.ts +17 -0
  106. package/dist/components/molecules/SimulationLoading/index.d.ts +2 -0
  107. package/dist/components/molecules/StatusBadge/StatusBadge.stories.d.ts +12 -0
  108. package/dist/components/molecules/StatusBadge/StatusBadge.vue.d.ts +38 -0
  109. package/dist/components/molecules/StatusBadge/index.d.ts +2 -0
  110. package/dist/components/molecules/StepperProgress/StepperProgress.stories.d.ts +11 -0
  111. package/dist/components/molecules/StepperProgress/StepperProgress.vue.d.ts +22 -0
  112. package/dist/components/molecules/StepperProgress/index.d.ts +2 -0
  113. package/dist/components/molecules/WelcomeCard/WelcomeCard.stories.d.ts +11 -0
  114. package/dist/components/molecules/WelcomeCard/WelcomeCard.vue.d.ts +33 -0
  115. package/dist/components/molecules/WelcomeCard/index.d.ts +2 -0
  116. package/dist/components/molecules/index.d.ts +23 -0
  117. package/dist/components/organisms/AuthLayout/AuthLayout.stories.d.ts +10 -0
  118. package/dist/components/organisms/AuthLayout/AuthLayout.vue.d.ts +42 -0
  119. package/dist/components/organisms/AuthLayout/index.d.ts +2 -0
  120. package/dist/components/organisms/BottomNavigation/BottomNavigation.stories.d.ts +8 -0
  121. package/dist/components/organisms/BottomNavigation/BottomNavigation.vue.d.ts +38 -0
  122. package/dist/components/organisms/BottomNavigation/index.d.ts +2 -0
  123. package/dist/components/organisms/ConsentForm/ConsentForm.stories.d.ts +9 -0
  124. package/dist/components/organisms/ConsentForm/ConsentForm.vue.d.ts +45 -0
  125. package/dist/components/organisms/ConsentForm/TermModal.vue.d.ts +37 -0
  126. package/dist/components/organisms/ConsentForm/index.d.ts +4 -0
  127. package/dist/components/organisms/ContractCard/ContractCard.stories.d.ts +12 -0
  128. package/dist/components/organisms/ContractCard/ContractCard.vue.d.ts +41 -0
  129. package/dist/components/organisms/ContractCard/index.d.ts +2 -0
  130. package/dist/components/organisms/ContractDetails/ContractDetails.stories.d.ts +9 -0
  131. package/dist/components/organisms/ContractDetails/ContractDetails.vue.d.ts +53 -0
  132. package/dist/components/organisms/ContractDetails/index.d.ts +2 -0
  133. package/dist/components/organisms/CreatePasswordForm/CreatePasswordForm.stories.d.ts +12 -0
  134. package/dist/components/organisms/CreatePasswordForm/CreatePasswordForm.vue.d.ts +52 -0
  135. package/dist/components/organisms/CreatePasswordForm/index.d.ts +2 -0
  136. package/dist/components/organisms/DashboardHeader/DashboardHeader.stories.d.ts +8 -0
  137. package/dist/components/organisms/DashboardHeader/DashboardHeader.vue.d.ts +14 -0
  138. package/dist/components/organisms/DashboardHeader/index.d.ts +2 -0
  139. package/dist/components/organisms/DocumentUploadSection/DocumentUploadSection.stories.d.ts +10 -0
  140. package/dist/components/organisms/DocumentUploadSection/DocumentUploadSection.vue.d.ts +72 -0
  141. package/dist/components/organisms/DocumentUploadSection/index.d.ts +2 -0
  142. package/dist/components/organisms/Footer/Footer.stories.d.ts +10 -0
  143. package/dist/components/organisms/Footer/Footer.vue.d.ts +50 -0
  144. package/dist/components/organisms/Footer/index.d.ts +2 -0
  145. package/dist/components/organisms/ForgotPasswordForm/ForgotPasswordForm.stories.d.ts +12 -0
  146. package/dist/components/organisms/ForgotPasswordForm/ForgotPasswordForm.vue.d.ts +64 -0
  147. package/dist/components/organisms/ForgotPasswordForm/index.d.ts +2 -0
  148. package/dist/components/organisms/Header/Header.stories.d.ts +9 -0
  149. package/dist/components/organisms/Header/Header.vue.d.ts +36 -0
  150. package/dist/components/organisms/Header/index.d.ts +2 -0
  151. package/dist/components/organisms/InstallmentHistory/InstallmentHistory.stories.d.ts +10 -0
  152. package/dist/components/organisms/InstallmentHistory/InstallmentHistory.vue.d.ts +42 -0
  153. package/dist/components/organisms/InstallmentHistory/index.d.ts +2 -0
  154. package/dist/components/organisms/LoginForm/LoginForm.stories.d.ts +10 -0
  155. package/dist/components/organisms/LoginForm/LoginForm.vue.d.ts +51 -0
  156. package/dist/components/organisms/LoginForm/index.d.ts +2 -0
  157. package/dist/components/organisms/ManualInputModal/ManualInputModal.stories.d.ts +9 -0
  158. package/dist/components/organisms/ManualInputModal/ManualInputModal.vue.d.ts +41 -0
  159. package/dist/components/organisms/ManualInputModal/index.d.ts +2 -0
  160. package/dist/components/organisms/OfferCard/OfferCard.stories.d.ts +11 -0
  161. package/dist/components/organisms/OfferCard/OfferCard.vue.d.ts +39 -0
  162. package/dist/components/organisms/OfferCard/index.d.ts +2 -0
  163. package/dist/components/organisms/ProfileForm/ProfileForm.stories.d.ts +10 -0
  164. package/dist/components/organisms/ProfileForm/ProfileForm.vue.d.ts +62 -0
  165. package/dist/components/organisms/ProfileForm/index.d.ts +2 -0
  166. package/dist/components/organisms/QuickActions/QuickActions.stories.d.ts +9 -0
  167. package/dist/components/organisms/QuickActions/QuickActions.vue.d.ts +24 -0
  168. package/dist/components/organisms/QuickActions/index.d.ts +2 -0
  169. package/dist/components/organisms/ResetPasswordForm/ResetPasswordForm.stories.d.ts +12 -0
  170. package/dist/components/organisms/ResetPasswordForm/ResetPasswordForm.vue.d.ts +52 -0
  171. package/dist/components/organisms/ResetPasswordForm/index.d.ts +2 -0
  172. package/dist/components/organisms/SCRConsentModal/SCRConsentModal.stories.d.ts +8 -0
  173. package/dist/components/organisms/SCRConsentModal/SCRConsentModal.vue.d.ts +18 -0
  174. package/dist/components/organisms/SCRConsentModal/index.d.ts +2 -0
  175. package/dist/components/organisms/Sidebar/Sidebar.stories.d.ts +8 -0
  176. package/dist/components/organisms/Sidebar/Sidebar.vue.d.ts +78 -0
  177. package/dist/components/organisms/Sidebar/SidebarItem.vue.d.ts +28 -0
  178. package/dist/components/organisms/Sidebar/index.d.ts +4 -0
  179. package/dist/components/organisms/SimulationResult/SimulationResult.stories.d.ts +11 -0
  180. package/dist/components/organisms/SimulationResult/SimulationResult.vue.d.ts +44 -0
  181. package/dist/components/organisms/SimulationResult/index.d.ts +2 -0
  182. package/dist/components/organisms/TopNavigation/TopNavigation.stories.d.ts +8 -0
  183. package/dist/components/organisms/TopNavigation/TopNavigation.vue.d.ts +48 -0
  184. package/dist/components/organisms/TopNavigation/index.d.ts +2 -0
  185. package/dist/components/organisms/index.d.ts +26 -0
  186. package/dist/components/templates/FormLayout/FormLayout.stories.d.ts +65 -0
  187. package/dist/components/templates/FormLayout/FormLayout.vue.d.ts +84 -0
  188. package/dist/components/templates/FormLayout/index.d.ts +2 -0
  189. package/dist/components/templates/index.d.ts +1 -0
  190. package/dist/composables/index.d.ts +4 -0
  191. package/dist/composables/useTheme.d.ts +66 -0
  192. package/dist/credit-ui.cjs.js +90 -0
  193. package/dist/credit-ui.css +1 -0
  194. package/dist/credit-ui.es.js +8936 -0
  195. package/dist/images/auth-background.jpg +0 -0
  196. package/dist/index.d.ts +20 -0
  197. package/dist/logo.png +0 -0
  198. package/dist/nuxt/index.d.ts +5 -0
  199. package/dist/nuxt/module.d.ts +17 -0
  200. package/dist/nuxt.cjs.js +1 -0
  201. package/dist/nuxt.es.js +31 -0
  202. package/dist/themes/defaults.d.ts +96 -0
  203. package/dist/themes/index.d.ts +8 -0
  204. package/dist/themes/utils.d.ts +35 -0
  205. package/dist/themes.cjs.js +6 -0
  206. package/dist/themes.es.js +163 -0
  207. package/dist/tokens.css +124 -0
  208. package/dist/types/index.d.ts +6 -0
  209. package/dist/types/theme.d.ts +142 -0
  210. package/package.json +75 -0
  211. package/src/nuxt/runtime/composables/useTheme.ts +86 -0
  212. package/src/nuxt/runtime/plugin.server.ts +32 -0
  213. package/src/nuxt/runtime/plugin.ts +22 -0
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Input - Atom puro de input HTML
3
+ *
4
+ * Input sem Label, Error ou Hint. Responsabilidades:
5
+ * - v-model bidirecional
6
+ * - Estados visuais (default, focus, error, disabled)
7
+ * - Slots para ícones (leading, trailing)
8
+ * - Acessibilidade básica
9
+ */
10
+ export interface InputProps {
11
+ /** Valor do input (v-model) */
12
+ modelValue?: string;
13
+ /** Tipo do input HTML */
14
+ type?: 'text' | 'email' | 'tel' | 'number' | 'password' | 'date';
15
+ /** Placeholder do input */
16
+ placeholder?: string;
17
+ /** Input desabilitado */
18
+ disabled?: boolean;
19
+ /** Indica estado de erro visual */
20
+ hasError?: boolean;
21
+ /** ID do input (para label for) */
22
+ id?: string;
23
+ /** Name do input (para forms) */
24
+ name?: string;
25
+ /** Inputmode para teclado mobile */
26
+ inputmode?: 'text' | 'numeric' | 'email' | 'tel' | 'decimal' | 'search' | 'url' | 'none';
27
+ /** Maxlength do input */
28
+ maxlength?: number;
29
+ /** Autocomplete hint */
30
+ autocomplete?: string;
31
+ /** aria-invalid para acessibilidade */
32
+ ariaInvalid?: boolean;
33
+ /** aria-describedby para acessibilidade */
34
+ ariaDescribedby?: string;
35
+ /** aria-required para acessibilidade */
36
+ ariaRequired?: boolean;
37
+ /** Readonly */
38
+ readonly?: boolean;
39
+ }
40
+ declare function __VLS_template(): {
41
+ attrs: Partial<{}>;
42
+ slots: {
43
+ 'leading-icon'?(_: {}): any;
44
+ 'trailing-icon'?(_: {}): any;
45
+ };
46
+ refs: {};
47
+ rootEl: HTMLDivElement;
48
+ };
49
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
50
+ declare const __VLS_component: import('vue').DefineComponent<InputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
51
+ input: (event: Event) => any;
52
+ "update:modelValue": (value: string) => any;
53
+ blur: (event: FocusEvent) => any;
54
+ focus: (event: FocusEvent) => any;
55
+ }, string, import('vue').PublicProps, Readonly<InputProps> & Readonly<{
56
+ onInput?: ((event: Event) => any) | undefined;
57
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
58
+ onBlur?: ((event: FocusEvent) => any) | undefined;
59
+ onFocus?: ((event: FocusEvent) => any) | undefined;
60
+ }>, {
61
+ type: "text" | "email" | "tel" | "number" | "password" | "date";
62
+ disabled: boolean;
63
+ modelValue: string;
64
+ hasError: boolean;
65
+ readonly: boolean;
66
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
67
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
68
+ export default _default;
69
+ type __VLS_WithTemplateSlots<T, S> = T & {
70
+ new (): {
71
+ $slots: S;
72
+ };
73
+ };
@@ -0,0 +1,2 @@
1
+ export { default as Input } from './Input.vue';
2
+ export type { InputProps } from './Input.vue';
@@ -0,0 +1,11 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as Label } from './Label.vue';
3
+ declare const meta: Meta<typeof Label>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Required: Story;
8
+ export declare const WithError: Story;
9
+ export declare const RequiredWithError: Story;
10
+ export declare const WithInput: Story;
11
+ export declare const AllStates: Story;
@@ -0,0 +1,28 @@
1
+ export interface LabelProps {
2
+ /** ID do input associado */
3
+ for?: string;
4
+ /** Label é obrigatória */
5
+ required?: boolean;
6
+ /** Estado de erro */
7
+ error?: boolean;
8
+ }
9
+ declare function __VLS_template(): {
10
+ attrs: Partial<{}>;
11
+ slots: {
12
+ default?(_: {}): any;
13
+ };
14
+ refs: {};
15
+ rootEl: HTMLLabelElement;
16
+ };
17
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
+ declare const __VLS_component: import('vue').DefineComponent<LabelProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<LabelProps> & Readonly<{}>, {
19
+ required: boolean;
20
+ error: boolean;
21
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLLabelElement>;
22
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
23
+ export default _default;
24
+ type __VLS_WithTemplateSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -0,0 +1,2 @@
1
+ export { default as Label } from './Label.vue';
2
+ export type { LabelProps } from './Label.vue';
@@ -0,0 +1,10 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as Logo } from './Logo.vue';
3
+ declare const meta: Meta<typeof Logo>;
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 WithInternalLink: Story;
9
+ export declare const WithExternalLink: Story;
10
+ export declare const InHeader: Story;
@@ -0,0 +1,17 @@
1
+ export interface LogoProps {
2
+ /** URL da imagem do logo */
3
+ src: string;
4
+ /** Alt text do logo */
5
+ alt?: string;
6
+ /** Tamanho do logo */
7
+ size?: 'sm' | 'md' | 'lg';
8
+ /** Link interno */
9
+ to?: string;
10
+ /** Link externo */
11
+ href?: string;
12
+ }
13
+ declare const _default: import('vue').DefineComponent<LogoProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<LogoProps> & Readonly<{}>, {
14
+ size: "sm" | "md" | "lg";
15
+ alt: string;
16
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as Logo } from './Logo.vue';
2
+ export type { LogoProps } from './Logo.vue';
@@ -0,0 +1,11 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as Spinner } from './Spinner.vue';
3
+ declare const meta: Meta<typeof Spinner>;
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 CustomColor: Story;
9
+ export declare const InButton: Story;
10
+ export declare const FullPageLoading: Story;
11
+ export declare const InheritColor: Story;
@@ -0,0 +1,11 @@
1
+ export interface SpinnerProps {
2
+ /** Tamanho do spinner */
3
+ size?: 'sm' | 'md' | 'lg';
4
+ /** Cor do spinner */
5
+ color?: string;
6
+ }
7
+ declare const _default: import('vue').DefineComponent<SpinnerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SpinnerProps> & Readonly<{}>, {
8
+ size: "sm" | "md" | "lg";
9
+ color: string;
10
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
11
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as Spinner } from './Spinner.vue';
2
+ export type { SpinnerProps } from './Spinner.vue';
@@ -0,0 +1,12 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as Typography } from './Typography.vue';
3
+ declare const meta: Meta<typeof Typography>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Headings: Story;
8
+ export declare const BodyText: Story;
9
+ export declare const Weights: Story;
10
+ export declare const Colors: Story;
11
+ export declare const Alignment: Story;
12
+ export declare const RealWorldExample: Story;
@@ -0,0 +1,32 @@
1
+ export interface TypographyProps {
2
+ /** Variante tipográfica */
3
+ variant?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'body' | 'caption' | 'label';
4
+ /** Peso da fonte */
5
+ weight?: 'light' | 'normal' | 'medium' | 'semibold' | 'bold';
6
+ /** Cor do texto */
7
+ color?: 'primary' | 'secondary' | 'muted' | 'inherit';
8
+ /** Alinhamento do texto */
9
+ align?: 'left' | 'center' | 'right' | 'justify';
10
+ }
11
+ declare function __VLS_template(): {
12
+ attrs: Partial<{}>;
13
+ slots: {
14
+ default?(_: {}): any;
15
+ };
16
+ refs: {};
17
+ rootEl: any;
18
+ };
19
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
+ declare const __VLS_component: import('vue').DefineComponent<TypographyProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<TypographyProps> & Readonly<{}>, {
21
+ variant: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "body" | "caption" | "label";
22
+ color: "primary" | "secondary" | "muted" | "inherit";
23
+ weight: "light" | "normal" | "medium" | "semibold" | "bold";
24
+ align: "left" | "center" | "right" | "justify";
25
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
26
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
27
+ export default _default;
28
+ type __VLS_WithTemplateSlots<T, S> = T & {
29
+ new (): {
30
+ $slots: S;
31
+ };
32
+ };
@@ -0,0 +1,2 @@
1
+ export { default as Typography } from './Typography.vue';
2
+ export type { TypographyProps } from './Typography.vue';
@@ -0,0 +1,14 @@
1
+ export * from './Avatar';
2
+ export * from './Badge';
3
+ export * from './Button';
4
+ export * from './Card';
5
+ export * from './Checkbox';
6
+ export * from './CurrencyDisplay';
7
+ export * from './Divider';
8
+ export * from './GradientMesh';
9
+ export * from './Icon';
10
+ export * from './Input';
11
+ export * from './Label';
12
+ export * from './Logo';
13
+ export * from './Spinner';
14
+ export * from './Typography';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @thatix.io/credit-ui - Components
3
+ *
4
+ * Atomic Design component library for Thatix credit pipelines.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { Button, FormField, LoginForm, FormLayout } from '@thatix.io/credit-ui'
9
+ * ```
10
+ */
11
+ export * from './atoms';
12
+ export * from './molecules';
13
+ export * from './organisms';
14
+ export * from './templates';
@@ -0,0 +1,11 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { default as ActionButton } from './ActionButton.vue';
3
+ declare const meta: Meta<typeof ActionButton>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ActionButton>;
6
+ export declare const Default: Story;
7
+ export declare const WithoutDescription: Story;
8
+ export declare const Grid: Story;
9
+ export declare const Disabled: Story;
10
+ export declare const Loading: Story;
11
+ export declare const WithLink: Story;
@@ -0,0 +1,31 @@
1
+ import { IconName } from '../../atoms/Icon/Icon.vue';
2
+ /**
3
+ * ActionButton - Botão de ação rápida com ícone
4
+ *
5
+ * Botão visual com ícone, título e descrição opcional.
6
+ */
7
+ export interface ActionButtonProps {
8
+ /** Nome do ícone */
9
+ icon: IconName;
10
+ /** Título do botão */
11
+ title: string;
12
+ /** Descrição opcional */
13
+ description?: string;
14
+ /** URL para navegação */
15
+ href?: string;
16
+ /** Desabilita o botão */
17
+ disabled?: boolean;
18
+ /** Estado de loading */
19
+ loading?: boolean;
20
+ }
21
+ declare const _default: import('vue').DefineComponent<ActionButtonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ click: (event: MouseEvent) => any;
23
+ }, string, import('vue').PublicProps, Readonly<ActionButtonProps> & Readonly<{
24
+ onClick?: ((event: MouseEvent) => any) | undefined;
25
+ }>, {
26
+ loading: boolean;
27
+ disabled: boolean;
28
+ href: string;
29
+ description: string;
30
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
31
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as ActionButton } from './ActionButton.vue';
2
+ export type { ActionButtonProps } from './ActionButton.vue';
@@ -0,0 +1,12 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { default as Alert } from './Alert.vue';
3
+ declare const meta: Meta<typeof Alert>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Alert>;
6
+ export declare const Info: Story;
7
+ export declare const Success: Story;
8
+ export declare const Warning: Story;
9
+ export declare const Error: Story;
10
+ export declare const WithTitle: Story;
11
+ export declare const NonDismissible: Story;
12
+ export declare const AllVariants: Story;
@@ -0,0 +1,20 @@
1
+ export type AlertVariant = 'success' | 'error' | 'warning' | 'info';
2
+ export interface AlertProps {
3
+ /** Variante visual do alerta */
4
+ variant?: AlertVariant;
5
+ /** Mensagem principal */
6
+ message: string;
7
+ /** Título opcional */
8
+ title?: string;
9
+ /** Permite fechar o alerta */
10
+ dismissible?: boolean;
11
+ }
12
+ declare const _default: import('vue').DefineComponent<AlertProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ dismiss: () => any;
14
+ }, string, import('vue').PublicProps, Readonly<AlertProps> & Readonly<{
15
+ onDismiss?: (() => any) | undefined;
16
+ }>, {
17
+ variant: AlertVariant;
18
+ dismissible: boolean;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as Alert } from './Alert.vue';
2
+ export type { AlertProps, AlertVariant } from './Alert.vue';
@@ -0,0 +1,14 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as AnalysisStatus } from './AnalysisStatus.vue';
3
+ declare const meta: Meta<typeof AnalysisStatus>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Pending: Story;
7
+ export declare const Analyzing: Story;
8
+ export declare const Approved: Story;
9
+ export declare const Rejected: Story;
10
+ export declare const Expired: Story;
11
+ export declare const Cancelled: Story;
12
+ export declare const WithCustomMessage: Story;
13
+ export declare const Compact: Story;
14
+ export declare const AllStates: Story;
@@ -0,0 +1,16 @@
1
+ export type AnalysisStatusType = 'pending' | 'analyzing' | 'approved' | 'rejected' | 'expired' | 'cancelled';
2
+ export interface AnalysisStatusProps {
3
+ /** Status atual da análise */
4
+ status: AnalysisStatusType;
5
+ /** Mensagem descritiva opcional */
6
+ message?: string;
7
+ /** Mostrar como badge compacto */
8
+ compact?: boolean;
9
+ /** Mostrar ícone animado para status "analyzing" */
10
+ animated?: boolean;
11
+ }
12
+ declare const _default: import('vue').DefineComponent<AnalysisStatusProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<AnalysisStatusProps> & Readonly<{}>, {
13
+ animated: boolean;
14
+ compact: boolean;
15
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as AnalysisStatus } from './AnalysisStatus.vue';
2
+ export type { AnalysisStatusProps, AnalysisStatusType } from './AnalysisStatus.vue';
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as ContractPaidCelebration } from './ContractPaidCelebration.vue';
3
+ declare const meta: Meta<typeof ContractPaidCelebration>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const WithDate: Story;
8
+ export declare const CustomTitle: Story;
9
+ export declare const LargeAmount: Story;
@@ -0,0 +1,25 @@
1
+ export interface ContractPaidCelebrationProps {
2
+ /** Número do contrato */
3
+ contractNumber: string;
4
+ /** Valor total quitado */
5
+ totalPaid: number;
6
+ /** Data de quitação */
7
+ paidAt?: Date | string;
8
+ /** Título customizado */
9
+ title?: string;
10
+ /** Subtítulo customizado */
11
+ subtitle?: string;
12
+ }
13
+ declare const _default: import('vue').DefineComponent<ContractPaidCelebrationProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ close: () => any;
15
+ viewDetails: () => any;
16
+ share: () => any;
17
+ }, string, import('vue').PublicProps, Readonly<ContractPaidCelebrationProps> & Readonly<{
18
+ onClose?: (() => any) | undefined;
19
+ onViewDetails?: (() => any) | undefined;
20
+ onShare?: (() => any) | undefined;
21
+ }>, {
22
+ title: string;
23
+ subtitle: string;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
25
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as ContractPaidCelebration } from './ContractPaidCelebration.vue';
2
+ export type { ContractPaidCelebrationProps } from './ContractPaidCelebration.vue';
@@ -0,0 +1,10 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { default as DocumentUpload } from './DocumentUpload.vue';
3
+ declare const meta: Meta<typeof DocumentUpload>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof DocumentUpload>;
6
+ export declare const Default: Story;
7
+ export declare const Multiple: Story;
8
+ export declare const ImagesOnly: Story;
9
+ export declare const SmallFileSize: Story;
10
+ export declare const Disabled: Story;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * DocumentUpload - Molecule para upload de documentos
3
+ */
4
+ export interface DocumentUploadError {
5
+ type: 'size' | 'type' | 'count';
6
+ message: string;
7
+ file?: File;
8
+ }
9
+ export interface DocumentUploadProps {
10
+ accept?: string;
11
+ maxSize?: number;
12
+ multiple?: boolean;
13
+ maxFiles?: number;
14
+ disabled?: boolean;
15
+ label?: string;
16
+ modelValue?: File[];
17
+ }
18
+ declare function handleClick(): void;
19
+ declare const _default: import('vue').DefineComponent<DocumentUploadProps, {
20
+ openFilePicker: typeof handleClick;
21
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ error: (error: DocumentUploadError) => any;
23
+ "update:modelValue": (files: File[]) => any;
24
+ "files-selected": (files: File[]) => any;
25
+ }, string, import('vue').PublicProps, Readonly<DocumentUploadProps> & Readonly<{
26
+ onError?: ((error: DocumentUploadError) => any) | undefined;
27
+ "onUpdate:modelValue"?: ((files: File[]) => any) | undefined;
28
+ "onFiles-selected"?: ((files: File[]) => any) | undefined;
29
+ }>, {
30
+ label: string;
31
+ disabled: boolean;
32
+ modelValue: File[];
33
+ accept: string;
34
+ maxSize: number;
35
+ multiple: boolean;
36
+ maxFiles: number;
37
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
38
+ fileInput: HTMLInputElement;
39
+ }, HTMLDivElement>;
40
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as DocumentUpload } from './DocumentUpload.vue';
2
+ export type { DocumentUploadProps, DocumentUploadError } from './DocumentUpload.vue';
@@ -0,0 +1,13 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { default as FilePreview } from './FilePreview.vue';
3
+ declare const meta: Meta<typeof FilePreview>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof FilePreview>;
6
+ export declare const PDFFile: Story;
7
+ export declare const ImageFile: Story;
8
+ export declare const Compact: Story;
9
+ export declare const CompactList: Story;
10
+ export declare const WithoutActions: Story;
11
+ export declare const LargeThumbnail: Story;
12
+ export declare const LongFileName: Story;
13
+ export declare const MultipleFiles: Story;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * FilePreview - Componente para visualização de arquivos
3
+ *
4
+ * Exibe preview de imagens e PDFs com ações contextuais.
5
+ */
6
+ export interface FilePreviewProps {
7
+ /** Objeto File para preview */
8
+ file: File;
9
+ /** Exibir botões de ação */
10
+ showActions?: boolean;
11
+ /** Modo compacto */
12
+ compact?: boolean;
13
+ /** Tamanho do thumbnail em pixels */
14
+ thumbnailSize?: number;
15
+ /** Comprimento máximo do nome */
16
+ maxFileNameLength?: number;
17
+ }
18
+ declare const _default: import('vue').DefineComponent<FilePreviewProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
+ view: (file: File) => any;
20
+ download: (file: File) => any;
21
+ remove: (file: File) => any;
22
+ }, string, import('vue').PublicProps, Readonly<FilePreviewProps> & Readonly<{
23
+ onView?: ((file: File) => any) | undefined;
24
+ onDownload?: ((file: File) => any) | undefined;
25
+ onRemove?: ((file: File) => any) | undefined;
26
+ }>, {
27
+ compact: boolean;
28
+ showActions: boolean;
29
+ thumbnailSize: number;
30
+ maxFileNameLength: number;
31
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
32
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as FilePreview } from './FilePreview.vue';
2
+ export type { FilePreviewProps } from './FilePreview.vue';
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { default as FormField } from './FormField.vue';
3
+ declare const meta: Meta<typeof FormField>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof FormField>;
6
+ export declare const Default: Story;
7
+ export declare const WithHint: Story;
8
+ export declare const WithError: Story;
9
+ export declare const Required: Story;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * FormField - Molecule wrapper para campos de formulário
3
+ */
4
+ export interface FormFieldProps {
5
+ /** Texto do label */
6
+ label?: string;
7
+ /** Mensagem de erro (string) ou estado de erro (boolean) */
8
+ error?: string | boolean;
9
+ /** Texto de ajuda (exibido quando não há erro) */
10
+ hint?: string;
11
+ /** Campo obrigatório (exibe asterisco) */
12
+ required?: boolean;
13
+ /** ID customizado para o input (auto-gerado se não fornecido) */
14
+ inputId?: string;
15
+ }
16
+ declare function __VLS_template(): {
17
+ attrs: Partial<{}>;
18
+ slots: {
19
+ default?(_: {
20
+ id: string;
21
+ ariaInvalid: boolean;
22
+ ariaDescribedby: string | undefined;
23
+ ariaRequired: boolean;
24
+ }): any;
25
+ };
26
+ refs: {};
27
+ rootEl: HTMLDivElement;
28
+ };
29
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
30
+ declare const __VLS_component: import('vue').DefineComponent<FormFieldProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<FormFieldProps> & Readonly<{}>, {
31
+ required: boolean;
32
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
33
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
34
+ export default _default;
35
+ type __VLS_WithTemplateSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -0,0 +1,2 @@
1
+ export { default as FormField } from './FormField.vue';
2
+ export type { FormFieldProps } from './FormField.vue';
@@ -0,0 +1,14 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { default as IdentifierInput } from './IdentifierInput.vue';
3
+ declare const meta: Meta<typeof IdentifierInput>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof IdentifierInput>;
6
+ export declare const Default: Story;
7
+ export declare const WithCPF: Story;
8
+ export declare const WithCNPJ: Story;
9
+ export declare const WithEmail: Story;
10
+ export declare const WithPhone: Story;
11
+ export declare const AllTypes: Story;
12
+ export declare const WithError: Story;
13
+ export declare const Required: Story;
14
+ export declare const Disabled: Story;
@@ -0,0 +1,29 @@
1
+ export type IdentifierType = 'cpf' | 'cnpj' | 'email' | 'phone' | null;
2
+ export interface IdentifierInputProps {
3
+ modelValue?: string;
4
+ label?: string;
5
+ placeholder?: string;
6
+ disabled?: boolean;
7
+ error?: string | boolean;
8
+ required?: boolean;
9
+ id?: string;
10
+ name?: string;
11
+ }
12
+ declare const _default: import('vue').DefineComponent<IdentifierInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ "update:modelValue": (value: string) => any;
14
+ blur: (event: FocusEvent) => any;
15
+ focus: (event: FocusEvent) => any;
16
+ typeDetected: (type: IdentifierType) => any;
17
+ }, string, import('vue').PublicProps, Readonly<IdentifierInputProps> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
19
+ onBlur?: ((event: FocusEvent) => any) | undefined;
20
+ onFocus?: ((event: FocusEvent) => any) | undefined;
21
+ onTypeDetected?: ((type: IdentifierType) => any) | undefined;
22
+ }>, {
23
+ required: boolean;
24
+ label: string;
25
+ disabled: boolean;
26
+ modelValue: string;
27
+ placeholder: string;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
29
+ export default _default;