@snack-uikit/toaster 0.8.17-preview-bc9ca5dd.0 → 0.8.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +3 -9
  3. package/dist/cjs/components/ToastSystemEvent/styles.module.css +3 -2
  4. package/dist/cjs/components/ToasterContainer/styles.module.css +9 -9
  5. package/dist/cjs/components/index.d.ts +0 -1
  6. package/dist/cjs/components/index.js +1 -2
  7. package/dist/cjs/constants.d.ts +5 -10
  8. package/dist/cjs/constants.js +4 -77
  9. package/dist/cjs/helperComponents/ButtonAction/styles.module.css +2 -2
  10. package/dist/cjs/helpers.js +1 -43
  11. package/dist/cjs/index.d.ts +2 -2
  12. package/dist/cjs/testIds.d.ts +0 -14
  13. package/dist/cjs/testIds.js +1 -16
  14. package/dist/cjs/types.d.ts +1 -9
  15. package/dist/esm/components/ToastSystemEvent/styles.module.css +3 -2
  16. package/dist/esm/components/ToasterContainer/styles.module.css +9 -9
  17. package/dist/esm/components/index.d.ts +0 -1
  18. package/dist/esm/components/index.js +0 -1
  19. package/dist/esm/constants.d.ts +5 -10
  20. package/dist/esm/constants.js +0 -76
  21. package/dist/esm/helperComponents/ButtonAction/styles.module.css +2 -2
  22. package/dist/esm/helpers.js +0 -38
  23. package/dist/esm/index.d.ts +2 -2
  24. package/dist/esm/testIds.d.ts +0 -14
  25. package/dist/esm/testIds.js +0 -15
  26. package/dist/esm/types.d.ts +1 -9
  27. package/package.json +5 -6
  28. package/src/components/ToastSystemEvent/styles.module.scss +2 -2
  29. package/src/components/ToasterContainer/styles.module.scss +1 -1
  30. package/src/components/index.ts +0 -1
  31. package/src/constants.ts +2 -91
  32. package/src/helpers.tsx +0 -35
  33. package/src/index.ts +1 -7
  34. package/src/testIds.ts +0 -17
  35. package/src/types.ts +1 -7
  36. package/dist/cjs/components/ToastUpload/ToastUpload.d.ts +0 -60
  37. package/dist/cjs/components/ToastUpload/ToastUpload.js +0 -122
  38. package/dist/cjs/components/ToastUpload/ToastUploadToaster.d.ts +0 -3
  39. package/dist/cjs/components/ToastUpload/ToastUploadToaster.js +0 -16
  40. package/dist/cjs/components/ToastUpload/constants.d.ts +0 -16
  41. package/dist/cjs/components/ToastUpload/constants.js +0 -26
  42. package/dist/cjs/components/ToastUpload/helperComponents/ButtonIcon/ButtonIcon.d.ts +0 -3
  43. package/dist/cjs/components/ToastUpload/helperComponents/ButtonIcon/ButtonIcon.js +0 -32
  44. package/dist/cjs/components/ToastUpload/helperComponents/ButtonIcon/index.d.ts +0 -1
  45. package/dist/cjs/components/ToastUpload/helperComponents/ButtonIcon/index.js +0 -25
  46. package/dist/cjs/components/ToastUpload/helperComponents/ButtonIcon/styles.module.css +0 -30
  47. package/dist/cjs/components/ToastUpload/helperComponents/FileItem/FileItem.d.ts +0 -5
  48. package/dist/cjs/components/ToastUpload/helperComponents/FileItem/FileItem.js +0 -85
  49. package/dist/cjs/components/ToastUpload/helperComponents/FileItem/index.d.ts +0 -1
  50. package/dist/cjs/components/ToastUpload/helperComponents/FileItem/index.js +0 -25
  51. package/dist/cjs/components/ToastUpload/helperComponents/FileItem/styles.module.css +0 -85
  52. package/dist/cjs/components/ToastUpload/helperComponents/LoadingStatus/LoadingStatus.d.ts +0 -6
  53. package/dist/cjs/components/ToastUpload/helperComponents/LoadingStatus/LoadingStatus.js +0 -42
  54. package/dist/cjs/components/ToastUpload/helperComponents/LoadingStatus/index.d.ts +0 -1
  55. package/dist/cjs/components/ToastUpload/helperComponents/LoadingStatus/index.js +0 -25
  56. package/dist/cjs/components/ToastUpload/helperComponents/LoadingStatus/styles.module.css +0 -3
  57. package/dist/cjs/components/ToastUpload/index.d.ts +0 -1
  58. package/dist/cjs/components/ToastUpload/index.js +0 -25
  59. package/dist/cjs/components/ToastUpload/styles.module.css +0 -110
  60. package/dist/cjs/components/ToastUpload/types.d.ts +0 -59
  61. package/dist/cjs/components/ToastUpload/types.js +0 -5
  62. package/dist/cjs/components/ToastUpload/utils/formatPercent.d.ts +0 -1
  63. package/dist/cjs/components/ToastUpload/utils/formatPercent.js +0 -8
  64. package/dist/cjs/components/ToastUpload/utils/index.d.ts +0 -1
  65. package/dist/cjs/components/ToastUpload/utils/index.js +0 -25
  66. package/dist/cjs/helperComponents/ButtonTextNeutral/ButtonTextNeutral.d.ts +0 -7
  67. package/dist/cjs/helperComponents/ButtonTextNeutral/ButtonTextNeutral.js +0 -28
  68. package/dist/cjs/helperComponents/ButtonTextNeutral/index.d.ts +0 -1
  69. package/dist/cjs/helperComponents/ButtonTextNeutral/index.js +0 -25
  70. package/dist/cjs/helperComponents/ButtonTextNeutral/styles.module.css +0 -32
  71. package/dist/esm/components/ToastUpload/ToastUpload.d.ts +0 -60
  72. package/dist/esm/components/ToastUpload/ToastUpload.js +0 -36
  73. package/dist/esm/components/ToastUpload/ToastUploadToaster.d.ts +0 -3
  74. package/dist/esm/components/ToastUpload/ToastUploadToaster.js +0 -7
  75. package/dist/esm/components/ToastUpload/constants.d.ts +0 -16
  76. package/dist/esm/components/ToastUpload/constants.js +0 -20
  77. package/dist/esm/components/ToastUpload/helperComponents/ButtonIcon/ButtonIcon.d.ts +0 -3
  78. package/dist/esm/components/ToastUpload/helperComponents/ButtonIcon/ButtonIcon.js +0 -18
  79. package/dist/esm/components/ToastUpload/helperComponents/ButtonIcon/index.d.ts +0 -1
  80. package/dist/esm/components/ToastUpload/helperComponents/ButtonIcon/index.js +0 -1
  81. package/dist/esm/components/ToastUpload/helperComponents/ButtonIcon/styles.module.css +0 -30
  82. package/dist/esm/components/ToastUpload/helperComponents/FileItem/FileItem.d.ts +0 -5
  83. package/dist/esm/components/ToastUpload/helperComponents/FileItem/FileItem.js +0 -23
  84. package/dist/esm/components/ToastUpload/helperComponents/FileItem/index.d.ts +0 -1
  85. package/dist/esm/components/ToastUpload/helperComponents/FileItem/index.js +0 -1
  86. package/dist/esm/components/ToastUpload/helperComponents/FileItem/styles.module.css +0 -85
  87. package/dist/esm/components/ToastUpload/helperComponents/LoadingStatus/LoadingStatus.d.ts +0 -6
  88. package/dist/esm/components/ToastUpload/helperComponents/LoadingStatus/LoadingStatus.js +0 -16
  89. package/dist/esm/components/ToastUpload/helperComponents/LoadingStatus/index.d.ts +0 -1
  90. package/dist/esm/components/ToastUpload/helperComponents/LoadingStatus/index.js +0 -1
  91. package/dist/esm/components/ToastUpload/helperComponents/LoadingStatus/styles.module.css +0 -3
  92. package/dist/esm/components/ToastUpload/index.d.ts +0 -1
  93. package/dist/esm/components/ToastUpload/index.js +0 -1
  94. package/dist/esm/components/ToastUpload/styles.module.css +0 -110
  95. package/dist/esm/components/ToastUpload/types.d.ts +0 -59
  96. package/dist/esm/components/ToastUpload/types.js +0 -1
  97. package/dist/esm/components/ToastUpload/utils/formatPercent.d.ts +0 -1
  98. package/dist/esm/components/ToastUpload/utils/formatPercent.js +0 -1
  99. package/dist/esm/components/ToastUpload/utils/index.d.ts +0 -1
  100. package/dist/esm/components/ToastUpload/utils/index.js +0 -1
  101. package/dist/esm/helperComponents/ButtonTextNeutral/ButtonTextNeutral.d.ts +0 -7
  102. package/dist/esm/helperComponents/ButtonTextNeutral/ButtonTextNeutral.js +0 -5
  103. package/dist/esm/helperComponents/ButtonTextNeutral/index.d.ts +0 -1
  104. package/dist/esm/helperComponents/ButtonTextNeutral/index.js +0 -1
  105. package/dist/esm/helperComponents/ButtonTextNeutral/styles.module.css +0 -32
  106. package/src/components/ToastUpload/ToastUpload.tsx +0 -169
  107. package/src/components/ToastUpload/ToastUploadToaster.tsx +0 -11
  108. package/src/components/ToastUpload/constants.ts +0 -26
  109. package/src/components/ToastUpload/helperComponents/ButtonIcon/ButtonIcon.tsx +0 -10
  110. package/src/components/ToastUpload/helperComponents/ButtonIcon/index.ts +0 -1
  111. package/src/components/ToastUpload/helperComponents/ButtonIcon/styles.module.scss +0 -45
  112. package/src/components/ToastUpload/helperComponents/FileItem/FileItem.tsx +0 -76
  113. package/src/components/ToastUpload/helperComponents/FileItem/index.ts +0 -1
  114. package/src/components/ToastUpload/helperComponents/FileItem/styles.module.scss +0 -93
  115. package/src/components/ToastUpload/helperComponents/LoadingStatus/LoadingStatus.tsx +0 -38
  116. package/src/components/ToastUpload/helperComponents/LoadingStatus/index.ts +0 -1
  117. package/src/components/ToastUpload/helperComponents/LoadingStatus/styles.module.scss +0 -8
  118. package/src/components/ToastUpload/index.ts +0 -1
  119. package/src/components/ToastUpload/styles.module.scss +0 -123
  120. package/src/components/ToastUpload/types.ts +0 -67
  121. package/src/components/ToastUpload/utils/formatPercent.ts +0 -1
  122. package/src/components/ToastUpload/utils/index.ts +0 -1
  123. package/src/helperComponents/ButtonTextNeutral/ButtonTextNeutral.tsx +0 -23
  124. package/src/helperComponents/ButtonTextNeutral/index.ts +0 -1
  125. package/src/helperComponents/ButtonTextNeutral/styles.module.scss +0 -42
