@salutejs/plasma-new-hope 0.185.1-canary.32.11725728851.0 → 0.186.0-canary.1500.11737623495.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. package/cjs/components/Badge/Badge.css +3 -3
  2. package/cjs/components/Badge/Badge.js +10 -3
  3. package/cjs/components/Badge/Badge.js.map +1 -1
  4. package/cjs/components/Badge/Badge.styles.js +5 -5
  5. package/cjs/components/Badge/Badge.styles.js.map +1 -1
  6. package/cjs/components/Badge/Badge.styles_hhbwyi.css +4 -0
  7. package/cjs/components/Badge/Badge.tokens.js +2 -1
  8. package/cjs/components/Badge/Badge.tokens.js.map +1 -1
  9. package/cjs/components/Tabs/tokens.js +2 -1
  10. package/cjs/components/Tabs/tokens.js.map +1 -1
  11. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.css +6 -6
  12. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +10 -3
  13. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  14. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles.js +6 -6
  15. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles.js.map +1 -1
  16. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles_1yi1gll.css +5 -0
  17. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_view/base.js +1 -1
  18. package/{es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_view/base_4zingj.css → cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_view/base_j8lg9u.css} +1 -1
  19. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.css +6 -6
  20. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +10 -3
  21. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js.map +1 -1
  22. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +6 -6
  23. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js.map +1 -1
  24. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles_17vv6lq.css +5 -0
  25. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_view/base.js +1 -1
  26. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_view/{base_fueiq8.css → base_12fk3xi.css} +1 -1
  27. package/cjs/index.css +15 -15
  28. package/emotion/cjs/components/Badge/Badge.js +15 -3
  29. package/emotion/cjs/components/Badge/Badge.styles.js +4 -13
  30. package/emotion/cjs/components/Badge/Badge.tokens.js +2 -1
  31. package/emotion/cjs/components/Tabs/tokens.js +2 -1
  32. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +15 -3
  33. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles.js +12 -12
  34. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +15 -3
  35. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +12 -12
  36. package/emotion/cjs/examples/plasma_b2c/components/Badge/Badge.config.js +17 -14
  37. package/emotion/cjs/examples/plasma_b2c/components/Badge/Badge.stories.tsx +5 -1
  38. package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +51 -19
  39. package/emotion/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +18 -15
  40. package/emotion/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +9 -6
  41. package/emotion/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +51 -19
  42. package/emotion/cjs/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +18 -15
  43. package/emotion/cjs/examples/plasma_web/components/Tabs/vertical/VerticalTabItem.config.js +9 -6
  44. package/emotion/es/components/Badge/Badge.js +16 -3
  45. package/emotion/es/components/Badge/Badge.styles.js +5 -14
  46. package/emotion/es/components/Badge/Badge.tokens.js +2 -1
  47. package/emotion/es/components/Tabs/tokens.js +2 -1
  48. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +16 -3
  49. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles.js +13 -13
  50. package/emotion/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +16 -3
  51. package/emotion/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +13 -13
  52. package/emotion/es/examples/plasma_b2c/components/Badge/Badge.config.js +17 -14
  53. package/emotion/es/examples/plasma_b2c/components/Badge/Badge.stories.tsx +5 -1
  54. package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +51 -19
  55. package/emotion/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +18 -15
  56. package/emotion/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +9 -6
  57. package/emotion/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +51 -19
  58. package/emotion/es/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +18 -15
  59. package/emotion/es/examples/plasma_web/components/Tabs/vertical/VerticalTabItem.config.js +9 -6
  60. package/es/components/Badge/Badge.css +3 -3
  61. package/es/components/Badge/Badge.js +11 -4
  62. package/es/components/Badge/Badge.js.map +1 -1
  63. package/es/components/Badge/Badge.styles.js +5 -5
  64. package/es/components/Badge/Badge.styles.js.map +1 -1
  65. package/es/components/Badge/Badge.styles_hhbwyi.css +4 -0
  66. package/es/components/Badge/Badge.tokens.js +2 -1
  67. package/es/components/Badge/Badge.tokens.js.map +1 -1
  68. package/es/components/Tabs/tokens.js +2 -1
  69. package/es/components/Tabs/tokens.js.map +1 -1
  70. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.css +6 -6
  71. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +11 -4
  72. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  73. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles.js +6 -6
  74. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles.js.map +1 -1
  75. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles_1yi1gll.css +5 -0
  76. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_view/base.js +1 -1
  77. package/{cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_view/base_4zingj.css → es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_view/base_j8lg9u.css} +1 -1
  78. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.css +6 -6
  79. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +11 -4
  80. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js.map +1 -1
  81. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +6 -6
  82. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js.map +1 -1
  83. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles_17vv6lq.css +5 -0
  84. package/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_view/base.js +1 -1
  85. package/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_view/{base_fueiq8.css → base_12fk3xi.css} +1 -1
  86. package/es/index.css +15 -15
  87. package/package.json +5 -5
  88. package/styled-components/cjs/components/Badge/Badge.js +15 -3
  89. package/styled-components/cjs/components/Badge/Badge.styles.js +2 -2
  90. package/styled-components/cjs/components/Badge/Badge.tokens.js +2 -1
  91. package/styled-components/cjs/components/Tabs/tokens.js +2 -1
  92. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +15 -3
  93. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles.js +8 -8
  94. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +15 -3
  95. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +9 -9
  96. package/styled-components/cjs/examples/plasma_b2c/components/Badge/Badge.config.js +3 -0
  97. package/styled-components/cjs/examples/plasma_b2c/components/Badge/Badge.stories.tsx +5 -1
  98. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +51 -19
  99. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +3 -0
  100. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +3 -0
  101. package/styled-components/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +51 -19
  102. package/styled-components/cjs/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +3 -0
  103. package/styled-components/cjs/examples/plasma_web/components/Tabs/vertical/VerticalTabItem.config.js +3 -0
  104. package/styled-components/es/components/Badge/Badge.js +16 -3
  105. package/styled-components/es/components/Badge/Badge.styles.js +3 -3
  106. package/styled-components/es/components/Badge/Badge.tokens.js +2 -1
  107. package/styled-components/es/components/Tabs/tokens.js +2 -1
  108. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +16 -3
  109. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles.js +9 -9
  110. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +16 -3
  111. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +10 -10
  112. package/styled-components/es/examples/plasma_b2c/components/Badge/Badge.config.js +3 -0
  113. package/styled-components/es/examples/plasma_b2c/components/Badge/Badge.stories.tsx +5 -1
  114. package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +51 -19
  115. package/styled-components/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +3 -0
  116. package/styled-components/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +3 -0
  117. package/styled-components/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +51 -19
  118. package/styled-components/es/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +3 -0
  119. package/styled-components/es/examples/plasma_web/components/Tabs/vertical/VerticalTabItem.config.js +3 -0
  120. package/types/components/Badge/Badge.d.ts.map +1 -1
  121. package/types/components/Badge/Badge.styles.d.ts +1 -1
  122. package/types/components/Badge/Badge.styles.d.ts.map +1 -1
  123. package/types/components/Badge/Badge.tokens.d.ts +1 -0
  124. package/types/components/Badge/Badge.tokens.d.ts.map +1 -1
  125. package/types/components/Badge/Badge.types.d.ts +6 -1
  126. package/types/components/Badge/Badge.types.d.ts.map +1 -1
  127. package/types/components/Tabs/TabItem.types.d.ts +6 -1
  128. package/types/components/Tabs/TabItem.types.d.ts.map +1 -1
  129. package/types/components/Tabs/tokens.d.ts +1 -0
  130. package/types/components/Tabs/tokens.d.ts.map +1 -1
  131. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.d.ts.map +1 -1
  132. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles.d.ts +1 -1
  133. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles.d.ts.map +1 -1
  134. package/types/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.d.ts.map +1 -1
  135. package/types/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.d.ts +1 -1
  136. package/types/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.d.ts.map +1 -1
  137. package/types/examples/plasma_b2c/components/Badge/Badge.config.d.ts +3 -0
  138. package/types/examples/plasma_b2c/components/Badge/Badge.config.d.ts.map +1 -1
  139. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts +6 -0
  140. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts.map +1 -1
  141. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts +6 -0
  142. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts.map +1 -1
  143. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.d.ts +3 -0
  144. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.d.ts.map +1 -1
  145. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.d.ts +3 -0
  146. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.d.ts.map +1 -1
  147. package/types/examples/plasma_web/components/Badge/Badge.d.ts +3 -0
  148. package/types/examples/plasma_web/components/Badge/Badge.d.ts.map +1 -1
  149. package/types/examples/plasma_web/components/Tabs/TabItem.d.ts +6 -0
  150. package/types/examples/plasma_web/components/Tabs/TabItem.d.ts.map +1 -1
  151. package/types/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.d.ts +3 -0
  152. package/types/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.d.ts.map +1 -1
  153. package/types/examples/plasma_web/components/Tabs/vertical/VerticalTabItem.config.d.ts +3 -0
  154. package/types/examples/plasma_web/components/Tabs/vertical/VerticalTabItem.config.d.ts.map +1 -1
  155. package/cjs/components/Badge/Badge.styles_8pi3br.css +0 -4
  156. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles_uaaqqg.css +0 -5
  157. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles_1g7zipg.css +0 -5
  158. package/es/components/Badge/Badge.styles_8pi3br.css +0 -4
  159. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.styles_uaaqqg.css +0 -5
  160. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles_1g7zipg.css +0 -5
