@salutejs/plasma-new-hope 0.163.1-canary.1476.11275359231.0 → 0.163.1-canary.1478.11288767669.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
- package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
- package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
- package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
- package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +16 -29
- package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +5 -5
- package/emotion/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +16 -29
- package/emotion/cjs/examples/plasma_web/components/Toast/Toast.config.js +5 -5
- package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
- package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
- package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +16 -29
- package/emotion/es/examples/plasma_b2c/components/Toast/Toast.config.js +5 -5
- package/emotion/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +16 -29
- package/emotion/es/examples/plasma_web/components/Toast/Toast.config.js +5 -5
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
- package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
- package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
- package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +16 -29
- package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +1 -1
- package/styled-components/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +16 -29
- package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.config.js +1 -1
- package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
- package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
- package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +16 -29
- package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.config.js +1 -1
- package/styled-components/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +16 -29
- package/styled-components/es/examples/plasma_web/components/Toast/Toast.config.js +1 -1
@@ -50,8 +50,6 @@ const getContentRight = (contentRightOption: string, size: Size) => {
|
|
50
50
|
};
|
51
51
|
|
52
52
|
type StoryTabsProps = ComponentProps<typeof Tabs> & CustomStoryTabsProps;
|
53
|
-
type HorizontalStoryTabsProps = StoryTabsProps & { width: string };
|
54
|
-
type VerticalStoryTabsProps = StoryTabsProps & { height: string };
|
55
53
|
|
56
54
|
const meta: Meta<StoryTabsProps> = {
|
57
55
|
title: 'plasma_web/Tabs',
|
@@ -81,7 +79,7 @@ const meta: Meta<StoryTabsProps> = {
|
|
81
79
|
|
82
80
|
export default meta;
|
83
81
|
|
84
|
-
const StoryHorizontalDefault = (props:
|
82
|
+
const StoryHorizontalDefault = (props: StoryTabsProps) => {
|
85
83
|
const {
|
86
84
|
disabled,
|
87
85
|
itemQuantity,
|
@@ -136,7 +134,7 @@ const StoryHorizontalDefault = (props: HorizontalStoryTabsProps) => {
|
|
136
134
|
);
|
137
135
|
};
|
138
136
|
|
139
|
-
const StoryHorizontalScroll = (props:
|
137
|
+
const StoryHorizontalScroll = (props: StoryTabsProps) => {
|
140
138
|
const {
|
141
139
|
disabled,
|
142
140
|
itemQuantity,
|
@@ -146,13 +144,18 @@ const StoryHorizontalScroll = (props: HorizontalStoryTabsProps) => {
|
|
146
144
|
contentRight: contentRightOption,
|
147
145
|
hasDivider,
|
148
146
|
helperText,
|
149
|
-
width,
|
150
147
|
} = props;
|
151
148
|
const items = Array(itemQuantity).fill(0);
|
152
149
|
const [index, setIndex] = useState(0);
|
153
150
|
|
154
151
|
return (
|
155
|
-
<Tabs
|
152
|
+
<Tabs
|
153
|
+
clip={clip}
|
154
|
+
view={hasDivider ? 'divider' : 'clear'}
|
155
|
+
disabled={disabled}
|
156
|
+
size={size}
|
157
|
+
style={{ width: '15rem' }}
|
158
|
+
>
|
156
159
|
{items.map((_, i) => {
|
157
160
|
if (helperText !== '') {
|
158
161
|
return (
|
@@ -192,7 +195,7 @@ const StoryHorizontalScroll = (props: HorizontalStoryTabsProps) => {
|
|
192
195
|
);
|
193
196
|
};
|
194
197
|
|
195
|
-
const StoryHorizontalShowAll = (props:
|
198
|
+
const StoryHorizontalShowAll = (props: StoryTabsProps) => {
|
196
199
|
const {
|
197
200
|
disabled,
|
198
201
|
itemQuantity,
|
@@ -279,15 +282,13 @@ const StoryHorizontalShowAll = (props: HorizontalStoryTabsProps) => {
|
|
279
282
|
);
|
280
283
|
};
|
281
284
|
|
282
|
-
export const HorizontalTabs: StoryObj<
|
285
|
+
export const HorizontalTabs: StoryObj<StoryTabsProps> = {
|
283
286
|
args: {
|
284
287
|
size: 'xs',
|
285
288
|
disabled: false,
|
286
289
|
hasDivider: true,
|
287
290
|
helperText: '',
|
288
291
|
itemQuantity: 8,
|
289
|
-
stretch: false,
|
290
|
-
width: '15rem',
|
291
292
|
},
|
292
293
|
argTypes: {
|
293
294
|
contentLeft: {
|
@@ -309,12 +310,6 @@ export const HorizontalTabs: StoryObj<HorizontalStoryTabsProps> = {
|
|
309
310
|
},
|
310
311
|
if: { arg: 'stretch', truthy: false },
|
311
312
|
},
|
312
|
-
width: {
|
313
|
-
control: {
|
314
|
-
type: 'text',
|
315
|
-
},
|
316
|
-
if: { arg: 'clip', eq: 'scroll' },
|
317
|
-
},
|
318
313
|
size: {
|
319
314
|
options: sizes,
|
320
315
|
control: {
|
@@ -334,7 +329,7 @@ export const HorizontalTabs: StoryObj<HorizontalStoryTabsProps> = {
|
|
334
329
|
},
|
335
330
|
};
|
336
331
|
|
337
|
-
const StoryVerticalDefault = (props:
|
332
|
+
const StoryVerticalDefault = (props: StoryTabsProps) => {
|
338
333
|
const {
|
339
334
|
disabled,
|
340
335
|
itemQuantity,
|
@@ -390,7 +385,7 @@ const StoryVerticalDefault = (props: VerticalStoryTabsProps) => {
|
|
390
385
|
);
|
391
386
|
};
|
392
387
|
|
393
|
-
const StoryVerticalScroll = (props:
|
388
|
+
const StoryVerticalScroll = (props: StoryTabsProps) => {
|
394
389
|
const {
|
395
390
|
disabled,
|
396
391
|
itemQuantity,
|
@@ -400,7 +395,6 @@ const StoryVerticalScroll = (props: VerticalStoryTabsProps) => {
|
|
400
395
|
contentRight: contentRightOption,
|
401
396
|
hasDivider,
|
402
397
|
helperText,
|
403
|
-
height,
|
404
398
|
} = props;
|
405
399
|
const items = Array(itemQuantity).fill(0);
|
406
400
|
const [index, setIndex] = useState(0);
|
@@ -411,8 +405,8 @@ const StoryVerticalScroll = (props: VerticalStoryTabsProps) => {
|
|
411
405
|
size={size as Size}
|
412
406
|
disabled={disabled}
|
413
407
|
clip={clip}
|
408
|
+
style={{ height: '10rem' }}
|
414
409
|
hasDivider={hasDivider}
|
415
|
-
style={{ height }}
|
416
410
|
>
|
417
411
|
{items.map((_, i) => {
|
418
412
|
if (helperText !== '') {
|
@@ -455,7 +449,7 @@ const StoryVerticalScroll = (props: VerticalStoryTabsProps) => {
|
|
455
449
|
);
|
456
450
|
};
|
457
451
|
|
458
|
-
const StoryVerticalShowAll = (props:
|
452
|
+
const StoryVerticalShowAll = (props: StoryTabsProps) => {
|
459
453
|
const {
|
460
454
|
disabled,
|
461
455
|
itemQuantity,
|
@@ -543,7 +537,7 @@ const StoryVerticalShowAll = (props: VerticalStoryTabsProps) => {
|
|
543
537
|
);
|
544
538
|
};
|
545
539
|
|
546
|
-
export const VerticalTabs: StoryObj<
|
540
|
+
export const VerticalTabs: StoryObj<StoryTabsProps> = {
|
547
541
|
args: {
|
548
542
|
size: 'xs',
|
549
543
|
disabled: false,
|
@@ -551,7 +545,6 @@ export const VerticalTabs: StoryObj<VerticalStoryTabsProps> = {
|
|
551
545
|
itemQuantity: 8,
|
552
546
|
orientation: 'vertical',
|
553
547
|
helperText: '',
|
554
|
-
height: '10rem',
|
555
548
|
},
|
556
549
|
argTypes: {
|
557
550
|
contentLeft: {
|
@@ -584,12 +577,6 @@ export const VerticalTabs: StoryObj<VerticalStoryTabsProps> = {
|
|
584
577
|
disable: true,
|
585
578
|
},
|
586
579
|
},
|
587
|
-
height: {
|
588
|
-
control: {
|
589
|
-
type: 'text',
|
590
|
-
},
|
591
|
-
if: { arg: 'clip', eq: 'scroll' },
|
592
|
-
},
|
593
580
|
},
|
594
581
|
render: (args) => {
|
595
582
|
switch (args.clip) {
|
@@ -7,15 +7,15 @@ export var config = {
|
|
7
7
|
},
|
8
8
|
variations: {
|
9
9
|
view: {
|
10
|
-
"default": /*#__PURE__*/css(toastTokens.color, ":var(--text-primary);", toastTokens.background, ":var(--surface-solid-card-brightness);", toastTokens.closeIconColor, ":var(--text-secondary);", toastTokens.closeIconColorOnHover, ":var(--text-secondary);;label:plasma-new-hope__default;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
11
|
-
dark: /*#__PURE__*/css(toastTokens.color, ":var(--on-dark-text-primary);", toastTokens.background, ":var(--on-dark-surface-solid-brightness);", toastTokens.closeIconColor, ":var(--on-dark-text-secondary);", toastTokens.closeIconColorOnHover, ":var(--on-dark-text-secondary);;label:plasma-new-hope__dark;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
12
|
-
light: /*#__PURE__*/css(toastTokens.color, ":var(--on-light-text-primary);", toastTokens.background, ":var(--on-light-surface-solid-primary-brightness);", toastTokens.closeIconColor, ":var(--on-light-text-secondary);", toastTokens.closeIconColorOnHover, ":var(--on-light-text-secondary);;label:plasma-new-hope__light;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
10
|
+
"default": /*#__PURE__*/css(toastTokens.color, ":var(--text-primary);", toastTokens.background, ":var(--surface-solid-card-brightness);", toastTokens.closeIconColor, ":var(--text-secondary);", toastTokens.closeIconColorOnHover, ":var(--text-secondary);;label:plasma-new-hope__default;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2V4YW1wbGVzL3BsYXNtYV93ZWIvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV3dCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2V4YW1wbGVzL3BsYXNtYV93ZWIvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC5jb25maWcudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB7IHRvYXN0VG9rZW5zIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9Ub2FzdCc7XG5cbmV4cG9ydCBjb25zdCBjb25maWcgPSB7XG4gICAgZGVmYXVsdHM6IHtcbiAgICAgICAgdmlldzogJ2RlZmF1bHQnLFxuICAgICAgICBzaXplOiAnbScsXG4gICAgfSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IGNzc2BcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNvbG9yfTogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmJhY2tncm91bmR9OiB2YXIoLS1zdXJmYWNlLXNvbGlkLWNhcmQtYnJpZ2h0bmVzcyk7XG5cbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yfTogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uQ29sb3JPbkhvdmVyfTogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgICAgIGRhcms6IGNzc2BcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNvbG9yfTogdmFyKC0tb24tZGFyay10ZXh0LXByaW1hcnkpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuYmFja2dyb3VuZH06IHZhcigtLW9uLWRhcmstc3VyZmFjZS1zb2xpZC1wcmltYXJ5LWJyaWdodG5lc3MpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25Db2xvcn06IHZhcigtLW9uLWRhcmstdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uQ29sb3JPbkhvdmVyfTogdmFyKC0tb24tZGFyay10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgICAgICBgLFxuICAgICAgICAgICAgbGlnaHQ6IGNzc2BcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNvbG9yfTogdmFyKC0tb24tbGlnaHQtdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmJhY2tncm91bmR9OiB2YXIoLS1vbi1saWdodC1zdXJmYWNlLXNvbGlkLXByaW1hcnktYnJpZ2h0bmVzcyk7XG5cbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yfTogdmFyKC0tb24tbGlnaHQtdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uQ29sb3JPbkhvdmVyfTogdmFyKC0tb24tbGlnaHQtdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgbTogY3NzYFxuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuYm9yZGVyUmFkaXVzfTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLm1heFdpZHRofTogY2FsYygxMDB2dyAtIDVyZW0pO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMucGFkZGluZ306IDAuNTYyNXJlbSAwLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5mb250RmFtaWx5fTogdmFyKC0tcGxhc21hLXR5cG8tYm9keS14cy1mb250LWZhbWlseSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5mb250U2l6ZX06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtZm9udC1zaXplKTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmZvbnRTdHlsZX06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtZm9udC1zdHlsZSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5mb250V2VpZ2h0fTogdmFyKC0tcGxhc21hLXR5cG8tYm9keS14cy1mb250LXdlaWdodCk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5sZXR0ZXJTcGFjaW5nfTogdmFyKC0tcGxhc21hLXR5cG8tYm9keS14cy1sZXR0ZXItc3BhY2luZyk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5saW5lSGVpZ2h0fTogdmFyKC0tcGxhc21hLXR5cG8tYm9keS14cy1saW5lLWhlaWdodCk7XG5cbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmxlZnRDb250ZW50TWFyZ2lufTogLTAuMDYyNXJlbSAwLjM3NXJlbSAtMC4wNjI1cmVtIC0wLjEyNXJlbTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbk1hcmdpbn06IC0wLjA2MjVyZW0gLTAuMjVyZW0gLTAuMDYyNXJlbSAwLjVyZW07XG4gICAgICAgICAgICBgLFxuICAgICAgICB9LFxuICAgICAgICBwaWxsZWQ6IHtcbiAgICAgICAgICAgIHRydWU6IGNzc2BcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLnBpbGxlZEJvcmRlclJhZGl1c306IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMubGVmdENvbnRlbnRNYXJnaW59OiAtMC4wNjI1cmVtIDAuMzc1cmVtIC0wLjA2MjVyZW0gLTAuMjVyZW07XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25NYXJnaW59OiAtMC4wNjI1cmVtIC0wLjI1cmVtIC0wLjA2MjVyZW0gMC4zNzVyZW07XG4gICAgICAgICAgICBgLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuIl19 */")),
|
11
|
+
dark: /*#__PURE__*/css(toastTokens.color, ":var(--on-dark-text-primary);", toastTokens.background, ":var(--on-dark-surface-solid-primary-brightness);", toastTokens.closeIconColor, ":var(--on-dark-text-secondary);", toastTokens.closeIconColorOnHover, ":var(--on-dark-text-secondary);;label:plasma-new-hope__dark;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2V4YW1wbGVzL3BsYXNtYV93ZWIvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JxQiIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9leGFtcGxlcy9wbGFzbWFfd2ViL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QuY29uZmlnLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgeyB0b2FzdFRva2VucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvVG9hc3QnO1xuXG5leHBvcnQgY29uc3QgY29uZmlnID0ge1xuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHZpZXc6ICdkZWZhdWx0JyxcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgIH0sXG4gICAgdmFyaWF0aW9uczoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5iYWNrZ3JvdW5kfTogdmFyKC0tc3VyZmFjZS1zb2xpZC1jYXJkLWJyaWdodG5lc3MpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25Db2xvcn06IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGAsXG4gICAgICAgICAgICBkYXJrOiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLW9uLWRhcmstdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmJhY2tncm91bmR9OiB2YXIoLS1vbi1kYXJrLXN1cmZhY2Utc29saWQtcHJpbWFyeS1icmlnaHRuZXNzKTtcblxuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uQ29sb3J9OiB2YXIoLS1vbi1kYXJrLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLW9uLWRhcmstdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgICAgIGxpZ2h0OiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5iYWNrZ3JvdW5kfTogdmFyKC0tb24tbGlnaHQtc3VyZmFjZS1zb2xpZC1wcmltYXJ5LWJyaWdodG5lc3MpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25Db2xvcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGAsXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIG06IGNzc2BcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmJvcmRlclJhZGl1c306IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5tYXhXaWR0aH06IGNhbGMoMTAwdncgLSA1cmVtKTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLnBhZGRpbmd9OiAwLjU2MjVyZW0gMC43NXJlbTtcblxuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udEZhbWlseX06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udFNpemV9OiB2YXIoLS1wbGFzbWEtdHlwby1ib2R5LXhzLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5mb250U3R5bGV9OiB2YXIoLS1wbGFzbWEtdHlwby1ib2R5LXhzLWZvbnQtc3R5bGUpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udFdlaWdodH06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtZm9udC13ZWlnaHQpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMubGV0dGVyU3BhY2luZ306IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtbGV0dGVyLXNwYWNpbmcpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMubGluZUhlaWdodH06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtbGluZS1oZWlnaHQpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5sZWZ0Q29udGVudE1hcmdpbn06IC0wLjA2MjVyZW0gMC4zNzVyZW0gLTAuMDYyNXJlbSAtMC4xMjVyZW07XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25NYXJnaW59OiAtMC4wNjI1cmVtIC0wLjI1cmVtIC0wLjA2MjVyZW0gMC41cmVtO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgfSxcbiAgICAgICAgcGlsbGVkOiB7XG4gICAgICAgICAgICB0cnVlOiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5waWxsZWRCb3JkZXJSYWRpdXN9OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmxlZnRDb250ZW50TWFyZ2lufTogLTAuMDYyNXJlbSAwLjM3NXJlbSAtMC4wNjI1cmVtIC0wLjI1cmVtO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uTWFyZ2lufTogLTAuMDYyNXJlbSAtMC4yNXJlbSAtMC4wNjI1cmVtIDAuMzc1cmVtO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgfSxcbiAgICB9LFxufTtcbiJdfQ== */")),
|
12
|
+
light: /*#__PURE__*/css(toastTokens.color, ":var(--on-light-text-primary);", toastTokens.background, ":var(--on-light-surface-solid-primary-brightness);", toastTokens.closeIconColor, ":var(--on-light-text-secondary);", toastTokens.closeIconColorOnHover, ":var(--on-light-text-secondary);;label:plasma-new-hope__light;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2V4YW1wbGVzL3BsYXNtYV93ZWIvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUJzQiIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9leGFtcGxlcy9wbGFzbWFfd2ViL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QuY29uZmlnLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgeyB0b2FzdFRva2VucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvVG9hc3QnO1xuXG5leHBvcnQgY29uc3QgY29uZmlnID0ge1xuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHZpZXc6ICdkZWZhdWx0JyxcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgIH0sXG4gICAgdmFyaWF0aW9uczoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5iYWNrZ3JvdW5kfTogdmFyKC0tc3VyZmFjZS1zb2xpZC1jYXJkLWJyaWdodG5lc3MpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25Db2xvcn06IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGAsXG4gICAgICAgICAgICBkYXJrOiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLW9uLWRhcmstdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmJhY2tncm91bmR9OiB2YXIoLS1vbi1kYXJrLXN1cmZhY2Utc29saWQtcHJpbWFyeS1icmlnaHRuZXNzKTtcblxuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uQ29sb3J9OiB2YXIoLS1vbi1kYXJrLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLW9uLWRhcmstdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgICAgIGxpZ2h0OiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5iYWNrZ3JvdW5kfTogdmFyKC0tb24tbGlnaHQtc3VyZmFjZS1zb2xpZC1wcmltYXJ5LWJyaWdodG5lc3MpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25Db2xvcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGAsXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIG06IGNzc2BcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmJvcmRlclJhZGl1c306IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5tYXhXaWR0aH06IGNhbGMoMTAwdncgLSA1cmVtKTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLnBhZGRpbmd9OiAwLjU2MjVyZW0gMC43NXJlbTtcblxuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udEZhbWlseX06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udFNpemV9OiB2YXIoLS1wbGFzbWEtdHlwby1ib2R5LXhzLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5mb250U3R5bGV9OiB2YXIoLS1wbGFzbWEtdHlwby1ib2R5LXhzLWZvbnQtc3R5bGUpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udFdlaWdodH06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtZm9udC13ZWlnaHQpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMubGV0dGVyU3BhY2luZ306IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtbGV0dGVyLXNwYWNpbmcpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMubGluZUhlaWdodH06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtbGluZS1oZWlnaHQpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5sZWZ0Q29udGVudE1hcmdpbn06IC0wLjA2MjVyZW0gMC4zNzVyZW0gLTAuMDYyNXJlbSAtMC4xMjVyZW07XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25NYXJnaW59OiAtMC4wNjI1cmVtIC0wLjI1cmVtIC0wLjA2MjVyZW0gMC41cmVtO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgfSxcbiAgICAgICAgcGlsbGVkOiB7XG4gICAgICAgICAgICB0cnVlOiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5waWxsZWRCb3JkZXJSYWRpdXN9OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmxlZnRDb250ZW50TWFyZ2lufTogLTAuMDYyNXJlbSAwLjM3NXJlbSAtMC4wNjI1cmVtIC0wLjI1cmVtO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uTWFyZ2lufTogLTAuMDYyNXJlbSAtMC4yNXJlbSAtMC4wNjI1cmVtIDAuMzc1cmVtO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgfSxcbiAgICB9LFxufTtcbiJdfQ== */"))
|
13
13
|
},
|
14
14
|
size: {
|
15
|
-
m: /*#__PURE__*/css(toastTokens.borderRadius, ":0.75rem;", toastTokens.maxWidth, ":calc(100vw - 5rem);", toastTokens.padding, ":0.5625rem 0.75rem;", toastTokens.fontFamily, ":var(--plasma-typo-body-xs-font-family);", toastTokens.fontSize, ":var(--plasma-typo-body-xs-font-size);", toastTokens.fontStyle, ":var(--plasma-typo-body-xs-font-style);", toastTokens.fontWeight, ":var(--plasma-typo-body-xs-font-weight);", toastTokens.letterSpacing, ":var(--plasma-typo-body-xs-letter-spacing);", toastTokens.lineHeight, ":var(--plasma-typo-body-xs-line-height);", toastTokens.leftContentMargin, ":-0.0625rem 0.375rem -0.0625rem -0.125rem;", toastTokens.closeIconMargin, ":-0.0625rem -0.25rem -0.0625rem 0.5rem;;label:plasma-new-hope__m;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
15
|
+
m: /*#__PURE__*/css(toastTokens.borderRadius, ":0.75rem;", toastTokens.maxWidth, ":calc(100vw - 5rem);", toastTokens.padding, ":0.5625rem 0.75rem;", toastTokens.fontFamily, ":var(--plasma-typo-body-xs-font-family);", toastTokens.fontSize, ":var(--plasma-typo-body-xs-font-size);", toastTokens.fontStyle, ":var(--plasma-typo-body-xs-font-style);", toastTokens.fontWeight, ":var(--plasma-typo-body-xs-font-weight);", toastTokens.letterSpacing, ":var(--plasma-typo-body-xs-letter-spacing);", toastTokens.lineHeight, ":var(--plasma-typo-body-xs-line-height);", toastTokens.leftContentMargin, ":-0.0625rem 0.375rem -0.0625rem -0.125rem;", toastTokens.closeIconMargin, ":-0.0625rem -0.25rem -0.0625rem 0.5rem;;label:plasma-new-hope__m;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2V4YW1wbGVzL3BsYXNtYV93ZWIvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0NrQiIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9leGFtcGxlcy9wbGFzbWFfd2ViL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QuY29uZmlnLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgeyB0b2FzdFRva2VucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvVG9hc3QnO1xuXG5leHBvcnQgY29uc3QgY29uZmlnID0ge1xuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHZpZXc6ICdkZWZhdWx0JyxcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgIH0sXG4gICAgdmFyaWF0aW9uczoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5iYWNrZ3JvdW5kfTogdmFyKC0tc3VyZmFjZS1zb2xpZC1jYXJkLWJyaWdodG5lc3MpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25Db2xvcn06IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGAsXG4gICAgICAgICAgICBkYXJrOiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLW9uLWRhcmstdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmJhY2tncm91bmR9OiB2YXIoLS1vbi1kYXJrLXN1cmZhY2Utc29saWQtcHJpbWFyeS1icmlnaHRuZXNzKTtcblxuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uQ29sb3J9OiB2YXIoLS1vbi1kYXJrLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLW9uLWRhcmstdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgICAgIGxpZ2h0OiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5iYWNrZ3JvdW5kfTogdmFyKC0tb24tbGlnaHQtc3VyZmFjZS1zb2xpZC1wcmltYXJ5LWJyaWdodG5lc3MpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25Db2xvcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGAsXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIG06IGNzc2BcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmJvcmRlclJhZGl1c306IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5tYXhXaWR0aH06IGNhbGMoMTAwdncgLSA1cmVtKTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLnBhZGRpbmd9OiAwLjU2MjVyZW0gMC43NXJlbTtcblxuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udEZhbWlseX06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udFNpemV9OiB2YXIoLS1wbGFzbWEtdHlwby1ib2R5LXhzLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5mb250U3R5bGV9OiB2YXIoLS1wbGFzbWEtdHlwby1ib2R5LXhzLWZvbnQtc3R5bGUpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udFdlaWdodH06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtZm9udC13ZWlnaHQpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMubGV0dGVyU3BhY2luZ306IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtbGV0dGVyLXNwYWNpbmcpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMubGluZUhlaWdodH06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtbGluZS1oZWlnaHQpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5sZWZ0Q29udGVudE1hcmdpbn06IC0wLjA2MjVyZW0gMC4zNzVyZW0gLTAuMDYyNXJlbSAtMC4xMjVyZW07XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25NYXJnaW59OiAtMC4wNjI1cmVtIC0wLjI1cmVtIC0wLjA2MjVyZW0gMC41cmVtO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgfSxcbiAgICAgICAgcGlsbGVkOiB7XG4gICAgICAgICAgICB0cnVlOiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5waWxsZWRCb3JkZXJSYWRpdXN9OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmxlZnRDb250ZW50TWFyZ2lufTogLTAuMDYyNXJlbSAwLjM3NXJlbSAtMC4wNjI1cmVtIC0wLjI1cmVtO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uTWFyZ2lufTogLTAuMDYyNXJlbSAtMC4yNXJlbSAtMC4wNjI1cmVtIDAuMzc1cmVtO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgfSxcbiAgICB9LFxufTtcbiJdfQ== */"))
|
16
16
|
},
|
17
17
|
pilled: {
|
18
|
-
"true": /*#__PURE__*/css(toastTokens.pilledBorderRadius, ":1.5rem;", toastTokens.leftContentMargin, ":-0.0625rem 0.375rem -0.0625rem -0.25rem;", toastTokens.closeIconMargin, ":-0.0625rem -0.25rem -0.0625rem 0.375rem;;label:plasma-new-hope__true;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
18
|
+
"true": /*#__PURE__*/css(toastTokens.pilledBorderRadius, ":1.5rem;", toastTokens.leftContentMargin, ":-0.0625rem 0.375rem -0.0625rem -0.25rem;", toastTokens.closeIconMargin, ":-0.0625rem -0.25rem -0.0625rem 0.375rem;;label:plasma-new-hope__true;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2V4YW1wbGVzL3BsYXNtYV93ZWIvY29tcG9uZW50cy9Ub2FzdC9Ub2FzdC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbURxQiIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9leGFtcGxlcy9wbGFzbWFfd2ViL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QuY29uZmlnLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgeyB0b2FzdFRva2VucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvVG9hc3QnO1xuXG5leHBvcnQgY29uc3QgY29uZmlnID0ge1xuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHZpZXc6ICdkZWZhdWx0JyxcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgIH0sXG4gICAgdmFyaWF0aW9uczoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5iYWNrZ3JvdW5kfTogdmFyKC0tc3VyZmFjZS1zb2xpZC1jYXJkLWJyaWdodG5lc3MpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25Db2xvcn06IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGAsXG4gICAgICAgICAgICBkYXJrOiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLW9uLWRhcmstdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmJhY2tncm91bmR9OiB2YXIoLS1vbi1kYXJrLXN1cmZhY2Utc29saWQtcHJpbWFyeS1icmlnaHRuZXNzKTtcblxuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uQ29sb3J9OiB2YXIoLS1vbi1kYXJrLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLW9uLWRhcmstdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgICAgIGxpZ2h0OiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jb2xvcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5iYWNrZ3JvdW5kfTogdmFyKC0tb24tbGlnaHQtc3VyZmFjZS1zb2xpZC1wcmltYXJ5LWJyaWdodG5lc3MpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25Db2xvcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmNsb3NlSWNvbkNvbG9yT25Ib3Zlcn06IHZhcigtLW9uLWxpZ2h0LXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGAsXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIG06IGNzc2BcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmJvcmRlclJhZGl1c306IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5tYXhXaWR0aH06IGNhbGMoMTAwdncgLSA1cmVtKTtcbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLnBhZGRpbmd9OiAwLjU2MjVyZW0gMC43NXJlbTtcblxuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udEZhbWlseX06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udFNpemV9OiB2YXIoLS1wbGFzbWEtdHlwby1ib2R5LXhzLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5mb250U3R5bGV9OiB2YXIoLS1wbGFzbWEtdHlwby1ib2R5LXhzLWZvbnQtc3R5bGUpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuZm9udFdlaWdodH06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtZm9udC13ZWlnaHQpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMubGV0dGVyU3BhY2luZ306IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtbGV0dGVyLXNwYWNpbmcpO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMubGluZUhlaWdodH06IHZhcigtLXBsYXNtYS10eXBvLWJvZHkteHMtbGluZS1oZWlnaHQpO1xuXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5sZWZ0Q29udGVudE1hcmdpbn06IC0wLjA2MjVyZW0gMC4zNzVyZW0gLTAuMDYyNXJlbSAtMC4xMjVyZW07XG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5jbG9zZUljb25NYXJnaW59OiAtMC4wNjI1cmVtIC0wLjI1cmVtIC0wLjA2MjVyZW0gMC41cmVtO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgfSxcbiAgICAgICAgcGlsbGVkOiB7XG4gICAgICAgICAgICB0cnVlOiBjc3NgXG4gICAgICAgICAgICAgICAgJHt0b2FzdFRva2Vucy5waWxsZWRCb3JkZXJSYWRpdXN9OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAke3RvYXN0VG9rZW5zLmxlZnRDb250ZW50TWFyZ2lufTogLTAuMDYyNXJlbSAwLjM3NXJlbSAtMC4wNjI1cmVtIC0wLjI1cmVtO1xuICAgICAgICAgICAgICAgICR7dG9hc3RUb2tlbnMuY2xvc2VJY29uTWFyZ2lufTogLTAuMDYyNXJlbSAtMC4yNXJlbSAtMC4wNjI1cmVtIDAuMzc1cmVtO1xuICAgICAgICAgICAgYCxcbiAgICAgICAgfSxcbiAgICB9LFxufTtcbiJdfQ== */"))
|
19
19
|
}
|
20
20
|
}
|
21
21
|
};
|
@@ -78,7 +78,7 @@ var horizontalTabsRoot = function horizontalTabsRoot(Root) {
|
|
78
78
|
});
|
79
79
|
firstOverflowingTab === null || firstOverflowingTab === void 0 || (_firstOverflowingTab$ = firstOverflowingTab.current) === null || _firstOverflowingTab$ === void 0 || _firstOverflowingTab$.scrollIntoView({
|
80
80
|
block: 'nearest',
|
81
|
-
inline: '
|
81
|
+
inline: 'nearest'
|
82
82
|
});
|
83
83
|
}, [disabled, scrollRef, refs]);
|
84
84
|
var onNext = useCallback(function () {
|
@@ -96,7 +96,7 @@ var horizontalTabsRoot = function horizontalTabsRoot(Root) {
|
|
96
96
|
});
|
97
97
|
lastOverflowingTab === null || lastOverflowingTab === void 0 || (_lastOverflowingTab$c = lastOverflowingTab.current) === null || _lastOverflowingTab$c === void 0 || _lastOverflowingTab$c.scrollIntoView({
|
98
98
|
block: 'nearest',
|
99
|
-
inline: '
|
99
|
+
inline: 'nearest'
|
100
100
|
});
|
101
101
|
}, [disabled, scrollRef, refs]);
|
102
102
|
var PreviousButton = useMemo(function () {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HorizontalTabs.js","sources":["../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\nimport { classes, tokens } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { HorizontalTabsProps } from '../../../Tabs.types';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport { StyledArrow, StyledContent, StyledContentWrapper, base } from './HorizontalTabs.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const horizontalTabsRoot = (Root: RootProps<HTMLDivElement, HorizontalTabsProps>) =>\n forwardRef<HTMLDivElement, HorizontalTabsProps>((props, outerRef) => {\n const {\n id,\n stretch = false,\n disabled = false,\n clip = 'scroll',\n size,\n view,\n children,\n pilled = false,\n index,\n className,\n ...rest\n } = props;\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const isFilled = view === 'filled'; // outer padding is only for filled view\n const pilledAttr = view !== 'clear' && pilled;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.tabsStretch : undefined;\n const hasLeftArrowClass = !firstItemVisible ? classes.tabsHasLeftArrow : undefined;\n const hasRightArrowClass = !lastItemVisible ? classes.tabsHasRightArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const leftArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollLeft = Math.round(scrollRef.current.scrollLeft);\n const firstOverflowingTab = refs.items\n .slice()\n .reverse()\n .find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetLeft === undefined) {\n return;\n }\n const tabStartX = item.current.offsetLeft;\n\n return tabStartX < scrollLeft;\n });\n\n firstOverflowingTab?.current?.scrollIntoView({ block: 'nearest', inline: 'start' });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);\n const lastOverflowingTab = refs.items.find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetLeft === undefined) {\n return;\n }\n const tabEndX = item.current.offsetLeft + item.current.offsetWidth;\n\n return tabEndX > scrollRight;\n });\n\n lastOverflowingTab?.current?.scrollIntoView({ block: 'nearest', inline: 'end' });\n }, [disabled, scrollRef, refs]);\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n ref={leftArrowRef}\n isLeftArrow\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onPrev, disabled, isFilled],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onNext, disabled, isFilled],\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;\n const scrollLeft = Math.round(event.currentTarget.scrollLeft);\n\n setFirstItemVisible(scrollLeft <= 0);\n setLastItemVisible(scrollLeft >= maxScrollLeft);\n },\n [setFirstItemVisible, setLastItemVisible],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (index === undefined) {\n return;\n }\n\n const minIndex = 0;\n const maxIndex = refs.items.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.left:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.right:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n refs.items[nextIndex].current?.focus();\n refs.items[nextIndex].current?.scrollIntoView({\n block: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth);\n }, []);\n\n // Этот хук компенсирует появление левой стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n\n scrollRef.current.scrollTo({\n left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth),\n });\n }, [firstItemVisible, scrollRef, leftArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n pilled={pilled}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass, className)}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\n ref={scrollRef as MutableRefObject<HTMLDivElement | null>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>\n {children}\n </StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n </TabsContext.Provider>\n );\n });\n\nexport const horizontalTabsConfig = {\n name: 'HorizontalTabs',\n tag: 'div',\n layout: horizontalTabsRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["Keys","horizontalTabsRoot","Root","forwardRef","props","outerRef","id","_props$stretch","stretch","_props$disabled","disabled","_props$clip","clip","size","view","children","_props$pilled","pilled","index","className","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","isFilled","pilledAttr","pilledClass","classes","tabsPilled","undefined","stretchClass","tabsStretch","hasLeftArrowClass","tabsHasLeftArrow","hasRightArrowClass","tabsHasRightArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","leftArrowRef","onPrev","useCallback","_firstOverflowingTab$","current","scrollLeft","Math","round","firstOverflowingTab","items","slice","reverse","find","item","offsetLeft","tabStartX","scrollIntoView","block","inline","onNext","_lastOverflowingTab$c","scrollRight","clientWidth","lastOverflowingTab","tabEndX","offsetWidth","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","isLeftArrow","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","maxScrollLeft","currentTarget","scrollWidth","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","left","right","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","behavior","useEffect","_scrollRef$current","_scrollRef$current2","scrollTo","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","horizontalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","stretchCSS","pilledCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;AAgBiG,IAE5FA,IAAI,0BAAJA,IAAI,EAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAAJA,IAAI,CAAA;AAAA,CAAA,CAAJA,IAAI,IAOT,EAAA,CAAA,CAAA;IACaC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAAoD,EAAA;AAAA,EAAA,oBACnFC,UAAU,CAAsC,UAACC,KAAK,EAAEC,QAAQ,EAAK;AACjE,IAAA,IACIC,EAAE,GAWFF,KAAK,CAXLE,EAAE;MAAAC,cAAA,GAWFH,KAAK,CAVLI,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MAAAE,eAAA,GAUfL,KAAK,CATLM,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAAAE,WAAA,GAShBP,KAAK,CARLQ,IAAI;AAAJA,MAAAA,IAAI,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,WAAA;MACfE,IAAI,GAOJT,KAAK,CAPLS,IAAI;MACJC,IAAI,GAMJV,KAAK,CANLU,IAAI;MACJC,QAAQ,GAKRX,KAAK,CALLW,QAAQ;MAAAC,aAAA,GAKRZ,KAAK,CAJLa,MAAM;AAANA,MAAAA,MAAM,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MACdE,KAAK,GAGLd,KAAK,CAHLc,KAAK;MACLC,SAAS,GAETf,KAAK,CAFLe,SAAS;AACNC,MAAAA,IAAI,GAAAC,wBAAA,CACPjB,KAAK,EAAAkB,SAAA,CAAA,CAAA;AACT,IAAA,IAAAC,SAAA,GAAgDC,QAAQ,CAAC,IAAI,CAAC;MAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,mBAAmB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,IAAA,IAAAI,UAAA,GAA8CL,QAAQ,CAAC,IAAI,CAAC;MAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAArDE,MAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAE1C,IAAMG,IAAI,GAAGC,OAAO,CAAC,YAAA;AAAA,MAAA,OAAM,IAAIC,WAAW,CAACjB,KAAK,CAAC,CAAA;AAAA,KAAA,EAAE,EAAE,CAAC,CAAA;AAEtD,IAAA,IAAMkB,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,MAAM,GAAGhC,EAAE,IAAI8B,MAAM,CAAA;AAE3B,IAAA,IAAMG,QAAQ,GAAGzB,IAAI,KAAK,QAAQ,CAAC;AACnC,IAAA,IAAM0B,UAAU,GAAG1B,IAAI,KAAK,OAAO,IAAIG,MAAM,CAAA;IAC7C,IAAMwB,WAAW,GAAGD,UAAU,GAAGE,OAAO,CAACC,UAAU,GAAGC,SAAS,CAAA;AAE/D,IAAA,IAAMC,YAAY,GAAGlB,gBAAgB,IAAII,eAAe,IAAIvB,OAAO,GAAGkC,OAAO,CAACI,WAAW,GAAGF,SAAS,CAAA;IACrG,IAAMG,iBAAiB,GAAG,CAACpB,gBAAgB,GAAGe,OAAO,CAACM,gBAAgB,GAAGJ,SAAS,CAAA;IAClF,IAAMK,kBAAkB,GAAG,CAAClB,eAAe,GAAGW,OAAO,CAACQ,iBAAiB,GAAGN,SAAS,CAAA;IACnF,IAAMO,eAAe,GAAGvC,IAAI,KAAK,QAAQ,GAAG8B,OAAO,CAACU,cAAc,GAAGR,SAAS,CAAA;IAC9E,IAAMS,gBAAgB,GAAGzC,IAAI,KAAK,SAAS,GAAG8B,OAAO,CAACY,eAAe,GAAGV,SAAS,CAAA;AAEjF,IAAA,IAAMW,SAAS,GAAGC,MAAM,CAAqB,IAAI,CAAC,CAAA;AAClD,IAAA,IAAMC,QAAQ,GAAGD,MAAM,CAAqB,IAAI,CAAC,CAAA;AACjD,IAAA,IAAME,YAAY,GAAGF,MAAM,CAA2B,IAAI,CAAC,CAAA;AAE3D,IAAA,IAAMG,MAAM,GAAGC,WAAW,CAAC,YAAM;AAAA,MAAA,IAAAC,qBAAA,CAAA;AAC7B,MAAA,IAAInD,QAAQ,IAAI,CAAC6C,SAAS,CAACO,OAAO,EAAE;AAChC,QAAA,OAAA;AACJ,OAAA;MAEA,IAAMC,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACV,SAAS,CAACO,OAAO,CAACC,UAAU,CAAC,CAAA;AAC3D,MAAA,IAAMG,mBAAmB,GAAGjC,IAAI,CAACkC,KAAK,CACjCC,KAAK,EAAE,CACPC,OAAO,EAAE,CACTC,IAAI,CAAC,UAACC,IAA0C,EAAK;AAClD,QAAA,IAAI,CAACA,IAAI,CAACT,OAAO,IAAIS,IAAI,CAACT,OAAO,CAACU,UAAU,KAAK5B,SAAS,EAAE;AACxD,UAAA,OAAA;AACJ,SAAA;AACA,QAAA,IAAM6B,SAAS,GAAGF,IAAI,CAACT,OAAO,CAACU,UAAU,CAAA;QAEzC,OAAOC,SAAS,GAAGV,UAAU,CAAA;AACjC,OAAC,CAAC,CAAA;AAENG,MAAAA,mBAAmB,KAAnBA,IAAAA,IAAAA,mBAAmB,KAAAL,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAnBK,mBAAmB,CAAEJ,OAAO,MAAA,IAAA,IAAAD,qBAAA,KAAA,KAAA,CAAA,IAA5BA,qBAAA,CAA8Ba,cAAc,CAAC;AAAEC,QAAAA,KAAK,EAAE,SAAS;AAAEC,QAAAA,MAAM,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;KACtF,EAAE,CAAClE,QAAQ,EAAE6C,SAAS,EAAEtB,IAAI,CAAC,CAAC,CAAA;AAE/B,IAAA,IAAM4C,MAAM,GAAGjB,WAAW,CAAC,YAAM;AAAA,MAAA,IAAAkB,qBAAA,CAAA;AAC7B,MAAA,IAAIpE,QAAQ,IAAI,CAAC6C,SAAS,CAACO,OAAO,EAAE;AAChC,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMiB,WAAW,GAAGf,IAAI,CAACC,KAAK,CAACV,SAAS,CAACO,OAAO,CAACC,UAAU,GAAGR,SAAS,CAACO,OAAO,CAACkB,WAAW,CAAC,CAAA;MAC5F,IAAMC,kBAAkB,GAAGhD,IAAI,CAACkC,KAAK,CAACG,IAAI,CAAC,UAACC,IAA0C,EAAK;AACvF,QAAA,IAAI,CAACA,IAAI,CAACT,OAAO,IAAIS,IAAI,CAACT,OAAO,CAACU,UAAU,KAAK5B,SAAS,EAAE;AACxD,UAAA,OAAA;AACJ,SAAA;AACA,QAAA,IAAMsC,OAAO,GAAGX,IAAI,CAACT,OAAO,CAACU,UAAU,GAAGD,IAAI,CAACT,OAAO,CAACqB,WAAW,CAAA;QAElE,OAAOD,OAAO,GAAGH,WAAW,CAAA;AAChC,OAAC,CAAC,CAAA;AAEFE,MAAAA,kBAAkB,KAAlBA,IAAAA,IAAAA,kBAAkB,KAAAH,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAlBG,kBAAkB,CAAEnB,OAAO,MAAA,IAAA,IAAAgB,qBAAA,KAAA,KAAA,CAAA,IAA3BA,qBAAA,CAA6BJ,cAAc,CAAC;AAAEC,QAAAA,KAAK,EAAE,SAAS;AAAEC,QAAAA,MAAM,EAAE,KAAA;AAAM,OAAC,CAAC,CAAA;KACnF,EAAE,CAAClE,QAAQ,EAAE6C,SAAS,EAAEtB,IAAI,CAAC,CAAC,CAAA;IAE/B,IAAMmD,cAAc,GAAGlD,OAAO,CAC1B,YAAA;AAAA,MAAA,oBACImD,KAAA,CAAAC,aAAA,CAACC,WAAW,EAAA;AACRC,QAAAA,IAAI,EAAC,QAAQ;AACb,QAAA,YAAA,EAAW,iFAAgB;AAC3BC,QAAAA,OAAO,EAAE9B,MAAO;AAChB+B,QAAAA,QAAQ,EAAEhF,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAE;AAC5BA,QAAAA,QAAQ,EAAEA,QAAS;AACnB6B,QAAAA,QAAQ,EAAEA,QAAS;AACnBoD,QAAAA,GAAG,EAAEjC,YAAa;QAClBkC,WAAW,EAAA,IAAA;AAAA,OAAA,eAEXP,KAAA,CAAAC,aAAA,CAACO,kBAAkB,EAAA;AAACC,QAAAA,KAAK,EAAAC,MAAAA,CAAAA,MAAA,CAASC,MAAM,CAACC,UAAU,EAAA,GAAA,CAAA;AAAI,OAAE,CAChD,CAAC,CAAA;KACjB,EACD,CAACtC,MAAM,EAAEjD,QAAQ,EAAE6B,QAAQ,CAC/B,CAAC,CAAA;IAED,IAAM2D,UAAU,GAAGhE,OAAO,CACtB,YAAA;AAAA,MAAA,oBACImD,KAAA,CAAAC,aAAA,CAACC,WAAW,EAAA;AACRC,QAAAA,IAAI,EAAC,QAAQ;AACb,QAAA,YAAA,EAAW,2EAAe;AAC1BC,QAAAA,OAAO,EAAEZ,MAAO;AAChBa,QAAAA,QAAQ,EAAEhF,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAE;AAC5BA,QAAAA,QAAQ,EAAEA,QAAS;AACnB6B,QAAAA,QAAQ,EAAEA,QAAAA;AAAS,OAAA,eAEnB8C,KAAA,CAAAC,aAAA,CAACa,mBAAmB,EAAA;AAACL,QAAAA,KAAK,EAAAC,MAAAA,CAAAA,MAAA,CAASC,MAAM,CAACC,UAAU,EAAA,GAAA,CAAA;AAAI,OAAE,CACjD,CAAC,CAAA;KACjB,EACD,CAACpB,MAAM,EAAEnE,QAAQ,EAAE6B,QAAQ,CAC/B,CAAC,CAAA;AAED,IAAA,IAAM6D,YAAY,GAAGxC,WAAW,CAC5B,UAACyC,KAAiC,EAAW;MACzCA,KAAK,CAACC,eAAe,EAAE,CAAA;AACvB,MAAA,IAAMC,aAAa,GAAGF,KAAK,CAACG,aAAa,CAACC,WAAW,GAAGJ,KAAK,CAACG,aAAa,CAACxB,WAAW,CAAA;MACvF,IAAMjB,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACoC,KAAK,CAACG,aAAa,CAACzC,UAAU,CAAC,CAAA;AAE7DnC,MAAAA,mBAAmB,CAACmC,UAAU,IAAI,CAAC,CAAC,CAAA;AACpC/B,MAAAA,kBAAkB,CAAC+B,UAAU,IAAIwC,aAAa,CAAC,CAAA;AACnD,KAAC,EACD,CAAC3E,mBAAmB,EAAEI,kBAAkB,CAC5C,CAAC,CAAA;AAED,IAAA,IAAM0E,SAAS,GAAG9C,WAAW,CACzB,UAACyC,KAAoC,EAAK;MACtC,IAAInF,KAAK,KAAK0B,SAAS,EAAE;AACrB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAM+D,QAAQ,GAAG,CAAC,CAAA;MAClB,IAAMC,QAAQ,GAAG3E,IAAI,CAACkC,KAAK,CAAC0C,MAAM,GAAG,CAAC,CAAA;AACtC,MAAA,IAAIC,SAAiB,CAAA;MAErB,QAAQT,KAAK,CAACU,OAAO;QACjB,KAAK/G,IAAI,CAACgH,GAAG;AACTF,UAAAA,SAAS,GAAGF,QAAQ,CAAA;AACpB,UAAA,MAAA;QACJ,KAAK5G,IAAI,CAACiH,IAAI;UACVH,SAAS,GAAG5F,KAAK,GAAGyF,QAAQ,GAAGzF,KAAK,GAAG,CAAC,GAAGA,KAAK,CAAA;AAChD,UAAA,MAAA;QACJ,KAAKlB,IAAI,CAACkH,KAAK;UACXJ,SAAS,GAAG5F,KAAK,GAAG0F,QAAQ,GAAG1F,KAAK,GAAG,CAAC,GAAGA,KAAK,CAAA;AAChD,UAAA,MAAA;QACJ,KAAKlB,IAAI,CAACmH,IAAI;AACVL,UAAAA,SAAS,GAAGH,QAAQ,CAAA;AACpB,UAAA,MAAA;AACJ,QAAA;AACI,UAAA,OAAA;AACR,OAAA;MAEA,IAAIG,SAAS,KAAK5F,KAAK,EAAE;QAAA,IAAAkG,qBAAA,EAAAC,sBAAA,CAAA;QACrBhB,KAAK,CAACiB,cAAc,EAAE,CAAA;AACtB,QAAA,CAAAF,qBAAA,GAAAnF,IAAI,CAACkC,KAAK,CAAC2C,SAAS,CAAC,CAAChD,OAAO,cAAAsD,qBAAA,KAAA,KAAA,CAAA,IAA7BA,qBAAA,CAA+BG,KAAK,EAAE,CAAA;AACtC,QAAA,CAAAF,sBAAA,GAAApF,IAAI,CAACkC,KAAK,CAAC2C,SAAS,CAAC,CAAChD,OAAO,cAAAuD,sBAAA,KAAA,KAAA,CAAA,IAA7BA,sBAAA,CAA+B3C,cAAc,CAAC;AAC1CC,UAAAA,KAAK,EAAE,SAAS;AAChBC,UAAAA,MAAM,EAAE,QAAQ;AAChB4C,UAAAA,QAAQ,EAAE,QAAA;AACd,SAAC,CAAC,CAAA;AACN,OAAA;AACJ,KAAC,EACD,CAACtG,KAAK,CACV,CAAC,CAAA;AAEDuG,IAAAA,SAAS,CAAC,YAAM;MAAA,IAAAC,kBAAA,EAAAC,mBAAA,CAAA;MACZ3F,kBAAkB,CAAC,CAAA0F,CAAAA,kBAAA,GAAAnE,SAAS,CAACO,OAAO,MAAA,IAAA,IAAA4D,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,kBAAA,CAAmBjB,WAAW,OAAAkB,CAAAA,mBAAA,GAAKpE,SAAS,CAACO,OAAO,MAAA6D,IAAAA,IAAAA,mBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAmB3C,WAAW,CAAC,CAAA,CAAA;KACxF,EAAE,EAAE,CAAC,CAAA;;AAEN;AACAyC,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAI9F,gBAAgB,IAAI,CAAC4B,SAAS,CAACO,OAAO,IAAI,CAACJ,YAAY,CAACI,OAAO,EAAE;AACjE,QAAA,OAAA;AACJ,OAAA;AAEAP,MAAAA,SAAS,CAACO,OAAO,CAAC8D,QAAQ,CAAC;AACvBX,QAAAA,IAAI,EAAEjD,IAAI,CAACC,KAAK,CAACV,SAAS,CAACO,OAAO,CAACC,UAAU,GAAGL,YAAY,CAACI,OAAO,CAACkB,WAAW,CAAA;AACpF,OAAC,CAAC,CAAA;KACL,EAAE,CAACrD,gBAAgB,EAAE4B,SAAS,EAAEG,YAAY,CAAC,CAAC,CAAA;AAE/C,IAAA,oBACI2B,KAAA,CAAAC,aAAA,CAACuC,WAAW,CAACC,QAAQ,EAAA;AAACC,MAAAA,KAAK,EAAE9F,IAAAA;AAAK,KAAA,eAC9BoD,KAAA,CAAAC,aAAA,CAACpF,IAAI,EAAA8H,QAAA,CAAA;AACDlH,MAAAA,IAAI,EAAEA,IAAK;AACXmH,MAAAA,IAAI,EAAC,SAAS;AACdpH,MAAAA,IAAI,EAAEA,IAAK;AACXI,MAAAA,MAAM,EAAEA,MAAO;AACfX,MAAAA,EAAE,EAAEgC,MAAO;AACXqD,MAAAA,GAAG,EAAEtF,QAAS;AACdK,MAAAA,QAAQ,EAAEA,QAAS;AACnBS,MAAAA,SAAS,EAAE+G,EAAE,CAACzF,WAAW,EAAEI,YAAY,EAAEE,iBAAiB,EAAEE,kBAAkB,EAAE9B,SAAS,CAAE;AAC3FuF,MAAAA,SAAS,EAAEA,SAAAA;KACPtF,EAAAA,IAAI,CAEP,EAAA,CAACO,gBAAgB,IAAIyD,cAAc,eACpCC,KAAA,CAAAC,aAAA,CAAC6C,oBAAoB,EAAA;AACjBhH,MAAAA,SAAS,EAAE+G,EAAE,CAAC/E,eAAe,EAAEE,gBAAgB,CAAE;AACjDsC,MAAAA,GAAG,EAAEpC,SAAqD;AAC1D6E,MAAAA,QAAQ,EAAEhC,YAAAA;AAAa,KAAA,eAEvBf,KAAA,CAAAC,aAAA,CAAC+C,aAAa,EAAA;AAAC1C,MAAAA,GAAG,EAAElC,QAAAA;KACf1C,EAAAA,QACU,CACG,CAAC,EACtB,CAACgB,eAAe,IAAImE,UACnB,CACY,CAAC,CAAA;AAE/B,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMoC,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAExI,kBAAkB;AAC1ByI,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACR9H,IAAAA,IAAI,EAAE;AACF+H,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACD/H,IAAAA,IAAI,EAAE;AACF8H,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACDpI,IAAAA,QAAQ,EAAE;AACNkI,MAAAA,GAAG,EAAEG,MAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACDxI,IAAAA,OAAO,EAAE;AACLoI,MAAAA,GAAG,EAAEK,MAAU;AACfD,MAAAA,KAAK,EAAE,IAAA;KACV;AACD/H,IAAAA,MAAM,EAAE;AACJ2H,MAAAA,GAAG,EAAEM,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNrI,IAAAA,IAAI,EAAE,OAAO;AACbD,IAAAA,IAAI,EAAE,IAAA;AACV,GAAA;AACJ;;;;"}
|
1
|
+
{"version":3,"file":"HorizontalTabs.js","sources":["../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\nimport { classes, tokens } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { HorizontalTabsProps } from '../../../Tabs.types';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport { StyledArrow, StyledContent, StyledContentWrapper, base } from './HorizontalTabs.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const horizontalTabsRoot = (Root: RootProps<HTMLDivElement, HorizontalTabsProps>) =>\n forwardRef<HTMLDivElement, HorizontalTabsProps>((props, outerRef) => {\n const {\n id,\n stretch = false,\n disabled = false,\n clip = 'scroll',\n size,\n view,\n children,\n pilled = false,\n index,\n className,\n ...rest\n } = props;\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const isFilled = view === 'filled'; // outer padding is only for filled view\n const pilledAttr = view !== 'clear' && pilled;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.tabsStretch : undefined;\n const hasLeftArrowClass = !firstItemVisible ? classes.tabsHasLeftArrow : undefined;\n const hasRightArrowClass = !lastItemVisible ? classes.tabsHasRightArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const leftArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollLeft = Math.round(scrollRef.current.scrollLeft);\n const firstOverflowingTab = refs.items\n .slice()\n .reverse()\n .find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetLeft === undefined) {\n return;\n }\n const tabStartX = item.current.offsetLeft;\n\n return tabStartX < scrollLeft;\n });\n\n firstOverflowingTab?.current?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);\n const lastOverflowingTab = refs.items.find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetLeft === undefined) {\n return;\n }\n const tabEndX = item.current.offsetLeft + item.current.offsetWidth;\n\n return tabEndX > scrollRight;\n });\n\n lastOverflowingTab?.current?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef, refs]);\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n ref={leftArrowRef}\n isLeftArrow\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onPrev, disabled, isFilled],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onNext, disabled, isFilled],\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;\n const scrollLeft = Math.round(event.currentTarget.scrollLeft);\n\n setFirstItemVisible(scrollLeft <= 0);\n setLastItemVisible(scrollLeft >= maxScrollLeft);\n },\n [setFirstItemVisible, setLastItemVisible],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (index === undefined) {\n return;\n }\n\n const minIndex = 0;\n const maxIndex = refs.items.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.left:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.right:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n refs.items[nextIndex].current?.focus();\n refs.items[nextIndex].current?.scrollIntoView({\n block: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth);\n }, []);\n\n // Этот хук компенсирует появление левой стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n\n scrollRef.current.scrollTo({\n left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth),\n });\n }, [firstItemVisible, scrollRef, leftArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n pilled={pilled}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass, className)}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\n ref={scrollRef as MutableRefObject<HTMLDivElement | null>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>\n {children}\n </StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n </TabsContext.Provider>\n );\n });\n\nexport const horizontalTabsConfig = {\n name: 'HorizontalTabs',\n tag: 'div',\n layout: horizontalTabsRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["Keys","horizontalTabsRoot","Root","forwardRef","props","outerRef","id","_props$stretch","stretch","_props$disabled","disabled","_props$clip","clip","size","view","children","_props$pilled","pilled","index","className","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","isFilled","pilledAttr","pilledClass","classes","tabsPilled","undefined","stretchClass","tabsStretch","hasLeftArrowClass","tabsHasLeftArrow","hasRightArrowClass","tabsHasRightArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","leftArrowRef","onPrev","useCallback","_firstOverflowingTab$","current","scrollLeft","Math","round","firstOverflowingTab","items","slice","reverse","find","item","offsetLeft","tabStartX","scrollIntoView","block","inline","onNext","_lastOverflowingTab$c","scrollRight","clientWidth","lastOverflowingTab","tabEndX","offsetWidth","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","isLeftArrow","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","maxScrollLeft","currentTarget","scrollWidth","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","left","right","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","behavior","useEffect","_scrollRef$current","_scrollRef$current2","scrollTo","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","horizontalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","stretchCSS","pilledCSS","defaults"],"mappings":"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"}
|
@@ -71,7 +71,7 @@ var verticalTabsRoot = function verticalTabsRoot(Root) {
|
|
71
71
|
return tabStartY < scrollTop;
|
72
72
|
});
|
73
73
|
firstOverflowingTab === null || firstOverflowingTab === void 0 || (_firstOverflowingTab$ = firstOverflowingTab.current) === null || _firstOverflowingTab$ === void 0 || _firstOverflowingTab$.scrollIntoView({
|
74
|
-
block: '
|
74
|
+
block: 'nearest',
|
75
75
|
inline: 'nearest'
|
76
76
|
});
|
77
77
|
}, [disabled, scrollRef, refs]);
|
@@ -89,7 +89,7 @@ var verticalTabsRoot = function verticalTabsRoot(Root) {
|
|
89
89
|
return tabEndY > scrollBottom;
|
90
90
|
});
|
91
91
|
lastOverflowingTab === null || lastOverflowingTab === void 0 || (_lastOverflowingTab$c = lastOverflowingTab.current) === null || _lastOverflowingTab$c === void 0 || _lastOverflowingTab$c.scrollIntoView({
|
92
|
-
block: '
|
92
|
+
block: 'nearest',
|
93
93
|
inline: 'nearest'
|
94
94
|
});
|
95
95
|
}, [disabled, scrollRef, refs]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VerticalTabs.js","sources":["../../../../../../src/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines/types';\nimport { classes, tokens } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { VerticalTabsProps } from '../../../Tabs.types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\n\nimport { base, StyledArrow, StyledContent, StyledContentWrapper } from './VerticalTabs.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nenum Keys {\n end = 35,\n home = 36,\n up = 38,\n down = 40,\n}\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const verticalTabsRoot = (Root: RootProps<HTMLDivElement, VerticalTabsProps>) =>\n forwardRef<HTMLDivElement, VerticalTabsProps>((props, outerRef) => {\n const {\n id,\n disabled = false,\n clip = 'showAll',\n size,\n view,\n children,\n index,\n className,\n orientation,\n hasDivider = true,\n ...rest\n } = props;\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const noDividerClass = !hasDivider ? classes.tabsNoDivider : undefined;\n const hasTopArrowClass = !firstItemVisible ? classes.tabsHasTopArrow : undefined;\n const hasBottomArrowClass = !lastItemVisible ? classes.tabsHasBottomArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const upArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollTop = Math.round(scrollRef.current.scrollTop);\n const firstOverflowingTab = refs.items\n .slice()\n .reverse()\n .find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetTop === undefined) {\n return;\n }\n const tabStartY = item.current.offsetTop;\n\n return tabStartY < scrollTop;\n });\n\n firstOverflowingTab?.current?.scrollIntoView({ block: 'start', inline: 'nearest' });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollBottom = Math.round(scrollRef.current.scrollTop + scrollRef.current.clientHeight);\n const lastOverflowingTab = refs.items.find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetTop === undefined) {\n return;\n }\n const tabEndY = item.current.offsetTop + item.current.offsetHeight;\n\n return tabEndY > scrollBottom;\n });\n\n lastOverflowingTab?.current?.scrollIntoView({ block: 'end', inline: 'nearest' });\n }, [disabled, scrollRef, refs]);\n\n const PreviousButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n ref={upArrowRef}\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n );\n\n const NextButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;\n const scrollTop = Math.round(event.currentTarget.scrollTop);\n\n setFirstItemVisible(scrollTop <= 0);\n setLastItemVisible(scrollTop >= maxScrollTop);\n },\n [setFirstItemVisible, setLastItemVisible],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (index === undefined) {\n return;\n }\n\n const minIndex = 0;\n const maxIndex = refs.items.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.up:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.down:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n refs.items[nextIndex].current?.focus();\n refs.items[nextIndex].current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight);\n }, []);\n\n // Этот хук компенсирует появление верхней стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !upArrowRef.current) {\n return;\n }\n\n scrollRef.current.scrollTo({\n top: Math.round(scrollRef.current.scrollTop + upArrowRef.current.clientHeight),\n });\n }, [firstItemVisible, scrollRef, upArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(hasTopArrowClass, hasBottomArrowClass, noDividerClass, className)}\n onKeyDown={onKeyDown}\n orientation={orientation}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\n ref={scrollRef as MutableRefObject<HTMLDivElement | null>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>\n {children}\n </StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n </TabsContext.Provider>\n );\n });\n\nexport const verticalTabsConfig = {\n name: 'VerticalTabs',\n tag: 'div',\n layout: verticalTabsRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'divider',\n size: 'xs',\n },\n};\n"],"names":["Keys","verticalTabsRoot","Root","forwardRef","props","outerRef","id","_props$disabled","disabled","_props$clip","clip","size","view","children","index","className","orientation","_props$hasDivider","hasDivider","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","noDividerClass","classes","tabsNoDivider","undefined","hasTopArrowClass","tabsHasTopArrow","hasBottomArrowClass","tabsHasBottomArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","upArrowRef","onPrev","useCallback","_firstOverflowingTab$","current","scrollTop","Math","round","firstOverflowingTab","items","slice","reverse","find","item","offsetTop","tabStartY","scrollIntoView","block","inline","onNext","_lastOverflowingTab$c","scrollBottom","clientHeight","lastOverflowingTab","tabEndY","offsetHeight","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","maxScrollTop","currentTarget","scrollHeight","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","up","down","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","behavior","useEffect","_scrollRef$current","_scrollRef$current2","scrollTo","top","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","verticalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"VerticalTabs.js","sources":["../../../../../../src/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines/types';\nimport { classes, tokens } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { VerticalTabsProps } from '../../../Tabs.types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\n\nimport { base, StyledArrow, StyledContent, StyledContentWrapper } from './VerticalTabs.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nenum Keys {\n end = 35,\n home = 36,\n up = 38,\n down = 40,\n}\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const verticalTabsRoot = (Root: RootProps<HTMLDivElement, VerticalTabsProps>) =>\n forwardRef<HTMLDivElement, VerticalTabsProps>((props, outerRef) => {\n const {\n id,\n disabled = false,\n clip = 'showAll',\n size,\n view,\n children,\n index,\n className,\n orientation,\n hasDivider = true,\n ...rest\n } = props;\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const noDividerClass = !hasDivider ? classes.tabsNoDivider : undefined;\n const hasTopArrowClass = !firstItemVisible ? classes.tabsHasTopArrow : undefined;\n const hasBottomArrowClass = !lastItemVisible ? classes.tabsHasBottomArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const upArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollTop = Math.round(scrollRef.current.scrollTop);\n const firstOverflowingTab = refs.items\n .slice()\n .reverse()\n .find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetTop === undefined) {\n return;\n }\n const tabStartY = item.current.offsetTop;\n\n return tabStartY < scrollTop;\n });\n\n firstOverflowingTab?.current?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollBottom = Math.round(scrollRef.current.scrollTop + scrollRef.current.clientHeight);\n const lastOverflowingTab = refs.items.find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetTop === undefined) {\n return;\n }\n const tabEndY = item.current.offsetTop + item.current.offsetHeight;\n\n return tabEndY > scrollBottom;\n });\n\n lastOverflowingTab?.current?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef, refs]);\n\n const PreviousButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n ref={upArrowRef}\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n );\n\n const NextButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;\n const scrollTop = Math.round(event.currentTarget.scrollTop);\n\n setFirstItemVisible(scrollTop <= 0);\n setLastItemVisible(scrollTop >= maxScrollTop);\n },\n [setFirstItemVisible, setLastItemVisible],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (index === undefined) {\n return;\n }\n\n const minIndex = 0;\n const maxIndex = refs.items.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.up:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.down:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n refs.items[nextIndex].current?.focus();\n refs.items[nextIndex].current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight);\n }, []);\n\n // Этот хук компенсирует появление верхней стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !upArrowRef.current) {\n return;\n }\n\n scrollRef.current.scrollTo({\n top: Math.round(scrollRef.current.scrollTop + upArrowRef.current.clientHeight),\n });\n }, [firstItemVisible, scrollRef, upArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(hasTopArrowClass, hasBottomArrowClass, noDividerClass, className)}\n onKeyDown={onKeyDown}\n orientation={orientation}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\n ref={scrollRef as MutableRefObject<HTMLDivElement | null>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>\n {children}\n </StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n </TabsContext.Provider>\n );\n });\n\nexport const verticalTabsConfig = {\n name: 'VerticalTabs',\n tag: 'div',\n layout: verticalTabsRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'divider',\n size: 'xs',\n },\n};\n"],"names":["Keys","verticalTabsRoot","Root","forwardRef","props","outerRef","id","_props$disabled","disabled","_props$clip","clip","size","view","children","index","className","orientation","_props$hasDivider","hasDivider","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","noDividerClass","classes","tabsNoDivider","undefined","hasTopArrowClass","tabsHasTopArrow","hasBottomArrowClass","tabsHasBottomArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","upArrowRef","onPrev","useCallback","_firstOverflowingTab$","current","scrollTop","Math","round","firstOverflowingTab","items","slice","reverse","find","item","offsetTop","tabStartY","scrollIntoView","block","inline","onNext","_lastOverflowingTab$c","scrollBottom","clientHeight","lastOverflowingTab","tabEndY","offsetHeight","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","maxScrollTop","currentTarget","scrollHeight","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","up","down","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","behavior","useEffect","_scrollRef$current","_scrollRef$current2","scrollTo","top","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","verticalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.163.1-canary.
|
3
|
+
"version": "0.163.1-canary.1478.11288767669.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -124,5 +124,5 @@
|
|
124
124
|
"react-popper": "2.3.0",
|
125
125
|
"storeon": "3.1.5"
|
126
126
|
},
|
127
|
-
"gitHead": "
|
127
|
+
"gitHead": "f992ce2b1f8d322cced7b83ec77f3a83d198df6e"
|
128
128
|
}
|
package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js
CHANGED
@@ -92,7 +92,7 @@ var horizontalTabsRoot = exports.horizontalTabsRoot = function horizontalTabsRoo
|
|
92
92
|
});
|
93
93
|
firstOverflowingTab === null || firstOverflowingTab === void 0 || (_firstOverflowingTab$ = firstOverflowingTab.current) === null || _firstOverflowingTab$ === void 0 || _firstOverflowingTab$.scrollIntoView({
|
94
94
|
block: 'nearest',
|
95
|
-
inline: '
|
95
|
+
inline: 'nearest'
|
96
96
|
});
|
97
97
|
}, [disabled, scrollRef, refs]);
|
98
98
|
var onNext = (0, _react.useCallback)(function () {
|
@@ -110,7 +110,7 @@ var horizontalTabsRoot = exports.horizontalTabsRoot = function horizontalTabsRoo
|
|
110
110
|
});
|
111
111
|
lastOverflowingTab === null || lastOverflowingTab === void 0 || (_lastOverflowingTab$c = lastOverflowingTab.current) === null || _lastOverflowingTab$c === void 0 || _lastOverflowingTab$c.scrollIntoView({
|
112
112
|
block: 'nearest',
|
113
|
-
inline: '
|
113
|
+
inline: 'nearest'
|
114
114
|
});
|
115
115
|
}, [disabled, scrollRef, refs]);
|
116
116
|
var PreviousButton = (0, _react.useMemo)(function () {
|
@@ -85,7 +85,7 @@ var verticalTabsRoot = exports.verticalTabsRoot = function verticalTabsRoot(Root
|
|
85
85
|
return tabStartY < scrollTop;
|
86
86
|
});
|
87
87
|
firstOverflowingTab === null || firstOverflowingTab === void 0 || (_firstOverflowingTab$ = firstOverflowingTab.current) === null || _firstOverflowingTab$ === void 0 || _firstOverflowingTab$.scrollIntoView({
|
88
|
-
block: '
|
88
|
+
block: 'nearest',
|
89
89
|
inline: 'nearest'
|
90
90
|
});
|
91
91
|
}, [disabled, scrollRef, refs]);
|
@@ -103,7 +103,7 @@ var verticalTabsRoot = exports.verticalTabsRoot = function verticalTabsRoot(Root
|
|
103
103
|
return tabEndY > scrollBottom;
|
104
104
|
});
|
105
105
|
lastOverflowingTab === null || lastOverflowingTab === void 0 || (_lastOverflowingTab$c = lastOverflowingTab.current) === null || _lastOverflowingTab$c === void 0 || _lastOverflowingTab$c.scrollIntoView({
|
106
|
-
block: '
|
106
|
+
block: 'nearest',
|
107
107
|
inline: 'nearest'
|
108
108
|
});
|
109
109
|
}, [disabled, scrollRef, refs]);
|