h2o-library 1.1.0 → 1.2.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 (46) hide show
  1. package/README.md +1 -1
  2. package/dist/components/index.d.ts +2 -1
  3. package/dist/components/src/accordion.d.ts +4 -1
  4. package/dist/components/src/calendar.d.ts +12 -0
  5. package/dist/components/src/expandable.d.ts +1 -1
  6. package/dist/components/src/icon.d.ts +1 -1
  7. package/dist/components/src/logo.d.ts +5 -0
  8. package/dist/components/src/popover.d.ts +7 -5
  9. package/dist/components/src/radio.d.ts +1 -1
  10. package/dist/components/src/side-panel.d.ts +1 -1
  11. package/dist/components/src/toggle.d.ts +2 -1
  12. package/dist/css/index.css +1 -1
  13. package/dist/css/src/accordion.css +14 -8
  14. package/dist/css/src/button.css +1 -1
  15. package/dist/css/src/calendar.css +197 -7
  16. package/dist/css/src/content-switch.css +1 -0
  17. package/dist/css/src/dropdown.css +4 -4
  18. package/dist/css/src/index.css +0 -3
  19. package/dist/css/src/input.css +15 -6
  20. package/dist/css/src/modal.css +2 -2
  21. package/dist/css/src/multi-select.css +1 -1
  22. package/dist/css/src/popover.css +4 -1
  23. package/dist/css/src/side-panel.css +3 -4
  24. package/dist/css/src/table.css +7 -8
  25. package/dist/css/src/tabs.css +1 -1
  26. package/dist/css/src/textarea.css +20 -5
  27. package/dist/css/src/toggle.css +23 -4
  28. package/dist/css/src/tooltip.css +5 -5
  29. package/dist/esm/components/index.d.ts +2 -1
  30. package/dist/esm/components/src/accordion.d.ts +4 -1
  31. package/dist/esm/components/src/calendar.d.ts +12 -0
  32. package/dist/esm/components/src/expandable.d.ts +1 -1
  33. package/dist/esm/components/src/icon.d.ts +1 -1
  34. package/dist/esm/components/src/logo.d.ts +5 -0
  35. package/dist/esm/components/src/popover.d.ts +7 -5
  36. package/dist/esm/components/src/radio.d.ts +1 -1
  37. package/dist/esm/components/src/side-panel.d.ts +1 -1
  38. package/dist/esm/components/src/toggle.d.ts +2 -1
  39. package/dist/esm/css/index.css +1 -1
  40. package/dist/esm/index.js +1 -1
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/index.cjs.js +1 -1
  43. package/dist/index.cjs.js.map +1 -1
  44. package/package.json +8 -5
  45. package/dist/components/src/date-picker.d.ts +0 -13
  46. package/dist/esm/components/src/date-picker.d.ts +0 -13
@@ -5,6 +5,12 @@
5
5
  width: 100%;
6
6
  }
7
7
 
8
+ .textarea::placeholder {
9
+ color: hsl(var(--muted));
10
+ font-size: 0.875rem;
11
+ font-weight: 400;
12
+ }
13
+
8
14
  .textarea-header {
9
15
  display: flex;
10
16
  align-items: center;
@@ -22,7 +28,7 @@
22
28
 
23
29
  .textarea-clear {
24
30
  font-size: 0.875rem;
25
- color: hsl(var(--muted-100));
31
+ color: hsl(var(--muted-200));
26
32
  background: none;
27
33
  border: none;
28
34
  cursor: pointer;
@@ -43,8 +49,9 @@
43
49
  position: relative;
44
50
  display: flex;
45
51
  width: 100%;
46
- border-radius: 0.375rem;
52
+ border-radius: var(--radius-md);
47
53
  border: 1.5px solid hsl(var(--muted));
54
+ background: hsl(var(--background));
48
55
  transition: border-color 0.2s, background-color 0.2s;
49
56
  }
50
57
 
@@ -81,7 +88,7 @@
81
88
 
82
89
  .textarea-wrapper.textarea-error {
83
90
  border-color: hsl(var(--destructive));
84
- background-color: hsl(var(--destructive) / 0.05);
91
+ background-color: hsl(var(--destructive-bg) / 0.3);
85
92
  }
86
93
 
87
94
  .textarea-wrapper.textarea-error:hover,
@@ -97,10 +104,10 @@
97
104
  .textarea {
98
105
  width: 100%;
99
106
  min-height: 100px;
100
- background: transparent;
101
107
  border: none;
102
108
  outline: none;
103
109
  color: hsl(var(--foreground));
110
+ background: none;
104
111
  padding: 0.75rem 1rem;
105
112
  resize: vertical;
106
113
  appearance: none;
@@ -134,7 +141,7 @@
134
141
 
135
142
  .textarea-note {
136
143
  font-size: 0.875rem;
137
- color: hsl(var(--muted-100));
144
+ color: hsl(var(--muted-200));
138
145
  transition: color 0.2s;
139
146
  }
140
147
 
@@ -154,3 +161,11 @@
154
161
  font-size: 0.875rem;
155
162
  color: hsl(var(--destructive));
156
163
  }
164
+
165
+ .textarea-info-icon {
166
+ color: hsl(var(--muted-200));
167
+ }
168
+
169
+ .textarea-info-icon:hover {
170
+ color: hsl(var(--primary));
171
+ }
@@ -4,16 +4,35 @@
4
4
  align-items: center;
5
5
  cursor: pointer;
6
6
  user-select: none;
7
+ width: 100%;
7
8
  }