@@ -34,6 +34,9 @@ var config = exports.config = {
34
34
  },
35
35
  pilled: {
36
36
  "true": /*#__PURE__*/(0, _styledComponents.css)(["", ":1.5rem;"], _Tabs.tabsTokens.itemPilledBorderRadius)
37
+ },
38
+ truncate: {
39
+ "true": /*#__PURE__*/(0, _styledComponents.css)([""])
37
40
  }
38
41
  }
39
42
  };
@@ -23,6 +23,9 @@ var config = exports.config = {
23
23
  },
24
24
  disabled: {
25
25
  "true": /*#__PURE__*/(0, _styledComponents.css)(["", ":0.4;"], _Tabs.tabsTokens.disabledOpacity)
26
+ },
27
+ truncate: {
28
+ "true": /*#__PURE__*/(0, _styledComponents.css)([""])
26
29
  }
27
30
  }
28
31
  };
@@ -29,6 +29,7 @@ type CustomStoryTabsProps = {
29
29
 
30
30
  const contentLeftOptions = ['none', 'icon'];
31
31
  const contentRightOptions = ['none', 'counter', 'icon'];
32
+ const labels = ['Label', 'Middle label', 'Very long label'];
32
33
 
33
34
  const getContentLeft = (contentLeftOption: string, size: string) => {
34
35
  const iconSize = size === 'xs' ? 'xs' : 's';
@@ -76,6 +77,12 @@ const meta: Meta<StoryTabsProps> = {
76
77
  },
77
78
  if: { arg: 'helperText', eq: '' },
78
79
  },
80
+ maxItemWidth: {
81
+ control: {
82
+ type: 'text',
83
+ },
84
+ if: { arg: 'stretch', truthy: false },
85
+ },
79
86
  },
