@helpwave/hightide 0.8.11 → 0.9.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.
@@ -3,6 +3,7 @@
3
3
  --coloring-color: var(--color-primary);
4
4
  --coloring-on-color: var(--color-on-primary);
5
5
  --coloring-hover: var(--color-primary-hover);
6
+ --color-focus: var(--color-primary);
6
7
  }
7
8
 
8
9
  @utility secondary {
@@ -10,6 +11,7 @@
10
11
  --coloring-color: var(--color-secondary);
11
12
  --coloring-on-color: var(--color-on-secondary);
12
13
  --coloring-hover: var(--color-secondary-hover);
14
+ --color-focus: var(--color-secondary);
13
15
  }
14
16
 
15
17
  @utility positive {
@@ -17,6 +19,7 @@
17
19
  --coloring-color: var(--color-positive);
18
20
  --coloring-on-color: var(--color-on-positive);
19
21
  --coloring-hover: var(--color-positive-hover);
22
+ --color-focus: var(--color-positive);
20
23
  }
21
24
 
22
25
  @utility negative {
@@ -24,6 +27,7 @@
24
27
  --coloring-color: var(--color-negative);
25
28
  --coloring-on-color: var(--color-on-negative);
26
29
  --coloring-hover: var(--color-negative-hover);
30
+ --color-focus: var(--color-negative);
27
31
  }
28
32
 
29
33
  @utility warning {
@@ -31,6 +35,7 @@
31
35
  --coloring-color: var(--color-warning);
32
36
  --coloring-on-color: var(--color-on-warning);
33
37
  --coloring-hover: var(--color-warning-hover);
38
+ --color-focus: var(--color-warning);
34
39
  }
35
40
 
36
41
  @utility neutral {
@@ -73,6 +78,7 @@
73
78
  @apply data-[coloringstyle=text]:coloring-text;
74
79
  @apply data-[coloringstyle=outline]:coloring-outline;
75
80
  @apply data-[coloringstyle=tonal]:coloring-tonal;
81
+ @apply data-[coloringstyle=tonal-outline]:coloring-tonal-outline;
76
82
  }
77
83
 
78
84
  @utility coloring-style-hover-detect {
@@ -80,6 +86,7 @@
80
86
  @apply data-[coloringstyle=text]:coloring-text-hover;
81
87
  @apply data-[coloringstyle=outline]:coloring-outline-hover;
82
88
  @apply data-[coloringstyle=tonal]:coloring-tonal-hover;
89
+ @apply data-[coloringstyle=tonal-outline]:coloring-tonal-outline-hover;
83
90
  }
84
91
 
