@carbon-labs/react-animated-header 0.31.0 → 0.32.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 (49) hide show
  1. package/es/__stories__/AnimatedHeader.stories.d.ts +148 -1944
  2. package/es/__stories__/data/index.d.ts +52 -225
  3. package/es/_virtual/lottie.js +1 -1
  4. package/es/components/AnimatedHeader/AnimatedHeader.d.ts +11 -27
  5. package/es/components/AnimatedHeader/AnimatedHeader.js +23 -19
  6. package/es/components/AnimatedHeader/types.d.ts +24 -0
  7. package/es/components/HeaderTitle/HeaderTitle.d.ts +1 -1
  8. package/es/components/TasksController/TasksController.d.ts +1 -1
  9. package/es/components/Tiles/AIPromptTile/AIPromptTile.d.ts +10 -11
  10. package/es/components/Tiles/AIPromptTile/AIPromptTile.js +12 -14
  11. package/es/components/Tiles/AITile/AITile.d.ts +26 -0
  12. package/es/components/Tiles/AITile/AITile.js +65 -0
  13. package/es/components/Tiles/AITile/AITileBody.d.ts +19 -0
  14. package/es/components/Tiles/AITile/AITileBody.js +59 -0
  15. package/es/components/Tiles/BaseTile/BaseTile.d.ts +15 -18
  16. package/es/components/Tiles/BaseTile/BaseTile.js +34 -4
  17. package/es/components/Tiles/GlassTile/GlassTile.d.ts +13 -9
  18. package/es/components/Tiles/GlassTile/GlassTile.js +13 -15
  19. package/es/components/Tiles/GlassTile/GlassTileBody.d.ts +4 -4
  20. package/es/components/Tiles/GlassTile/GlassTileBody.js +4 -4
  21. package/es/components/Tiles/index.d.ts +2 -1
  22. package/es/index.d.ts +3 -2
  23. package/es/node_modules/lottie-web/build/player/lottie.js +194 -193
  24. package/lib/__stories__/AnimatedHeader.stories.d.ts +148 -1944
  25. package/lib/__stories__/data/index.d.ts +52 -225
  26. package/lib/_virtual/lottie.js +1 -1
  27. package/lib/components/AnimatedHeader/AnimatedHeader.d.ts +11 -27
  28. package/lib/components/AnimatedHeader/AnimatedHeader.js +23 -19
  29. package/lib/components/AnimatedHeader/types.d.ts +24 -0
  30. package/lib/components/HeaderTitle/HeaderTitle.d.ts +1 -1
  31. package/lib/components/TasksController/TasksController.d.ts +1 -1
  32. package/lib/components/Tiles/AIPromptTile/AIPromptTile.d.ts +10 -11
  33. package/lib/components/Tiles/AIPromptTile/AIPromptTile.js +12 -14
  34. package/lib/components/Tiles/AITile/AITile.d.ts +26 -0
  35. package/lib/components/Tiles/AITile/AITile.js +70 -0
  36. package/lib/components/Tiles/AITile/AITileBody.d.ts +19 -0
  37. package/lib/components/Tiles/AITile/AITileBody.js +61 -0
  38. package/lib/components/Tiles/BaseTile/BaseTile.d.ts +15 -18
  39. package/lib/components/Tiles/BaseTile/BaseTile.js +34 -4
  40. package/lib/components/Tiles/GlassTile/GlassTile.d.ts +13 -9
  41. package/lib/components/Tiles/GlassTile/GlassTile.js +13 -15
  42. package/lib/components/Tiles/GlassTile/GlassTileBody.d.ts +4 -4
  43. package/lib/components/Tiles/GlassTile/GlassTileBody.js +4 -4
  44. package/lib/components/Tiles/index.d.ts +2 -1
  45. package/lib/index.d.ts +3 -2
  46. package/lib/node_modules/lottie-web/build/player/lottie.js +194 -193
  47. package/package.json +2 -2
  48. package/scss/Tiles/AITile/ai-tile.scss +222 -0
  49. package/scss/animated-header.scss +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carbon-labs/react-animated-header",
