fiboui 1.0.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/README.md +141 -96
  2. package/dist/FineGrain-BTgNt7fN.js +29 -0
  3. package/dist/Link-DDzSPY1Q.js +88 -0
  4. package/dist/PluginManager-D5-ApsSN.js +111 -0
  5. package/dist/Router-i6Nc6qVs.js +386 -0
  6. package/dist/builder-6GkZlCaz.js +1894 -0
  7. package/dist/bundle-mjs-wppB-TKB.js +2760 -0
  8. package/dist/cli/bin.js +20 -0
  9. package/dist/cli/commands/generate/component.js +67 -0
  10. package/dist/cli/commands/generate/index.js +10 -0
  11. package/dist/cli/commands/generate/module.js +58 -0
  12. package/dist/cli/commands/generate/plugin.js +67 -0
  13. package/dist/cli/commands/init.js +58 -0
  14. package/dist/content.js +17 -0
  15. package/dist/core.js +33 -0
  16. package/dist/{effects-D16XdB_d.mjs → effects-CnevV566.js} +1 -0
  17. package/dist/index-BaX5zy8O.js +33 -0
  18. package/dist/index-C4xZywsh.js +1024 -0
  19. package/dist/index-C8y7FIYH.js +119 -0
  20. package/dist/index-CREALegH.js +1031 -0
  21. package/dist/index-CWz0hYog.js +778 -0
  22. package/dist/index-OLW4l8s8.js +1102 -0
  23. package/dist/index-zOfPHD00.js +90 -0
  24. package/dist/index.d.ts +43764 -6
  25. package/dist/index.js +2070 -0
  26. package/dist/interactive.js +12 -0
  27. package/dist/layout.js +18 -0
  28. package/dist/mount-rDUAHuDT.js +95 -0
  29. package/dist/navigation.js +13 -0
  30. package/dist/provider-B0eB-Wy7.js +286 -0
  31. package/dist/structure.js +15 -0
  32. package/dist/style.css +1 -1
  33. package/dist/style.js +1 -0
  34. package/dist/theme.js +9 -0
  35. package/package.json +88 -13
  36. package/dist/content/Alert/index.d.ts +0 -878
  37. package/dist/content/Avatar/index.d.ts +0 -886
  38. package/dist/content/Badge/index.d.ts +0 -887
  39. package/dist/content/Image/index.d.ts +0 -893
  40. package/dist/content/Label/index.d.ts +0 -879
  41. package/dist/content/Progress/index.d.ts +0 -898
  42. package/dist/content/Skeleton/index.d.ts +0 -879
  43. package/dist/content/Spinner/index.d.ts +0 -880
  44. package/dist/content/Text/index.d.ts +0 -878
  45. package/dist/content/index.d.ts +0 -9
  46. package/dist/core/StateWrapper.d.ts +0 -31
  47. package/dist/core/builder.d.ts +0 -58
  48. package/dist/core/component.d.ts +0 -7
  49. package/dist/core/effects.d.ts +0 -4
  50. package/dist/core/hooks.d.ts +0 -5
  51. package/dist/core/icons.d.ts +0 -11
  52. package/dist/core/index.d.ts +0 -6
  53. package/dist/core/state.d.ts +0 -86
  54. package/dist/core/types.d.ts +0 -51
  55. package/dist/demo.d.ts +0 -7
  56. package/dist/index.esm.js +0 -4777
  57. package/dist/index.umd.js +0 -251
  58. package/dist/interactive/Button/index.d.ts +0 -897
  59. package/dist/interactive/Checkbox/index.d.ts +0 -884
  60. package/dist/interactive/Combobox/index.d.ts +0 -898
  61. package/dist/interactive/RadioGroup/index.d.ts +0 -888
  62. package/dist/interactive/Select/index.d.ts +0 -895
  63. package/dist/interactive/Switch/index.d.ts +0 -881
  64. package/dist/interactive/TextField/index.d.ts +0 -893
  65. package/dist/interactive/Textarea/index.d.ts +0 -890
  66. package/dist/interactive/index.d.ts +0 -8
  67. package/dist/layout/Center/index.d.ts +0 -869
  68. package/dist/layout/Column/index.d.ts +0 -881
  69. package/dist/layout/Container/index.d.ts +0 -870
  70. package/dist/layout/DashboardLayout/index.d.ts +0 -870
  71. package/dist/layout/Header/index.d.ts +0 -870
  72. package/dist/layout/Line/index.d.ts +0 -872
  73. package/dist/layout/Row/index.d.ts +0 -879
  74. package/dist/layout/Scaffold/index.d.ts +0 -878
  75. package/dist/layout/ScrollView/index.d.ts +0 -879
  76. package/dist/layout/Sidebar/index.d.ts +0 -870
  77. package/dist/layout/Spacer/index.d.ts +0 -875
  78. package/dist/layout/StakentComponents.d.ts +0 -4
  79. package/dist/layout/index.d.ts +0 -11
  80. package/dist/structure/Banner/index.d.ts +0 -879
  81. package/dist/structure/Box/index.d.ts +0 -869
  82. package/dist/structure/Card/index.d.ts +0 -881
  83. package/dist/structure/Collapse/index.d.ts +0 -884
  84. package/dist/structure/Grid/index.d.ts +0 -1757
  85. package/dist/structure/List/index.d.ts +0 -888
  86. package/dist/structure/Table/index.d.ts +0 -895
  87. package/dist/structure/Tags/index.d.ts +0 -876
  88. package/dist/structure/cards/AssetCard/index.d.ts +0 -884
  89. package/dist/structure/cards/CollectionCard/index.d.ts +0 -880
  90. package/dist/structure/cards/ContentCard/index.d.ts +0 -884
  91. package/dist/structure/cards/ProfileCard/index.d.ts +0 -892
  92. package/dist/structure/cards/index.d.ts +0 -5
  93. package/dist/structure/cards/variants/index.d.ts +0 -3490
  94. package/dist/structure/index.d.ts +0 -9
  95. package/dist/theme/cupertino.d.ts +0 -3
  96. package/dist/theme/index.d.ts +0 -5
  97. package/dist/theme/material.d.ts +0 -3
  98. package/dist/theme/provider.d.ts +0 -16
  99. package/dist/theme/types.d.ts +0 -57
  100. package/dist/theme/web.d.ts +0 -3
  101. package/src/content/Alert/index.ts +0 -110
  102. package/src/content/Avatar/index.ts +0 -116
  103. package/src/content/Badge/index.ts +0 -162
  104. package/src/content/Image/index.ts +0 -137
  105. package/src/content/Label/index.ts +0 -66
  106. package/src/content/Progress/index.ts +0 -378
  107. package/src/content/Skeleton/index.ts +0 -71
  108. package/src/content/Spinner/index.ts +0 -139
  109. package/src/content/Text/index.ts +0 -74
  110. package/src/content/index.ts +0 -9
  111. package/src/core/StateWrapper.tsx +0 -131
  112. package/src/core/builder.ts +0 -301
  113. package/src/core/component.ts +0 -49
  114. package/src/core/effects.ts +0 -27
  115. package/src/core/hooks.ts +0 -48
  116. package/src/core/icons.tsx +0 -57
  117. package/src/core/index.ts +0 -6
  118. package/src/core/state.ts +0 -297
  119. package/src/core/types.ts +0 -62
  120. package/src/demo.tsx +0 -1050
  121. package/src/index.ts +0 -8
  122. package/src/interactive/Button/index.ts +0 -219
  123. package/src/interactive/Checkbox/index.ts +0 -145
  124. package/src/interactive/Combobox/index.ts +0 -278
  125. package/src/interactive/RadioGroup/index.ts +0 -124
  126. package/src/interactive/Select/index.ts +0 -227
  127. package/src/interactive/Switch/index.ts +0 -123
  128. package/src/interactive/TextField/index.ts +0 -223
  129. package/src/interactive/Textarea/index.ts +0 -129
  130. package/src/interactive/index.ts +0 -8
  131. package/src/layout/Center/index.ts +0 -34
  132. package/src/layout/Column/index.ts +0 -101
  133. package/src/layout/Container/index.ts +0 -28
  134. package/src/layout/DashboardLayout/index.ts +0 -106
  135. package/src/layout/Header/index.ts +0 -50
  136. package/src/layout/Line/index.ts +0 -41
  137. package/src/layout/Row/index.ts +0 -93
  138. package/src/layout/Scaffold/index.ts +0 -133
  139. package/src/layout/ScrollView/index.ts +0 -67
  140. package/src/layout/Sidebar/index.ts +0 -56
  141. package/src/layout/Spacer/index.ts +0 -46
  142. package/src/layout/StakentComponents.tsx +0 -57
  143. package/src/layout/index.ts +0 -11
  144. package/src/structure/Banner/index.ts +0 -92
  145. package/src/structure/Box/index.ts +0 -46
  146. package/src/structure/Card/index.ts +0 -113
  147. package/src/structure/Collapse/index.ts +0 -122
  148. package/src/structure/Grid/index.ts +0 -197
  149. package/src/structure/List/index.ts +0 -185
  150. package/src/structure/Table/index.ts +0 -165
  151. package/src/structure/Tags/index.ts +0 -69
  152. package/src/structure/cards/AssetCard/index.ts +0 -158
  153. package/src/structure/cards/CollectionCard/index.ts +0 -95
  154. package/src/structure/cards/ContentCard/index.ts +0 -127
  155. package/src/structure/cards/ProfileCard/index.ts +0 -152
  156. package/src/structure/cards/index.ts +0 -5
  157. package/src/structure/cards/variants/index.ts +0 -301
  158. package/src/structure/index.ts +0 -10
  159. package/src/styles/base.css +0 -186
  160. package/src/styles/core.css +0 -52
  161. package/src/styles/themes/cupertino.css +0 -197
  162. package/src/styles/themes/material.css +0 -322
  163. package/src/styles/themes/web.css +0 -196
  164. package/src/theme/cupertino.ts +0 -85
  165. package/src/theme/index.ts +0 -5
  166. package/src/theme/material.ts +0 -86
  167. package/src/theme/provider.tsx +0 -76
  168. package/src/theme/types.ts +0 -62
  169. package/src/theme/web.ts +0 -82