85
92
  @utility coloring-color-detect {
@@ -92,4 +99,4 @@
92
99
  @apply data-[color=description]:description;
93
100
  @apply data-[color=surface]:surface;
94
101
  @apply data-[color=disabled]:disabled;
95
- }
102
+ }
@@ -14,7 +14,8 @@
14
14
  &[data-size="xs"] {
15
15
  @apply gap-x-1 sizing-xs;
16
16
  @apply text-xs min-w-20;
17
- &[data-coloringstyle="outline"] {
17
+ &[data-coloringstyle="outline"],
18
+ &[data-coloringstyle="tonal-outline"] {
18
19
  padding:
19
20
  calc(var(--spacing-element-padding-xs) - var(--coloring-outline-width))
20
21
  calc(var(--spacing-element-padding-direction-xs) - var(--coloring-outline-width));
@@ -23,7 +24,8 @@
23
24
  &[data-size="sm"] {
24
25
  @apply gap-x-1 sizing-sm;
25
26
  @apply min-w-28;
26
- &[data-coloringstyle="outline"] {
27
+ &[data-coloringstyle="outline"],
28
+ &[data-coloringstyle="tonal-outline"] {
27
29
  padding:
28
30
  calc(var(--spacing-element-padding-sm) - var(--coloring-outline-width))
29
31
  calc(var(--spacing-element-padding-direction-sm) - var(--coloring-outline-width));
@@ -32,7 +34,8 @@
32
34
  &[data-size="md"] {
33
35
  @apply gap-x-2 sizing-md;
34
36
  @apply min-w-36;
35
- &[data-coloringstyle="outline"] {
37
+ &[data-coloringstyle="outline"],
38
+ &[data-coloringstyle="tonal-outline"] {
36
39
  padding:
37
40
  calc(var(--spacing-element-padding-md) - var(--coloring-outline-width))
38
41
  calc(var(--spacing-element-padding-direction-md) - var(--coloring-outline-width));
@@ -41,7 +44,8 @@
41
44
  &[data-size="lg"] {
42
45
  @apply gap-x-2 sizing-lg;
43
46
  @apply text-lg min-w-45;
44
- &[data-coloringstyle="outline"] {
47
+ &[data-coloringstyle="outline"],
48
+ &[data-coloringstyle="tonal-outline"] {
45
49
  padding:
46
50
  calc(var(--spacing-element-padding-lg) - var(--coloring-outline-width))
47
51
  calc(var(--spacing-element-padding-direction-lg) - var(--coloring-outline-width));
@@ -1,6 +1,14 @@
1
1
  @layer components {
2
2
  [data-name="checkbox"] {
3
3
  @apply flex-col-0 items-center justify-center rounded border-2;
4
+ transition:
5
+ border-color var(--animation-duration-in, 250ms) ease-in-out,
6
+ box-shadow var(--animation-duration-in, 250ms) ease-in-out,
7
+ outline-color var(--animation-duration-in, 250ms) ease-in-out,
8
+ outline-offset var(--animation-duration-in, 250ms) ease-in-out,
9
+ color 100ms ease-in-out,
10
+ background-color 100ms ease-in-out;
11
+
4
12
  &:not([data-disabled]) {
5
13
  @apply hover:cursor-pointer;
6
14
  }
@@ -0,0 +1,25 @@
1
+ @layer components {
2
+ [data-name="combobox-root"] {
3
+ @apply flex-col-2;
4
+ }
5
+
6
+ [data-name="combobox-input"] {
7
+ @apply input-element rounded-md;
8
+ }
9
+
10
+ [data-name="combobox-list"] {
11
+ @apply flex-col-1 overflow-y-auto;
12
+ }
13
+
14
+ [data-name="combobox-option"] {
15
+ @apply flex-row-1 items-center px-2 py-1 rounded-md cursor-pointer;
16
+
17
+ &[data-highlighted] {
18
+ @apply bg-primary/20;
19
+ }
20
+ }
21
+
22
+ [data-name="combobox-list-status"] {
23
+ @apply text-description text-sm px-2 py-1 rounded-md;
24
+ }
25
+ }
@@ -23,6 +23,6 @@
23
23
  }
24
24
 
25
25
  * {
26
- @apply focus-style-outline focusable;
26
+ @apply focus-style-outline focusable outline-focus;
27
27
  }
28
- }
28
+ }
@@ -12,25 +12,29 @@
12
12
 
13
13
  &[data-size="xs"] {
14
14
  @apply sizing-xs;
15
- &[data-coloringstyle="outline"] {
15
+ &[data-coloringstyle="outline"],
16
+ &[data-coloringstyle="tonal-outline"] {
16
17
  padding: calc(var(--spacing-element-padding-xs) - var(--coloring-outline-width));
17
18
  }
18
19
  }
19
20
  &[data-size="sm"] {
20
21
  @apply sizing-sm;
21
- &[data-coloringstyle="outline"] {
22
+ &[data-coloringstyle="outline"],
23
+ &[data-coloringstyle="tonal-outline"] {
22
24
  padding: calc(var(--spacing-element-padding-sm) - var(--coloring-outline-width));
23
25
  }
24
26
  }
25
27
  &[data-size="md"] {
26
28
  @apply sizing-md;
27
- &[data-coloringstyle="outline"] {
29
+ &[data-coloringstyle="outline"],
30
+ &[data-coloringstyle="tonal-outline"] {
28
31
  padding: calc(var(--spacing-element-padding-md) - var(--coloring-outline-width));
29
32
  }
30
33
  }
31
34
  &[data-size="lg"] {
32
35
  @apply sizing-lg;
33
- &[data-coloringstyle="outline"] {
36
+ &[data-coloringstyle="outline"],
37
+ &[data-coloringstyle="tonal-outline"] {
34
38
  padding: calc(var(--spacing-element-padding-lg) - var(--coloring-outline-width));
35
39
  }
36
40
  }
@@ -24,6 +24,7 @@
24
24
  @import "./property.css";
25
25
  @import "./pop-up.css";
26
26
  @import "./select.css";
27
+ @import "./combobox.css";
27
28
  @import "./general.css";
28
29
  @import "./icon-button.css";
29
30
  @import "./date-time-input.css";
@@ -1,5 +1,13 @@
1
1
  @utility input-element {
2
2
  @apply border-2 focus-style-none focus-style-border focus-style-shadow;
3
+ transition:
4
+ border-color var(--animation-duration-in, 250ms) ease-in-out,
5
+ box-shadow var(--animation-duration-in, 250ms) ease-in-out,
6
+ outline-color var(--animation-duration-in, 250ms) ease-in-out,
7
+ outline-offset var(--animation-duration-in, 250ms) ease-in-out,
8
+ color var(--animation-duration-in, 250ms) ease-in-out,
9
+ background-color var(--animation-duration-in, 250ms) ease-in-out;
10
+
3
11
  &:not([data-disabled]):not([data-invalid]) {
4
12
  @apply bg-input-background hover:border-primary-hover;
5
13
 
@@ -1,7 +1,14 @@
1
1
  [data-name="pop-up"] {
2
- @apply surface coloring-solid rounded-md border-2 border-outline-variant shadow-md;
2
+ @apply surface coloring-solid rounded-md border-2 border-outline-variant shadow-lg shadow-black/15;
3
3
  @apply focus-within:border-primary;
4
4
 
5
+ transition:
6
+ top var(--anchored-position-polling-interval, 100ms) linear,
7
+ left var(--anchored-position-polling-interval, 100ms) linear,
8
+ right var(--anchored-position-polling-interval, 100ms) linear,
9
+ bottom var(--anchored-position-polling-interval, 100ms) linear,
10
+ border-color var(--animation-duration-in, 250ms) ease-in-out,
11
+ box-shadow var(--animation-duration-in, 250ms) ease-in-out;
5
12
  &[data-positioned] {
6
13
  @apply animate-pop-in;
7
14
  }
@@ -1,19 +1,50 @@
1
1
  @layer components {
2
- [data-name="select-button"] {
3
- @apply input-element flex-row-2 items-center justify-between rounded-md px-3 py-2;
4
- &:not([data-disabled]) {
5
- @apply hover:cursor-pointer;
6
- }
2
+
3
+ [data-name="select-button"],
4
+ [data-name="multi-select-button"] {
5
+ @apply input-element flex-row-2 items-center justify-between rounded-md px-3 py-2;
6
+
7
+ &:not([data-disabled]) {
8
+ @apply hover:cursor-pointer;
7
9
  }
8
-
9
- [data-name="select-chip-display"] {
10
- @apply input-element flex flex-wrap gap-2 items-center rounded-md px-2.5 py-2.5;
11
- &:not([data-disabled]) {
12
- @apply hover:cursor-pointer;
13
- }
10
+ }
11
+
12
+ [data-name="multi-select-chip-display-button"] {
13
+ @apply input-element flex flex-wrap gap-2 items-center rounded-md px-2.5 py-2.5;
14
+
15
+ &:not([data-disabled]) {
16
+ @apply hover:cursor-pointer;
17
+ }
18
+ }
19
+
20
+ [data-name="multi-select-chip-display-chip"] {
21
+ @apply flex-row-1 items-center pl-2 pr-1 coloring-solid neutral rounded-md h-9;
22
+ }
23
+
24
+ [data-name="select-list"],
25
+ [data-name="multi-select-list"] {
26
+ @apply flex-col-1 overflow-y-auto;
27
+ }
28
+
29
+ [data-name="select-list-option"],
30
+ [data-name="multi-select-list-option"] {
31
+ @apply flex-row-1 items-center px-2 py-1 rounded-md;
32
+
33
+ &[data-disabled] {
34
+ @apply cursor-not-allowed text-disabled;
14
35
  }
15
36
 
16
- [data-name="select-chip-display-chip"] {
17
- @apply flex-row-1 items-center pl-2 pr-1 coloring-solid neutral rounded-md h-9;
37
+ &:not([data-disabled]) {
38
+ @apply cursor-pointer;
39
+
40
+ &[data-highlighted] {
41
+ @apply bg-primary/20;
42
+ }
18
43
  }
19
- }
44
+ }
45
+
46
+ [data-name="select-list-status"],
47
+ [data-name="multi-select-list-status"] {
48
+ @apply text-description px-2 py-1 rounded-md;
49
+ }
50
+ }
@@ -1,4 +1,15 @@
1
+ @utility coloring-transition {
2
+ transition:
3
+ border-color var(--animation-duration-in, 250ms) ease-in-out,
4
+ box-shadow var(--animation-duration-in, 250ms) ease-in-out,
5
+ outline-color var(--animation-duration-in, 250ms) ease-in-out,
6
+ outline-offset var(--animation-duration-in, 250ms) ease-in-out,
7
+ color var(--animation-duration-in, 250ms) ease-in-out,
8
+ background-color var(--animation-duration-in, 250ms) ease-in-out;
9
+ }
10
+
1
11
  @utility coloring-solid {
12
+ @apply coloring-transition;
2
13
  @apply bg-[var(--coloring-solid-color,var(--coloring-color))]
3
14
  text-[var(--coloring-solid-text,var(--coloring-on-color))];
4
15
  }
@@ -9,6 +20,7 @@
9
20
  }
10
21
 
11
22
  @utility coloring-tonal {
23
+ @apply coloring-transition;
12
24
  @apply bg-[var(--coloring-tonal-background,var(--coloring-tonal,var(--coloring-color)))]/20
13
25
  text-[var(--coloring-tonal-text,var(--coloring-tonal,var(--coloring-color)))];
14
26
  }
@@ -19,6 +31,7 @@
19
31
  }
20
32
 
21
33
  @utility coloring-text {
34
+ @apply coloring-transition;
22
35
  @apply text-[var(--coloring-text,var(--coloring-color))];
23
36
  }
24
37
 
@@ -28,6 +41,7 @@
28
41
  }
29
42
 
30
43
  @utility coloring-outline {
44
+ @apply coloring-transition;
31
45
  border-width: var(--coloring-outline-width, 0.125rem);
32
46
  @apply border-[var(--coloring-border,var(--coloring-outline,var(--coloring-color)))];
33
47
  @apply text-[var(--coloring-outline,var(--coloring-color))];
@@ -39,6 +53,19 @@
39
53
  hover:text-[var(--coloring-outline-hover,var(--coloring-hover))];
40
54
  }
41
55
 
56
+ @utility coloring-tonal-outline {
57
+ @apply coloring-transition coloring-tonal;
58
+ border-width: var(--coloring-outline-width, 0.125rem);
59
+ @apply border-[var(--coloring-border,var(--coloring-outline,var(--coloring-color)))];
60
+ }
61
+
62
+ @utility coloring-tonal-outline-hover {
63
+ @apply coloring-tonal-outline
64
+ hover:border-[var(--coloring-border-hover,--coloring-hover)]
65
+ hover:text-[var(--coloring-outline-hover,var(--coloring-hover))]
66
+ hover:bg-[var(--coloring-tonal-hover,var(--coloring-tonal-background,var(--coloring-tonal,var(--coloring-color))))]/30;
67
+ }
68
+
42
69
  @utility coloring-reset-variables {
43
70
  --coloring-color: initial;
44
71
  --coloring-on-color: initial;
@@ -9,7 +9,7 @@
9
9
  }
10
10
 
11
11
  @utility focus-style-shadow {
12
- --focus-box-shadow: 0 0 8px 2px color-mix(in srgb, var(--color-focus) 70%, transparent);
12
+ --focus-box-shadow: 0 0 calc(var(--spacing) * 1) calc(var(--spacing) * 0.5) color-mix(in srgb, var(--color-focus) 70%, transparent);
13
13
  }
14
14
 
15
15
  @utility focus-style-none {
@@ -30,4 +30,4 @@
30
30
  box-shadow: var(--focus-box-shadow);
31
31
  border-color: var(--focus-border-color);
32
32
  }
33
- }
33
+ }
package/package.json CHANGED
@@ -6,8 +6,11 @@
6
6
  "repository": {
7
7
  "url": "git+https://github.com/helpwave/hightide.git"
8
8
  },
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
9
12
  "license": "MPL-2.0",
10
- "version": "0.8.11",
13
+ "version": "0.9.0",
11
14
  "files": [
12
15
  "dist"
13
16
  ],
@@ -15,7 +18,7 @@
15
18
  "module": "dist/index.js",
16
19
  "types": "dist/index.d.ts",
17
20
  "bin": {
18
- "barrel": ".dist/scripts/barrel.js"
21
+ "barrel": "dist/scripts/barrel.js"
19
22
  },
20
23
  "exports": {
21
24
  ".": {
@@ -39,6 +42,7 @@
39
42
  },
40
43
  "dependencies": {
41
44
  "@helpwave/internationalization": "0.4.0",
45
+ "@radix-ui/react-slot": "1.2.4",
42
46
  "@tailwindcss/cli": "4.1.18",
43
47
  "@tanstack/react-table": "8.21.3",
44
48
  "clsx": "2.1.1",
@@ -54,9 +58,9 @@
54
58
  "@babel/preset-typescript": "7.26.0",
55
59
  "@faker-js/faker": "10.1.0",
56
60
  "@helpwave/eslint-config": "0.0.11",
57
- "@storybook/addon-docs": "10.2.8",
58
- "@storybook/addon-links": "10.2.8",
59
- "@storybook/nextjs": "^10.2.8",
61
+ "@storybook/addon-docs": "10.2.10",
62
+ "@storybook/addon-links": "10.2.10",
63
+ "@storybook/nextjs": "10.2.10",
60
64
  "@tailwindcss/postcss": "4.1.18",
61
65
  "@types/jest": "30.0.0",
62
66
  "@types/node": "20.17.10",
@@ -66,12 +70,12 @@
66
70
  "@vitest/mocker": "4.0.16",
67
71
  "autoprefixer": "10.4.23",
68
72
  "eslint": "9.31.0",
69
- "eslint-plugin-storybook": "10.2.8",
73
+ "eslint-plugin-storybook": "10.2.10",
70
74
  "jest": "30.2.0",
71
75
  "postcss": "8.5.6",
72
- "storybook": "10.2.8",
73
- "ts-jest": "29.4.5",
74
- "tsup": "8.5.0",
76
+ "storybook": "10.2.10",
77
+ "ts-jest": "29.4.6",
78
+ "tsup": "8.5.1",
75
79
  "typescript": "5.7.2",
76
80
  "webpack": "5.105.2"
77
81
  },
@@ -87,4 +91,4 @@
87
91
  "overrides": {
88
92
  "elliptic": "^6.6.1"
89
93
  }
90
- }
94
+ }