8
9
 
9
10
  .toggle-text {
10
11
  color: hsl(var(--foreground));
11
- max-width: 80%;
12
+ max-width: 100%;
13
+ height: 24px;
12
14
  white-space: nowrap;
13
15
  overflow: hidden;
14
16
  text-overflow: ellipsis;
15
17
  }
16
18
 
19
+ .toggle-label-content {
20
+ display: flex;
21
+ flex-direction: column;
22
+ gap: 2px;
23
+ width: calc(100% - 56px);
24
+ }
25
+
26
+ .toggle-description {
27
+ color: hsl(var(--muted-200));
28
+ font-size: 0.875rem;
29
+ line-height: 1.25rem;
30
+ max-width: 100%;
31
+ white-space: normal;
32
+ overflow: hidden;
33
+ text-overflow: ellipsis;
34
+ }
35
+
17
36
  .toggle-label input {
18
37
  position: absolute;
19
38
  opacity: 0;
@@ -23,8 +42,8 @@
23
42
 
24
43
  .toggle-container {
25
44
  display: flex;
26
- align-items: center;
27
45
  gap: 12px;
46
+ width: 100%;
28
47
  }
29
48
 
30
49
  /* Toggle Switch */
@@ -99,7 +118,7 @@
99
118
  }
100
119
 
101
120
  .toggle-drag-handle {
102
- color: hsl(var(--muted-100));
121
+ color: hsl(var(--muted-200));
103
122
  cursor: grab;
104
123
  }
105
124
 
@@ -118,5 +137,5 @@
118
137
  }
119
138
 
120
139
  .toggle-label:has(input:disabled) .toggle-text {
121
- color: hsl(var(--muted-100));
140
+ color: hsl(var(--muted-200));
122
141
  }
@@ -6,7 +6,7 @@
6
6
  .tooltip-container::before {
7
7
  content: attr(data-tooltip);
8
8
  position: absolute;
9
- background-color: hsl(var(--muted-50));
9
+ background-color: hsl(var(--muted));
10
10
  color: black;
11
11
  padding: 0.5rem 1rem;
12
12
  border-radius: 4px;
@@ -50,7 +50,7 @@
50
50
  bottom: 100%;
51
51
  left: 50%;
52
52
  transform: translateX(-50%);
53
- border-top-color: hsl(var(--muted-50));
53
+ border-top-color: hsl(var(--muted));
54
54
  margin-bottom: -8px;
55
55
  }
56
56
 
@@ -66,7 +66,7 @@
66
66
  top: 100%;
67
67
  left: 50%;
68
68
  transform: translateX(-50%);
69
- border-bottom-color: hsl(var(--muted-50));
69
+ border-bottom-color: hsl(var(--muted));
70
70
  margin-top: -8px;
71
71
  }
72
72
 
@@ -82,7 +82,7 @@
82
82
  right: 100%;
83
83
  top: 50%;
84
84
  transform: translateY(-50%);