80
87
  };
81
88
 
@@ -90,13 +97,14 @@ const StoryHorizontalDefault = (props: HorizontalStoryTabsProps) => {
90
97
  contentRight: contentRightOption,
91
98
  hasDivider,
92
99
  stretch,
100
+ maxItemWidth,
93
101
  helperText,
94
102
  } = props;
95
103
  const items = Array(itemQuantity).fill(0);
96
104
  const [index, setIndex] = useState(0);
97
105
 
98
106
  return (
99
- <Tabs view="divider" hasDivider={hasDivider} stretch={stretch} disabled={disabled} size={size}>
107
+ <Tabs clip="none" view="divider" hasDivider={hasDivider} stretch={stretch} disabled={disabled} size={size}>
100
108
  {items.map((_, i) => {
101
109
  if (helperText !== '') {
102
110
  return (
@@ -110,8 +118,9 @@ const StoryHorizontalDefault = (props: HorizontalStoryTabsProps) => {
110
118
  value={helperText}
111
119
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
112
120
  size={size as Size}
121
+ maxItemWidth={maxItemWidth}
113
122
  >
114
- {`Label${i + 1}`}
123
+ {`${labels[i % labels.length]} ${i + 1}`}
115
124
  </TabItem>
116
125
  );
117
126
  }
@@ -127,8 +136,9 @@ const StoryHorizontalDefault = (props: HorizontalStoryTabsProps) => {
127
136
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
128
137
  contentRight={getContentRight(contentRightOption, size as Size)}
129
138
  size={size as Size}
139
+ maxItemWidth={maxItemWidth}
130
140
  >
131
- {`Label${i + 1}`}
141
+ {`${labels[i % labels.length]} ${i + 1}`}
132
142
  </TabItem>
133
143
  );
134
144
  })}
@@ -147,6 +157,7 @@ const StoryHorizontalScroll = (props: HorizontalStoryTabsProps) => {
147
157
  hasDivider,
148
158
  helperText,
149
159
  width,
160
+ maxItemWidth,
150
161
  } = props;
151
162
  const items = Array(itemQuantity).fill(0);
152
163
  const [index, setIndex] = useState(0);
@@ -166,8 +177,9 @@ const StoryHorizontalScroll = (props: HorizontalStoryTabsProps) => {
166
177
  value={helperText}
167
178
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
168
179
  size={size as Size}
180
+ maxItemWidth={maxItemWidth}
169
181
  >
170
- {`Label${i + 1}`}
182
+ {`${labels[i % labels.length]} ${i + 1}`}
171
183
  </TabItem>
172
184
  );
173
185
  }
@@ -183,8 +195,9 @@ const StoryHorizontalScroll = (props: HorizontalStoryTabsProps) => {
183
195
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
184
196
  contentRight={getContentRight(contentRightOption, size as Size)}
185
197
  size={size as Size}
198
+ maxItemWidth={maxItemWidth}
186
199
  >
187
- {`Label${i + 1}`}
200
+ {`${labels[i % labels.length]} ${i + 1}`}
188
201
  </TabItem>
189
202
  );
190
203
  })}
@@ -202,6 +215,7 @@ const StoryHorizontalShowAll = (props: HorizontalStoryTabsProps) => {
202
215
  contentRight: contentRightOption,
203
216
  hasDivider,
204
217
  helperText,
218
+ maxItemWidth,
205
219
  } = props;
206
220
  const maxItemQuantity = 3;
207
221
  const items = Array(itemQuantity).fill(0);
@@ -234,8 +248,9 @@ const StoryHorizontalShowAll = (props: HorizontalStoryTabsProps) => {
234
248
  value={helperText}
235
249
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
236
250
  size={size as Size}
251
+ maxItemWidth={maxItemWidth}
237
252
  >
238
- {`Label${i + 1}`}
253
+ {`${labels[i % labels.length]} ${i + 1}`}
239
254
  </TabItem>
240
255
  );
241
256
  }
@@ -251,8 +266,9 @@ const StoryHorizontalShowAll = (props: HorizontalStoryTabsProps) => {
251
266
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
252
267
  contentRight={getContentRight(contentRightOption, size as Size)}
253
268
  size={size as Size}
269
+ maxItemWidth={maxItemWidth}
254
270
  >
255
- {`Label${i + 1}`}
271
+ {`${labels[i % labels.length]} ${i + 1}`}
256
272
  </TabItem>
257
273
  );
258
274
  })}
