@helpwave/hightide 0.5.4 → 0.6.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 (43) hide show
  1. package/dist/index.d.mts +1264 -1024
  2. package/dist/index.d.ts +1264 -1024
  3. package/dist/index.js +7184 -6197
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +6900 -5927
  6. package/dist/index.mjs.map +1 -1
  7. package/dist/style/globals.css +2554 -903
  8. package/dist/style/uncompiled/theme/colors/basic.css +1 -0
  9. package/dist/style/uncompiled/theme/colors/component.css +5 -8
  10. package/dist/style/uncompiled/theme/colors/semantic.css +17 -9
  11. package/dist/style/uncompiled/theme/colors/utilities.css +40 -10
  12. package/dist/style/uncompiled/theme/components/avatar.css +74 -0
  13. package/dist/style/uncompiled/theme/components/breadcrumb.css +15 -0
  14. package/dist/style/uncompiled/theme/components/button.css +65 -0
  15. package/dist/style/uncompiled/theme/components/card.css +13 -0
  16. package/dist/style/uncompiled/theme/components/checkbox.css +49 -0
  17. package/dist/style/uncompiled/theme/components/chip.css +22 -0
  18. package/dist/style/uncompiled/theme/components/day-picker.css +46 -0
  19. package/dist/style/uncompiled/theme/components/dialog.css +52 -0
  20. package/dist/style/uncompiled/theme/components/drawer.css +150 -0
  21. package/dist/style/uncompiled/theme/components/expandable.css +50 -0
  22. package/dist/style/uncompiled/theme/components/expansion-icon.css +13 -0
  23. package/dist/style/uncompiled/theme/components/form-field.css +17 -0
  24. package/dist/style/uncompiled/theme/components/general.css +28 -0
  25. package/dist/style/uncompiled/theme/components/index.css +23 -0
  26. package/dist/style/uncompiled/theme/components/input-elements.css +53 -0
  27. package/dist/style/uncompiled/theme/components/link.css +5 -0
  28. package/dist/style/uncompiled/theme/components/property.css +102 -0
  29. package/dist/style/uncompiled/theme/components/scrollbar.css +55 -0
  30. package/dist/style/uncompiled/theme/components/table.css +66 -0
  31. package/dist/style/uncompiled/theme/components/tabswitcher.css +23 -0
  32. package/dist/style/uncompiled/theme/components/textarea.css +5 -0
  33. package/dist/style/uncompiled/theme/components/time-picker.css +9 -0
  34. package/dist/style/uncompiled/theme/components/tooltip.css +56 -0
  35. package/dist/style/uncompiled/theme/index.css +6 -5
  36. package/dist/style/uncompiled/theme/variables.css +6 -0
  37. package/dist/style/uncompiled/utitlity/animation.css +149 -130
  38. package/dist/style/uncompiled/utitlity/coloring.css +16 -20
  39. package/dist/style/uncompiled/utitlity/focus.css +27 -0
  40. package/dist/style/uncompiled/utitlity/index.css +2 -1
  41. package/dist/style/uncompiled/utitlity/shadow.css +45 -24
  42. package/package.json +4 -3
  43. package/dist/style/uncompiled/theme/components.css +0 -290