85
- border-left-color: hsl(var(--muted-50));
85
+ border-left-color: hsl(var(--muted));
86
86
  margin-right: -8px;
87
87
  }
88
88
 
@@ -98,6 +98,6 @@
98
98
  left: 100%;
99
99
  top: 50%;
100
100
  transform: translateY(-50%);
101
- border-right-color: hsl(var(--muted-50));
101
+ border-right-color: hsl(var(--muted));
102
102
  margin-left: -8px;
103
103
  }
@@ -13,7 +13,6 @@ export * from "./src/side-panel";
13
13
  export * from "./src/modal";
14
14
  export * from "./src/tag";
15
15
  export * from "./src/accordion";
16
- export * from "./src/date-picker";
17
16
  export * from "./src/multi-select";
18
17
  export * from "./src/radio-group";
19
18
  export * from "./src/tabs";
@@ -22,3 +21,5 @@ export * from "./src/popover";
22
21
  export * from "./src/pagination";
23
22
  export * from "./src/table";
24
23
  export * from "./src/toast";
24
+ export * from "./src/logo";
25
+ export * from "./src/calendar";
@@ -4,6 +4,9 @@ export interface AccordionProps {
4
4
  isOpen: boolean;
5
5
  setIsOpen: (isOpen: boolean) => void;
6
6
  children: React.ReactNode;
7
+ description?: string;
7
8
  className?: string;
9
+ titleClassName?: string;
10
+ descriptionClassName?: string;
8
11
  }
9
- export declare const Accordion: ({ title, isOpen, setIsOpen, children, className, }: AccordionProps) => React.JSX.Element;
12
+ export declare const Accordion: ({ title, isOpen, setIsOpen, children, description, className, titleClassName, descriptionClassName, }: AccordionProps) => React.JSX.Element;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ type CalendarMode = "single" | "range";
3
+ interface CalendarProps {
4
+ mode?: CalendarMode;
5
+ value?: Date | [Date | null, Date | null];
6
+ onChange?: (value: Date | [Date | null, Date | null]) => void;
7
+ minDate?: Date;
8
+ maxDate?: Date;
9
+ forceWeek?: boolean;
10
+ }
11
+ declare const Calendar: ({ mode, value, onChange, minDate, maxDate, forceWeek, }: CalendarProps) => JSX.Element | null;
12
+ export { Calendar };
@@ -5,4 +5,4 @@ export interface ExpandableSearchProps {
5
5
  className?: string;
6
6
  value?: string;
7
7
  }
8
- export declare const ExpandableSearch: React.FC<ExpandableSearchProps>;
8
+ export declare const ExpandableSearch: ({ onSearch, placeholder, className, value, }: ExpandableSearchProps) => React.JSX.Element;
@@ -6,4 +6,4 @@ export interface IconProps extends React.SVGProps<SVGSVGElement> {
6
6
  tooltip?: string;
7
7
  tooltipPosition?: TooltipPosition;
8
8
  }
9
- export declare const Icon: React.FC<IconProps>;
9
+ export declare const Icon: ({ icon, size, tooltip, tooltipPosition, ...props }: IconProps) => JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export declare function Logo({ className, size, }: {
3
+ className?: string;
4
+ size?: number;
5
+ }): React.JSX.Element;
@@ -1,14 +1,16 @@
1
- import React from "react";
1
+ import React, { ReactNode } from "react";
2
2
  interface PopOverProps {
3
3
  isOpen: boolean;
4
4
  setIsOpen: (isOpen: boolean) => void;
5
5
  children: React.ReactNode;
6
+ alignment?: "left" | "right";
7
+ className?: string;
6
8
  }
7
- export declare const PopOver: ({ children, isOpen, setIsOpen }: PopOverProps) => React.JSX.Element;
9
+ export declare const PopOver: ({ children, isOpen, setIsOpen, alignment, className, }: PopOverProps) => React.JSX.Element;
8
10
  export declare const PopOverTrigger: ({ children }: {
9
11
  children: React.ReactNode;
10
12
  }) => React.JSX.Element;
11
- export declare const PopOverContent: ({ children }: {
12
- children: React.ReactNode;
13
- }) => React.ReactPortal | null;
13
+ export declare const PopOverContent: ({ children, }: {
14
+ children: ReactNode;
15
+ }) => JSX.Element | null;
14
16
  export {};