@@ -269,6 +285,7 @@ const StoryHorizontalShowAll = (props: HorizontalStoryTabsProps) => {
269
285
  tabIndex={!disabled ? 0 : -1}
270
286
  disabled={disabled}
271
287
  size={size as Size}
288
+ maxItemWidth="auto"
272
289
  >
273
290
  ShowAll
274
291
  </TabItem>
@@ -285,9 +302,10 @@ export const HorizontalTabs: StoryObj<HorizontalStoryTabsProps> = {
285
302
  disabled: false,
286
303
  hasDivider: true,
287
304
  helperText: '',
288
- itemQuantity: 8,
305
+ itemQuantity: 6,
289
306
  stretch: false,
290
307
  width: '15rem',
308
+ maxItemWidth: '',
291
309
  },
292
310
  argTypes: {
293
311
  contentLeft: {
@@ -343,6 +361,7 @@ const StoryVerticalDefault = (props: VerticalStoryTabsProps) => {
343
361
  contentRight: contentRightOption,
344
362
  hasDivider,
345
363
  helperText,
364
+ maxItemWidth,
346
365
  } = props;
347
366
  const items = Array(itemQuantity).fill(0);
348
367
  const [index, setIndex] = useState(0);
@@ -363,8 +382,9 @@ const StoryVerticalDefault = (props: VerticalStoryTabsProps) => {
363
382
  value={helperText}
364
383
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
365
384
  size={size as Size}
385
+ maxItemWidth={maxItemWidth}
366
386
  >
367
- {`Label${i + 1}`}
387
+ {`${labels[i % labels.length]} ${i + 1}`}
368
388
  </TabItem>
369
389
  );
370
390
  }
@@ -381,8 +401,9 @@ const StoryVerticalDefault = (props: VerticalStoryTabsProps) => {
381
401
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
382
402
  contentRight={getContentRight(contentRightOption, size as Size)}
383
403
  size={size as Size}
404
+ maxItemWidth={maxItemWidth}
384
405
  >
385
- {`Label${i + 1}`}
406
+ {`${labels[i % labels.length]} ${i + 1}`}
386
407
  </TabItem>
387
408
  );
388
409
  })}
@@ -401,6 +422,7 @@ const StoryVerticalScroll = (props: VerticalStoryTabsProps) => {
401
422
  hasDivider,
402
423
  helperText,
403
424
  height,
425
+ maxItemWidth,
404
426
  } = props;
405
427
  const items = Array(itemQuantity).fill(0);
406
428
  const [index, setIndex] = useState(0);
@@ -428,8 +450,9 @@ const StoryVerticalScroll = (props: VerticalStoryTabsProps) => {
428
450
  value={helperText}
429
451
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
430
452
  size={size as Size}
453
+ maxItemWidth={maxItemWidth}
431
454
  >
432
- {`Label${i + 1}`}
455
+ {`${labels[i % labels.length]} ${i + 1}`}
433
456
  </TabItem>
434
457
  );
435
458
  }
@@ -446,8 +469,9 @@ const StoryVerticalScroll = (props: VerticalStoryTabsProps) => {
446
469
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
447
470
  contentRight={getContentRight(contentRightOption, size as Size)}
448
471
  size={size as Size}
472
+ maxItemWidth={maxItemWidth}
449
473
  >
450
- {`Label${i + 1}`}
474
+ {`${labels[i % labels.length]} ${i + 1}`}
451
475
  </TabItem>
452
476
  );
453
477
  })}
@@ -465,6 +489,7 @@ const StoryVerticalShowAll = (props: VerticalStoryTabsProps) => {
465
489
  contentRight: contentRightOption,
466
490
  hasDivider,
467
491
  helperText,
492
+ maxItemWidth,
468
493
  } = props;
469
494
  const maxItemQuantity = 3;
470
495
  const items = Array(itemQuantity).fill(0);
@@ -498,8 +523,9 @@ const StoryVerticalShowAll = (props: VerticalStoryTabsProps) => {
498
523
  value={helperText}
499
524
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
500
525
  size={size as Size}
526
+ maxItemWidth={maxItemWidth}
501
527
  >
502
- {`Label${i + 1}`}
528
+ {`${labels[i % labels.length]} ${i + 1}`}
503
529
  </TabItem>
504
530
  );
505
531
  }
@@ -516,8 +542,9 @@ const StoryVerticalShowAll = (props: VerticalStoryTabsProps) => {
516
542
  contentLeft={getContentLeft(contentLeftOption, size as Size)}
517
543
  contentRight={getContentRight(contentRightOption, size as Size)}
518
544
  size={size as Size}
545
+ maxItemWidth={maxItemWidth}
519
546
  >
520
- {`Label${i + 1}`}
547
+ {`${labels[i % labels.length]} ${i + 1}`}
521
548
  </TabItem>
522
549
  );
523
550
  })}