3
- "version": "0.31.0",
3
+ "version": "0.32.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "provenance": true
@@ -45,5 +45,5 @@
45
45
  "devDependencies": {
46
46
  "@carbon-labs/utilities": "canary"
47
47
  },
48
- "gitHead": "5484fe3c1663b43ab9131b53ec1d1b9126b1640a"
48
+ "gitHead": "0b30143dcd8880b14e38986db3979f6b32f2c484"
49
49
  }
@@ -0,0 +1,222 @@
1
+ /**
2
+ * @license
3
+ *
4
+ * Copyright IBM Corp. 2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ @use '@carbon/styles/scss/theme' as *;
10
+ @use '@carbon/styles/scss/colors' as *;
11
+ @use '@carbon/styles/scss/spacing' as *;
12
+ @use '@carbon/styles/scss/type' as *;
13
+ @use '@carbon/motion';
14
+
15
+ $prefix: 'clabs--animated-header__ai-tile' !default;
16
+
17
+ .#{$prefix} {
18
+ position: relative;
19
+ display: flex;
20
+ -webkit-backdrop-filter: blur(3px);
21
+ backdrop-filter: blur(3px);
22
+ min-block-size: 192px;
23
+ text-decoration: none;
24
+ }
25
+
26
+ .#{$prefix}[aria-disabled='true'] {
27
+ outline: none;
28
+
29
+ * {
30
+ color: $text-disabled;
31
+ fill: $text-disabled;
32
+ pointer-events: none;
33
+ }
34
+ }
35
+
36
+ .#{$prefix}:hover,
37
+ .#{$prefix}:active,
38
+ .#{$prefix}:focus {
39
+ text-decoration: none;
40
+ }
41
+
42
+ .#{$prefix}--body {
43
+ position: relative;
44
+ z-index: 0;
45
+ display: flex;
46
+ overflow: hidden;
47
+ flex: 1;
48
+ flex-direction: column;
49
+ justify-content: flex-start;
50
+ padding: $spacing-05;
51
+ background-color: transparent;
52
+ color: $text-primary;
53
+
54
+ @media (prefers-reduced-motion: no-preference) {
55
+ transition: opacity 500ms linear;
56
+ }
57
+
58
+ &[data-expanded='true'] {
59
+ opacity: 1;
60
+ transition-delay: 110ms;
61
+ }
62
+
63
+ &[data-expanded='false'] {
64
+ opacity: 0;
65
+ transition-delay: 0ms;
66
+ }
67
+ }
68
+
69
+ /* Semi-transparent background layer */
70
+ .#{$prefix}--body-background {
71
+ position: absolute;
72
+ z-index: 1;
73
+ background-color: $layer-01;
74
+ inset: 0;
75
+ opacity: 0.7;
76
+ pointer-events: none;
77
+ transition: opacity 150ms motion.motion(standard, productive);
78
+ }
79
+
80
+ :root .#{$prefix}--body-background,
81
+ [data-carbon-theme='white'] .#{$prefix}--body-background,
82
+ [data-carbon-theme='g10'] .#{$prefix}--body-background {
83
+ background-color: $layer-01;
84
+ }
85
+
86
+ [data-carbon-theme='g90'] .#{$prefix}--body-background,
87
+ [data-carbon-theme='g100'] .#{$prefix}--body-background {
88
+ background-color: $layer-hover-01;
89
+ }
90
+
91
+ /* Animated gradient layer */
92
+ .#{$prefix}--body-gradient {
93
+ position: absolute;
94
+ z-index: 2;
95
+ animation: 1000ms motion.motion(standard, expressive) animate-gradient;
96
+ animation-delay: 466.666ms;
97
+ animation-fill-mode: both;
98
+ background: linear-gradient(0deg, #4589ff4d 0%, transparent 100%);
99
+ background-repeat: no-repeat;
100
+ background-size: 100% 64px;
101
+ inset: 0;
102
+ opacity: 0.7;
103
+ pointer-events: none;
104
+ transition: opacity 150ms motion.motion(standard, productive);
105
+ }
106
+
107
+ .#{$prefix}--body:hover {
108
+ .#{$prefix}--body-gradient,
109
+ .#{$prefix}--body-background {
110
+ opacity: 0.85;
111
+ }
112
+ }
113
+
114
+ .#{$prefix}--body::after {
115
+ position: absolute;
116
+ z-index: 3;
117
+ border: 1px solid transparent;
118
+ animation: 1000ms motion.motion(standard, expressive) animate-border;
119
+ animation-delay: 466.666ms;
120
+ animation-fill-mode: both;
121
+ background: linear-gradient(180deg, #a6c8ff 64%, #78a9ff) border-box;
122
+ background-size: 100% 150%;
123
+ content: '';
124
+ inset: 0;
125
+ -webkit-mask: linear-gradient(#ffffff 0 0) padding-box,
126
+ linear-gradient(#ffffff 0 0);
127
+ mask: linear-gradient(#ffffff 0 0) padding-box, linear-gradient(#ffffff 0 0);
128
+ -webkit-mask-composite: destination-out;
129
+ mask-composite: exclude;
130
+ }
131
+
132
+ .#{$prefix}--icons {
133
+ position: relative;
134
+ z-index: 4;
135
+ display: flex;
136
+ justify-content: space-between;
137
+ margin-block-end: $spacing-05;
138
+ }
139
+
140
+ .#{$prefix}--title {
141
+ @include type-style('body-compact-02');
142
+
143
+ position: relative;
144
+ z-index: 4;
145
+
146
+ overflow: hidden;
147
+ text-overflow: ellipsis;
148
+ white-space: nowrap;
149
+
150
+ @supports (-webkit-line-clamp: 3) {
151
+ display: -webkit-box;
152
+ overflow: hidden;
153
+ -webkit-box-orient: vertical;
154
+ -webkit-line-clamp: 3;
155
+ text-overflow: ellipsis;
156
+ white-space: initial;
157
+ }
158
+ }
159
+
160
+ .#{$prefix}--footer {
161
+ position: absolute;
162
+ z-index: 2;
163
+ display: flex;
164
+ gap: $spacing-05;
165
+ inset-block-end: $spacing-05;
166
+ }
167
+
168
+ .#{$prefix}--subtitle {
169
+ @include type-style('body-short-01');
170
+
171
+ position: relative;
172
+ z-index: 2;
173
+ overflow: hidden;
174
+ color: $text-secondary;
175
+ text-overflow: ellipsis;
176
+ white-space: nowrap;
177
+
178
+ @supports (-webkit-line-clamp: 1) {
179
+ display: -webkit-box;
180
+ overflow: hidden;
181
+ -webkit-box-orient: vertical;
182
+ -webkit-line-clamp: 1;
183
+ text-overflow: ellipsis;
184
+ white-space: initial;
185
+ }
186
+ }
187
+
188
+ .#{$prefix}--custom-content {
189
+ z-index: 4;
190
+ }
191
+
192
+ .#{$prefix}--loading-skeleton {
193
+ background: $layer-01;
194
+ block-size: 100%;
195
+ inline-size: 100%;
196
+
197
+ opacity: 0.7;
198
+ }
199
+
200
+ .#{$prefix}--loading-skeleton::before {
201
+ background: $layer-02;
202
+ }
203
+
204
+ @keyframes animate-border {
205
+ 0% {
206
+ background-position: 100% 0%;
207
+ }
208
+
209
+ 100% {
210
+ background-position: 100% 100%;
211
+ }
212
+ }
213
+
214
+ @keyframes animate-gradient {
215
+ 0% {
216
+ background-position: 100% 150%;
217
+ }
218
+
219
+ 100% {
220
+ background-position: 100% 100%;
221
+ }
222
+ }
@@ -7,5 +7,6 @@
7
7
 
8
8
  @use 'AnimatedHeader/animated-header.scss';
9
9
  @use 'HeaderTitle/header-title.scss';
10
+ @use 'Tiles/AITile/ai-tile.scss';
10
11
  @use 'Tiles/AIPromptTile/ai-prompt-tile.scss';
11
12
  @use 'Tiles/GlassTile/glass-tile.scss';