@@ -0,0 +1,50 @@
1
+ @layer components {
2
+ [data-name="expandable-root"]:not(.default-style-none) {
3
+ @apply flex-col-0 surface coloring-solid rounded-lg shadow-sm;
4
+
5
+ &:not([data-disabled])[data-containertoggleable] {
6
+ @apply cursor-pointer;
7
+ }
8
+ }
9
+
10
+ [data-name="expandable-header"]:not(.default-style-none) {
11
+ @apply flex-row-2 justify-between items-center py-2 px-4 rounded-lg select-none;
12
+
13
+ &:not([data-disabled]) {
14
+ @apply cursor-pointer surface coloring-solid-hover;
15
+ }
16
+
17
+ &[data-disabled] {
18
+ @apply cursor-not-allowed disabled coloring-solid;
19
+ }
20
+ }
21
+
22
+ [data-name="expandable-content"]:not(.default-style-none) {
23
+ @apply flex-col-2 px-4 transition-all ease-in-out h-24;
24
+
25
+ &[data-state="opening"],
26
+ &[data-state="closing"] {
27
+ @apply overflow-hidden;
28
+ }
29
+
30
+ &[data-state="opened"] {
31
+ @apply overflow-y-auto;
32
+ }
33
+
34
+ &:not([data-expanded]) {
35
+ @apply max-h-0 opacity-0 overflow-hidden py-0 duration-[var(--animation-duration-out)];
36
+ }
37
+
38
+ &[data-expanded] {
39
+ @apply max-h-24 opacity-100 py-2 duration-[var(--animation-duration-in)];
40
+ }
41
+ }
42
+ }
43
+
44
+ @utility expadable-content-h-* {
45
+ height: calc(var(--spacing) * --value(number));
46
+
47
+ &[data-expanded] {
48
+ max-height: calc(var(--spacing) * --value(number));
49
+ }
50
+ }
@@ -0,0 +1,13 @@
1
+ @layer components {
2
+ [data-name="expansion-icon"]:not(.default-style-none) {
3
+ @apply flex-col-0 items-center justify-center size-6 transition-transform motion-safe:duration-200 motion-reduce:duration-0 ease-in-out;
4
+
5
+ &[data-expanded] {
6
+ @apply rotate-180;
7
+ }
8
+
9
+ &[data-disabled] {
10
+ @apply text-disabled;
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,17 @@
1
+ @layer components {
2
+ [data-name="form-field-container"] {
3
+ @apply relative flex-col-1;
4
+ }
5
+
6
+ [data-name="form-field-container"] {
7
+ @apply text-description text-sm;
8
+ }
9
+
10
+ [data-name="form-field-error"] {
11
+ @apply absolute top-[calc(100%_+_0.25rem)] left-0 text-negative text-sm font-medium;
12
+ }
13
+
14
+ [data-name="form-field-label"] {
15
+ @apply flex-row-1 items-start typography-label-lg text-label;
16
+ }
17
+ }
@@ -0,0 +1,28 @@
1
+ @layer components {
2
+ * {
3
+ @apply border-border list-none placeholder-placeholder;
4
+
5
+ @variant dark {
6
+ color-scheme: dark;
7
+ }
8
+ }
9
+
10
+ html {
11
+ @apply bg-background text-on-background;
12
+ }
13
+
14
+ @media (prefers-reduced-motion: reduce) {
15
+ * {
16
+ @apply transition-none animate-none;
17
+ }
18
+ }
19
+
20
+ /* move the focus styles into its own file and utilities */
21
+ *:focus {
22
+ @apply outline-0 ring-0;
23
+ }
24
+
25
+ * {
26
+ @apply focus-style-default;
27
+ }
28
+ }
@@ -0,0 +1,23 @@
1
+ @import "./button.css";
2
+ @import "./card.css";
3
+ @import "./chip.css";
4
+ @import "./input-elements.css";
5
+ @import "./table.css";
6
+ @import "./scrollbar.css";
7
+ @import "./link.css";
8
+ @import "./avatar.css";
9
+ @import "./chip.css";
10
+ @import "./breadcrumb.css";
11
+ @import "./tabswitcher.css";
12
+ @import "./expandable.css";
13
+ @import "./expansion-icon.css";
14
+ @import "./checkbox.css";
15
+ @import "./tooltip.css";
16
+ @import "./drawer.css";
17
+ @import "./dialog.css";
18
+ @import "./textarea.css";
19
+ @import "./form-field.css";
20
+ @import "./day-picker.css";
21
+ @import "./time-picker.css";
22
+ @import "./property.css";
23
+ @import "./general.css";
@@ -0,0 +1,53 @@
1
+ @utility input-element {
2
+ @apply border-2 focus-style-none focus-style-border;
3
+ &:not([data-disabled]):not([data-invalid]) {
4
+ @apply bg-input-background hover:border-primary-hover;
5
+
6
+ &:not([data-value]) {
7
+ @apply text-placeholder;
8
+ }
9
+
10
+ &[data-value] {
11
+ @apply text-input-text;
12
+ }
13
+ }
14
+
15
+ &:not([data-disabled])[data-invalid] {
16
+ @apply bg-negative/20 border-negative hover:border-negative-hover;
17
+
18
+ --color-focus: var(--color-negative);
19
+
20
+ &[data-value] {
21
+ @apply text-negative;
22
+ }
23
+
24
+ &:not([data-value]) {
25
+ @apply text-placeholder;
26
+ }
27
+ }
28
+
29
+ &[data-disabled] {
30
+ @apply border-disabled bg-disabled text-on-disabled placeholder:text-transparent cursor-not-allowed;
31
+ }
32
+ }
33
+
34
+ /* input-elements */
35
+ @layer components {
36
+ [data-name="input"]:not(.default-style-none) {
37
+ @apply px-3 py-2 rounded-md h-10 input-element;
38
+ }
39
+
40
+ [data-name="select-button"]:not(.default-style-none) {
41
+ @apply flex-row-2 items-center justify-between rounded-md px-3 py-2 input-element;
42
+ &:not([data-disabled]) {
43
+ @apply hover:cursor-pointer;
44
+ }
45
+ }
46
+
47
+ [data-name="select-button-chips"]:not(.default-style-none) {
48
+ @apply flex flex-wrap gap-2 items-center rounded-md px-2.5 py-2.5 input-element;
49
+ &:not([data-disabled]) {
50
+ @apply hover:cursor-pointer;
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,5 @@
1
+ @layer components {
2
+ .link {
3
+ @apply decoration-3 p-2 hover:underline focus:underline font-bold text-lg rounded;
4
+ }
5
+ }
@@ -0,0 +1,102 @@
1
+ @layer components {
2
+ [data-name="property-root"]:not(.default-style-none) {
3
+ @apply flex-row-0 rounded-xl;
4
+ }
5
+
6
+ [data-name="property-root"]:not(.default-style-none) {
7
+ transition: outline-offset var(--animation-duration-in, 250ms);
8
+ outline-offset: 0;
9
+
10
+ &:hover {
11
+ [data-name="property-title"]:not([data-invalid]),
12
+ [data-name="property-content"]:not([data-invalid]) {
13
+ @apply border-primary;
14
+ }
15
+
16
+ [data-name="property-title"][data-invalid],
17
+ [data-name="property-content"][data-invalid] {
18
+ @apply border-warning;
19
+ }
20
+ }
21
+
22
+ &:focus-within {
23
+ @apply outline-solid outline-2;
24
+ outline-offset: calc(var(--spacing) * 0.25);
25
+
26
+ &:not([data-invalid]) {
27
+ @apply outline-primary;
28
+ }
29
+
30
+ &[data-invalid] {
31
+ @apply outline-warning;
32
+ }
33
+ }
34
+ }
35
+
36
+
37
+ [data-name="property-title"]:not(.default-style-none) {
38
+ @apply flex-row-2 max-w-48 min-w-48 px-3 py-2 items-center justify-between rounded-l-xl border-2 border-r-0;
39
+
40
+ &:not([data-invalid]) {
41
+ @apply bg-property-title-background text-property-title-text;
42
+ }
43
+
44
+ &[data-invalid] {
45
+ @apply bg-warning text-on-warning border-warning-hover;
46
+ }
47
+ }
48
+
49
+
50
+ [data-name="property-title-icon"]:not(.default-style-none) {
51
+ @apply max-w-6 min-w-6;
52
+ }
53
+
54
+ [data-name="property-title-text"]:not(.default-style-none) {
55
+ @apply font-semibold truncate min-w-0;
56
+ }
57
+
58
+ [data-name="property-content"]:not(.default-style-none) {
59
+ @apply flex-row-2 grow px-3 py-2 justify-between items-center rounded-r-xl border-2 border-l-0 min-h-15;
60
+
61
+ &:not([data-invalid]) {
62
+ @apply bg-input-background text-input-text;
63
+ }
64
+
65
+ &[data-invalid] {
66
+ @apply bg-surface-warning border-warning;
67
+ }
68
+ }
69
+
70
+ [data-name="property-actions"]:not(.default-style-none) {
71
+ @apply flex-row-2 items-center gap-1;
72
+ }
73
+
74
+ [data-name="property-input-wrapper"]:not(.default-style-none) {
75
+ @apply relative flex-row-2 w-full;
76
+
77
+ &[data-invalid] {
78
+ @apply text-warning;
79
+
80
+ [data-name="select-button"],
81
+ [data-name="select-button-chips"] {
82
+ @apply !bg-warning !text-surface-warning;
83
+ }
84
+ }
85
+ }
86
+
87
+ [data-name="property-input"]:not(.default-style-none) {
88
+ @apply rounded p-1;
89
+
90
+ &[data-invalid] {
91
+ @apply bg-surface-warning placeholder-warning;
92
+ }
93
+ }
94
+
95
+ [data-name="property-suffix"]:not(.default-style-none) {
96
+ @apply absolute top-1/2 -translate-y-1/2 right-2;
97
+
98
+ &[data-invalid] {
99
+ @apply bg-surface-warning;
100
+ }
101
+ }
102
+ }
@@ -0,0 +1,55 @@
1
+ @layer components {
2
+ @supports (scrollbar-color: auto) {
3
+ * {
4
+ scrollbar-color: var(--color-gray-500) transparent;
5
+ }
6
+ }
7
+
8
+ /* Otherwise, use `::-webkit-scrollbar-*` pseudo-elements */
9
+ @supports selector(::-webkit-scrollbar) {
10
+ * {
11
+ scrollbar-color: initial;
12
+ }
13
+
14
+ :root {
15
+ --scrollbar-width: 10px;
16
+ --scrollbar-padding: 1px;
17
+ }
18
+
19
+ *::-webkit-scrollbar {
20
+ width: var(--scrollbar-width);
21
+ height: var(--scrollbar-width);
22
+ }
23
+
24
+ *::-webkit-scrollbar-track {
25
+ border-radius: 9999px;
26
+ background: transparent;
27
+ cursor: default;
28
+ }
29
+
30
+ *::-webkit-scrollbar-thumb {
31
+ background-color: var(--color-gray-500);
32
+ border-radius: 9999px;
33
+ border: var(--scrollbar-padding) solid transparent;
34
+ background-clip: padding-box;
35
+ cursor: default;
36
+ transition: background-color 0.2s ease;
37
+ }
38
+
39
+ *::-webkit-scrollbar-thumb:active {
40
+ background-color: var(--color-gray-600);
41
+ }
42
+
43
+ *::-webkit-scrollbar-thumb:vertical {
44
+ min-height: calc(var(--scrollbar-width) * 3);
45
+ }
46
+
47
+ *::-webkit-scrollbar-thumb:horizontal {
48
+ min-width: calc(var(--scrollbar-width) * 3);
49
+ }
50
+
51
+ *::-webkit-scrollbar-corner {
52
+ background: transparent;
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,66 @@
1
+ @layer components {
2
+ [data-name="table-container"] {
3
+ @apply flex-col-4;
4
+ }
5
+
6
+ [data-name="table-scroll-wrapper"] {
7
+ @apply flex-col-0 w-full overflow-auto;
8
+ }
9
+
10
+ [data-name="table"] {
11
+ @apply table-fixed border-separate border-spacing-0 rounded-lg;
12
+ @apply bg-table-background text-table-text;
13
+ }
14
+
15
+ [data-name="table-filler-cell"] {
16
+ @apply flex flex-row items-center w-1/2 h-4 text-disabled font-bold;
17
+ }
18
+
19
+ [data-name="table-cell"] {
20
+ @apply block max-w-full overflow-ellipsis truncate;
21
+ }
22
+
23
+ [data-name="table-header-row"] {
24
+ }
25
+
26
+ [data-name="table-header-cell"] {
27
+ @apply relative font-bold;
28
+ @apply px-3 first:pl-6 last:pr-6 py-2.5;
29
+ @apply border-y-1 first:border-l-1 last:border-r-1;
30
+ @apply first:rounded-tl-lg last:rounded-tr-lg;
31
+ @apply bg-table-header-background text-description;
32
+ }
33
+
34
+ [data-name="table-body-row"] {
35
+ @apply hover:bg-table-row-hover-background;
36
+ }
37
+
38
+ [data-name="table-body-cell"] {
39
+ @apply px-3 first:pl-6 last:pr-6 py-2.5;
40
+ @apply border-b-1 first:border-l-1 last:border-r-1;
41
+ @apply [nth-last-child(1)]:first:rounded-bl-lg [nth-last-child(1)]:last:rounded-br-lg;
42
+ }
43
+
44
+ [data-name="table-resize-indicator"] {
45
+ @apply absolute right-1 top-1/2 -translate-y-1/2;
46
+ @apply h-6 w-2 rounded bg-primary;
47
+ @apply cursor-col-resize select-none touch-none;
48
+ @apply opacity-0 transition-opacity;
49
+
50
+ &[data-active] {
51
+ @apply opacity-100;
52
+ }
53
+
54
+ &[data-disabled] {
55
+ @apply opacity-0 hidden;
56
+ }
57
+
58
+ &:not([data-disabled]) {
59
+ @apply group-hover/table-header-cell:opacity-100;
60
+ }
61
+ }
62
+
63
+ [data-name="table-body-row"]:last-child > [data-name="table-body-cell"] {
64
+ @apply first:rounded-bl-lg last:rounded-br-lg;
65
+ }
66
+ }
@@ -0,0 +1,23 @@
1
+ @layer components {
2
+ [data-name="tab-list"] {
3
+ @apply flex-row-0;
4
+ }
5
+
6
+ [data-name="tab-list-item"] {
7
+ @apply flex-row-0 grow justify-center px-3 py-2 typography-label-md font-bold border-b-2 transition-colors neutral coloring-text-hover;
8
+ &[data-active] {
9
+ @apply border-primary;
10
+ }
11
+ &:not([data-active]) {
12
+ @apply text-description hover:cursor-pointer;
13
+ }
14
+ }
15
+
16
+ [data-name="tab-view"] {
17
+ @apply flex-col;
18
+ }
19
+
20
+ [data-name="tab-panel"] {
21
+ @apply flex-col-0 overflow-y-auto;
22
+ }
23
+ }
@@ -0,0 +1,5 @@
1
+ @layer components {
2
+ [data-name="textarea"]:not(.default-style-none) {
3
+ @apply w-full h-32 py-2 px-3 rounded-md resize-none overflow-y-scroll input-element;
4
+ }
5
+ }
@@ -0,0 +1,9 @@
1
+ @layer components {
2
+ [data-name="time-picker-container"] {
3
+ @apply flex-row-2 flex-1 min-h-0 select-none overflow-hidden;
4
+ }
5
+
6
+ [data-name="time-picker-value-column"] {
7
+ @apply flex-col-1 flex-1 overflow-y-auto min-w-20 max-w-20;
8
+ }
9
+ }
@@ -0,0 +1,56 @@
1
+ @layer components {
2
+ [data-name="tooltip"] {
3
+ @apply absolute px-2 py-1 rounded shadow-around-md;
4
+ @apply text-xs font-semibold text-tooltip-text bg-tooltip-background;
5
+
6
+ &[data-state="opening"] {
7
+ @apply opacity-0 animate-tooltip-fade-in;
8
+ }
9
+ &[data-state="closing"] {
10
+ @apply opacity-0 animate-tooltip-fade-out;
11
+ }
12
+ &[data-state="closed"] {
13
+ @apply opacity-0;
14
+ }
15
+ }
16
+
17
+ [data-name="tooltip-triangle"] {
18
+ @apply absolute w-0 h-0;
19
+ --triangle-size: calc(1.5 * var(--spacing));
20
+
21
+ &[data-state="opening"] {
22
+ @apply opacity-0 animate-tooltip-fade-in;
23
+ }
24
+ &[data-state="closing"] {
25
+ @apply opacity-0 animate-tooltip-fade-out;
26
+ }
27
+ &[data-state="closed"] {
28
+ @apply opacity-0;
29
+ }
30
+
31
+ &[data-position="top"] {
32
+ @apply border-t-tooltip-background border-l-transparent border-r-transparent;
33
+ border-width: var(--triangle-size) var(--triangle-size) 0
34
+ var(--triangle-size);
35
+ transform: translate(0, var(--triangle-size));
36
+ }
37
+ &[data-position="bottom"] {
38
+ @apply border-b-tooltip-background border-l-transparent border-r-transparent;
39
+ border-width: 0 var(--triangle-size) var(--triangle-size)
40
+ var(--triangle-size);
41
+ transform: translate(0, calc(-1 * var(--triangle-size)));
42
+ }
43
+ &[data-position="left"] {
44
+ @apply border-l-tooltip-background border-t-transparent border-b-transparent;
45
+ border-width: var(--triangle-size) 0 var(--triangle-size)
46
+ var(--triangle-size);
47
+ transform: translate(var(--triangle-size), 0);
48
+ }
49
+ &[data-position="right"] {
50
+ @apply border-r-tooltip-background border-t-transparent border-b-transparent;
51
+ border-width: var(--triangle-size) var(--triangle-size)
52
+ var(--triangle-size) 0;
53
+ transform: translate(calc(-1 * var(--triangle-size)), 0);
54
+ }
55
+ }
56
+ }
@@ -1,5 +1,6 @@
1
- @import './colors/index.css';
2
- @import './typography.css';
3
- @import './breakpoints.css';
4
- @import './components.css';
5
- @import './shadow.css';
1
+ @import "./colors/index.css";
2
+ @import "./typography.css";
3
+ @import "./breakpoints.css";
4
+ @import "./components/index.css";
5
+ @import "./shadow.css";
6
+ @import "./variables.css";
@@ -0,0 +1,6 @@
1
+ :root {
2
+ --spacing: 0.25rem;
3
+ --drawer-indent: calc(4 * var(--spacing));
4
+ --animation-duration-in: 250ms;
5
+ --animation-duration-out: 170ms;
6
+ }