@@ -534,6 +561,7 @@ const StoryVerticalShowAll = (props: VerticalStoryTabsProps) => {
534
561
  tabIndex={!disabled ? 0 : -1}
535
562
  disabled={disabled}
536
563
  size={size as Size}
564
+ maxItemWidth="auto"
537
565
  >
538
566
  ShowAll
539
567
  </TabItem>
@@ -548,10 +576,11 @@ export const VerticalTabs: StoryObj<VerticalStoryTabsProps> = {
548
576
  size: 'xs',
549
577
  disabled: false,
550
578
  hasDivider: true,
551
- itemQuantity: 8,
579
+ itemQuantity: 6,
552
580
  orientation: 'vertical',
553
581
  helperText: '',
554
582
  height: '10rem',
583
+ maxItemWidth: '',
555
584
  },
556
585
  argTypes: {
557
586
  contentLeft: {
@@ -604,7 +633,7 @@ export const VerticalTabs: StoryObj<VerticalStoryTabsProps> = {
604
633
  };
605
634
 
606
635
  const StoryHeaderDefault = (props: HorizontalStoryTabsProps) => {
607
- const { disabled, itemQuantity, size, helperText } = props;
636
+ const { disabled, itemQuantity, size, helperText, maxItemWidth } = props;
608
637
  const items = Array(itemQuantity).fill(0);
609
638
  const [index, setIndex] = useState(0);
610
639
 
@@ -620,6 +649,7 @@ const StoryHeaderDefault = (props: HorizontalStoryTabsProps) => {
620
649
  disabled={disabled}
621
650
  value={helperText}
622
651
  size={size as HeaderSize}
652
+ maxItemWidth={maxItemWidth}
623
653
  >
624
654
  {`Label${i + 1}`}
625
655
  </TabItem>
@@ -629,7 +659,7 @@ const StoryHeaderDefault = (props: HorizontalStoryTabsProps) => {
629
659
  };
630
660
 
631
661
  const StoryHeaderScroll = (props: HorizontalStoryTabsProps) => {
632
- const { disabled, itemQuantity, size, helperText, width } = props;
662
+ const { disabled, itemQuantity, size, helperText, width, maxItemWidth } = props;
633
663
  const items = Array(itemQuantity).fill(0);
634
664
  const [index, setIndex] = useState(0);
635
665
 
@@ -645,8 +675,9 @@ const StoryHeaderScroll = (props: HorizontalStoryTabsProps) => {
645
675
  disabled={disabled}
646
676
  value={helperText}
647
677
  size={size as HeaderSize}
678
+ maxItemWidth={maxItemWidth}
648
679
  >
649
- {`Label${i + 1}`}
680
+ {`${labels[i % labels.length]} ${i + 1}`}
650
681
  </TabItem>
651
682
  ))}
652
683
  </Tabs>
@@ -658,8 +689,9 @@ export const HeaderTabs: StoryObj<HorizontalStoryTabsProps> = {
658
689
  size: 'h5',
659
690
  disabled: false,
660
691
  helperText: '',
661
- itemQuantity: 6,
692
+ itemQuantity: 4,
662
693
  width: '12rem',
694
+ maxItemWidth: '',
663
695
  },
664
696
  argTypes: {
665
697
  clip: {
@@ -34,6 +34,9 @@ var config = exports.config = {
34
34
  },
35
35
  pilled: {
36
36
  "true": /*#__PURE__*/(0, _styledComponents.css)(["", ":1.5rem;"], _Tabs.tabsTokens.itemPilledBorderRadius)
37
+ },
38
+ truncate: {
39
+ "true": /*#__PURE__*/(0, _styledComponents.css)([""])
37
40
  }
38
41
  }
39
42
  };
@@ -23,6 +23,9 @@ var config = exports.config = {
23
23
  },
24
24
  disabled: {
25
25
  "true": /*#__PURE__*/(0, _styledComponents.css)(["", ":0.4;"], _Tabs.tabsTokens.disabledOpacity)
26
+ },
27
+ truncate: {
28
+ "true": /*#__PURE__*/(0, _styledComponents.css)([""])
26
29
  }
27
30
  }
28
31
  };
@@ -1,5 +1,11 @@
1
- var _excluded = ["children", "className", "text", "contentLeft", "contentRight", "size", "view", "pilled", "transparent", "clear"];
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["children", "className", "text", "contentLeft", "contentRight", "size", "view", "pilled", "transparent", "clear", "maxWidth"];
2
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
3
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
11
  import React, { forwardRef } from 'react';
@@ -26,20 +32,27 @@ export var badgeRoot = function badgeRoot(Root) {
26
32
  transparent = _props$transparent === void 0 ? false : _props$transparent,
27
33
  _props$clear = props.clear,
28
34
  clear = _props$clear === void 0 ? false : _props$clear,
35
+ _props$maxWidth = props.maxWidth,
36
+ maxWidth = _props$maxWidth === void 0 ? 'auto' : _props$maxWidth,
29
37
  rest = _objectWithoutProperties(props, _excluded);
30
38
  var pilledClass = pilled ? classes.badgePilled : undefined;
31
39
  var transparentClass = transparent ? classes.badgeTransparent : undefined;
32
40
  var clearClass = clear ? classes.badgeClear : undefined;
41
+ var truncateClass = maxWidth !== 'auto' ? classes.badgeTruncate : undefined;
33
42
  var txt = !text && typeof children === 'string' ? children : text;
34
43
  return /*#__PURE__*/React.createElement(Root, _extends({
35
44
  ref: ref,
36
- className: cx(pilledClass, transparentClass, clearClass, className),
45
+ className: cx(pilledClass, transparentClass, clearClass, truncateClass, className),
37
46
  view: view,
38
47
  size: size,
39
48
  pilled: pilled,
40
49
  transparent: transparent,
41
50
  clear: clear
42
- }, rest), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), txt ? /*#__PURE__*/React.createElement(StyledContentMain, null, txt) : children, contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight));
51
+ }, rest, {
52
+ style: _objectSpread(_objectSpread({}, rest.style), {}, {
53
+ maxWidth: maxWidth
54
+ })
55
+ }), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), txt ? /*#__PURE__*/React.createElement(StyledContentMain, null, txt) : children, contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight));
43
56
  });
44
57
  };