@@ -1,301 +0,0 @@
1
- import React, { ReactElement } from 'react';
2
- import { FiboBuilder, createBuilder } from '../../../core/builder';
3
- import { Card } from '../../Card';
4
- import { Text } from '../../../content/Text';
5
- import { Box } from '../../Box';
6
- import { Button } from '../../../interactive/Button';
7
- import { Switch } from '../../../interactive/Switch';
8
- import { TextField } from '../../../interactive/TextField';
9
- import { Badge } from '../../../content/Badge';
10
-
11
-
12
-
13
-
14
- const InfoCardInner = React.memo((props: any) => {
15
- const { title, description, icon, footer, className, style } = props;
16
-
17
- return Card()
18
- .className(className)
19
- .style(style)
20
- .children([
21
- Box().className("flex items-start gap-4").children([
22
- icon ? Box().className("mt-1 text-gray-400").children(icon).build() : null,
23
- Box().className("flex-1").children([
24
- title ? Text(title).fontSize(16).fontWeight(600).color("#111827").build() : null,
25
- description ? Text(description).fontSize(14).color("#6B7280").className("mt-1").build() : null,
26
- footer ? Box().className("mt-4").children(footer).build() : null
27
- ]).build()
28
- ]).build()
29
- ]).build();
30
- });
31
-
32
- class InfoCardBuilder extends FiboBuilder {
33
- private _title?: string;
34
- private _description?: string;
35
- private _icon?: ReactElement;
36
- private _footer?: ReactElement;
37
-
38
- title(text: string): this {
39
- this._title = text;
40
- return this;
41
- }
42
-
43
- description(text: string): this {
44
- this._description = text;
45
- return this;
46
- }
47
-
48
- icon(element: ReactElement): this {
49
- this._icon = element;
50
- return this;
51
- }
52
-
53
- footer(element: ReactElement): this {
54
- this._footer = element;
55
- return this;
56
- }
57
-
58
- build(): ReactElement {
59
- const props = {
60
- title: this._title,
61
- description: this._description,
62
- icon: this._icon,
63
- footer: this._footer,
64
- className: this.getClassName(),
65
- style: this.getStyle(),
66
- ...this._props
67
- };
68
- return React.createElement(InfoCardInner, props);
69
- }
70
- }
71
-
72
-
73
-
74
-
75
- const ActionCardInner = React.memo((props: any) => {
76
- const { title, description, action, actionType, onAction, actionLabel, className, style } = props;
77
-
78
- let ActionElement = action;
79
-
80
- if (!ActionElement) {
81
- if (actionType === 'button') {
82
- ActionElement = Button(actionLabel || 'Action').variant("soft").size("sm").onPress(onAction).build();
83
- } else if (actionType === 'switch') {
84
-
85
- ActionElement = Switch().onChange(onAction).build();
86
- }
87
- }
88
-
89
- return Card()
90
- .className(`flex items-center justify-between gap-4 ${className || ''}`)
91
- .style(style)
92
- .children([
93
- Box().className("flex-1").children([
94
- title ? Text(title).fontSize(16).fontWeight(600).color("#111827").build() : null,
95
- description ? Text(description).fontSize(14).color("#6B7280").className("mt-1").build() : null,
96
- ]).build(),
97
- ActionElement ? Box().className("flex-shrink-0").children(ActionElement).build() : null
98
- ]).build();
99
- });
100
-
101
- class ActionCardBuilder extends FiboBuilder {
102
- private _title?: string;
103
- private _description?: string;
104
- private _action?: ReactElement;
105
- private _actionType?: 'button' | 'switch';
106
- private _actionLabel?: string;
107
- private _onAction?: (val?: any) => void;
108
-
109
- title(text: string): this {
110
- this._title = text;
111
- return this;
112
- }
113
-
114
- description(text: string): this {
115
- this._description = text;
116
- return this;
117
- }
118
-
119
- action(element: ReactElement): this {
120
- this._action = element;
121
- return this;
122
- }
123
-
124
- withButton(label: string, onPress?: () => void): this {
125
- this._actionType = 'button';
126
- this._actionLabel = label;
127
- this._onAction = onPress;
128
- return this;
129
- }
130
-
131
- withSwitch(onChange?: (val: boolean) => void): this {
132
- this._actionType = 'switch';
133
- this._onAction = onChange;
134
- return this;
135
- }
136
-
137
- build(): ReactElement {
138
- const props = {
139
- title: this._title,
140
- description: this._description,
141
- action: this._action,
142
- actionType: this._actionType,
143
- actionLabel: this._actionLabel,
144
- onAction: this._onAction,
145
- className: this.getClassName(),
146
- style: this.getStyle(),
147
- ...this._props
148
- };
149
- return React.createElement(ActionCardInner, props);
150
- }
151
- }
152
-
153
-
154
- export const InfoCard = createBuilder(InfoCardBuilder);
155
-
156
- export const ActionCard = createBuilder(ActionCardBuilder);
157
-
158
-
159
-
160
-
161
- const InputCardInner = React.memo((props: any) => {
162
- const { title, description, placeholder, value, onChange, type, className, style } = props;
163
-
164
- return Card()
165
- .className(className)
166
- .style(style)
167
- .children([
168
- title ? Text(title).fontSize(14).fontWeight(600).color("#374151").className("mb-1").build() : null,
169
- description ? Text(description).fontSize(12).color("#6B7280").className("mb-3").build() : null,
170
- TextField()
171
- .placeholder(placeholder)
172
- .value(value)
173
- .type(type)
174
- .onChange(onChange)
175
- .className("w-full")
176
- .build()
177
- ]).build();
178
- });
179
-
180
- class InputCardBuilder extends FiboBuilder {
181
- private _title?: string;
182
- private _description?: string;
183
- private _placeholder?: string;
184
- private _value?: string;
185
- private _type: string = 'text';
186
- private _onChange?: (val: string) => void;
187
-
188
- title(text: string): this {
189
- this._title = text;
190
- return this;
191
- }
192
-
193
- description(text: string): this {
194
- this._description = text;
195
- return this;
196
- }
197
-
198
- placeholder(text: string): this {
199
- this._placeholder = text;
200
- return this;
201
- }
202
-
203
- value(text: string): this {
204
- this._value = text;
205
- return this;
206
- }
207
-
208
- type(t: string): this {
209
- this._type = t;
210
- return this;
211
- }
212
-
213
- onChange(cb: (val: string) => void): this {
214
- this._onChange = cb;
215
- return this;
216
- }
217
-
218
- build(): ReactElement {
219
- const props = {
220
- title: this._title,
221
- description: this._description,
222
- placeholder: this._placeholder,
223
- value: this._value,
224
- type: this._type,
225
- onChange: this._onChange,
226
- className: this.getClassName(),
227
- style: this.getStyle(),
228
- ...this._props
229
- };
230
- return React.createElement(InputCardInner, props);
231
- }
232
- }
233
-
234
-
235
- export const InputCard = createBuilder(InputCardBuilder);
236
-
237
-
238
-
239
-
240
-
241
- const MetricCardInner = React.memo((props: any) => {
242
- const { title, value, trend, trendDirection, className, style } = props;
243
-
244
- const trendColor = trendDirection === 'up' ? 'success' : trendDirection === 'down' ? 'error' : 'none';
245
- const trendIcon = trendDirection === 'up' ? '↑' : trendDirection === 'down' ? '↓' : '•';
246
-
247
- return Card()
248
- .className(className)
249
- .style(style)
250
- .children([
251
- Text(title).fontSize(14).fontWeight(600).color("#6B7280").build(),
252
- Box().className("flex items-end justify-between mt-2").children([
253
- Text(value).fontSize(32).fontWeight(800).color("#111827").build(),
254
- trend ? Badge()
255
- .text(`${trendIcon} ${trend}`)
256
- .intent(trendColor)
257
- .variant("accent")
258
- .build() : null
259
- ]).build()
260
- ]).build();
261
- });
262
-
263
- class MetricCardBuilder extends FiboBuilder {
264
- private _title: string = '';
265
- private _value: string = '';
266
- private _trend?: string;
267
- private _trendDirection: 'up' | 'down' | 'neutral' = 'neutral';
268
-
269
- title(text: string): this {
270
- this._title = text;
271
- return this;
272
- }
273
-
274
- value(text: string): this {
275
- this._value = text;
276
- return this;
277
- }
278
-
279
- trend(text: string, direction: 'up' | 'down' | 'neutral' = 'neutral'): this {
280
- this._trend = text;
281
- this._trendDirection = direction;
282
- return this;
283
- }
284
-
285
- build(): ReactElement {
286
- const props = {
287
- title: this._title,
288
- value: this._value,
289
- trend: this._trend,
290
- trendDirection: this._trendDirection,
291
- className: this.getClassName(),
292
- style: this.getStyle(),
293
- ...this._props
294
- };
295
- return React.createElement(MetricCardInner, props);
296
- }
297
- }
298
-
299
-
300
- export const MetricCard = createBuilder(MetricCardBuilder);
301
-
@@ -1,10 +0,0 @@
1
- export * from './Box';
2
- export * from './Card';
3
- export * from './List';
4
- export * from './Table';
5
- export * from './Tags';
6
- export * from './Banner';
7
- export * from './cards';
8
- export * from './Collapse';
9
-
10
- export * from './Grid';
@@ -1,186 +0,0 @@
1
- @import './core.css';
2
- @import './themes/material.css';
3
- @import './themes/cupertino.css';
4
- @import './themes/web.css';
5
-
6
- @tailwind base;
7
- @tailwind components;
8
- @tailwind utilities;
9
-
10
- :root {
11
- --fibo-theme: 'material';
12
- }
13
-
14
-
15
- .fibo-theme-material {
16
-
17
- --fibo-primary: #1976d2;
18
- --fibo-on-primary: #FFFFFF;
19
- --fibo-primary-container: #bbdefb;
20
- --fibo-on-primary-container: #1976d2;
21
-
22
- --fibo-secondary: #9c27b0;
23
- --fibo-on-secondary: #FFFFFF;
24
-
25
- --fibo-tertiary: #7D5260;
26
- --fibo-on-tertiary: #FFFFFF;
27
-
28
- --fibo-error: #d32f2f;
29
- --fibo-on-error: #FFFFFF;
30
-
31
- --fibo-background: #FFFFFF;
32
- --fibo-on-background: rgba(0, 0, 0, 0.87);
33
-
34
- --fibo-surface: #FFFFFF;
35
- --fibo-on-surface: rgba(0, 0, 0, 0.87);
36
- --fibo-surface-variant: #f5f5f5;
37
- --fibo-on-surface-variant: rgba(0, 0, 0, 0.6);
38
-
39
- --fibo-outline: rgba(0, 0, 0, 0.12);
40
-
41
-
42
- --fibo-font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;
43
-
44
-
45
- --fibo-spacing-xs: 4px;
46
- --fibo-spacing-sm: 8px;
47
- --fibo-spacing-md: 16px;
48
- --fibo-spacing-lg: 24px;
49
- --fibo-spacing-xl: 32px;
50
-
51
-
52
- --fibo-radius-none: 0px;
53
- --fibo-radius-xs: 2px;
54
- --fibo-radius-sm: 4px;
55
- --fibo-radius-md: 8px;
56
- --fibo-radius-lg: 12px;
57
- --fibo-radius-xl: 16px;
58
- --fibo-radius-full: 9999px;
59
-
60
-
61
- --fibo-elevation-0: none;
62
- --fibo-elevation-1: 0px 2px 1px -1px rgba(0,0,0,0.2), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 3px 0px rgba(0,0,0,0.12);
63
- --fibo-elevation-2: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12);
64
- --fibo-elevation-3: 0px 3px 3px -2px rgba(0,0,0,0.2), 0px 3px 4px 0px rgba(0,0,0,0.14), 0px 1px 8px 0px rgba(0,0,0,0.12);
65
- --fibo-elevation-4: 0px 5px 5px -3px rgba(0,0,0,0.2), 0px 8px 10px 1px rgba(0,0,0,0.14), 0px 3px 14px 2px rgba(0,0,0,0.12);
66
-
67
- --fibo-border-width: 1px;
68
- --fibo-border-color: rgba(0, 0, 0, 0.12);
69
-
70
- --fibo-transition-fast: 250ms cubic-bezier(0.4, 0, 0.2, 1);
71
- --fibo-transition-normal: 300ms cubic-bezier(0.4, 0, 0.2, 1);
72
- }
73
-
74
-
75
- .fibo-theme-cupertino {
76
-
77
- --fibo-primary: #007AFF;
78
- --fibo-on-primary: #FFFFFF;
79
- --fibo-primary-container: rgba(0, 122, 255, 0.15);
80
- --fibo-on-primary-container: #007AFF;
81
-
82
- --fibo-secondary: #5856D6;
83
- --fibo-on-secondary: #FFFFFF;
84
-
85
- --fibo-background: #F2F2F7;
86
- --fibo-on-background: #000000;
87
-
88
- --fibo-surface: #FFFFFF;
89
- --fibo-on-surface: #000000;
90
- --fibo-surface-variant: #E5E5EA;
91
- --fibo-on-surface-variant: #8E8E93;
92
-
93
- --fibo-error: #FF3B30;
94
- --fibo-on-error: #FFFFFF;
95
-
96
- --fibo-outline: #C7C7CC;
97
-
98
-
99
- --fibo-font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', sans-serif;
100
-
101
-
102
- --fibo-spacing-xs: 4px;
103
- --fibo-spacing-sm: 8px;
104
- --fibo-spacing-md: 16px;
105
- --fibo-spacing-lg: 20px;
106
- --fibo-spacing-xl: 32px;
107
-
108
-
109
- --fibo-radius-none: 0px;
110
- --fibo-radius-xs: 4px;
111
- --fibo-radius-sm: 8px;
112
- --fibo-radius-md: 10px;
113
- --fibo-radius-lg: 16px;
114
- --fibo-radius-xl: 20px;
115
- --fibo-radius-full: 9999px;
116
-
117
-
118
- --fibo-elevation-0: none;
119
- --fibo-elevation-1: 0 1px 2px rgba(0,0,0,0.05);
120
- --fibo-elevation-2: 0 4px 12px rgba(0,0,0,0.08);
121
- --fibo-elevation-3: 0 8px 24px rgba(0,0,0,0.12);
122
- --fibo-elevation-4: 0 12px 32px rgba(0,0,0,0.14);
123
-
124
- --fibo-border-width: 0.5px;
125
- --fibo-border-color: rgba(60, 60, 67, 0.29);
126
-
127
- --fibo-transition-fast: 250ms cubic-bezier(0.25, 0.1, 0.25, 1);
128
- --fibo-transition-normal: 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
129
- }
130
-
131
-
132
- .fibo-theme-web {
133
-
134
- --fibo-primary: #3B82F6;
135
- --fibo-on-primary: #FFFFFF;
136
- --fibo-primary-container: #DBEAFE;
137
- --fibo-on-primary-container: #1E40AF;
138
-
139
- --fibo-secondary: #64748B;
140
- --fibo-on-secondary: #FFFFFF;
141
-
142
- --fibo-background: #F8FAFC;
143
- --fibo-on-background: #0F172A;
144
-
145
- --fibo-surface: #FFFFFF;
146
- --fibo-on-surface: #0F172A;
147
- --fibo-surface-variant: #F1F5F9;
148
- --fibo-on-surface-variant: #64748B;
149
-
150
- --fibo-error: #EF4444;
151
- --fibo-on-error: #FFFFFF;
152
-
153
- --fibo-outline: #E2E8F0;
154
-
155
-
156
- --fibo-font-family: 'Inter', system-ui, sans-serif;
157
-
158
-
159
- --fibo-radius-none: 0px;
160
- --fibo-radius-xs: 2px;
161
- --fibo-radius-sm: 4px;
162
- --fibo-radius-md: 6px;
163
- --fibo-radius-lg: 8px;
164
- --fibo-radius-xl: 12px;
165
- --fibo-radius-full: 9999px;
166
-
167
-
168
- --fibo-elevation-0: none;
169
- --fibo-elevation-1: 0 1px 2px 0 rgb(0 0 0 / 0.05);
170
- --fibo-elevation-2: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
171
- --fibo-elevation-3: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
172
- --fibo-elevation-4: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
173
-
174
- --fibo-border-width: 1px;
175
- --fibo-border-color: #E2E8F0;
176
-
177
- --fibo-transition-fast: 150ms ease-out;
178
- --fibo-transition-normal: 300ms ease-out;
179
- }
180
-
181
- body {
182
- font-family: var(--fibo-font-family);
183
- background-color: var(--fibo-background);
184
- color: var(--fibo-on-background);
185
- transition: background-color var(--fibo-transition-normal), color var(--fibo-transition-normal);
186
- }
@@ -1,52 +0,0 @@
1
-
2
-
3
-
4
- *, *::before, *::after {
5
- box-sizing: border-box;
6
- margin: 0;
7
- padding: 0;
8
- }
9
-
10
- body {
11
- margin: 0;
12
- -webkit-font-smoothing: antialiased;
13
- -moz-osx-font-smoothing: grayscale;
14
- line-height: 1.5;
15
- }
16
-
17
-
18
- .fibo-clickable {
19
- cursor: pointer;
20
- user-select: none;
21
- -webkit-tap-highlight-color: transparent;
22
- }
23
-
24
- .fibo-flex-center {
25
- display: flex;
26
- align-items: center;
27
- justify-content: center;
28
- }
29
-
30
- .fibo-full-width {
31
- width: 100%;
32
- }
33
-
34
-
35
- @keyframes fibo-ripple-anim {
36
- to {
37
- transform: scale(4);
38
- opacity: 0;
39
- }
40
- }
41
-
42
- .fibo-ripple-container {
43
- position: absolute;
44
- top: 0;
45
- left: 0;
46
- width: 100%;
47
- height: 100%;
48
- overflow: hidden;
49
- border-radius: inherit;
50
- pointer-events: none;
51
- z-index: 0;
52
- }