@snack-uikit/toaster 0.8.14-preview-abb5f7dc.0 → 0.8.14

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 (117) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +3 -37
  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 +4 -2
  8. package/dist/cjs/constants.js +2 -10
  9. package/dist/cjs/helperComponents/ButtonAction/styles.module.css +2 -2
  10. package/dist/cjs/helpers.js +1 -41
  11. package/dist/cjs/types.d.ts +1 -9
  12. package/dist/esm/components/ToastSystemEvent/styles.module.css +3 -2
  13. package/dist/esm/components/ToasterContainer/styles.module.css +9 -9
  14. package/dist/esm/components/index.d.ts +0 -1
  15. package/dist/esm/components/index.js +0 -1
  16. package/dist/esm/constants.d.ts +4 -2
  17. package/dist/esm/constants.js +0 -8
  18. package/dist/esm/helperComponents/ButtonAction/styles.module.css +2 -2
  19. package/dist/esm/helpers.js +0 -38
  20. package/dist/esm/types.d.ts +1 -9
  21. package/package.json +7 -8
  22. package/src/components/ToastSystemEvent/styles.module.scss +2 -2
  23. package/src/components/ToasterContainer/styles.module.scss +1 -1
  24. package/src/components/index.ts +0 -1
  25. package/src/constants.ts +1 -9
  26. package/src/helpers.tsx +0 -35
  27. package/src/types.ts +1 -7
  28. package/dist/cjs/components/ToastUpload/ToastUpload.d.ts +0 -21
  29. package/dist/cjs/components/ToastUpload/ToastUpload.js +0 -113
  30. package/dist/cjs/components/ToastUpload/ToastUploadToaster.d.ts +0 -3
  31. package/dist/cjs/components/ToastUpload/ToastUploadToaster.js +0 -16
  32. package/dist/cjs/components/ToastUpload/components/ButtonIcon/ButtonIcon.d.ts +0 -3
  33. package/dist/cjs/components/ToastUpload/components/ButtonIcon/ButtonIcon.js +0 -32
  34. package/dist/cjs/components/ToastUpload/components/ButtonIcon/index.d.ts +0 -1
  35. package/dist/cjs/components/ToastUpload/components/ButtonIcon/index.js +0 -25
  36. package/dist/cjs/components/ToastUpload/components/ButtonIcon/styles.module.css +0 -30
  37. package/dist/cjs/components/ToastUpload/components/FileItem/FileItem.d.ts +0 -5
  38. package/dist/cjs/components/ToastUpload/components/FileItem/FileItem.js +0 -81
  39. package/dist/cjs/components/ToastUpload/components/FileItem/index.d.ts +0 -1
  40. package/dist/cjs/components/ToastUpload/components/FileItem/index.js +0 -25
  41. package/dist/cjs/components/ToastUpload/components/FileItem/styles.module.css +0 -85
  42. package/dist/cjs/components/ToastUpload/components/LoadingStatus/LoadingStatus.d.ts +0 -6
  43. package/dist/cjs/components/ToastUpload/components/LoadingStatus/LoadingStatus.js +0 -42
  44. package/dist/cjs/components/ToastUpload/components/LoadingStatus/index.d.ts +0 -1
  45. package/dist/cjs/components/ToastUpload/components/LoadingStatus/index.js +0 -25
  46. package/dist/cjs/components/ToastUpload/components/LoadingStatus/styles.module.css +0 -3
  47. package/dist/cjs/components/ToastUpload/constants.d.ts +0 -16
  48. package/dist/cjs/components/ToastUpload/constants.js +0 -26
  49. package/dist/cjs/components/ToastUpload/index.d.ts +0 -1
  50. package/dist/cjs/components/ToastUpload/index.js +0 -25
  51. package/dist/cjs/components/ToastUpload/styles.module.css +0 -110
  52. package/dist/cjs/components/ToastUpload/types.d.ts +0 -31
  53. package/dist/cjs/components/ToastUpload/types.js +0 -5
  54. package/dist/cjs/components/ToastUpload/utils/formatPercent.d.ts +0 -1
  55. package/dist/cjs/components/ToastUpload/utils/formatPercent.js +0 -8
  56. package/dist/cjs/components/ToastUpload/utils/index.d.ts +0 -1
  57. package/dist/cjs/components/ToastUpload/utils/index.js +0 -25
  58. package/dist/cjs/helperComponents/ButtonTextNeutral/ButtonTextNeutral.d.ts +0 -7
  59. package/dist/cjs/helperComponents/ButtonTextNeutral/ButtonTextNeutral.js +0 -28
  60. package/dist/cjs/helperComponents/ButtonTextNeutral/index.d.ts +0 -1
  61. package/dist/cjs/helperComponents/ButtonTextNeutral/index.js +0 -25
  62. package/dist/cjs/helperComponents/ButtonTextNeutral/styles.module.css +0 -32
  63. package/dist/esm/components/ToastUpload/ToastUpload.d.ts +0 -21
  64. package/dist/esm/components/ToastUpload/ToastUpload.js +0 -35
  65. package/dist/esm/components/ToastUpload/ToastUploadToaster.d.ts +0 -3
  66. package/dist/esm/components/ToastUpload/ToastUploadToaster.js +0 -7
  67. package/dist/esm/components/ToastUpload/components/ButtonIcon/ButtonIcon.d.ts +0 -3
  68. package/dist/esm/components/ToastUpload/components/ButtonIcon/ButtonIcon.js +0 -18
  69. package/dist/esm/components/ToastUpload/components/ButtonIcon/index.d.ts +0 -1
  70. package/dist/esm/components/ToastUpload/components/ButtonIcon/index.js +0 -1
  71. package/dist/esm/components/ToastUpload/components/ButtonIcon/styles.module.css +0 -30
  72. package/dist/esm/components/ToastUpload/components/FileItem/FileItem.d.ts +0 -5
  73. package/dist/esm/components/ToastUpload/components/FileItem/FileItem.js +0 -22
  74. package/dist/esm/components/ToastUpload/components/FileItem/index.d.ts +0 -1
  75. package/dist/esm/components/ToastUpload/components/FileItem/index.js +0 -1
  76. package/dist/esm/components/ToastUpload/components/FileItem/styles.module.css +0 -85
  77. package/dist/esm/components/ToastUpload/components/LoadingStatus/LoadingStatus.d.ts +0 -6
  78. package/dist/esm/components/ToastUpload/components/LoadingStatus/LoadingStatus.js +0 -16
  79. package/dist/esm/components/ToastUpload/components/LoadingStatus/index.d.ts +0 -1
  80. package/dist/esm/components/ToastUpload/components/LoadingStatus/index.js +0 -1
  81. package/dist/esm/components/ToastUpload/components/LoadingStatus/styles.module.css +0 -3
  82. package/dist/esm/components/ToastUpload/constants.d.ts +0 -16
  83. package/dist/esm/components/ToastUpload/constants.js +0 -20
  84. package/dist/esm/components/ToastUpload/index.d.ts +0 -1
  85. package/dist/esm/components/ToastUpload/index.js +0 -1
  86. package/dist/esm/components/ToastUpload/styles.module.css +0 -110
  87. package/dist/esm/components/ToastUpload/types.d.ts +0 -31
  88. package/dist/esm/components/ToastUpload/types.js +0 -1
  89. package/dist/esm/components/ToastUpload/utils/formatPercent.d.ts +0 -1
  90. package/dist/esm/components/ToastUpload/utils/formatPercent.js +0 -1
  91. package/dist/esm/components/ToastUpload/utils/index.d.ts +0 -1
  92. package/dist/esm/components/ToastUpload/utils/index.js +0 -1
  93. package/dist/esm/helperComponents/ButtonTextNeutral/ButtonTextNeutral.d.ts +0 -7
  94. package/dist/esm/helperComponents/ButtonTextNeutral/ButtonTextNeutral.js +0 -5
  95. package/dist/esm/helperComponents/ButtonTextNeutral/index.d.ts +0 -1
  96. package/dist/esm/helperComponents/ButtonTextNeutral/index.js +0 -1
  97. package/dist/esm/helperComponents/ButtonTextNeutral/styles.module.css +0 -32
  98. package/src/components/ToastUpload/ToastUpload.tsx +0 -111
  99. package/src/components/ToastUpload/ToastUploadToaster.tsx +0 -11
  100. package/src/components/ToastUpload/components/ButtonIcon/ButtonIcon.tsx +0 -10
  101. package/src/components/ToastUpload/components/ButtonIcon/index.ts +0 -1
  102. package/src/components/ToastUpload/components/ButtonIcon/styles.module.scss +0 -45
  103. package/src/components/ToastUpload/components/FileItem/FileItem.tsx +0 -74
  104. package/src/components/ToastUpload/components/FileItem/index.ts +0 -1
  105. package/src/components/ToastUpload/components/FileItem/styles.module.scss +0 -93
  106. package/src/components/ToastUpload/components/LoadingStatus/LoadingStatus.tsx +0 -38
  107. package/src/components/ToastUpload/components/LoadingStatus/index.ts +0 -1
  108. package/src/components/ToastUpload/components/LoadingStatus/styles.module.scss +0 -8
  109. package/src/components/ToastUpload/constants.ts +0 -26
  110. package/src/components/ToastUpload/index.ts +0 -1
  111. package/src/components/ToastUpload/styles.module.scss +0 -123
  112. package/src/components/ToastUpload/types.ts +0 -39
  113. package/src/components/ToastUpload/utils/formatPercent.ts +0 -1
  114. package/src/components/ToastUpload/utils/index.ts +0 -1
  115. package/src/helperComponents/ButtonTextNeutral/ButtonTextNeutral.tsx +0 -23
  116. package/src/helperComponents/ButtonTextNeutral/index.ts +0 -1
  117. package/src/helperComponents/ButtonTextNeutral/styles.module.scss +0 -42
