analytica-frontend-lib 1.0.21 → 1.0.22
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/dist/index.css +103 -0
- package/dist/index.d.mts +68 -2
- package/dist/index.d.ts +68 -2
- package/dist/index.js +217 -84
- package/dist/index.mjs +215 -79
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -22,8 +22,12 @@
|
|
|
22
22
|
"Liberation Mono",
|
|
23
23
|
"Courier New",
|
|
24
24
|
monospace;
|
|
25
|
+
--color-red-700: oklch(50.5% 0.213 27.518);
|
|
26
|
+
--color-gray-800: oklch(27.8% 0.033 256.848);
|
|
25
27
|
--color-white: #fff;
|
|
26
28
|
--spacing: 0.25rem;
|
|
29
|
+
--container-md: 28rem;
|
|
30
|
+
--container-4xl: 56rem;
|
|
27
31
|
--text-xs: 0.75rem;
|
|
28
32
|
--text-xs--line-height: calc(1 / 0.75);
|
|
29
33
|
--text-sm: 0.875rem;
|
|
@@ -433,6 +437,9 @@
|
|
|
433
437
|
.mb-0\.5 {
|
|
434
438
|
margin-bottom: calc(var(--spacing) * 0.5);
|
|
435
439
|
}
|
|
440
|
+
.mb-1\.5 {
|
|
441
|
+
margin-bottom: calc(var(--spacing) * 1.5);
|
|
442
|
+
}
|
|
436
443
|
.mb-2 {
|
|
437
444
|
margin-bottom: calc(var(--spacing) * 2);
|
|
438
445
|
}
|
|
@@ -451,6 +458,9 @@
|
|
|
451
458
|
.ml-2 {
|
|
452
459
|
margin-left: calc(var(--spacing) * 2);
|
|
453
460
|
}
|
|
461
|
+
.box-border {
|
|
462
|
+
box-sizing: border-box;
|
|
463
|
+
}
|
|
454
464
|
.block {
|
|
455
465
|
display: block;
|
|
456
466
|
}
|
|
@@ -496,6 +506,9 @@
|
|
|
496
506
|
.h-10 {
|
|
497
507
|
height: calc(var(--spacing) * 10);
|
|
498
508
|
}
|
|
509
|
+
.h-24 {
|
|
510
|
+
height: calc(var(--spacing) * 24);
|
|
511
|
+
}
|
|
499
512
|
.h-\[21px\] {
|
|
500
513
|
height: 21px;
|
|
501
514
|
}
|
|
@@ -523,15 +536,24 @@
|
|
|
523
536
|
.w-10 {
|
|
524
537
|
width: calc(var(--spacing) * 10);
|
|
525
538
|
}
|
|
539
|
+
.w-72 {
|
|
540
|
+
width: calc(var(--spacing) * 72);
|
|
541
|
+
}
|
|
526
542
|
.w-\[384px\] {
|
|
527
543
|
width: 384px;
|
|
528
544
|
}
|
|
529
545
|
.w-full {
|
|
530
546
|
width: 100%;
|
|
531
547
|
}
|
|
548
|
+
.max-w-4xl {
|
|
549
|
+
max-width: var(--container-4xl);
|
|
550
|
+
}
|
|
532
551
|
.max-w-\[390px\] {
|
|
533
552
|
max-width: 390px;
|
|
534
553
|
}
|
|
554
|
+
.max-w-md {
|
|
555
|
+
max-width: var(--container-md);
|
|
556
|
+
}
|
|
535
557
|
.min-w-\[210px\] {
|
|
536
558
|
min-width: 210px;
|
|
537
559
|
}
|
|
@@ -551,6 +573,9 @@
|
|
|
551
573
|
.cursor-pointer {
|
|
552
574
|
cursor: pointer;
|
|
553
575
|
}
|
|
576
|
+
.resize-none {
|
|
577
|
+
resize: none;
|
|
578
|
+
}
|
|
554
579
|
.grid-cols-2 {
|
|
555
580
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
556
581
|
}
|
|
@@ -611,6 +636,9 @@
|
|
|
611
636
|
.rounded {
|
|
612
637
|
border-radius: 0.25rem;
|
|
613
638
|
}
|
|
639
|
+
.rounded-\[4px\] {
|
|
640
|
+
border-radius: 4px;
|
|
641
|
+
}
|
|
614
642
|
.rounded-full {
|
|
615
643
|
border-radius: calc(infinity * 1px);
|
|
616
644
|
}
|
|
@@ -657,6 +685,10 @@
|
|
|
657
685
|
--tw-border-style: none;
|
|
658
686
|
border-style: none;
|
|
659
687
|
}
|
|
688
|
+
.border-solid {
|
|
689
|
+
--tw-border-style: solid;
|
|
690
|
+
border-style: solid;
|
|
691
|
+
}
|
|
660
692
|
.border-background-200 {
|
|
661
693
|
border-color: var(--color-background-200);
|
|
662
694
|
}
|
|
@@ -711,6 +743,9 @@
|
|
|
711
743
|
.border-primary-950 {
|
|
712
744
|
border-color: var(--color-primary-950);
|
|
713
745
|
}
|
|
746
|
+
.border-red-700 {
|
|
747
|
+
border-color: var(--color-red-700);
|
|
748
|
+
}
|
|
714
749
|
.border-success-200 {
|
|
715
750
|
border-color: var(--color-success-200);
|
|
716
751
|
}
|
|
@@ -792,6 +827,9 @@
|
|
|
792
827
|
.bg-warning {
|
|
793
828
|
background-color: var(--color-warning);
|
|
794
829
|
}
|
|
830
|
+
.bg-white {
|
|
831
|
+
background-color: var(--color-white);
|
|
832
|
+
}
|
|
795
833
|
.p-1 {
|
|
796
834
|
padding: calc(var(--spacing) * 1);
|
|
797
835
|
}
|
|
@@ -966,6 +1004,9 @@
|
|
|
966
1004
|
.text-error-800 {
|
|
967
1005
|
color: var(--color-error-800);
|
|
968
1006
|
}
|
|
1007
|
+
.text-gray-800 {
|
|
1008
|
+
color: var(--color-gray-800);
|
|
1009
|
+
}
|
|
969
1010
|
.text-info-200 {
|
|
970
1011
|
color: var(--color-info-200);
|
|
971
1012
|
}
|
|
@@ -1100,6 +1141,10 @@
|
|
|
1100
1141
|
outline-style: var(--tw-outline-style);
|
|
1101
1142
|
outline-width: 1px;
|
|
1102
1143
|
}
|
|
1144
|
+
.blur {
|
|
1145
|
+
--tw-blur: blur(8px);
|
|
1146
|
+
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
|
1147
|
+
}
|
|
1103
1148
|
.transition-all {
|
|
1104
1149
|
transition-property: all;
|
|
1105
1150
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
@@ -1145,6 +1190,21 @@
|
|
|
1145
1190
|
}
|
|
1146
1191
|
}
|
|
1147
1192
|
}
|
|
1193
|
+
.placeholder\:text-text-600 {
|
|
1194
|
+
&::-moz-placeholder {
|
|
1195
|
+
color: var(--color-text-600);
|
|
1196
|
+
}
|
|
1197
|
+
&::placeholder {
|
|
1198
|
+
color: var(--color-text-600);
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
.hover\:border-border-400 {
|
|
1202
|
+
&:hover {
|
|
1203
|
+
@media (hover: hover) {
|
|
1204
|
+
border-color: var(--color-border-400);
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
}
|
|
1148
1208
|
.hover\:border-border-500 {
|
|
1149
1209
|
&:hover {
|
|
1150
1210
|
@media (hover: hover) {
|
|
@@ -1180,6 +1240,13 @@
|
|
|
1180
1240
|
}
|
|
1181
1241
|
}
|
|
1182
1242
|
}
|
|
1243
|
+
.hover\:border-red-700 {
|
|
1244
|
+
&:hover {
|
|
1245
|
+
@media (hover: hover) {
|
|
1246
|
+
border-color: var(--color-red-700);
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
}
|
|
1183
1250
|
.hover\:border-success-400 {
|
|
1184
1251
|
&:hover {
|
|
1185
1252
|
@media (hover: hover) {
|
|
@@ -1291,6 +1358,16 @@
|
|
|
1291
1358
|
}
|
|
1292
1359
|
}
|
|
1293
1360
|
}
|
|
1361
|
+
.focus\:border-border-500 {
|
|
1362
|
+
&:focus {
|
|
1363
|
+
border-color: var(--color-border-500);
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
.focus\:border-red-700 {
|
|
1367
|
+
&:focus {
|
|
1368
|
+
border-color: var(--color-red-700);
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1294
1371
|
.focus\:outline-none {
|
|
1295
1372
|
&:focus {
|
|
1296
1373
|
--tw-outline-style: none;
|
|
@@ -1909,6 +1986,19 @@
|
|
|
1909
1986
|
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
|
|
1910
1987
|
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
|
|
1911
1988
|
@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }
|
|
1989
|
+
@property --tw-blur { syntax: "*"; inherits: false; }
|
|
1990
|
+
@property --tw-brightness { syntax: "*"; inherits: false; }
|
|
1991
|
+
@property --tw-contrast { syntax: "*"; inherits: false; }
|
|
1992
|
+
@property --tw-grayscale { syntax: "*"; inherits: false; }
|
|
1993
|
+
@property --tw-hue-rotate { syntax: "*"; inherits: false; }
|
|
1994
|
+
@property --tw-invert { syntax: "*"; inherits: false; }
|
|
1995
|
+
@property --tw-opacity { syntax: "*"; inherits: false; }
|
|
1996
|
+
@property --tw-saturate { syntax: "*"; inherits: false; }
|
|
1997
|
+
@property --tw-sepia { syntax: "*"; inherits: false; }
|
|
1998
|
+
@property --tw-drop-shadow { syntax: "*"; inherits: false; }
|
|
1999
|
+
@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
|
|
2000
|
+
@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
|
|
2001
|
+
@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
|
|
1912
2002
|
@property --tw-duration { syntax: "*"; inherits: false; }
|
|
1913
2003
|
@layer properties {
|
|
1914
2004
|
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
@@ -1942,6 +2032,19 @@
|
|
|
1942
2032
|
--tw-ring-offset-color: #fff;
|
|
1943
2033
|
--tw-ring-offset-shadow: 0 0 #0000;
|
|
1944
2034
|
--tw-outline-style: solid;
|
|
2035
|
+
--tw-blur: initial;
|
|
2036
|
+
--tw-brightness: initial;
|
|
2037
|
+
--tw-contrast: initial;
|
|
2038
|
+
--tw-grayscale: initial;
|
|
2039
|
+
--tw-hue-rotate: initial;
|
|
2040
|
+
--tw-invert: initial;
|
|
2041
|
+
--tw-opacity: initial;
|
|
2042
|
+
--tw-saturate: initial;
|
|
2043
|
+
--tw-sepia: initial;
|
|
2044
|
+
--tw-drop-shadow: initial;
|
|
2045
|
+
--tw-drop-shadow-color: initial;
|
|
2046
|
+
--tw-drop-shadow-alpha: 100%;
|
|
2047
|
+
--tw-drop-shadow-size: initial;
|
|
1945
2048
|
--tw-duration: initial;
|
|
1946
2049
|
}
|
|
1947
2050
|
}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as react from 'react';
|
|
3
|
-
import { ReactNode, ButtonHTMLAttributes, ElementType, ComponentPropsWithoutRef, HTMLAttributes, InputHTMLAttributes, TdHTMLAttributes } from 'react';
|
|
3
|
+
import react__default, { ReactNode, ButtonHTMLAttributes, ElementType, ComponentPropsWithoutRef, TextareaHTMLAttributes, HTMLAttributes, InputHTMLAttributes, TdHTMLAttributes } from 'react';
|
|
4
4
|
import * as zustand from 'zustand';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -185,6 +185,72 @@ type TextProps<T extends ElementType = 'p'> = BaseTextProps & {
|
|
|
185
185
|
*/
|
|
186
186
|
declare const Text: <T extends ElementType = "p">({ children, size, weight, color, as, className, ...props }: TextProps<T>) => react_jsx_runtime.JSX.Element;
|
|
187
187
|
|
|
188
|
+
/**
|
|
189
|
+
* TextArea size variants
|
|
190
|
+
*/
|
|
191
|
+
type TextAreaSize = 'small' | 'medium' | 'large' | 'extraLarge';
|
|
192
|
+
/**
|
|
193
|
+
* TextArea visual state
|
|
194
|
+
*/
|
|
195
|
+
type TextAreaState = 'default' | 'hovered' | 'focused' | 'invalid' | 'disabled';
|
|
196
|
+
/**
|
|
197
|
+
* TextArea component props interface
|
|
198
|
+
*/
|
|
199
|
+
type TextAreaProps = {
|
|
200
|
+
/** Label text to display above the textarea */
|
|
201
|
+
label?: ReactNode;
|
|
202
|
+
/** Size variant of the textarea */
|
|
203
|
+
size?: TextAreaSize;
|
|
204
|
+
/** Visual state of the textarea */
|
|
205
|
+
state?: TextAreaState;
|
|
206
|
+
/** Error message to display */
|
|
207
|
+
errorMessage?: string;
|
|
208
|
+
/** Helper text to display */
|
|
209
|
+
helperMessage?: string;
|
|
210
|
+
/** Additional CSS classes */
|
|
211
|
+
className?: string;
|
|
212
|
+
/** Label CSS classes */
|
|
213
|
+
labelClassName?: string;
|
|
214
|
+
} & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>;
|
|
215
|
+
/**
|
|
216
|
+
* TextArea component for Analytica Ensino platforms
|
|
217
|
+
*
|
|
218
|
+
* A textarea component with essential states, sizes and themes.
|
|
219
|
+
* Uses exact design specifications with 288px width, 96px height, and specific
|
|
220
|
+
* color values. Includes Text component integration for consistent typography.
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```tsx
|
|
224
|
+
* // Basic textarea
|
|
225
|
+
* <TextArea label="Description" placeholder="Enter description..." />
|
|
226
|
+
*
|
|
227
|
+
* // Small size
|
|
228
|
+
* <TextArea size="small" label="Comment" />
|
|
229
|
+
*
|
|
230
|
+
* // Invalid state
|
|
231
|
+
* <TextArea state="invalid" label="Required field" errorMessage="This field is required" />
|
|
232
|
+
*
|
|
233
|
+
* // Disabled state
|
|
234
|
+
* <TextArea disabled label="Read-only field" />
|
|
235
|
+
* ```
|
|
236
|
+
*/
|
|
237
|
+
declare const TextArea: react__default.ForwardRefExoticComponent<{
|
|
238
|
+
/** Label text to display above the textarea */
|
|
239
|
+
label?: ReactNode;
|
|
240
|
+
/** Size variant of the textarea */
|
|
241
|
+
size?: TextAreaSize;
|
|
242
|
+
/** Visual state of the textarea */
|
|
243
|
+
state?: TextAreaState;
|
|
244
|
+
/** Error message to display */
|
|
245
|
+
errorMessage?: string;
|
|
246
|
+
/** Helper text to display */
|
|
247
|
+
helperMessage?: string;
|
|
248
|
+
/** Additional CSS classes */
|
|
249
|
+
className?: string;
|
|
250
|
+
/** Label CSS classes */
|
|
251
|
+
labelClassName?: string;
|
|
252
|
+
} & Omit<react__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & react__default.RefAttributes<HTMLTextAreaElement>>;
|
|
253
|
+
|
|
188
254
|
/**
|
|
189
255
|
* Badge component props interface
|
|
190
256
|
*/
|
|
@@ -497,4 +563,4 @@ declare const useToast: () => {
|
|
|
497
563
|
removeToast: (id: string) => void;
|
|
498
564
|
};
|
|
499
565
|
|
|
500
|
-
export { Badge, Button, CheckBox, type CheckBoxProps, DropdownMenu, DropdownMenuTrigger, IconButton, type IconButtonProps, IconRoundedButton, MenuContent, MenuItem, MenuLabel, MenuSeparator, NavButton, SelectionButton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Text, Toast, type ToastData, Toaster, useToast, useToastStore };
|
|
566
|
+
export { Badge, Button, CheckBox, type CheckBoxProps, DropdownMenu, DropdownMenuTrigger, IconButton, type IconButtonProps, IconRoundedButton, MenuContent, MenuItem, MenuLabel, MenuSeparator, NavButton, SelectionButton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Text, TextArea, type TextAreaProps, Toast, type ToastData, Toaster, useToast, useToastStore };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as react from 'react';
|
|
3
|
-
import { ReactNode, ButtonHTMLAttributes, ElementType, ComponentPropsWithoutRef, HTMLAttributes, InputHTMLAttributes, TdHTMLAttributes } from 'react';
|
|
3
|
+
import react__default, { ReactNode, ButtonHTMLAttributes, ElementType, ComponentPropsWithoutRef, TextareaHTMLAttributes, HTMLAttributes, InputHTMLAttributes, TdHTMLAttributes } from 'react';
|
|
4
4
|
import * as zustand from 'zustand';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -185,6 +185,72 @@ type TextProps<T extends ElementType = 'p'> = BaseTextProps & {
|
|
|
185
185
|
*/
|
|
186
186
|
declare const Text: <T extends ElementType = "p">({ children, size, weight, color, as, className, ...props }: TextProps<T>) => react_jsx_runtime.JSX.Element;
|
|
187
187
|
|
|
188
|
+
/**
|
|
189
|
+
* TextArea size variants
|
|
190
|
+
*/
|
|
191
|
+
type TextAreaSize = 'small' | 'medium' | 'large' | 'extraLarge';
|
|
192
|
+
/**
|
|
193
|
+
* TextArea visual state
|
|
194
|
+
*/
|
|
195
|
+
type TextAreaState = 'default' | 'hovered' | 'focused' | 'invalid' | 'disabled';
|
|
196
|
+
/**
|
|
197
|
+
* TextArea component props interface
|
|
198
|
+
*/
|
|
199
|
+
type TextAreaProps = {
|
|
200
|
+
/** Label text to display above the textarea */
|
|
201
|
+
label?: ReactNode;
|
|
202
|
+
/** Size variant of the textarea */
|
|
203
|
+
size?: TextAreaSize;
|
|
204
|
+
/** Visual state of the textarea */
|
|
205
|
+
state?: TextAreaState;
|
|
206
|
+
/** Error message to display */
|
|
207
|
+
errorMessage?: string;
|
|
208
|
+
/** Helper text to display */
|
|
209
|
+
helperMessage?: string;
|
|
210
|
+
/** Additional CSS classes */
|
|
211
|
+
className?: string;
|
|
212
|
+
/** Label CSS classes */
|
|
213
|
+
labelClassName?: string;
|
|
214
|
+
} & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>;
|
|
215
|
+
/**
|
|
216
|
+
* TextArea component for Analytica Ensino platforms
|
|
217
|
+
*
|
|
218
|
+
* A textarea component with essential states, sizes and themes.
|
|
219
|
+
* Uses exact design specifications with 288px width, 96px height, and specific
|
|
220
|
+
* color values. Includes Text component integration for consistent typography.
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```tsx
|
|
224
|
+
* // Basic textarea
|
|
225
|
+
* <TextArea label="Description" placeholder="Enter description..." />
|
|
226
|
+
*
|
|
227
|
+
* // Small size
|
|
228
|
+
* <TextArea size="small" label="Comment" />
|
|
229
|
+
*
|
|
230
|
+
* // Invalid state
|
|
231
|
+
* <TextArea state="invalid" label="Required field" errorMessage="This field is required" />
|
|
232
|
+
*
|
|
233
|
+
* // Disabled state
|
|
234
|
+
* <TextArea disabled label="Read-only field" />
|
|
235
|
+
* ```
|
|
236
|
+
*/
|
|
237
|
+
declare const TextArea: react__default.ForwardRefExoticComponent<{
|
|
238
|
+
/** Label text to display above the textarea */
|
|
239
|
+
label?: ReactNode;
|
|
240
|
+
/** Size variant of the textarea */
|
|
241
|
+
size?: TextAreaSize;
|
|
242
|
+
/** Visual state of the textarea */
|
|
243
|
+
state?: TextAreaState;
|
|
244
|
+
/** Error message to display */
|
|
245
|
+
errorMessage?: string;
|
|
246
|
+
/** Helper text to display */
|
|
247
|
+
helperMessage?: string;
|
|
248
|
+
/** Additional CSS classes */
|
|
249
|
+
className?: string;
|
|
250
|
+
/** Label CSS classes */
|
|
251
|
+
labelClassName?: string;
|
|
252
|
+
} & Omit<react__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & react__default.RefAttributes<HTMLTextAreaElement>>;
|
|
253
|
+
|
|
188
254
|
/**
|
|
189
255
|
* Badge component props interface
|
|
190
256
|
*/
|
|
@@ -497,4 +563,4 @@ declare const useToast: () => {
|
|
|
497
563
|
removeToast: (id: string) => void;
|
|
498
564
|
};
|
|
499
565
|
|
|
500
|
-
export { Badge, Button, CheckBox, type CheckBoxProps, DropdownMenu, DropdownMenuTrigger, IconButton, type IconButtonProps, IconRoundedButton, MenuContent, MenuItem, MenuLabel, MenuSeparator, NavButton, SelectionButton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Text, Toast, type ToastData, Toaster, useToast, useToastStore };
|
|
566
|
+
export { Badge, Button, CheckBox, type CheckBoxProps, DropdownMenu, DropdownMenuTrigger, IconButton, type IconButtonProps, IconRoundedButton, MenuContent, MenuItem, MenuLabel, MenuSeparator, NavButton, SelectionButton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Text, TextArea, type TextAreaProps, Toast, type ToastData, Toaster, useToast, useToastStore };
|