@@ -3,4 +3,4 @@ export interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
3
3
  label?: string;
4
4
  className?: string;
5
5
  }
6
- export declare const Radio: React.FC<RadioProps>;
6
+ export declare const Radio: ({ label, className, ...props }: RadioProps) => JSX.Element;
@@ -7,4 +7,4 @@ export interface SidePanelProps {
7
7
  children: React.ReactNode;
8
8
  className?: string;
9
9
  }
10
- export declare const SidePanel: ({ isOpen, onClose, title, description, children, className, }: SidePanelProps) => React.ReactPortal | null;
10
+ export declare const SidePanel: ({ isOpen, onClose, title, description, children, className, }: SidePanelProps) => JSX.Element | null;
@@ -1,8 +1,9 @@
1
1
  import React from "react";
2
2
  export interface ToggleProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> {
3
3
  label?: string;
4
+ description?: string;
4
5
  className?: string;
5
6
  isCard?: boolean;
6
7
  isDraggable?: boolean;
7
8
  }
8
- export declare const Toggle: React.FC<ToggleProps>;
9
+ export declare const Toggle: ({ label, description, className, isCard, isDraggable, ...props }: ToggleProps) => JSX.Element;
@@ -1 +1 @@
1
- :root{--background:0 0% 100%;--foreground:160 10% 10%;--primary-disabled:225 100% 88%;--primary-muted:221 100% 95%;--primary:225 91% 59%;--primary-200:225 100% 43%;--primary-300:225 91% 40%;--primary-400:225 91% 18%;--success-bg:143 26% 86%;--success:130 35% 46%;--success-200:130 76% 26%;--success-300:130 100% 18%;--warning-bg:45 100% 84%;--warning:45 100% 61%;--warning-200:45 100% 45%;--warning-300:45 100% 32%;--destructive-bg:357 100% 92%;--destructive:0 83% 60%;--destructive-200:0 100% 42%;--destructive-300:0 100% 29%;--muted-25:0 0 98%;--muted-50:0 0 96%;--muted:0 0 80%;--muted-200:0 0 67%;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-full:9999px}@import "./src/accordion.css";@import "./src/button.css";@import "./src/calendar.css";@import "./src/checkbox.css";@import "./src/content-switch.css";@import "./src/dropdown.css";@import "./src/input.css";@import "./src/modal.css";@import "./src/multi-select.css";@import "./src/popover.css";@import "./src/radio.css";@import "./src/search.css";@import "./src/side-panel.css";@import "./src/status.css";@import "./src/tabs.css";@import "./src/tag.css";@import "./src/textarea.css";@import "./src/toggle.css";@import "./src/tooltip.css";@import "./src/pagination.css";@import "./src/table.css";@import "./src/toast.css";
1
+ :root{--primary-disabled:225 100% 88%;--primary-muted:221 100% 95%;--primary:225 91% 59%;--primary-200:225 100% 43%;--primary-300:225 91% 40%;--primary-400:225 91% 18%;--success-bg:143 26% 86%;--success:130 35% 46%;--success-200:130 76% 26%;--success-300:130 100% 18%;--warning-bg:45 100% 84%;--warning:45 100% 61%;--warning-200:45 100% 45%;--warning-300:45 100% 32%;--destructive-bg:357 100% 92%;--destructive:0 83% 60%;--destructive-200:0 100% 42%;--destructive-300:0 100% 29%;--muted-25:0 0 98%;--muted-50:0 0 96%;--muted:0 0 80%;--muted-200:0 0 67%;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-full:9999px}@import "./src/accordion.css";@import "./src/button.css";@import "./src/calendar.css";@import "./src/checkbox.css";@import "./src/content-switch.css";@import "./src/dropdown.css";@import "./src/input.css";@import "./src/modal.css";@import "./src/multi-select.css";@import "./src/popover.css";@import "./src/radio.css";@import "./src/search.css";@import "./src/side-panel.css";@import "./src/status.css";@import "./src/tabs.css";@import "./src/tag.css";@import "./src/textarea.css";@import "./src/toggle.css";@import "./src/tooltip.css";@import "./src/pagination.css";@import "./src/table.css";@import "./src/toast.css";