package/src/constants.ts CHANGED
@@ -4,7 +4,6 @@ import { ToasterType } from './types';
4
4
  export const TOASTER_TYPE = {
5
5
  SystemEvent: 'system-event',
6
6
  UserAction: 'user-action',
7
- Upload: 'upload',
8
7
  } as const;
9
8
 
10
9
  export const TOASTER_CONTAINER_DEFAULT_PROPS: Record<ToasterType, ToasterContainerProps> = {
@@ -20,18 +19,11 @@ export const TOASTER_CONTAINER_DEFAULT_PROPS: Record<ToasterType, ToasterContain
20
19
  displayCloseAllButton: false,
21
20
  type: TOASTER_TYPE.UserAction,
22
21
  },
23
- [TOASTER_TYPE.Upload]: {
24
- limit: 5,
25
- position: 'bottom-right',
26
- displayCloseAllButton: true,
27
- type: TOASTER_TYPE.SystemEvent,
28
- },
29
22
  };
30
23
 
31
- export const AUTO_CLOSE_TIME: Record<ToasterType, number | false> = {
24
+ export const AUTO_CLOSE_TIME = {
32
25
  [TOASTER_TYPE.SystemEvent]: 5000,
33
26
  [TOASTER_TYPE.UserAction]: 2000,
34
- [TOASTER_TYPE.Upload]: false,
35
27
  };
36
28
 
37
29
  export const TOASTER_ROOT_ID = 'toaster-root';
package/src/helpers.tsx CHANGED
@@ -9,11 +9,9 @@ import {
9
9
  ToasterContainerProps,
10
10
  ToastSystemEvent,
11
11
  ToastSystemEventProps,
12
- ToastUploadProps,
13
12
  ToastUserAction,
14
13
  ToastUserActionProps,
15
14
  } from './components';
16
- import { ToastUploadForToaster } from './components/ToastUpload/ToastUploadToaster';
17
15
  import {
18
16
  AUTO_CLOSE_TIME,
19
17
  TOASTER_CONTAINER_DEFAULT_PROPS,
@@ -30,7 +28,6 @@ import {
30
28
  ToasterType,
31
29
  ToastOptions,
32
30
  UpdateToast,
33
- UploadOptions,
34
31
  UserActionOptions,
35
32
  } from './types';
36
33
 
@@ -100,8 +97,6 @@ function getToastComponent<T extends keyof ToasterPropsMap>({
100
97
  return <ToastUserAction {...(toasterProps as ToastUserActionProps)} />;
101
98
  case TOASTER_TYPE.SystemEvent:
102
99
  return <ToastSystemEvent {...(toasterProps as ToastSystemEventProps)} />;
103
- case TOASTER_TYPE.Upload:
104
- return <ToastUploadForToaster {...(toasterProps as ToastUploadProps)} />;
105
100
  default:
106
101
  return undefined;
107
102
  }
@@ -336,37 +331,7 @@ const systemEvent = {
336
331
  },
337
332
  };
338
333
 
339
- const upload = {
340
- startOrUpdate({ id, ...options }: UploadOptions) {
341
- const toastId = id || TOASTER_TYPE.Upload;
342
-
343
- if (toast.isActive(toastId)) {
344
- return updateToast(toastId, {
345
- type: TOASTER_TYPE.SystemEvent,
346
- toasterProps: { ...options },
347
- });
348
- }
349
-
350
- return openToast({
351
- type: TOASTER_TYPE.Upload,
352
- toasterProps: {
353
- ...options,
354
- loading: true,
355
- },
356
- toastOptions: {
357
- id: toastId,
358
- onClose: options.onClose,
359
- },
360
- });
361
- },
362
-
363
- dismiss(id?: ToasterId) {
364
- return toast.dismiss(id);
365
- },
366
- };
367
-
368
334
  export const toaster: Toaster = {
369
335
  userAction,
370
336
  systemEvent,
371
- upload,
372
337
  };
package/src/types.ts CHANGED
@@ -2,7 +2,7 @@ import { Id, ToastOptions as RtToastOptions } from 'react-toastify';
2
2
 
3
3
  import { ValueOf } from '@snack-uikit/utils';
4
4
 
5
- import { ToasterContainerProps, ToastSystemEventProps, ToastUploadProps, ToastUserActionProps } from './components';
5
+ import { ToasterContainerProps, ToastSystemEventProps, ToastUserActionProps } from './components';
6
6
  import { TOASTER_TYPE } from './constants';
7
7
 
8
8
  export type ToasterId = Id;
@@ -19,7 +19,6 @@ export type ToasterType = ValueOf<typeof TOASTER_TYPE>;
19
19
  export type ToasterPropsMap = {
20
20
  [TOASTER_TYPE.UserAction]: ToastUserActionProps;
21
21
  [TOASTER_TYPE.SystemEvent]: ToastSystemEventProps;
22
- [TOASTER_TYPE.Upload]: ToastUploadProps & { loading: boolean };
23
22
  };
24
23
 
25
24
  type OpenNotificationProps<T extends keyof ToasterPropsMap> = {
@@ -50,7 +49,6 @@ export type UpdateToast = <T extends keyof ToasterPropsMap>(
50
49
 
51
50
  export type UserActionOptions = Omit<ToastUserActionProps, 'appearance'> & Pick<ToastOptions, 'id' | 'onClose'>;
52
51
  export type SystemEventOptions = Omit<ToastSystemEventProps, 'appearance'> & Pick<ToastOptions, 'id' | 'onClose'>;
53
- export type UploadOptions = ToastUploadProps & Pick<ToastOptions, 'id' | 'onClose'>;
54
52
 
55
53
  export type Toaster = {
56
54
  userAction: {
@@ -81,8 +79,4 @@ export type Toaster = {
81
79
  };
82
80
  dismiss(id?: ToasterId): void;
83
81
  };
84
- upload: {
85
- startOrUpdate(options: UploadOptions): void;
86
- dismiss(id?: ToasterId): void;
87
- };
88
82
  };
@@ -1,21 +0,0 @@
1
- import { MouseEvent } from 'react';
2
- import { ToastContentProps as RtToastContentProps } from 'react-toastify';
3
- import { WithSupportProps } from '@snack-uikit/utils';
4
- import { ButtonTextNeutralProps } from '../../helperComponents/ButtonTextNeutral';
5
- import { ToastUploadStatus, UploadActions, UploadItem } from './types';
6
- export type ToastUploadProps = Partial<RtToastContentProps> & WithSupportProps<{
7
- status: ToastUploadStatus;
8
- title: string;
9
- description: string;
10
- totalProgressCounter: string;
11
- totalProgressPercentage: number;
12
- onCloseClick?(e: MouseEvent<HTMLButtonElement>, close?: () => void): void;
13
- closable?: boolean;
14
- className?: string;
15
- items: UploadItem[];
16
- collapsed: boolean;
17
- onCollapsed: (collapsed: boolean) => void;
18
- generalActions: UploadActions;
19
- cancelButton?: ButtonTextNeutralProps;
20
- }>;
21
- export declare function ToastUpload({ status, title, description, totalProgressCounter, totalProgressPercentage, closeToast, onCloseClick, closable, className, items, collapsed, onCollapsed, generalActions, cancelButton, ...rest }: ToastUploadProps): import("react/jsx-runtime").JSX.Element;
@@ -1,113 +0,0 @@
1
- "use strict";
2
-
3
- var __rest = void 0 && (void 0).__rest || function (s, e) {
4
- var t = {};
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
8
- }
9
- return t;
10
- };
11
- var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
12
- return mod && mod.__esModule ? mod : {
13
- "default": mod
14
- };
15
- };
16
- Object.defineProperty(exports, "__esModule", {
17
- value: true
18
- });
19
- exports.ToastUpload = ToastUpload;
20
- const jsx_runtime_1 = require("react/jsx-runtime");
21
- const classnames_1 = __importDefault(require("classnames"));
22
- const icons_1 = require("@snack-uikit/icons");
23
- const progress_bar_1 = require("@snack-uikit/progress-bar");
24
- const utils_1 = require("@snack-uikit/utils");
25
- const ButtonTextNeutral_1 = require("../../helperComponents/ButtonTextNeutral");
26
- const ButtonIcon_1 = require("./components/ButtonIcon");
27
- const FileItem_1 = require("./components/FileItem");
28
- const LoadingStatus_1 = require("./components/LoadingStatus");
29
- const constants_1 = require("./constants");
30
- const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
31
- const utils_2 = require("./utils");
32
- function ToastUpload(_a) {
33
- var {
34
- status,
35
- title,
36
- description,
37
- totalProgressCounter,
38
- totalProgressPercentage,
39
- closeToast,
40
- onCloseClick,
41
- closable,
42
- className,
43
- items,
44
- collapsed,
45
- onCollapsed,
46
- generalActions,
47
- cancelButton
48
- } = _a,
49
- rest = __rest(_a, ["status", "title", "description", "totalProgressCounter", "totalProgressPercentage", "closeToast", "onCloseClick", "closable", "className", "items", "collapsed", "onCollapsed", "generalActions", "cancelButton"]);
50
- const handleCloseClick = e => {
51
- e.stopPropagation();
52
- onCloseClick ? onCloseClick(e, closeToast) : closeToast === null || closeToast === void 0 ? void 0 : closeToast();
53
- };
54
- const handleCollapseClick = e => {
55
- e.stopPropagation();
56
- onCollapsed(!collapsed);
57
- };
58
- return (0, jsx_runtime_1.jsxs)("div", Object.assign({
59
- className: (0, classnames_1.default)(styles_module_scss_1.default.container, className)
60
- }, (0, utils_1.extractSupportProps)(rest), {
61
- "data-collapsed": collapsed,
62
- children: [(0, jsx_runtime_1.jsxs)("div", {
63
- className: styles_module_scss_1.default.titleLine,
64
- children: [(0, jsx_runtime_1.jsxs)("div", {
65
- className: styles_module_scss_1.default.titleLineBody,
66
- children: [(0, jsx_runtime_1.jsx)("div", {
67
- className: styles_module_scss_1.default.title,
68
- children: title
69
- }), cancelButton && (0, jsx_runtime_1.jsx)(ButtonTextNeutral_1.ButtonTextNeutral, Object.assign({}, cancelButton)), (0, jsx_runtime_1.jsx)(ButtonIcon_1.ButtonIcon, {
70
- onClick: handleCollapseClick,
71
- children: collapsed ? (0, jsx_runtime_1.jsx)(icons_1.ChevronUpSVG, {}) : (0, jsx_runtime_1.jsx)(icons_1.ChevronDownSVG, {})
72
- }), closable && (0, jsx_runtime_1.jsx)(ButtonIcon_1.ButtonIcon, {
73
- type: 'button',
74
- className: styles_module_scss_1.default.buttonAction,
75
- onClick: handleCloseClick,
76
- children: (0, jsx_runtime_1.jsx)(icons_1.CrossSVG, {})
77
- })]
78
- }), (0, jsx_runtime_1.jsxs)("div", {
79
- className: styles_module_scss_1.default.generalProgress,
80
- children: [(0, jsx_runtime_1.jsxs)("div", {
81
- className: styles_module_scss_1.default.statusLine,
82
- children: [(0, jsx_runtime_1.jsxs)("div", {
83
- className: styles_module_scss_1.default.statusWrap,
84
- children: [(0, jsx_runtime_1.jsx)(LoadingStatus_1.LoadingStatus, {
85
- status: status,
86
- actions: generalActions
87
- }), (0, jsx_runtime_1.jsx)("span", {
88
- className: styles_module_scss_1.default.description,
89
- "data-status": status,
90
- children: description
91
- })]
92
- }), (0, jsx_runtime_1.jsx)("span", {
93
- className: styles_module_scss_1.default.totalCounter,
94
- children: totalProgressCounter
95
- }), (0, jsx_runtime_1.jsx)("span", {
96
- className: styles_module_scss_1.default.totalPercentage,
97
- children: (0, utils_2.formatPercent)(totalProgressPercentage)
98
- })]
99
- }), !collapsed && (0, jsx_runtime_1.jsx)(progress_bar_1.ProgressBar, {
100
- progress: totalProgressPercentage,
101
- size: 'xs',
102
- appearance: constants_1.progressBarAppearanceByStatus[status]
103
- })]
104
- })]
105
- }), (0, jsx_runtime_1.jsx)("div", {
106
- className: styles_module_scss_1.default.list,
107
- "data-collapsed": collapsed,
108
- children: items.map(item => (0, jsx_runtime_1.jsx)(FileItem_1.FileItem, {
109
- item: item
110
- }, item.id))
111
- })]
112
- }));
113
- }
@@ -1,3 +0,0 @@
1
- import { ToastUploadProps } from './ToastUpload';
2
- export type ToastUploadToasterProps = Omit<ToastUploadProps, 'collapsed' | 'onCollapsed'>;
3
- export declare function ToastUploadForToaster(props: ToastUploadToasterProps): import("react/jsx-runtime").JSX.Element;
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ToastUploadForToaster = ToastUploadForToaster;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const react_1 = require("react");
9
- const ToastUpload_1 = require("./ToastUpload");
10
- function ToastUploadForToaster(props) {
11
- const [collapsed, setCollapsed] = (0, react_1.useState)(true);
12
- return (0, jsx_runtime_1.jsx)(ToastUpload_1.ToastUpload, Object.assign({}, props, {
13
- collapsed: collapsed,
14
- onCollapsed: setCollapsed
15
- }));
16
- }
@@ -1,3 +0,0 @@
1
- import { ButtonHTMLAttributes } from 'react';
2
- export type ButtonIconProps = ButtonHTMLAttributes<HTMLButtonElement>;
3
- export declare function ButtonIcon({ className, ...props }: ButtonIconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- var __rest = void 0 && (void 0).__rest || function (s, e) {
4
- var t = {};
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
8
- }
9
- return t;
10
- };
11
- var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
12
- return mod && mod.__esModule ? mod : {
13
- "default": mod
14
- };
15
- };
16
- Object.defineProperty(exports, "__esModule", {
17
- value: true
18
- });
19
- exports.ButtonIcon = ButtonIcon;
20
- const jsx_runtime_1 = require("react/jsx-runtime");
21
- const classnames_1 = __importDefault(require("classnames"));
22
- const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
23
- function ButtonIcon(_a) {
24
- var {
25
- className
26
- } = _a,
27
- props = __rest(_a, ["className"]);
28
- return (0, jsx_runtime_1.jsx)("button", Object.assign({
29
- type: 'button',
30
- className: (0, classnames_1.default)(styles_module_scss_1.default.buttonIcon, className)
31
- }, props));
32
- }
@@ -1 +0,0 @@
1
- export * from './ButtonIcon';
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = {
8
- enumerable: true,
9
- get: function () {
10
- return m[k];
11
- }
12
- };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- } : function (o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- });
19
- var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
- };
22
- Object.defineProperty(exports, "__esModule", {
23
- value: true
24
- });
25
- __exportStar(require("./ButtonIcon"), exports);
@@ -1,30 +0,0 @@
1
- .buttonIcon{
2
- cursor:pointer;
3
- display:flex;
4
- align-items:center;
5
- justify-content:center;
6
- box-sizing:border-box;
7
- margin:0;
8
- padding:0;
9
- color:var(--sys-invert-neutral-text-light, #8b8e9b);
10
- background-color:transparent;
11
- border:none;
12
- }
13
- .buttonIcon svg{
14
- width:var(--size-icon-container-s, 24px) !important;
15
- height:var(--size-icon-container-s, 24px) !important;
16
- }
17
- .buttonIcon:hover{
18
- color:var(--sys-invert-neutral-text-main, #e6e8ef);
19
- }
20
- .buttonIcon:focus, .buttonIcon:active{
21
- color:var(--sys-invert-neutral-accent-pressed, #aaaebd);
22
- }
23
- .buttonIcon:focus-visible{
24
- outline-width:var(--border-state-focus-s-border-width, 2px);
25
- outline-style:var(--border-state-focus-s-border-style, solid);
26
- outline-color:var(--border-state-focus-s-border-color, );
27
- color:var(--sys-invert-neutral-text-main, #e6e8ef);
28
- outline-color:var(--sys-available-on-complementary, #ffffff);
29
- outline-offset:var(--spacing-state-focus-offset, 2px);
30
- }
@@ -1,5 +0,0 @@
1
- import { UploadItem } from '../../types';
2
- export type FileItemProps = {
3
- item: UploadItem;
4
- };
5
- export declare function FileItem({ item: initItem }: FileItemProps): import("react/jsx-runtime").JSX.Element;
@@ -1,81 +0,0 @@
1
- "use strict";
2
-
3
- var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
4
- return mod && mod.__esModule ? mod : {
5
- "default": mod
6
- };
7
- };
8
- Object.defineProperty(exports, "__esModule", {
9
- value: true
10
- });
11
- exports.FileItem = FileItem;
12
- const jsx_runtime_1 = require("react/jsx-runtime");
13
- const react_1 = require("react");
14
- const icons_1 = require("@snack-uikit/icons");
15
- const link_1 = require("@snack-uikit/link");
16
- const progress_bar_1 = require("@snack-uikit/progress-bar");
17
- const constants_1 = require("../../constants");
18
- const utils_1 = require("../../utils");
19
- const ButtonIcon_1 = require("../ButtonIcon");
20
- const LoadingStatus_1 = require("../LoadingStatus");
21
- const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
22
- function FileItem(_ref) {
23
- let {
24
- item: initItem
25
- } = _ref;
26
- var _a, _b, _c;
27
- const [item, setItem] = (0, react_1.useState)(initItem);
28
- const showLink = item.status === 'uploaded' && item.link;
29
- (0, react_1.useEffect)(() => {
30
- if (initItem.subscribeToState) {
31
- return initItem.subscribeToState(newValue => setItem(prev => Object.assign(Object.assign({}, prev), newValue)));
32
- }
33
- return setItem(initItem);
34
- }, [initItem]);
35
- return (0, jsx_runtime_1.jsxs)("div", {
36
- className: styles_module_scss_1.default.fileLine,
37
- children: [(0, jsx_runtime_1.jsxs)("div", {
38
- className: styles_module_scss_1.default.fileHeadLine,
39
- children: [(0, jsx_runtime_1.jsx)("span", {
40
- className: styles_module_scss_1.default.fileTitle,
41
- children: item.title
42
- }), showLink && (0, jsx_runtime_1.jsx)(link_1.Link, {
43
- text: (_a = item.link) === null || _a === void 0 ? void 0 : _a.text,
44
- href: (_b = item.link) === null || _b === void 0 ? void 0 : _b.href,
45
- size: 'm',
46
- truncateVariant: 'end',
47
- onClick: (_c = item.link) === null || _c === void 0 ? void 0 : _c.onClick,
48
- appearance: 'invert-neutral',
49
- textMode: 'accent'
50
- }), !showLink && (0, jsx_runtime_1.jsx)(ButtonIcon_1.ButtonIcon, {
51
- onClick: item.actions.onCancel,
52
- children: (0, jsx_runtime_1.jsx)(icons_1.CrossSVG, {})
53
- })]
54
- }), (0, jsx_runtime_1.jsx)(progress_bar_1.ProgressBar, {
55
- progress: item.progress,
56
- size: 'xs',
57
- appearance: constants_1.progressBarAppearanceByStatus[item.status]
58
- }), (0, jsx_runtime_1.jsxs)("div", {
59
- className: styles_module_scss_1.default.fileStatusLine,
60
- children: [(0, jsx_runtime_1.jsxs)("div", {
61
- className: styles_module_scss_1.default.fileStatusWrap,
62
- children: [(0, jsx_runtime_1.jsx)(LoadingStatus_1.LoadingStatus, {
63
- status: item.status,
64
- actions: item.actions
65
- }), (0, jsx_runtime_1.jsx)("span", {
66
- className: styles_module_scss_1.default.fileStatusDescription,
67
- "data-status": item.status,
68
- children: item.statusLabel
69
- })]
70
- }), (0, jsx_runtime_1.jsx)("span", {
71
- className: styles_module_scss_1.default.fileSize,
72
- "data-status": item.status,
73
- children: item.size
74
- }), (0, jsx_runtime_1.jsx)("span", {
75
- className: styles_module_scss_1.default.fileStatusPercentage,
76
- "data-status": item.status,
77
- children: (0, utils_1.formatPercent)(item.progress)
78
- })]
79
- })]
80
- }, item.id);
81
- }
@@ -1 +0,0 @@
1
- export * from './FileItem';
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = {
8
- enumerable: true,
9
- get: function () {
10
- return m[k];
11
- }
12
- };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- } : function (o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- });
19
- var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
- };
22
- Object.defineProperty(exports, "__esModule", {
23
- value: true
24
- });
25
- __exportStar(require("./FileItem"), exports);
@@ -1,85 +0,0 @@
1
- .fileLine{
2
- padding-top:var(--space-toaster-toast-upload-file-line-vertical-padding, 4px);
3
- padding-bottom:var(--space-toaster-toast-upload-file-line-vertical-padding, 4px);
4
- display:flex;
5
- flex-direction:column;
6
- }
7
-
8
- .fileHeadLine{
9
- gap:var(--space-toaster-toast-upload-headline-gap, 16px);
10
- min-height:var(--size-toaster-toast-upload-file-line-headline-height, 24px);
11
- display:flex;
12
- align-items:center;
13
- }
14
-
15
- .fileTitle{
16
- font-family:var(--sans-body-s-font-family, SB Sans Interface);
17
- font-weight:var(--sans-body-s-font-weight, Regular);
18
- line-height:var(--sans-body-s-line-height, 16px);
19
- font-size:var(--sans-body-s-font-size, 12px);
20
- letter-spacing:var(--sans-body-s-letter-spacing, 0.1px);
21
- paragraph-spacing:var(--sans-body-s-paragraph-spacing, 6.6px);
22
- flex-grow:1;
23
- color:var(--sys-invert-neutral-text-main, #e6e8ef);
24
- }
25
-
26
- .fileStatusLine{
27
- gap:var(--space-toaster-toast-upload-status-line-gap, 8px);
28
- display:flex;
29
- align-items:center;
30
- }
31
-
32
- .fileStatusWrap{
33
- gap:var(--space-toaster-toast-upload-status-wrap-gap, 4px);
34
- display:flex;
35
- flex-grow:1;
36
- align-items:center;
37
- }
38
-
39
- .fileStatusDescription{
40
- font-family:var(--sans-body-s-font-family, SB Sans Interface);
41
- font-weight:var(--sans-body-s-font-weight, Regular);
42
- line-height:var(--sans-body-s-line-height, 16px);
43
- font-size:var(--sans-body-s-font-size, 12px);
44
- letter-spacing:var(--sans-body-s-letter-spacing, 0.1px);
45
- paragraph-spacing:var(--sans-body-s-paragraph-spacing, 6.6px);
46
- color:var(--sys-invert-neutral-text-main, #e6e8ef);
47
- }
48
- .fileStatusDescription[data-status=loading]{
49
- color:var(--sys-invert-neutral-text-disabled, #656774);
50
- }
51
- .fileStatusDescription[data-status=uploaded]{
52
- color:var(--sys-invert-neutral-text-disabled, #656774);
53
- }
54
-
55
- .fileSize{
56
- font-family:var(--sans-body-s-font-family, SB Sans Interface);
57
- font-weight:var(--sans-body-s-font-weight, Regular);
58
- line-height:var(--sans-body-s-line-height, 16px);
59
- font-size:var(--sans-body-s-font-size, 12px);
60
- letter-spacing:var(--sans-body-s-letter-spacing, 0.1px);
61
- paragraph-spacing:var(--sans-body-s-paragraph-spacing, 6.6px);
62
- color:var(--sys-invert-neutral-text-disabled, #656774);
63
- }
64
- .fileSize[data-status=loading]{
65
- color:var(--sys-invert-neutral-text-main, #e6e8ef);
66
- }
67
- .fileSize[data-status=uploaded]{
68
- color:var(--sys-invert-neutral-text-main, #e6e8ef);
69
- }
70
-
71
- .fileStatusPercentage{
72
- font-family:var(--sans-body-s-font-family, SB Sans Interface);
73
- font-weight:var(--sans-body-s-font-weight, Regular);
74
- line-height:var(--sans-body-s-line-height, 16px);
75
- font-size:var(--sans-body-s-font-size, 12px);
76
- letter-spacing:var(--sans-body-s-letter-spacing, 0.1px);
77
- paragraph-spacing:var(--sans-body-s-paragraph-spacing, 6.6px);
78
- color:var(--sys-invert-neutral-text-disabled, #656774);
79
- }
80
- .fileStatusPercentage[data-status=loading]{
81
- color:var(--sys-invert-neutral-text-main, #e6e8ef);
82
- }
83
- .fileStatusPercentage[data-status=uploaded]{
84
- color:var(--sys-invert-neutral-text-main, #e6e8ef);
85
- }
@@ -1,6 +0,0 @@
1
- import { ToastUploadStatus, UploadActions } from '../../types';
2
- export type LoadingStatusProps = {
3
- status: ToastUploadStatus;
4
- actions: UploadActions;
5
- };
6
- export declare function LoadingStatus({ status, actions }: LoadingStatusProps): import("react/jsx-runtime").JSX.Element;
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
4
- return mod && mod.__esModule ? mod : {
5
- "default": mod
6
- };
7
- };
8
- Object.defineProperty(exports, "__esModule", {
9
- value: true
10
- });
11
- exports.LoadingStatus = LoadingStatus;
12
- const jsx_runtime_1 = require("react/jsx-runtime");
13
- const icons_1 = require("@snack-uikit/icons");
14
- const ButtonIcon_1 = require("../ButtonIcon");
15
- const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
16
- function LoadingStatus(_ref) {
17
- let {
18
- status,
19
- actions
20
- } = _ref;
21
- if (status === 'loading') {
22
- return (0, jsx_runtime_1.jsx)(ButtonIcon_1.ButtonIcon, {
23
- onClick: actions.onPause,
24
- children: (0, jsx_runtime_1.jsx)(icons_1.PauseSVG, {})
25
- });
26
- }
27
- if (status === 'pause') {
28
- return (0, jsx_runtime_1.jsx)(ButtonIcon_1.ButtonIcon, {
29
- onClick: actions.onContinue,
30
- children: (0, jsx_runtime_1.jsx)(icons_1.PlaySVG, {})
31
- });
32
- }
33
- if (status === 'uploaded') {
34
- return (0, jsx_runtime_1.jsx)(icons_1.CheckFilledSVG, {
35
- className: styles_module_scss_1.default.successIcon
36
- });
37
- }
38
- return (0, jsx_runtime_1.jsx)(ButtonIcon_1.ButtonIcon, {
39
- onClick: actions.onRetry,
40
- children: (0, jsx_runtime_1.jsx)(icons_1.UpdateSVG, {})
41
- });
42
- }
@@ -1 +0,0 @@
1
- export * from './LoadingStatus';
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = {
8
- enumerable: true,
9
- get: function () {
10
- return m[k];
11
- }
12
- };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- } : function (o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- });
19
- var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
- };
22
- Object.defineProperty(exports, "__esModule", {
23
- value: true
24
- });
25
- __exportStar(require("./LoadingStatus"), exports);
@@ -1,3 +0,0 @@
1
- .successIcon{
2
- color:var(--sys-green-accent-default, #57b762);
3
- }