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 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 };