45
58
  export var badgeConfig = {
@@ -1,7 +1,6 @@
1
1
  import styled from 'styled-components';
2
2
  import { css } from 'styled-components';
3
- import { tokens } from './Badge.tokens';
4
- export var base = /*#__PURE__*/css(["display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;width:max-content;"]);
3
+ import { classes, tokens } from './Badge.tokens';
5
4
  export var StyledContentLeft = /*#__PURE__*/styled.div.withConfig({
6
5
  componentId: "plasma-new-hope__sc-naxmb2-0"
7
6
  })(["display:flex;margin-left:var(", ");margin-right:var(", ");"], tokens.leftContentMarginLeft, tokens.leftContentMarginRight);
@@ -10,4 +9,5 @@ export var StyledContentMain = /*#__PURE__*/styled.span.withConfig({
10
9
  })([""]);
11
10
  export var StyledContentRight = /*#__PURE__*/styled.div.withConfig({
12
11
  componentId: "plasma-new-hope__sc-naxmb2-2"
13
- })(["display:flex;margin-left:var(", ");margin-right:var(", ");"], tokens.rightContentMarginLeft, tokens.rightContentMarginRight);
12
+ })(["display:flex;margin-left:var(", ");margin-right:var(", ");"], tokens.rightContentMarginLeft, tokens.rightContentMarginRight);
13
+ export var base = /*#__PURE__*/css(["display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;width:max-content;&.", "{max-width:100%;", "{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}}"], classes.badgeTruncate, StyledContentMain);
@@ -1,7 +1,8 @@
1
1
  export var classes = {
2
2
  badgePilled: 'badge-pilled',
3
3
  badgeTransparent: 'badge-transparent',
4
- badgeClear: 'badge-clear'
4
+ badgeClear: 'badge-clear',
5
+ badgeTruncate: 'badge-truncate'
5
6
  };
