@rovula/ui 0.1.0 → 0.1.2

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 (94) hide show
  1. package/dist/cjs/bundle.css +129 -0
  2. package/dist/cjs/bundle.js +9255 -3
  3. package/dist/cjs/bundle.js.map +1 -1
  4. package/dist/cjs/types/components/Dropdown/Dropdown.stories.d.ts +1 -0
  5. package/dist/cjs/types/components/Footer/Footer.d.ts +21 -0
  6. package/dist/cjs/types/components/Footer/Footer.stories.d.ts +45 -0
  7. package/dist/cjs/types/components/Footer/index.d.ts +2 -0
  8. package/dist/cjs/types/components/Icon/Icon.d.ts +1 -1
  9. package/dist/cjs/types/components/Icon/Icon.stories.d.ts +9 -1
  10. package/dist/cjs/types/components/InputFilter/InputFilter.stories.d.ts +1 -0
  11. package/dist/cjs/types/components/MaskedTextInput/MaskedTextInput.d.ts +1 -0
  12. package/dist/cjs/types/components/MaskedTextInput/MaskedTextInput.stories.d.ts +2 -0
  13. package/dist/cjs/types/components/Navbar/Navbar.d.ts +5 -0
  14. package/dist/cjs/types/components/Navbar/Navbar.stories.d.ts +14 -0
  15. package/dist/cjs/types/components/PasswordInput/PasswordInput.d.ts +19 -0
  16. package/dist/cjs/types/components/PasswordInput/PasswordInput.stories.d.ts +396 -0
  17. package/dist/cjs/types/components/PasswordInput/index.d.ts +2 -0
  18. package/dist/cjs/types/components/Search/Search.stories.d.ts +1 -0
  19. package/dist/cjs/types/components/TextInput/TextInput.d.ts +2 -0
  20. package/dist/cjs/types/components/TextInput/TextInput.stories.d.ts +10 -0
  21. package/dist/cjs/types/components/TextInput/TextInput.styles.d.ts +15 -0
  22. package/dist/cjs/types/icons/index.d.ts +1 -0
  23. package/dist/cjs/types/icons/lucideIconNames.d.ts +9 -0
  24. package/dist/cjs/types/index.d.ts +7 -1
  25. package/dist/cjs/types/utils/colors.d.ts +330 -0
  26. package/dist/components/Footer/Footer.js +11 -0
  27. package/dist/components/Footer/Footer.stories.js +34 -0
  28. package/dist/components/Footer/index.js +2 -0
  29. package/dist/components/Icon/Icon.js +28 -11
  30. package/dist/components/Icon/Icon.stories.js +39 -0
  31. package/dist/components/Navbar/Navbar.js +18 -4
  32. package/dist/components/Navbar/Navbar.stories.js +16 -9
  33. package/dist/components/PasswordInput/PasswordInput.js +36 -0
  34. package/dist/components/PasswordInput/PasswordInput.stories.js +67 -0
  35. package/dist/components/PasswordInput/index.js +1 -0
  36. package/dist/components/TextArea/TextArea.styles.js +1 -1
  37. package/dist/components/TextInput/TextInput.js +33 -24
  38. package/dist/components/TextInput/TextInput.stories.js +14 -2
  39. package/dist/components/TextInput/TextInput.styles.js +25 -10
  40. package/dist/esm/bundle.css +129 -0
  41. package/dist/esm/bundle.js +9255 -3
  42. package/dist/esm/bundle.js.map +1 -1
  43. package/dist/esm/types/components/Dropdown/Dropdown.stories.d.ts +1 -0
  44. package/dist/esm/types/components/Footer/Footer.d.ts +21 -0
  45. package/dist/esm/types/components/Footer/Footer.stories.d.ts +45 -0
  46. package/dist/esm/types/components/Footer/index.d.ts +2 -0
  47. package/dist/esm/types/components/Icon/Icon.d.ts +1 -1
  48. package/dist/esm/types/components/Icon/Icon.stories.d.ts +9 -1
  49. package/dist/esm/types/components/InputFilter/InputFilter.stories.d.ts +1 -0
  50. package/dist/esm/types/components/MaskedTextInput/MaskedTextInput.d.ts +1 -0
  51. package/dist/esm/types/components/MaskedTextInput/MaskedTextInput.stories.d.ts +2 -0
  52. package/dist/esm/types/components/Navbar/Navbar.d.ts +5 -0
  53. package/dist/esm/types/components/Navbar/Navbar.stories.d.ts +14 -0
  54. package/dist/esm/types/components/PasswordInput/PasswordInput.d.ts +19 -0
  55. package/dist/esm/types/components/PasswordInput/PasswordInput.stories.d.ts +396 -0
  56. package/dist/esm/types/components/PasswordInput/index.d.ts +2 -0
  57. package/dist/esm/types/components/Search/Search.stories.d.ts +1 -0
  58. package/dist/esm/types/components/TextInput/TextInput.d.ts +2 -0
  59. package/dist/esm/types/components/TextInput/TextInput.stories.d.ts +10 -0
  60. package/dist/esm/types/components/TextInput/TextInput.styles.d.ts +15 -0
  61. package/dist/esm/types/icons/index.d.ts +1 -0
  62. package/dist/esm/types/icons/lucideIconNames.d.ts +9 -0
  63. package/dist/esm/types/index.d.ts +7 -1
  64. package/dist/esm/types/utils/colors.d.ts +330 -0
  65. package/dist/icons/index.js +1 -0
  66. package/dist/icons/lucideIconNames.js +12 -0
  67. package/dist/index.d.ts +389 -2
  68. package/dist/index.js +4 -0
  69. package/dist/src/theme/global.css +200 -24
  70. package/dist/utils/colors.js +369 -0
  71. package/package.json +2 -1
  72. package/src/components/Footer/Footer.stories.tsx +119 -0
  73. package/src/components/Footer/Footer.tsx +122 -0
  74. package/src/components/Footer/index.ts +3 -0
  75. package/src/components/Icon/Icon.stories.tsx +89 -0
  76. package/src/components/Icon/Icon.tsx +44 -23
  77. package/src/components/Navbar/Navbar.stories.tsx +109 -55
  78. package/src/components/Navbar/Navbar.tsx +41 -3
  79. package/src/components/PasswordInput/PasswordInput.stories.tsx +111 -0
  80. package/src/components/PasswordInput/PasswordInput.tsx +50 -0
  81. package/src/components/PasswordInput/index.ts +2 -0
  82. package/src/components/TextArea/TextArea.styles.ts +1 -1
  83. package/src/components/TextInput/TextInput.stories.tsx +60 -2
  84. package/src/components/TextInput/TextInput.styles.ts +36 -19
  85. package/src/components/TextInput/TextInput.tsx +83 -55
  86. package/src/icons/index.ts +1 -0
  87. package/src/icons/lucideIconNames.ts +14 -0
  88. package/src/index.ts +15 -1
  89. package/src/theme/themes/skyller/typography.css +24 -24
  90. package/src/theme/tokens/baseline.css +1 -0
  91. package/src/theme/tokens/components/footer.css +9 -0
  92. package/src/theme/tokens/components/navbar.css +2 -1
  93. package/src/types/lucide-react.d.ts +5 -0
  94. package/src/utils/colors.ts +383 -0