@@ -1,123 +0,0 @@
1
- /* stylelint-disable scss/operator-no-newline-after */
2
-
3
- @use '@snack-uikit/figma-tokens/build/scss/components/styles-tokens-toaster-toasterSystemEvent';
4
- @use '@snack-uikit/figma-tokens/build/scss/components/styles-tokens-toaster-toasterUpload';
5
- @use '@snack-uikit/figma-tokens/build/scss/components/styles-tokens-element';
6
- @use '@snack-uikit/figma-tokens/build/scss/styles-theme-variables';
7
-
8
- .container {
9
- @include styles-theme-variables.composite-var(styles-tokens-toaster-toasterUpload.$toaster-upload-toast-container);
10
-
11
- cursor: default;
12
-
13
- position: relative;
14
-
15
- overflow: hidden;
16
- display: flex;
17
- flex-direction: column;
18
-
19
- box-sizing: border-box;
20
- width: calc(
21
- styles-tokens-toaster-toasterSystemEvent.$size-toaster-toast-system-event-container -
22
- (2 * styles-tokens-toaster-toasterUpload.$space-toaster-toast-system-event-container-padding)
23
- );
24
- max-width: 100%;
25
- max-height: 386px;
26
- padding: styles-tokens-toaster-toasterUpload.$space-toaster-toast-system-event-container-padding 0;
27
-
28
- background-color: styles-theme-variables.$sys-invert-neutral-background;
29
-
30
- &[data-collapsed='false'] {
31
- gap: 0;
32
- }
33
- }
34
-
35
- .titleLine {
36
- display: flex;
37
- flex-direction: column;
38
- padding: 0 styles-tokens-toaster-toasterUpload.$space-toaster-toast-system-event-container-padding;
39
- }
40
-
41
- .titleLineBody {
42
- @include styles-theme-variables.composite-var(styles-tokens-toaster-toasterUpload.$toaster-upload-title-line-body);
43
-
44
- display: flex;
45
- align-items: center;
46
- }
47
-
48
- .title {
49
- @include styles-theme-variables.composite-var(styles-theme-variables.$sans-title-s);
50
-
51
- flex-grow: 1;
52
- color: styles-theme-variables.$sys-invert-neutral-text-main;
53
- }
54
-
55
- .generalProgress {
56
- @include styles-theme-variables.composite-var(
57
- styles-tokens-toaster-toasterUpload.$toaster-upload-title-line-general-progress
58
- );
59
-
60
- display: flex;
61
- flex-direction: column;
62
- align-self: stretch;
63
- }
64
-
65
- .statusLine {
66
- @include styles-theme-variables.composite-var(
67
- styles-tokens-toaster-toasterUpload.$toaster-upload-status-line-container
68
- );
69
-
70
- display: flex;
71
- align-items: center;
72
- }
73
-
74
- .statusWrap {
75
- @include styles-theme-variables.composite-var(
76
- styles-tokens-toaster-toasterUpload.$toaster-upload-status-line-status-wrap
77
- );
78
-
79
- display: flex;
80
- flex-grow: 1;
81
- align-items: center;
82
- }
83
-
84
- .description {
85
- @include styles-theme-variables.composite-var(styles-theme-variables.$sans-body-m);
86
-
87
- color: styles-theme-variables.$sys-invert-neutral-text-main;
88
-
89
- &[data-status='loading'] {
90
- color: styles-theme-variables.$sys-invert-neutral-text-light;
91
- }
92
-
93
- &[data-status='uploaded'] {
94
- color: styles-theme-variables.$sys-invert-neutral-text-light;
95
- }
96
- }
97
-
98
- .totalCounter {
99
- @include styles-theme-variables.composite-var(styles-theme-variables.$sans-body-m);
100
-
101
- color: styles-theme-variables.$sys-invert-neutral-text-support;
102
- }
103
-
104
- .totalPercentage {
105
- @include styles-theme-variables.composite-var(styles-theme-variables.$sans-body-m);
106
-
107
- color: styles-theme-variables.$sys-invert-neutral-text-support;
108
- }
109
-
110
- .list {
111
- overflow: scroll;
112
- display: flex;
113
- flex-direction: column;
114
-
115
- max-height: 280px;
116
- padding: 0 styles-tokens-toaster-toasterUpload.$space-toaster-toast-system-event-container-padding;
117
-
118
- transition: all 0.1s;
119
-
120
- &[data-collapsed='false'] {
121
- max-height: 0;
122
- }
123
- }
@@ -1,67 +0,0 @@
1
- import { MouseEvent } from 'react';
2
-
3
- import { ProgressBarProps } from '@snack-uikit/progress-bar';
4
- import { ValueOf } from '@snack-uikit/utils';
5
-
6
- import { TOAST_UPLOAD_ITEM_STATUS, TOAST_UPLOAD_STATUS } from './constants';
7
-
8
- export type ToastUploadStatus = ValueOf<typeof TOAST_UPLOAD_STATUS>;
9
-
10
- export type ToastUploadItemStatus = ValueOf<typeof TOAST_UPLOAD_ITEM_STATUS>;
11
-
12
- export type ToastUploadStateSubscription<T> = (subscription: (newValue: T) => void) => () => void;
13
- export type WithStateSubscription<T> = {
14
- /**Позволяет подписываться на изменения процесса загрузки файла внутри конпонента,
15
- * тем самым обновляет элементы не зависимо от всего списка
16
- * (можно использовать для улучшения производительности из-за частых обновлений)
17
- */
18
- subscribeToState?: ToastUploadStateSubscription<Partial<T>>;
19
- } & T;
20
-
21
- export type ToastUploadItemLink = {
22
- text: string;
23
- href: string;
24
- onClick?(e: MouseEvent<HTMLAnchorElement>): void;
25
- };
26
-
27
- export type UploadActions = {
28
- onCancel?: () => void;
29
- onPause?: () => void;
30
- onRetry?: () => void;
31
- onContinue?: () => void;
32
- };
33
-
34
- export type UploadItem = WithStateSubscription<{
35
- /**
36
- * Уникальный id элемента
37
- */
38
- id: string;
39
- /**
40
- * Название элемента
41
- */
42
- title: string;
43
- /**
44
- * Статус загрузки
45
- */
46
- status: ToastUploadItemStatus;
47
- /**
48
- * Описание статуса загрузки
49
- */
50
- statusLabel: string;
51
- /**
52
- * Процент прогресса
53
- */
54
- progress: ProgressBarProps['progress'];
55
- /**
56
- * Размер файла
57
- */
58
- size: string;
59
- /**
60
- * Экшены для управления загрузкой
61
- */
62
- actions: UploadActions;
63
- /**
64
- * Ссылка на файл
65
- */
66
- link?: ToastUploadItemLink;
67
- }>;
@@ -1 +0,0 @@
1
- export const formatPercent = (value: number) => `${value}%`;
@@ -1 +0,0 @@
1
- export * from './formatPercent';
@@ -1,23 +0,0 @@
1
- import { MouseEvent } from 'react';
2
-
3
- import styles from './styles.module.scss';
4
-
5
- export type ButtonTextNeutralProps = {
6
- label: string;
7
- onClick(e: MouseEvent<HTMLButtonElement>): void;
8
- critical?: boolean;
9
- };
10
-
11
- export function ButtonTextNeutral({ label, onClick, critical }: ButtonTextNeutralProps) {
12
- return (
13
- <button
14
- type='button'
15
- className={styles.buttonTextNeutral}
16
- onClick={onClick}
17
- aria-label='action'
18
- data-critical={critical || undefined}
19
- >
20
- {label}
21
- </button>
22
- );
23
- }
@@ -1 +0,0 @@
1
- export * from './ButtonTextNeutral';
@@ -1,42 +0,0 @@
1
- /* stylelint-disable scss/operator-no-newline-after */
2
-
3
- @use '@snack-uikit/figma-tokens/build/scss/components/styles-tokens-toaster-toasterSystemEvent';
4
- @use '@snack-uikit/figma-tokens/build/scss/components/styles-tokens-toaster-toasterUpload';
5
- @use '@snack-uikit/figma-tokens/build/scss/components/styles-tokens-element';
6
- @use '@snack-uikit/figma-tokens/build/scss/styles-theme-variables';
7
-
8
- .buttonTextNeutral {
9
- @include styles-theme-variables.composite-var(styles-theme-variables.$sans-body-m);
10
-
11
- cursor: pointer;
12
-
13
- display: flex;
14
- align-items: center;
15
- justify-content: center;
16
-
17
- box-sizing: border-box;
18
- margin: 0;
19
- padding: 0;
20
-
21
- color: styles-theme-variables.$sys-invert-neutral-text-light;
22
-
23
- background-color: transparent;
24
- border: none;
25
-
26
- &:hover {
27
- color: styles-theme-variables.$sys-invert-neutral-text-main;
28
- }
29
-
30
- &:focus,
31
- &:active {
32
- color: styles-theme-variables.$sys-invert-neutral-accent-pressed;
33
- }
34
-
35
- &:focus-visible {
36
- @include styles-theme-variables.outline-var(styles-tokens-element.$container-focused-s);
37
-
38
- color: styles-theme-variables.$sys-invert-neutral-text-main;
39
- outline-color: styles-theme-variables.$sys-available-on-complementary;
40
- outline-offset: styles-theme-variables.$spacing-state-focus-offset;
41
- }
42
- }