6
7
  export var tokens = {
7
8
  background: '--plasma-badge-background',
@@ -14,7 +14,8 @@ export var classes = {
14
14
  tabsHasTopArrow: 'tabs-has-top-arrow',
15
15
  tabsHasBottomArrow: 'tabs-has-bottom-arrow',
16
16
  tabsClipScroll: 'tabs-clip-scroll',
17
- tabsClipShowAll: 'tabs-clip-show-all'
17
+ tabsClipShowAll: 'tabs-clip-show-all',
18
+ tabsTruncate: 'tabs-truncate'
18
19
  };
19
20
  export var tokens = {
20
21
  disabledOpacity: '--plasma-tabs-disabled-opacity',
@@ -1,5 +1,11 @@
1
- var _excluded = ["size", "view", "isActive", "selected", "disabled", "pilled", "children", "value", "contentLeft", "contentRight", "animated", "onIndexChange", "itemIndex", "tabIndex", "className", "onClick"];
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["size", "view", "isActive", "selected", "disabled", "pilled", "children", "value", "contentLeft", "contentRight", "animated", "onIndexChange", "itemIndex", "tabIndex", "className", "onClick", "maxItemWidth"];
2
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
3
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
11
  import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';
@@ -33,6 +39,8 @@ export var horizontalTabItemRoot = function horizontalTabItemRoot(Root) {
33
39
  tabIndex = props.tabIndex,
34
40
  className = props.className,
35
41
  onClick = props.onClick,
42
+ _props$maxItemWidth = props.maxItemWidth,
43
+ maxWidth = _props$maxItemWidth === void 0 ? 'auto' : _props$maxItemWidth,
36
44
  rest = _objectWithoutProperties(props, _excluded);
37
45
  var innerRef = useRef(null);
38
46
  var ref = useForkRef(outerRef, innerRef);
@@ -42,6 +50,7 @@ export var horizontalTabItemRoot = function horizontalTabItemRoot(Root) {
42
50
  var animatedClass = animated ? classes.tabItemAnimated : undefined;
43
51
  var pilledClass = pilledAttr ? classes.tabsPilled : undefined;
44
52
  var selectedClass = isActive || selected ? classes.selectedTabsItem : undefined;
53
+ var truncateClass = maxWidth !== 'auto' ? classes.tabsTruncate : undefined;
45
54
  var hasKeyNavigation = itemIndex !== undefined && onIndexChange !== undefined;
46
55
  var navigationTabIndex = !disabled && (refs === null || refs === void 0 ? void 0 : refs.current) === itemIndex ? 0 : -1;
47
56
  useEffect(function () {
@@ -98,9 +107,13 @@ export var horizontalTabItemRoot = function horizontalTabItemRoot(Root) {
98
107
  size: size,
99
108
  onFocus: onItemFocus,
100
109
  tabIndex: hasKeyNavigation ? navigationTabIndex : tabIndex,
101
- className: cx(pilledClass, selectedClass, animatedClass, className),
110
+ className: cx(pilledClass, selectedClass, animatedClass, truncateClass, className),
102
111
  onClick: handleClick
103
- }, rest), /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && /*#__PURE__*/React.createElement(LeftContent, {
112
+ }, rest, {
113
+ style: _objectSpread(_objectSpread({}, rest.style), {}, {
114
+ maxWidth: maxWidth
115
+ })
116
+ }), /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && /*#__PURE__*/React.createElement(LeftContent, {
104
117
  className: classes.tabLeftContent
105
118
  }, contentLeft), /*#__PURE__*/React.createElement(StyledContent, {
106
119
  className: classes.tabContent
@@ -1,14 +1,7 @@
1
1
  import styled from 'styled-components';
2
2
  import { css } from 'styled-components';
3
3
  import { addFocus } from '../../../../../mixins';
4
- import { tokens } from '../../../tokens';
5
- export var base = /*#__PURE__*/css(["position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;align-items:center;gap:var(", ");padding:var(", ",var(", "));appearance:none;border:none;outline:none;cursor:pointer;-webkit-tap-highlight-color:transparent;&:first-child{margin-left:0;}", ";"], tokens.itemContentGap, tokens.itemPaddingClear, tokens.itemPadding, /*#__PURE__*/addFocus({
6
- outlineSize: '0.063rem',
7
- outlineOffset: '-0.125rem',
8
- outlineColor: /*#__PURE__*/"var(".concat(tokens.outlineFocusColor, ")"),
9
- outlineRadius: 'calc(var(--plasma_private-outline-radius) + 0.063rem)',
10
- customFocusRules: /*#__PURE__*/"\n &.focus-visible:focus,\n &[data-focus-visible-added] {\n &::before {\n z-index: 1;\n outline: none;\n box-shadow: 0 0 0 0.063rem var(".concat(tokens.outlineFocusColor, ");\n }\n }\n ")
11
- }));
4
+ import { classes, tokens } from '../../../tokens';
12
5
  export var StyledContent = /*#__PURE__*/styled.div.withConfig({
13
6
  componentId: "plasma-new-hope__sc-lremls-0"
14
7
  })(["display:inline-block;width:fit-content;padding:0 var(", ",var(", "));"], tokens.itemContentPaddingClear, tokens.itemContentPadding);
@@ -20,4 +13,11 @@ export var RightContent = /*#__PURE__*/styled.div.withConfig({
20
13
  })(["display:flex;color:inherit;&:hover{color:inherit;}"]);
21
14
  export var LeftContent = /*#__PURE__*/styled.div.withConfig({
22
15
  componentId: "plasma-new-hope__sc-lremls-3"
23
- })(["display:flex;color:inherit;&:hover{color:inherit;}"]);
16
+ })(["display:flex;color:inherit;&:hover{color:inherit;}"]);
17
+ export var base = /*#__PURE__*/css(["position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;align-items:center;white-space:nowrap;gap:var(", ");padding:var(", ",var(", "));appearance:none;border:none;outline:none;cursor:pointer;-webkit-tap-highlight-color:transparent;&:first-child{margin-left:0;}", ";&.", "{", "{overflow:hidden;text-overflow:ellipsis;}", "{overflow:hidden;text-overflow:ellipsis;}}"], tokens.itemContentGap, tokens.itemPaddingClear, tokens.itemPadding, /*#__PURE__*/addFocus({
18
+ outlineSize: '0.063rem',
19
+ outlineOffset: '-0.125rem',
20
+ outlineColor: /*#__PURE__*/"var(".concat(tokens.outlineFocusColor, ")"),
21
+ outlineRadius: 'calc(var(--plasma_private-outline-radius) + 0.063rem)',
22
+ customFocusRules: /*#__PURE__*/"\n &.focus-visible:focus,\n &[data-focus-visible-added] {\n &::before {\n z-index: 1;\n outline: none;\n box-shadow: 0 0 0 0.063rem var(".concat(tokens.outlineFocusColor, ");\n }\n }\n ")
23
+ }), classes.tabsTruncate, StyledContent, TabItemValue);
@@ -1,5 +1,11 @@
1
- var _excluded = ["size", "view", "selected", "disabled", "children", "value", "contentLeft", "contentRight", "onIndexChange", "itemIndex", "tabIndex", "className", "onClick"];
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["size", "view", "selected", "disabled", "children", "value", "contentLeft", "contentRight", "onIndexChange", "itemIndex", "tabIndex", "className", "onClick", "maxItemWidth"];
2
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
3
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
11
  import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';
@@ -27,12 +33,15 @@ export var verticalTabItemRoot = function verticalTabItemRoot(Root) {
27
33
  tabIndex = props.tabIndex,
28
34
  className = props.className,
29
35
  onClick = props.onClick,
36
+ _props$maxItemWidth = props.maxItemWidth,
37
+ maxWidth = _props$maxItemWidth === void 0 ? 'auto' : _props$maxItemWidth,
30
38
  rest = _objectWithoutProperties(props, _excluded);
31
39
  var innerRef = useRef(null);
32
40
  var ref = useForkRef(outerRef, innerRef);
33
41
  var refs = useContext(TabsContext);
34
42
  var role = 'tab';
35
43
  var selectedClass = selected ? classes.selectedTabsItem : undefined;
44
+ var truncateClass = maxWidth !== 'auto' ? classes.tabsTruncate : undefined;
36
45
  var hasKeyNavigation = itemIndex !== undefined && onIndexChange !== undefined;
37
46
  var navigationTabIndex = !disabled && (refs === null || refs === void 0 ? void 0 : refs.current) === itemIndex ? 0 : -1;
38
47
  useEffect(function () {
@@ -85,9 +94,13 @@ export var verticalTabItemRoot = function verticalTabItemRoot(Root) {
85
94
  size: size,
86
95
  onFocus: onItemFocus,
87
96
  tabIndex: hasKeyNavigation ? navigationTabIndex : tabIndex,
88
- className: cx(selectedClass, className),
97
+ className: cx(selectedClass, truncateClass, className),
89
98
  onClick: handleClick
90
- }, rest), /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && /*#__PURE__*/React.createElement(LeftContent, {
99
+ }, rest, {
100
+ style: _objectSpread(_objectSpread({}, rest.style), {}, {
101
+ maxWidth: maxWidth
102
+ })
103
+ }), /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && /*#__PURE__*/React.createElement(LeftContent, {
91
104
  className: classes.tabLeftContent
92
105
  }, contentLeft), /*#__PURE__*/React.createElement(StyledContent, {
93
106
  className: classes.tabContent
@@ -3,23 +3,23 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
3
3
  import { css } from 'styled-components';
4
4
  import styled from 'styled-components';
5
5
  import { addFocus } from '../../../../../mixins';
6
- import { tokens } from '../../../tokens';
7
- export var base = /*#__PURE__*/css(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteral(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n align-items: center;\n\n gap: var(", ");\n padding: var(", ");\n\n appearance: none;\n border: none;\n outline: none;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n\n ", ";\n"])), tokens.itemContentGap, tokens.itemPaddingOrientationVertical, /*#__PURE__*/addFocus({
8
- outlineSize: '0.063rem',
9
- outlineOffset: '-0.125rem',
10
- outlineColor: /*#__PURE__*/"var(".concat(tokens.outlineFocusColor, ")"),
11
- outlineRadius: 'calc(var(--plasma_private-outline-radius) + 0.063rem)',
12
- customFocusRules: /*#__PURE__*/"\n &.focus-visible:focus,\n &[data-focus-visible-added] {\n &::before {\n z-index: 1;\n outline: none;\n box-shadow: 0 0 0 0.063rem var(".concat(tokens.outlineFocusColor, ");\n }\n }\n ")
13
- }));
6
+ import { classes, tokens } from '../../../tokens';
14
7
  export var StyledContent = /*#__PURE__*/styled.div.withConfig({
15
8
  componentId: "plasma-new-hope__sc-1pflgj8-0"
16
9
  })(["display:inline-block;width:fit-content;padding:0 var(", ",var(", "));"], tokens.itemContentPaddingClear, tokens.itemContentPadding);
17
10
  export var TabItemValue = /*#__PURE__*/styled.span.withConfig({
18
11
  componentId: "plasma-new-hope__sc-1pflgj8-1"
19
- })(["color:var(", ");font-family:var(", ",var(", "));font-size:var(", ",var(", "));font-style:var(", ",var(", "));font-weight:var(", ",var(", "));letter-spacing:var(", ",var(", "));line-height:var(", ",var(", "));"], tokens.itemValueColor, tokens.valueFontFamily, tokens.fontFamily, tokens.valueFontSize, tokens.fontSize, tokens.valueFontStyle, tokens.fontStyle, tokens.valueFontWeight, tokens.fontWeight, tokens.valueLetterSpacing, tokens.letterSpacing, tokens.valueLineHeight, tokens.lineHeight);
12
+ })(["white-space:nowrap;color:var(", ");font-family:var(", ",var(", "));font-size:var(", ",var(", "));font-style:var(", ",var(", "));font-weight:var(", ",var(", "));letter-spacing:var(", ",var(", "));line-height:var(", ",var(", "));"], tokens.itemValueColor, tokens.valueFontFamily, tokens.fontFamily, tokens.valueFontSize, tokens.fontSize, tokens.valueFontStyle, tokens.fontStyle, tokens.valueFontWeight, tokens.fontWeight, tokens.valueLetterSpacing, tokens.letterSpacing, tokens.valueLineHeight, tokens.lineHeight);
20
13
  export var RightContent = /*#__PURE__*/styled.div.withConfig({
21
14
  componentId: "plasma-new-hope__sc-1pflgj8-2"
22
15
  })(["display:flex;color:inherit;&:hover{color:inherit;}"]);
23
16
  export var LeftContent = /*#__PURE__*/styled.div.withConfig({
24
17
  componentId: "plasma-new-hope__sc-1pflgj8-3"
25
- })(["display:flex;color:inherit;&:hover{color:inherit;}"]);
18
+ })(["display:flex;color:inherit;&:hover{color:inherit;}"]);
19
+ export var base = /*#__PURE__*/css(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteral(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n white-space: nowrap;\n\n gap: var(", ");\n padding: var(", ");\n\n appearance: none;\n border: none;\n outline: none;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n\n ", ";\n\n &.", " {\n ", " {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ", " {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n"])), tokens.itemContentGap, tokens.itemPaddingOrientationVertical, /*#__PURE__*/addFocus({
20
+ outlineSize: '0.063rem',
21
+ outlineOffset: '-0.125rem',
22
+ outlineColor: /*#__PURE__*/"var(".concat(tokens.outlineFocusColor, ")"),
23
+ outlineRadius: 'calc(var(--plasma_private-outline-radius) + 0.063rem)',
24
+ customFocusRules: /*#__PURE__*/"\n &.focus-visible:focus,\n &[data-focus-visible-added] {\n &::before {\n z-index: 1;\n outline: none;\n box-shadow: 0 0 0 0.063rem var(".concat(tokens.outlineFocusColor, ");\n }\n }\n ")
25
+ }), classes.tabsTruncate, StyledContent, TabItemValue);
@@ -29,6 +29,9 @@ export var config = {
29
29
  },
30
30
  clear: {
31
31
  "true": /*#__PURE__*/css([""])
32
+ },
33
+ truncate: {
34
+ "true": /*#__PURE__*/css([""])
32
35
  }
33
36
  }
34
37
  };
@@ -31,6 +31,9 @@ const meta: Meta<typeof Badge> = {
31
31
  control: { type: 'boolean' },
32
32
  if: { arg: 'clear', truthy: false },
33
33
  },
34
+ maxWidth: {
35
+ control: { type: 'text' },
36
+ },
34
37
  ...disableProps(['contentLeft', 'contentRight']),
35
38
  },
36
39
  };
@@ -64,7 +67,7 @@ export const Default: Story = {
64
67
  },
65
68
  },
66
69
  args: {
67
- text: 'Hello',
70
+ text: 'Hello Kitty',
68
71
  view: 'default',
69
72
  size: 'm',
70
73
  enableContentLeft: false,
@@ -72,6 +75,7 @@ export const Default: Story = {
72
75
  clear: false,
73
76
  pilled: false,
74
77
  transparent: false,
78
+ maxWidth: '',
75
79
  },
76
80
  render: ({ enableContentLeft, enableContentRight, size, ...rest }: StoryProps) => {
77
81
  const iconSize = size === 'l' ? '1rem' : '0.75rem';