package/dist/index.d.ts CHANGED
@@ -60,6 +60,7 @@ type InputProps = {
60
60
  required?: boolean;
61
61
  isFloatingLabel?: boolean;
62
62
  keepCloseIconOnValue?: boolean;
63
+ keepFooterSpace?: boolean;
63
64
  hasClearIcon?: boolean;
64
65
  hasSearchIcon?: boolean;
65
66
  startIcon?: ReactNode;
@@ -94,6 +95,7 @@ declare const TextInput: React__default.ForwardRefExoticComponent<{
94
95
  required?: boolean;
95
96
  isFloatingLabel?: boolean;
96
97
  keepCloseIconOnValue?: boolean;
98
+ keepFooterSpace?: boolean;
97
99
  hasClearIcon?: boolean;
98
100
  hasSearchIcon?: boolean;
99
101
  startIcon?: ReactNode;
@@ -144,6 +146,7 @@ declare const MaskedTextInput: React__default.ForwardRefExoticComponent<{
144
146
  required?: boolean;
145
147
  isFloatingLabel?: boolean;
146
148
  keepCloseIconOnValue?: boolean;
149
+ keepFooterSpace?: boolean;
147
150
  hasClearIcon?: boolean;
148
151
  hasSearchIcon?: boolean;
149
152
  startIcon?: React__default.ReactNode;
@@ -171,6 +174,23 @@ declare const MaskedTextInput: React__default.ForwardRefExoticComponent<{
171
174
  onMaskedChange?: (value: string, rawValue: string) => void;
172
175
  } & React__default.RefAttributes<HTMLInputElement>>;
173
176
 
177
+ type PasswordInputProps = Omit<InputProps, "type"> & {
178
+ /** Show toggle visibility button. Default: true */
179
+ showToggle?: boolean;
180
+ /** Icon when password is hidden (click to reveal). Default: Icon eye (lucide) */
181
+ hideIcon?: React__default.ReactNode;
182
+ /** Icon when password is visible (click to hide). Default: Icon eye-off (lucide) */
183
+ showIcon?: React__default.ReactNode;
184
+ };
185
+ declare const PasswordInput: React__default.ForwardRefExoticComponent<Omit<InputProps, "type"> & {
186
+ /** Show toggle visibility button. Default: true */
187
+ showToggle?: boolean;
188
+ /** Icon when password is hidden (click to reveal). Default: Icon eye (lucide) */
189
+ hideIcon?: React__default.ReactNode;
190
+ /** Icon when password is visible (click to hide). Default: Icon eye-off (lucide) */
191
+ showIcon?: React__default.ReactNode;
192
+ } & React__default.RefAttributes<HTMLInputElement>>;
193
+
174
194
  type NumberInputProps = Omit<InputProps, "type" | "value" | "defaultValue" | "onChange"> & {
175
195
  value?: number | string;
176
196
  defaultValue?: number | string;
@@ -456,7 +476,12 @@ declare const Input: React__default.ForwardRefExoticComponent<{
456
476
  className?: string;
457
477
  } & Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "size"> & React__default.RefAttributes<HTMLInputElement>>;
458
478
 
479
+ type NavbarVariant = "default" | "transparent";
459
480
  type NavbarProps = {
481
+ /** Appearance: default (solid bg) | transparent */
482
+ variant?: NavbarVariant;
483
+ /** Show shadow when page is scrolled (works with position="sticky") */
484
+ scrollShadow?: boolean;
460
485
  position?: "static" | "sticky";
461
486
  children?: ReactNode;
462
487
  leftNav?: ReactNode;
@@ -471,6 +496,26 @@ type NavbarProps = {
471
496
  };
472
497
  declare const Navbar: FC<NavbarProps>;
473
498
 
499
+ type FooterVariant = "default" | "simple" | "transparent";
500
+ type FooterProps = {
501
+ /** Layout variant: default (3-column) | simple (centered) | transparent (no bg) */
502
+ variant?: FooterVariant;
503
+ /** Copyright text - renders in left (default) or center (simple) */
504
+ copyright?: ReactNode;
505
+ position?: "static" | "sticky";
506
+ children?: ReactNode;
507
+ leftNav?: ReactNode;
508
+ rightNav?: ReactNode;
509
+ center?: ReactNode;
510
+ container?: boolean;
511
+ className?: string;
512
+ containerClassName?: string;
513
+ leftNavClassName?: string;
514
+ centerClassName?: string;
515
+ rightNavClassName?: string;
516
+ };
517
+ declare const Footer: FC<FooterProps>;
518
+
474
519
  declare const ActionButton: React__default.ForwardRefExoticComponent<{
475
520
  title?: string;
476
521
  size?: "xs" | "sm" | "md" | "lg";
@@ -587,7 +632,7 @@ declare const ProgressBar: React__default.FC<ProgressBarProps>;
587
632
 
588
633
  type IconProps = {
589
634
  name: string;
590
- type?: "heroicons" | "material" | "custom";
635
+ type?: "heroicons" | "material" | "lucide" | "custom";
591
636
  color?: "primary" | "secondary" | "success" | "tertiary" | "info" | "warning" | "error" | "inherit";
592
637
  variant?: "solid" | "outline";
593
638
  size?: "sm" | "md" | "lg" | "inherit";
@@ -1026,4 +1071,346 @@ declare function usePrevious<T>(value: T): T | undefined;
1026
1071
 
1027
1072
  declare function cn(...inputs: ClassValue[]): string;
1028
1073
 
1029
- export { ActionButton, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Button, type ButtonProps, Calendar, Checkbox, Collapsible, type CustomSliderProps, DataTable, type DataTableProps, DatePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Dropdown, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type DropdownProps, FocusedScrollView, Icon, Input, InputFilter, type InputFilterProps, type InputProps, Label, Loading, type MaskRule, MaskedTextInput, type MaskedTextInputProps, Menu, MenuItem, type MenuItemType, MenuLabel, type MenuOption, type MenuProps, MenuSeparator, Navbar, type NavbarProps, NumberInput, type NumberInputProps, type Options$1 as Options, Popover, PopoverContent, PopoverTrigger, ProgressBar, RadioGroup, RadioGroupItem, Search, type SearchProps, Slider, type SliderProps, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, Text, TextArea, type TextAreaProps, TextInput, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, TooltipArrow, TooltipContent, TooltipProvider, TooltipSimple, TooltipTrigger, Tree, type TreeData, TreeItem, type TreeItemProps, type TreeProps, cn, getEndDateOfDay, getStartDateOfDay, getStartEndTimestampOfDay, getTimestampUTC, reducer, resloveTimestamp, toast, usePrevious, useToast };
1074
+ /** CSS variable names for theme colors (resolved by data-theme) */
1075
+ declare const THEME_COLOR_KEYS: {
1076
+ readonly "primary-5": "--primary-ramps-primary-5";
1077
+ readonly "primary-10": "--primary-ramps-primary-10";
1078
+ readonly "primary-20": "--primary-ramps-primary-20";
1079
+ readonly "primary-30": "--primary-ramps-primary-30";
1080
+ readonly "primary-40": "--primary-ramps-primary-40";
1081
+ readonly "primary-50": "--primary-ramps-primary-50";
1082
+ readonly "primary-60": "--primary-ramps-primary-60";
1083
+ readonly "primary-70": "--primary-ramps-primary-70";
1084
+ readonly "primary-80": "--primary-ramps-primary-80";
1085
+ readonly "primary-90": "--primary-ramps-primary-90";
1086
+ readonly "primary-100": "--primary-ramps-primary-100";
1087
+ readonly "primary-110": "--primary-ramps-primary-110";
1088
+ readonly "primary-120": "--primary-ramps-primary-120";
1089
+ readonly "primary-130": "--primary-ramps-primary-130";
1090
+ readonly "primary-140": "--primary-ramps-primary-140";
1091
+ readonly "primary-150": "--primary-ramps-primary-150";
1092
+ readonly "secondary-5": "--secondary-ramps-secondary-5";
1093
+ readonly "secondary-10": "--secondary-ramps-secondary-10";
1094
+ readonly "secondary-20": "--secondary-ramps-secondary-20";
1095
+ readonly "secondary-30": "--secondary-ramps-secondary-30";
1096
+ readonly "secondary-40": "--secondary-ramps-secondary-40";
1097
+ readonly "secondary-50": "--secondary-ramps-secondary-50";
1098
+ readonly "secondary-60": "--secondary-ramps-secondary-60";
1099
+ readonly "secondary-70": "--secondary-ramps-secondary-70";
1100
+ readonly "secondary-80": "--secondary-ramps-secondary-80";
1101
+ readonly "secondary-90": "--secondary-ramps-secondary-90";
1102
+ readonly "secondary-100": "--secondary-ramps-secondary-100";
1103
+ readonly "secondary-110": "--secondary-ramps-secondary-110";
1104
+ readonly "secondary-120": "--secondary-ramps-secondary-120";
1105
+ readonly "secondary-130": "--secondary-ramps-secondary-130";
1106
+ readonly "secondary-140": "--secondary-ramps-secondary-140";
1107
+ readonly "secondary-150": "--secondary-ramps-secondary-150";
1108
+ readonly "tertiary-5": "--tertiary-ramps-tertiary-5";
1109
+ readonly "tertiary-10": "--tertiary-ramps-tertiary-10";
1110
+ readonly "tertiary-20": "--tertiary-ramps-tertiary-20";
1111
+ readonly "tertiary-30": "--tertiary-ramps-tertiary-30";
1112
+ readonly "tertiary-40": "--tertiary-ramps-tertiary-40";
1113
+ readonly "tertiary-50": "--tertiary-ramps-tertiary-50";
1114
+ readonly "tertiary-60": "--tertiary-ramps-tertiary-60";
1115
+ readonly "tertiary-70": "--tertiary-ramps-tertiary-70";
1116
+ readonly "tertiary-80": "--tertiary-ramps-tertiary-80";
1117
+ readonly "tertiary-90": "--tertiary-ramps-tertiary-90";
1118
+ readonly "tertiary-100": "--tertiary-ramps-tertiary-100";
1119
+ readonly "tertiary-110": "--tertiary-ramps-tertiary-110";
1120
+ readonly "tertiary-120": "--tertiary-ramps-tertiary-120";
1121
+ readonly "tertiary-130": "--tertiary-ramps-tertiary-130";
1122
+ readonly "tertiary-140": "--tertiary-ramps-tertiary-140";
1123
+ readonly "tertiary-150": "--tertiary-ramps-tertiary-150";
1124
+ readonly "grey-5": "--grey-grey-5";
1125
+ readonly "grey-10": "--grey-grey-10";
1126
+ readonly "grey-20": "--grey-grey-20";
1127
+ readonly "grey-30": "--grey-grey-30";
1128
+ readonly "grey-40": "--grey-grey-40";
1129
+ readonly "grey-50": "--grey-grey-50";
1130
+ readonly "grey-60": "--grey-grey-60";
1131
+ readonly "grey-70": "--grey-grey-70";
1132
+ readonly "grey-80": "--grey-grey-80";
1133
+ readonly "grey-90": "--grey-grey-90";
1134
+ readonly "grey-100": "--grey-grey-100";
1135
+ readonly "grey-110": "--grey-grey-110";
1136
+ readonly "grey-120": "--grey-grey-120";
1137
+ readonly "grey-130": "--grey-grey-130";
1138
+ readonly "grey-140": "--grey-grey-140";
1139
+ readonly "grey-150": "--grey-grey-150";
1140
+ readonly "grey2-50": "--grey2-grey2-50";
1141
+ readonly "grey2-100": "--grey2-grey2-100";
1142
+ readonly "grey2-200": "--grey2-grey2-200";
1143
+ readonly "grey2-300": "--grey2-grey2-300";
1144
+ readonly "grey2-400": "--grey2-grey2-400";
1145
+ readonly "grey2-500": "--grey2-grey2-500";
1146
+ readonly "grey2-600": "--grey2-grey2-600";
1147
+ readonly "grey2-700": "--grey2-grey2-700";
1148
+ readonly "grey2-800": "--grey2-grey2-800";
1149
+ readonly "grey2-900": "--grey2-grey2-900";
1150
+ readonly "grey2-950": "--grey2-grey2-950";
1151
+ readonly "info-50": "--info-info-50";
1152
+ readonly "info-100": "--info-info-100";
1153
+ readonly "info-200": "--info-info-200";
1154
+ readonly "info-300": "--info-info-300";
1155
+ readonly "info-400": "--info-info-400";
1156
+ readonly "info-500": "--info-info-500";
1157
+ readonly "info-600": "--info-info-600";
1158
+ readonly "info-700": "--info-info-700";
1159
+ readonly "info-800": "--info-info-800";
1160
+ readonly "info-900": "--info-info-900";
1161
+ readonly "info-950": "--info-info-950";
1162
+ readonly "success-50": "--success-success-50";
1163
+ readonly "success-100": "--success-success-100";
1164
+ readonly "success-200": "--success-success-200";
1165
+ readonly "success-300": "--success-success-300";
1166
+ readonly "success-400": "--success-success-400";
1167
+ readonly "success-500": "--success-success-500";
1168
+ readonly "success-600": "--success-success-600";
1169
+ readonly "success-700": "--success-success-700";
1170
+ readonly "success-800": "--success-success-800";
1171
+ readonly "success-900": "--success-success-900";
1172
+ readonly "success-950": "--success-success-950";
1173
+ readonly "warning-50": "--warning-warning-50";
1174
+ readonly "warning-100": "--warning-warning-100";
1175
+ readonly "warning-200": "--warning-warning-200";
1176
+ readonly "warning-300": "--warning-warning-300";
1177
+ readonly "warning-400": "--warning-warning-400";
1178
+ readonly "warning-500": "--warning-warning-500";
1179
+ readonly "warning-600": "--warning-warning-600";
1180
+ readonly "warning-700": "--warning-warning-700";
1181
+ readonly "warning-800": "--warning-warning-800";
1182
+ readonly "warning-900": "--warning-warning-900";
1183
+ readonly "warning-950": "--warning-warning-950";
1184
+ readonly "error-50": "--error-error-50";
1185
+ readonly "error-100": "--error-error-100";
1186
+ readonly "error-200": "--error-error-200";
1187
+ readonly "error-300": "--error-error-300";
1188
+ readonly "error-400": "--error-error-400";
1189
+ readonly "error-500": "--error-error-500";
1190
+ readonly "error-600": "--error-error-600";
1191
+ readonly "error-700": "--error-error-700";
1192
+ readonly "error-800": "--error-error-800";
1193
+ readonly "error-900": "--error-error-900";
1194
+ readonly "error-950": "--error-error-950";
1195
+ readonly primary: "--state-color-primary-default";
1196
+ readonly "primary-hover": "--state-color-primary-hover";
1197
+ readonly "primary-stroke": "--state-color-primary-stroke";
1198
+ readonly "primary-hover-bg": "--state-color-primary-hover-bg";
1199
+ readonly "primary-pressed": "--state-color-primary-pressed";
1200
+ readonly "primary-active": "--state-color-primary-active";
1201
+ readonly "primary-text-solid": "--state-color-primary-text-solid";
1202
+ readonly "primary-text-outline": "--state-color-primary-text-outline";
1203
+ readonly "primary-text-hover": "--state-color-primary-text-hover";
1204
+ readonly "primary-text-pressed": "--state-color-primary-text-pressed";
1205
+ readonly secondary: "--state-color-secondary-default";
1206
+ readonly "secondary-hover": "--state-color-secondary-hover";
1207
+ readonly "secondary-stroke": "--state-color-secondary-stroke";
1208
+ readonly "secondary-hover-bg": "--state-color-secondary-hover-bg";
1209
+ readonly "secondary-pressed": "--state-color-secondary-pressed";
1210
+ readonly "secondary-active": "--state-color-secondary-active";
1211
+ readonly "secondary-text-solid": "--state-color-secondary-text-solid";
1212
+ readonly "secondary-text-outline": "--state-color-secondary-text-outline";
1213
+ readonly "secondary-text-hover": "--state-color-secondary-text-hover";
1214
+ readonly "secondary-text-pressed": "--state-color-secondary-text-pressed";
1215
+ readonly tertiary: "--state-color-tertiary-default";
1216
+ readonly "tertiary-hover": "--state-color-tertiary-hover";
1217
+ readonly "tertiary-stroke": "--state-color-tertiary-stroke";
1218
+ readonly "tertiary-hover-bg": "--state-color-tertiary-hover-bg";
1219
+ readonly "tertiary-pressed": "--state-color-tertiary-pressed";
1220
+ readonly "tertiary-active": "--state-color-tertiary-active";
1221
+ readonly "tertiary-text-solid": "--state-color-tertiary-text-solid";
1222
+ readonly "tertiary-text-outline": "--state-color-tertiary-text-outline";
1223
+ readonly "tertiary-text-hover": "--state-color-tertiary-text-hover";
1224
+ readonly "tertiary-text-pressed": "--state-color-tertiary-text-pressed";
1225
+ readonly info: "--state-color-info-default";
1226
+ readonly "info-hover": "--state-color-info-hover";
1227
+ readonly "info-stroke": "--state-color-info-stroke";
1228
+ readonly "info-hover-bg": "--state-color-info-hover-bg";
1229
+ readonly "info-pressed": "--state-color-info-pressed";
1230
+ readonly "info-active": "--state-color-info-active";
1231
+ readonly "info-text-solid": "--state-color-info-text-solid";
1232
+ readonly "info-text-outline": "--state-color-info-text-outline";
1233
+ readonly "info-text-hover": "--state-color-info-text-hover";
1234
+ readonly "info-text-pressed": "--state-color-info-text-pressed";
1235
+ readonly success: "--state-color-success-default";
1236
+ readonly "success-hover": "--state-color-success-hover";
1237
+ readonly "success-stroke": "--state-color-success-stroke";
1238
+ readonly "success-hover-bg": "--state-color-success-hover-bg";
1239
+ readonly "success-pressed": "--state-color-success-pressed";
1240
+ readonly "success-active": "--state-color-success-active";
1241
+ readonly "success-text-solid": "--state-color-success-text-solid";
1242
+ readonly "success-text-outline": "--state-color-success-text-outline";
1243
+ readonly "success-text-hover": "--state-color-success-text-hover";
1244
+ readonly "success-text-pressed": "--state-color-success-text-pressed";
1245
+ readonly warning: "--state-color-warning-default";
1246
+ readonly "warning-hover": "--state-color-warning-hover";
1247
+ readonly "warning-stroke": "--state-color-warning-stroke";
1248
+ readonly "warning-hover-bg": "--state-color-warning-hover-bg";
1249
+ readonly "warning-pressed": "--state-color-warning-pressed";
1250
+ readonly "warning-active": "--state-color-warning-active";
1251
+ readonly "warning-text-solid": "--state-color-warning-text-solid";
1252
+ readonly "warning-text-outline": "--state-color-warning-text-outline";
1253
+ readonly "warning-text-hover": "--state-color-warning-text-hover";
1254
+ readonly "warning-text-pressed": "--state-color-warning-text-pressed";
1255
+ readonly error: "--state-color-error-default";
1256
+ readonly "error-hover": "--state-color-error-hover";
1257
+ readonly "error-stroke": "--state-color-error-stroke";
1258
+ readonly "error-hover-bg": "--state-color-error-hover-bg";
1259
+ readonly "error-pressed": "--state-color-error-pressed";
1260
+ readonly "error-active": "--state-color-error-active";
1261
+ readonly "error-text-solid": "--state-color-error-text-solid";
1262
+ readonly "error-text-outline": "--state-color-error-text-outline";
1263
+ readonly "error-text-hover": "--state-color-error-text-hover";
1264
+ readonly "error-text-pressed": "--state-color-error-text-pressed";
1265
+ readonly "disable-solid": "--state-color-disable-solid";
1266
+ readonly "disable-outline": "--state-color-disable-outline";
1267
+ readonly "text-black": "--text-black";
1268
+ readonly "text-dark": "--text-dark";
1269
+ readonly "text-medium": "--text-medium";
1270
+ readonly "text-light": "--text-light";
1271
+ readonly "text-grey-dark": "--text-grey-dark";
1272
+ readonly "text-grey-medium": "--text-grey-medium";
1273
+ readonly "text-grey-light": "--text-grey-light";
1274
+ readonly "text-white": "--text-white";
1275
+ readonly "input-default-text": "--input-color-default-text";
1276
+ readonly "input-default-stroke": "--input-color-default-stroke";
1277
+ readonly "input-filled-text": "--input-color-filled-text";
1278
+ readonly "input-active-stroke": "--input-color-active-stroke";
1279
+ readonly "input-disable-text": "--input-color-disable-text";
1280
+ readonly "input-disable-stroke": "--input-color-disable-stroke";
1281
+ readonly "input-disable-bg": "--input-color-disable-bg";
1282
+ readonly "input-label-bg": "--input-color-label-bg";
1283
+ readonly "input-error": "--input-color-error";
1284
+ readonly "function-default-solid": "--function-default-solid";
1285
+ readonly "function-default-hover": "--function-default-hover";
1286
+ readonly "function-default-hover-bg": "--function-default-hover-bg";
1287
+ readonly "function-default-stroke": "--function-default-stroke";
1288
+ readonly "function-default-icon": "--function-default-icon";
1289
+ readonly "function-default-outline-icon": "--function-default-outline-icon";
1290
+ readonly "function-active-solid": "--function-active-solid";
1291
+ readonly "function-active-hover": "--function-active-hover";
1292
+ readonly "function-active-hover-bg": "--function-active-hover-bg";
1293
+ readonly "function-active-stroke": "--function-active-stroke";
1294
+ readonly "function-active-icon": "--function-active-icon";
1295
+ readonly "base-bg": "--base-color-bg";
1296
+ readonly "base-bg2": "--base-color-bg2";
1297
+ readonly "base-bg3": "--base-color-bg3";
1298
+ readonly "base-workspace-stroke": "--base-color-workspace-stroke";
1299
+ readonly "base-guideline-stroke": "--base-color-guideline-stroke";
1300
+ readonly "base-popup": "--base-color-popup";
1301
+ readonly "base-popup-highlight": "--base-color-popup-hightlight";
1302
+ readonly "base-popup-curtain": "--base-color-popup-curtain";
1303
+ readonly "base-popup-foreground": "--base-color-popup-foreground";
1304
+ readonly "common-white": "--common-white";
1305
+ readonly "common-black": "--common-black";
1306
+ readonly background: "--background";
1307
+ readonly foreground: "--foreground";
1308
+ readonly surface: "--surface";
1309
+ readonly "surface-foreground": "--surface-foreground";
1310
+ readonly "primary-foreground": "--primary-foreground";
1311
+ readonly "secondary-foreground": "--secondary-foreground";
1312
+ readonly "tertiary-foreground": "--tertiary-foreground";
1313
+ readonly "info-foreground": "--info-foreground";
1314
+ readonly "success-foreground": "--success-foreground";
1315
+ readonly "warning-foreground": "--warning-foreground";
1316
+ readonly "error-foreground": "--error-foreground";
1317
+ readonly "grey-foreground": "--grey-foreground";
1318
+ readonly "grey2-foreground": "--grey2-foreground";
1319
+ readonly "primary-transparent-8": "--main-transparency-primary-8";
1320
+ readonly "primary-transparent-12": "--main-transparency-primary-12";
1321
+ readonly "primary-transparent-16": "--main-transparency-primary-16";
1322
+ readonly "primary-transparent-24": "--main-transparency-primary-24";
1323
+ readonly "primary-transparent-32": "--main-transparency-primary-32";
1324
+ readonly "primary-transparent-48": "--main-transparency-primary-48";
1325
+ readonly "secondary-transparent-8": "--main-transparency-secondary-8";
1326
+ readonly "secondary-transparent-12": "--main-transparency-secondary-12";
1327
+ readonly "secondary-transparent-16": "--main-transparency-secondary-16";
1328
+ readonly "secondary-transparent-24": "--main-transparency-secondary-24";
1329
+ readonly "secondary-transparent-32": "--main-transparency-secondary-32";
1330
+ readonly "secondary-transparent-48": "--main-transparency-secondary-48";
1331
+ readonly "tertiary-transparent-8": "--main-transparency-tertiary-8";
1332
+ readonly "tertiary-transparent-12": "--main-transparency-tertiary-12";
1333
+ readonly "tertiary-transparent-16": "--main-transparency-tertiary-16";
1334
+ readonly "tertiary-transparent-24": "--main-transparency-tertiary-24";
1335
+ readonly "tertiary-transparent-32": "--main-transparency-tertiary-32";
1336
+ readonly "tertiary-transparent-48": "--main-transparency-tertiary-48";
1337
+ readonly "info-transparent-8": "--other-transparency-info-8";
1338
+ readonly "info-transparent-12": "--other-transparency-info-12";
1339
+ readonly "info-transparent-16": "--other-transparency-info-16";
1340
+ readonly "info-transparent-24": "--other-transparency-info-24";
1341
+ readonly "info-transparent-32": "--other-transparency-info-32";
1342
+ readonly "info-transparent-48": "--other-transparency-info-48";
1343
+ readonly "success-transparent-8": "--other-transparency-success-8";
1344
+ readonly "success-transparent-12": "--other-transparency-success-12";
1345
+ readonly "success-transparent-16": "--other-transparency-success-16";
1346
+ readonly "success-transparent-24": "--other-transparency-success-24";
1347
+ readonly "success-transparent-32": "--other-transparency-success-32";
1348
+ readonly "success-transparent-48": "--other-transparency-success-48";
1349
+ readonly "warning-transparent-8": "--other-transparency-warning-8";
1350
+ readonly "warning-transparent-12": "--other-transparency-warning-12";
1351
+ readonly "warning-transparent-16": "--other-transparency-warning-16";
1352
+ readonly "warning-transparent-24": "--other-transparency-warning-24";
1353
+ readonly "warning-transparent-32": "--other-transparency-warning-32";
1354
+ readonly "warning-transparent-48": "--other-transparency-warning-48";
1355
+ readonly "error-transparent-8": "--other-transparency-error-8";
1356
+ readonly "error-transparent-12": "--other-transparency-error-12";
1357
+ readonly "error-transparent-16": "--other-transparency-error-16";
1358
+ readonly "error-transparent-24": "--other-transparency-error-24";
1359
+ readonly "error-transparent-32": "--other-transparency-error-32";
1360
+ readonly "error-transparent-48": "--other-transparency-error-48";
1361
+ readonly "grey-transparent-8": "--other-transparency-grey-8";
1362
+ readonly "grey-transparent-12": "--other-transparency-grey-12";
1363
+ readonly "grey-transparent-16": "--other-transparency-grey-16";
1364
+ readonly "grey-transparent-24": "--other-transparency-grey-24";
1365
+ readonly "grey-transparent-32": "--other-transparency-grey-32";
1366
+ readonly "grey-transparent-48": "--other-transparency-grey-48";
1367
+ readonly "grey2-transparent-8": "--other-transparency-grey2-8";
1368
+ readonly "grey2-transparent-12": "--other-transparency-grey2-12";
1369
+ readonly "grey2-transparent-16": "--other-transparency-grey2-16";
1370
+ readonly "grey2-transparent-24": "--other-transparency-grey2-24";
1371
+ readonly "grey2-transparent-32": "--other-transparency-grey2-32";
1372
+ readonly "grey2-transparent-48": "--other-transparency-grey2-48";
1373
+ readonly "white-transparent-8": "--other-transparency-white-08";
1374
+ readonly "white-transparent-12": "--other-transparency-white-12";
1375
+ readonly "white-transparent-16": "--other-transparency-white-16";
1376
+ readonly "white-transparent-24": "--other-transparency-white-24";
1377
+ readonly "white-transparent-32": "--other-transparency-white-32";
1378
+ readonly "white-transparent-48": "--other-transparency-white-48";
1379
+ readonly "black-transparent-8": "--other-transparency-black-08";
1380
+ readonly "black-transparent-12": "--other-transparency-black-12";
1381
+ readonly "black-transparent-16": "--other-transparency-black-16";
1382
+ readonly "black-transparent-24": "--other-transparency-black-24";
1383
+ readonly "black-transparent-32": "--other-transparency-black-32";
1384
+ readonly "black-transparent-48": "--other-transparency-black-48";
1385
+ };
1386
+ type ThemeColorKey = keyof typeof THEME_COLOR_KEYS;
1387
+ /**
1388
+ * Get computed color value from a CSS variable (respects current theme).
1389
+ * Use in browser only; returns empty string during SSR.
1390
+ *
1391
+ * @example
1392
+ * const primary = getThemeColor('primary');
1393
+ * const hex = getThemeColor('--primary-ramps-primary-100');
1394
+ */
1395
+ declare function getThemeColor(keyOrVar: ThemeColorKey | string, element?: HTMLElement | Document): string;
1396
+ /**
1397
+ * Get multiple theme colors as a JS object.
1398
+ *
1399
+ * @example
1400
+ * const colors = getThemeColors();
1401
+ * // { primary: '#2563eb', secondary: '#60a5fa', ... }
1402
+ */
1403
+ declare function getThemeColors(keys?: ThemeColorKey[], element?: HTMLElement | Document): Record<string, string>;
1404
+ declare const srgbToHex: (color: string) => string;
1405
+
1406
+ /**
1407
+ * Get all available Lucide icon names (kebab-case).
1408
+ * Use for autocomplete, validation, or browsing.
1409
+ *
1410
+ * @example
1411
+ * const names = await getLucideIconNames();
1412
+ * names.includes("eye-closed"); // true
1413
+ */
1414
+ declare function getLucideIconNames(): Promise<string[]>;
1415
+
1416
+ export { ActionButton, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Button, type ButtonProps, Calendar, Checkbox, Collapsible, type CustomSliderProps, DataTable, type DataTableProps, DatePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Dropdown, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type DropdownProps, FocusedScrollView, Footer, type FooterProps, type FooterVariant, Icon, Input, InputFilter, type InputFilterProps, type InputProps, Label, Loading, type MaskRule, MaskedTextInput, type MaskedTextInputProps, Menu, MenuItem, type MenuItemType, MenuLabel, type MenuOption, type MenuProps, MenuSeparator, Navbar, type NavbarProps, type NavbarVariant, NumberInput, type NumberInputProps, type Options$1 as Options, PasswordInput, type PasswordInputProps, Popover, PopoverContent, PopoverTrigger, ProgressBar, RadioGroup, RadioGroupItem, Search, type SearchProps, Slider, type SliderProps, Switch, THEME_COLOR_KEYS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, Text, TextArea, type TextAreaProps, TextInput, type ThemeColorKey, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, TooltipArrow, TooltipContent, TooltipProvider, TooltipSimple, TooltipTrigger, Tree, type TreeData, TreeItem, type TreeItemProps, type TreeProps, cn, getEndDateOfDay, getLucideIconNames, getStartDateOfDay, getStartEndTimestampOfDay, getThemeColor, getThemeColors, getTimestampUTC, reducer, resloveTimestamp, srgbToHex, toast, usePrevious, useToast };
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import "./icons/iconConfig";
5
5
  export { default as Button } from "./components/Button/Button";
6
6
  export { default as TextInput } from "./components/TextInput/TextInput";
7
7
  export { default as MaskedTextInput } from "./components/MaskedTextInput";
8
+ export { default as PasswordInput } from "./components/PasswordInput";
8
9
  export { NumberInput } from "./components/NumberInput/NumberInput";
9
10
  export { default as TextArea } from "./components/TextArea/TextArea";
10
11
  export { default as Text } from "./components/Text/Text";
@@ -14,6 +15,7 @@ export { Checkbox } from "./components/Checkbox/Checkbox";
14
15
  export { Label } from "./components/Label/Label";
15
16
  export { Input } from "./components/Input/Input";
16
17
  export { Navbar } from "./components/Navbar";
18
+ export { Footer } from "./components/Footer";
17
19
  export { default as ActionButton } from "./components/ActionButton/ActionButton";
18
20
  export { Avatar, AvatarGroup } from "./components/Avatar";
19
21
  export { Collapsible } from "./components/Collapsible";
@@ -46,5 +48,7 @@ export { resloveTimestamp, getStartDateOfDay, getEndDateOfDay, getStartEndTimest
46
48
  // Hooks
47
49
  export * from "./hooks";
48
50
  export { cn } from "./utils/cn";
51
+ export { srgbToHex, getThemeColor, getThemeColors, THEME_COLOR_KEYS, } from "./utils/colors";
52
+ export { getLucideIconNames } from "./icons/lucideIconNames";
49
53
  // const mainPreset = require("./theme/main-preset");
50
54
  // export { mainPreset };