@ceed/cds 0.0.127 → 0.0.129

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 (105) hide show
  1. package/dist/components/Markdown/Markdown.d.ts +1 -1
  2. package/dist/components/Modal/Modal.d.ts +1 -1
  3. package/dist/components/Uploader/Uploader.d.ts +2 -3
  4. package/dist/index.js +1 -169
  5. package/framer/index.js +31 -42
  6. package/package.json +5 -5
  7. package/dist/components/Accordions/Accordions.js +0 -72
  8. package/dist/components/Accordions/index.js +0 -19
  9. package/dist/components/Autocomplete/Autocomplete.js +0 -280
  10. package/dist/components/Autocomplete/index.js +0 -19
  11. package/dist/components/Box/Box.js +0 -9
  12. package/dist/components/Box/index.js +0 -19
  13. package/dist/components/Breadcrumbs/Breadcrumbs.js +0 -96
  14. package/dist/components/Breadcrumbs/index.js +0 -19
  15. package/dist/components/Button/Button.js +0 -54
  16. package/dist/components/Button/index.js +0 -19
  17. package/dist/components/Calendar/Calendar.js +0 -412
  18. package/dist/components/Calendar/hooks/use-calendar-props.js +0 -84
  19. package/dist/components/Calendar/hooks/use-calendar.js +0 -248
  20. package/dist/components/Calendar/index.js +0 -19
  21. package/dist/components/Calendar/types.js +0 -2
  22. package/dist/components/Calendar/utils/index.js +0 -84
  23. package/dist/components/Card/Card.js +0 -25
  24. package/dist/components/Card/index.js +0 -19
  25. package/dist/components/Checkbox/Checkbox.js +0 -34
  26. package/dist/components/Checkbox/index.js +0 -19
  27. package/dist/components/Chip/Chip.js +0 -9
  28. package/dist/components/Chip/index.js +0 -19
  29. package/dist/components/Container/Container.js +0 -91
  30. package/dist/components/Container/index.js +0 -19
  31. package/dist/components/CurrencyInput/CurrencyInput.js +0 -137
  32. package/dist/components/CurrencyInput/hooks/use-currency-setting.js +0 -172
  33. package/dist/components/CurrencyInput/index.js +0 -19
  34. package/dist/components/DataTable/DataTable.js +0 -466
  35. package/dist/components/DataTable/index.js +0 -19
  36. package/dist/components/DataTable/types.js +0 -2
  37. package/dist/components/DatePicker/DatePicker.js +0 -236
  38. package/dist/components/DatePicker/index.js +0 -19
  39. package/dist/components/DateRangePicker/DateRangePicker.js +0 -238
  40. package/dist/components/DateRangePicker/index.js +0 -19
  41. package/dist/components/DialogActions/DialogActions.js +0 -18
  42. package/dist/components/DialogActions/index.js +0 -19
  43. package/dist/components/DialogContent/DialogContent.js +0 -15
  44. package/dist/components/DialogContent/index.js +0 -19
  45. package/dist/components/DialogFrame/DialogFrame.js +0 -57
  46. package/dist/components/DialogFrame/index.js +0 -19
  47. package/dist/components/DialogTitle/DialogTitle.js +0 -15
  48. package/dist/components/DialogTitle/index.js +0 -19
  49. package/dist/components/Divider/Divider.js +0 -34
  50. package/dist/components/Divider/index.js +0 -19
  51. package/dist/components/Dropdown/Dropdown.js +0 -9
  52. package/dist/components/Dropdown/index.js +0 -19
  53. package/dist/components/FormControl/FormControl.js +0 -20
  54. package/dist/components/FormControl/index.js +0 -19
  55. package/dist/components/FormHelperText/FormHelperText.js +0 -9
  56. package/dist/components/FormHelperText/index.js +0 -19
  57. package/dist/components/FormLabel/FormLabel.js +0 -9
  58. package/dist/components/FormLabel/index.js +0 -19
  59. package/dist/components/Grid/Grid.js +0 -9
  60. package/dist/components/Grid/index.js +0 -19
  61. package/dist/components/IconButton/IconButton.js +0 -34
  62. package/dist/components/IconButton/index.js +0 -19
  63. package/dist/components/Input/Input.js +0 -57
  64. package/dist/components/Input/index.js +0 -19
  65. package/dist/components/InsetDrawer/InsetDrawer.js +0 -51
  66. package/dist/components/InsetDrawer/index.js +0 -19
  67. package/dist/components/Markdown/Markdown.js +0 -65
  68. package/dist/components/Markdown/index.js +0 -19
  69. package/dist/components/Menu/Menu.js +0 -62
  70. package/dist/components/Menu/index.js +0 -19
  71. package/dist/components/Modal/Modal.js +0 -69
  72. package/dist/components/Modal/index.js +0 -19
  73. package/dist/components/MonthPicker/MonthPicker.js +0 -232
  74. package/dist/components/MonthPicker/index.js +0 -19
  75. package/dist/components/MonthRangePicker/MonthRangePicker.js +0 -236
  76. package/dist/components/MonthRangePicker/index.js +0 -19
  77. package/dist/components/Radio/Radio.js +0 -13
  78. package/dist/components/Radio/index.js +0 -19
  79. package/dist/components/RadioList/RadioList.js +0 -44
  80. package/dist/components/RadioList/index.js +0 -19
  81. package/dist/components/Select/Select.js +0 -105
  82. package/dist/components/Select/index.js +0 -19
  83. package/dist/components/Sheet/Sheet.js +0 -9
  84. package/dist/components/Sheet/index.js +0 -19
  85. package/dist/components/Stack/Stack.js +0 -9
  86. package/dist/components/Stack/index.js +0 -19
  87. package/dist/components/Switch/Switch.js +0 -60
  88. package/dist/components/Switch/index.js +0 -19
  89. package/dist/components/Table/Table.js +0 -95
  90. package/dist/components/Table/index.js +0 -19
  91. package/dist/components/Tabs/Tabs.js +0 -21
  92. package/dist/components/Tabs/index.js +0 -19
  93. package/dist/components/Textarea/Textarea.js +0 -56
  94. package/dist/components/Textarea/index.js +0 -19
  95. package/dist/components/ThemeProvider/ThemeProvider.js +0 -165
  96. package/dist/components/ThemeProvider/index.js +0 -19
  97. package/dist/components/Tooltip/Tooltip.js +0 -34
  98. package/dist/components/Tooltip/index.js +0 -19
  99. package/dist/components/Typography/Typography.js +0 -34
  100. package/dist/components/Typography/index.js +0 -19
  101. package/dist/components/Uploader/Uploader.js +0 -378
  102. package/dist/components/Uploader/index.js +0 -19
  103. package/dist/components/index.js +0 -108
  104. package/dist/index.mjs +0 -1
  105. package/framer/framer-entrypoint.js +0 -181
@@ -1,165 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ThemeProvider = void 0;
7
- var react_1 = __importDefault(require("react"));
8
- var joy_1 = require("@mui/joy");
9
- var colorScheme = {
10
- palette: {
11
- danger: {
12
- "50": "#FEF3F2",
13
- "100": "#FDE6E5",
14
- "200": "#FBC7C4",
15
- "300": "#F89E99",
16
- "400": "#F46E66",
17
- "500": "#DC0D00",
18
- "600": "#AB0F00",
19
- "700": "#791000",
20
- "800": "#430A0A",
21
- "900": "#240505",
22
- },
23
- neutral: {
24
- "50": "#FAFBFC",
25
- "100": "#F3F5F7",
26
- "200": "#EBECF0",
27
- "300": "#D1D5DB",
28
- "400": "#A2AAB8",
29
- "500": "#5E6C83",
30
- "600": "#505E79",
31
- "700": "#253858",
32
- "800": "#071B36",
33
- "900": "#0B0D0E",
34
- },
35
- primary: {
36
- "50": "#F2F7FE",
37
- "100": "#E8F0FD",
38
- "200": "#CCDFFC",
39
- "300": "#9DC1F9",
40
- "400": "#4D8EF3",
41
- "500": "#015DEE",
42
- "600": "#0154D6",
43
- "700": "#0141A7",
44
- "800": "#00255F",
45
- "900": "#000F26",
46
- },
47
- warning: {
48
- "50": "#FEF8F2",
49
- "100": "#FEF1E5",
50
- "200": "#FCE1C4",
51
- "300": "#FABD7F",
52
- "400": "#F57C00",
53
- "500": "#AF5100",
54
- "600": "#843600",
55
- "700": "#672600",
56
- "800": "#421400",
57
- "900": "#1d1002",
58
- },
59
- },
60
- };
61
- var defaultTheme = (0, joy_1.extendTheme)({
62
- cssVarPrefix: "ceed",
63
- spacing: 4,
64
- breakpoints: {
65
- values: {
66
- xs: 0,
67
- sm: 360,
68
- md: 600,
69
- lg: 900,
70
- xl: 1280,
71
- },
72
- },
73
- fontFamily: {
74
- display: '"Poppins", var(--ceed-fontFamily-fallback, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol")',
75
- },
76
- typography: {
77
- "marketing-lg": {
78
- color: "var(--ceed-palette-text-primary, var(--ceed-palette-neutral-800, #171A1C))",
79
- fontFamily: 'var(--ceed-fontFamily-display, "Poppins", var(--ceed-fontFamily-fallback, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"))',
80
- fontSize: "var(--ceed-fontSize-marketing-lg, 2.625rem)",
81
- fontWeight: "var(--ceed-fontWeight-lg, 600)",
82
- letterSpacing: "-0.025em",
83
- lineHeight: "var(--ceed-lineHeight-xs, 1.33334)",
84
- },
85
- },
86
- colorSchemes: {
87
- light: colorScheme,
88
- dark: colorScheme,
89
- },
90
- components: {
91
- JoyTypography: {
92
- defaultProps: {
93
- levelMapping: {
94
- "marketing-lg": "div",
95
- },
96
- },
97
- },
98
- JoyTable: {
99
- defaultProps: {
100
- size: "sm",
101
- borderAxis: "bothBetween",
102
- },
103
- styleOverrides: {
104
- root: function (_a) {
105
- var _b;
106
- var theme = _a.theme;
107
- return (_b = {
108
- "--TableRow-stripeBackground": theme.palette.background.level1,
109
- "--TableCell-selectedBackground": theme.palette.background.level2,
110
- "--TableRow-hoverBackground": theme.palette.background.level3,
111
- "& tbody tr[aria-checked=false] th": {
112
- "--TableCell-headBackground": "transparent",
113
- },
114
- "& tbody tr[aria-checked=true]:hover th": {
115
- "--TableCell-headBackground": "var(--TableRow-hoverBackground)",
116
- }
117
- },
118
- _b["& tbody tr[aria-checked=true]:not(:hover) th"] = {
119
- "--TableCell-headBackground": "var(--TableCell-selectedBackground)",
120
- },
121
- _b["& tbody tr[aria-checked=true]:not(:hover) td"] = {
122
- "--TableCell-dataBackground": "var(--TableCell-selectedBackground)",
123
- },
124
- _b["& .".concat(joy_1.checkboxClasses.root)] = {
125
- verticalAlign: "middle",
126
- },
127
- _b);
128
- },
129
- },
130
- },
131
- JoyTooltip: {
132
- defaultProps: {
133
- size: "sm",
134
- placement: "top",
135
- },
136
- },
137
- },
138
- });
139
- function ThemeProvider(props) {
140
- var _a;
141
- return (react_1.default.createElement(react_1.default.Fragment, null,
142
- react_1.default.createElement(joy_1.CssVarsProvider, { theme: defaultTheme },
143
- react_1.default.createElement(joy_1.CssBaseline, null),
144
- react_1.default.createElement(joy_1.GlobalStyles, { styles: {
145
- body: (_a = {
146
- "--ceed-fontSize-marketing-lg": "2.625rem"
147
- },
148
- _a[defaultTheme.breakpoints.down("md")] = {
149
- "--ceed-fontSize-xs": "calc(".concat(defaultTheme.fontSize.xs, " * 0.875)"),
150
- "--ceed-fontSize-sm": "calc(".concat(defaultTheme.fontSize.sm, " * 0.875)"),
151
- "--ceed-fontSize-md": "calc(".concat(defaultTheme.fontSize.md, " * 0.875)"),
152
- "--ceed-fontSize-lg": "calc(".concat(defaultTheme.fontSize.lg, " * 0.875)"),
153
- "--ceed-fontSize-xl": "calc(".concat(defaultTheme.fontSize.xl, " * 0.875)"),
154
- "--ceed-fontSize-xl2": "calc(".concat(defaultTheme.fontSize.xl2, " * 0.875)"),
155
- "--ceed-fontSize-xl3": "calc(".concat(defaultTheme.fontSize.xl3, " * 0.875)"),
156
- "--ceed-fontSize-xl4": "calc(".concat(defaultTheme.fontSize.xl4, " * 0.875)"),
157
- // Only typography fontSize
158
- "--ceed-fontSize-marketing-lg": "calc(2.625rem * 0.875)",
159
- },
160
- _a),
161
- } }),
162
- props.children)));
163
- }
164
- exports.ThemeProvider = ThemeProvider;
165
- ThemeProvider.displayName = "ThemeProvider";
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- var ThemeProvider_1 = require("./ThemeProvider");
18
- __exportStar(require("./ThemeProvider"), exports);
19
- exports.default = ThemeProvider_1.ThemeProvider;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Tooltip = void 0;
18
- var react_1 = __importDefault(require("react"));
19
- var joy_1 = require("@mui/joy");
20
- var framer_motion_1 = require("framer-motion");
21
- var MotionTooltip = (0, framer_motion_1.motion)(joy_1.Tooltip);
22
- var Tooltip = function (props) {
23
- // prop destruction
24
- // lib hooks
25
- // state, ref, querystring hooks
26
- // form hooks
27
- // query hooks
28
- // calculated values
29
- // effects
30
- // handlers
31
- return react_1.default.createElement(MotionTooltip, __assign({}, props));
32
- };
33
- exports.Tooltip = Tooltip;
34
- Tooltip.displayName = "Tooltip";
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- var Tooltip_1 = require("./Tooltip");
18
- __exportStar(require("./Tooltip"), exports);
19
- exports.default = Tooltip_1.Tooltip;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Typography = void 0;
18
- var react_1 = __importDefault(require("react"));
19
- var joy_1 = require("@mui/joy");
20
- var framer_motion_1 = require("framer-motion");
21
- var MotionTypography = (0, framer_motion_1.motion)(joy_1.Typography);
22
- var Typography = function (props) {
23
- // prop destruction
24
- // lib hooks
25
- // state, ref, querystring hooks
26
- // form hooks
27
- // query hooks
28
- // calculated values
29
- // effects
30
- // handlers
31
- return react_1.default.createElement(MotionTypography, __assign({}, props));
32
- };
33
- exports.Typography = Typography;
34
- Typography.displayName = "Typography";
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- var Typography_1 = require("./Typography");
18
- __exportStar(require("./Typography"), exports);
19
- exports.default = Typography_1.Typography;
@@ -1,378 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
62
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
63
- if (ar || !(i in from)) {
64
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
65
- ar[i] = from[i];
66
- }
67
- }
68
- return to.concat(ar || Array.prototype.slice.call(from));
69
- };
70
- var __importDefault = (this && this.__importDefault) || function (mod) {
71
- return (mod && mod.__esModule) ? mod : { "default": mod };
72
- };
73
- Object.defineProperty(exports, "__esModule", { value: true });
74
- exports.Uploader = void 0;
75
- var react_1 = __importStar(require("react"));
76
- var joy_1 = require("@mui/joy");
77
- // @ts-ignore: ESM import 해야만 프레이머에서 정상적으로 동작한다. https://github.com/mui/material-ui/issues/35233
78
- var CloudUploadRounded_js_1 = __importDefault(require("@mui/icons-material/esm/CloudUploadRounded.js"));
79
- // @ts-ignore: ESM import 해야만 프레이머에서 정상적으로 동작한다. https://github.com/mui/material-ui/issues/35233
80
- var UploadFileRounded_js_1 = __importDefault(require("@mui/icons-material/esm/UploadFileRounded.js"));
81
- // @ts-ignore: ESM import 해야만 프레이머에서 정상적으로 동작한다. https://github.com/mui/material-ui/issues/35233
82
- var ClearRounded_js_1 = __importDefault(require("@mui/icons-material/esm/ClearRounded.js"));
83
- // @ts-ignore: build된 pragmatic-drag-and-drop의 esm file에 extension이 없어서 에러가 발생함. 따라서 빌드된 js파일을 direct로 import한다.
84
- var combine_js_1 = require("@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/combine.js");
85
- var adapter_js_1 = require("@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/external/adapter.js");
86
- var file_js_1 = require("@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/external/file.js");
87
- // @ts-ignore: build된 pragmatic-drag-and-drop의 esm file에 extension이 없어서 에러가 발생함. 따라서 빌드된 js파일을 direct로 import한다.
88
- var prevent_unhandled_js_1 = require("@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/prevent-unhandled.js");
89
- var Typography_1 = __importDefault(require("../Typography"));
90
- var Card_1 = require("../Card");
91
- var Stack_1 = __importDefault(require("../Stack"));
92
- var IconButton_1 = __importDefault(require("../IconButton"));
93
- var FormControl_1 = __importDefault(require("../FormControl"));
94
- var FormHelperText_1 = __importDefault(require("../FormHelperText"));
95
- var Sheet_1 = __importDefault(require("../Sheet"));
96
- var FormLabel_1 = __importDefault(require("../FormLabel"));
97
- var VisuallyHiddenInput = (0, joy_1.styled)("input")({
98
- width: "1px",
99
- height: "1px",
100
- overflow: "hidden",
101
- whiteSpace: "nowrap",
102
- clip: "rect(0 0 0 0)",
103
- clipPath: "inset(50%)",
104
- position: "absolute",
105
- });
106
- var PreviewRoot = (0, joy_1.styled)(Stack_1.default, {
107
- name: "Uploader",
108
- slot: "PreviewRoot",
109
- })({});
110
- var UploadCard = (0, joy_1.styled)(Card_1.Card, {
111
- name: "Uploader",
112
- slot: "UploadCard",
113
- })(function (_a) {
114
- var theme = _a.theme;
115
- return ({
116
- padding: theme.spacing(2.5),
117
- border: "1px solid ".concat(theme.palette.neutral.outlinedBorder),
118
- });
119
- });
120
- var UploadFileIcon = (0, joy_1.styled)(UploadFileRounded_js_1.default, {
121
- name: "Uploader",
122
- slot: "UploadFileIcon",
123
- })(function (_a) {
124
- var theme = _a.theme;
125
- return ({
126
- color: theme.palette.neutral["400"],
127
- width: "32px",
128
- height: "32px",
129
- });
130
- });
131
- var ClearIcon = (0, joy_1.styled)(ClearRounded_js_1.default, {
132
- name: "Uploader",
133
- slot: "ClearIcon",
134
- })(function (_a) {
135
- var theme = _a.theme;
136
- return ({
137
- color: theme.palette.neutral.plainColor,
138
- width: "18px",
139
- height: "18px",
140
- });
141
- });
142
- var UNITS = [
143
- "byte",
144
- "kilobyte",
145
- "megabyte",
146
- "gigabyte",
147
- "terabyte",
148
- "petabyte",
149
- ];
150
- var getFileSize = function (n) {
151
- var i = n == 0 ? 0 : Math.floor(Math.log(n) / Math.log(1024));
152
- var value = n / Math.pow(1024, i);
153
- var unit = UNITS[i];
154
- return Intl.NumberFormat("en-us", {
155
- style: "unit",
156
- unit: unit,
157
- unitDisplay: "narrow",
158
- }).format(value);
159
- };
160
- var Preview = function (props) {
161
- // prop destruction
162
- var files = props.files, uploaded = props.uploaded, onDelete = props.onDelete;
163
- // lib hooks
164
- // state, ref, querystring hooks
165
- // form hooks
166
- // query hooks
167
- // calculated values
168
- // effects
169
- // handlers
170
- return (react_1.default.createElement(PreviewRoot, { gap: 1 }, __spreadArray(__spreadArray([], uploaded, true), files, true).map(function (file) { return (react_1.default.createElement(UploadCard, { key: file.name, size: "sm", color: "neutral" },
171
- react_1.default.createElement(Stack_1.default, { direction: "row", alignItems: "center", gap: 2 },
172
- react_1.default.createElement(UploadFileIcon, null),
173
- react_1.default.createElement(Stack_1.default, { flex: "1" },
174
- react_1.default.createElement(Typography_1.default, { level: "body-sm", textColor: "common.black" }, file.name),
175
- !!file.size && (react_1.default.createElement(Typography_1.default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size)))),
176
- react_1.default.createElement(IconButton_1.default, { onClick: function () { return onDelete === null || onDelete === void 0 ? void 0 : onDelete(file); } },
177
- react_1.default.createElement(ClearIcon, null))))); })));
178
- };
179
- var UploaderRoot = (0, joy_1.styled)(Stack_1.default, {
180
- name: "Uploader",
181
- slot: "root",
182
- })(function (_a) {
183
- var theme = _a.theme;
184
- return ({
185
- gap: theme.spacing(2),
186
- });
187
- });
188
- var FileDropZone = (0, joy_1.styled)(Sheet_1.default, {
189
- name: "Uploader",
190
- slot: "dropZone",
191
- shouldForwardProp: function (prop) { return prop !== "error"; },
192
- })(function (_a) {
193
- var theme = _a.theme, state = _a.state, error = _a.error;
194
- return ({
195
- width: "100%",
196
- display: "flex",
197
- flexDirection: "column",
198
- justifyContent: "center",
199
- alignItems: "center",
200
- padding: theme.spacing(5),
201
- gap: theme.spacing(4),
202
- cursor: "pointer",
203
- backgroundColor: theme.palette.background.surface,
204
- border: error
205
- ? "1px solid ".concat(theme.palette.danger.outlinedBorder)
206
- : state === "idle"
207
- ? "1px solid ".concat(theme.palette.neutral.outlinedBorder)
208
- : "1px solid ".concat(theme.palette.primary.outlinedBorder),
209
- });
210
- });
211
- var UploaderIcon = (0, joy_1.styled)(CloudUploadRounded_js_1.default, {
212
- name: "Uploader",
213
- slot: "iconContainer",
214
- shouldForwardProp: function (prop) { return prop !== "error"; },
215
- })(function (_a) {
216
- var theme = _a.theme, state = _a.state, error = _a.error;
217
- return ({
218
- color: error
219
- ? "rgba(".concat(theme.vars.palette.danger.mainChannel, " / 0.6)")
220
- : state === "over"
221
- ? "rgba(".concat(theme.palette.primary.mainChannel, " / 0.6)")
222
- : theme.palette.neutral.softActiveBg,
223
- width: "32px",
224
- height: "32px",
225
- });
226
- });
227
- var Uploader = react_1.default.memo(function (props) {
228
- // prop destruction
229
- var accept = props.accept, minCount = props.minCount, maxCount = props.maxCount, name = props.name, size = props.size, maxFileSize = props.maxFileSize, maxFileTotalSize = props.maxFileTotalSize, onChange = props.onChange, label = props.label, helperText = props.helperText, disabled = props.disabled, onDelete = props.onDelete;
230
- // lib hooks
231
- // state, ref, querystring hooks
232
- var dropZoneRef = (0, react_1.useRef)(null);
233
- var inputRef = (0, react_1.useRef)(null);
234
- var _a = (0, react_1.useState)(), errorText = _a[0], setErrorText = _a[1];
235
- var _b = (0, react_1.useState)([]), files = _b[0], setFiles = _b[1];
236
- var _c = (0, react_1.useState)(props.uploaded || []), uploaded = _c[0], setUploaded = _c[1];
237
- var _d = (0, react_1.useState)("idle"), previewState = _d[0], setPreviewState = _d[1];
238
- // form hooks
239
- // query hooks
240
- // calculated values
241
- var error = (0, react_1.useMemo)(function () { return !!errorText || props.error; }, [props.error, errorText]);
242
- var showDropZone = (0, react_1.useMemo)(function () {
243
- return !maxCount || (maxCount && __spreadArray(__spreadArray([], uploaded, true), files, true).length !== maxCount);
244
- }, [files, maxCount, uploaded]);
245
- var addFiles = (0, react_1.useCallback)(function (uploads) {
246
- try {
247
- var types = (accept === null || accept === void 0 ? void 0 : accept.split(",").map(function (type) { return type.trim().replace(".", "").replace("*", ".*"); })) ||
248
- [];
249
- var fileExtension_1 = new RegExp("\\b(".concat(types.join("|"), ")\\b"));
250
- // NOTE: for error text(ref. figma uploader guide)
251
- var lastAccept = types.pop();
252
- var acceptError_1 = "Please upload following file types: ".concat(types.join(", "), " and ").concat(lastAccept, ".");
253
- uploads.forEach(function (file) {
254
- var _a = file.name.split('.'), _ = _a[0], ext = _a[1];
255
- if (!fileExtension_1.test(file.type) && !fileExtension_1.test(ext)) {
256
- throw new Error(acceptError_1);
257
- }
258
- });
259
- if (maxFileSize) {
260
- uploads.forEach(function (file) {
261
- if (file.size > maxFileSize) {
262
- throw new Error("One or more files exceed the individual file size limit. File must be less than ".concat(getFileSize(maxFileSize), "."));
263
- }
264
- });
265
- }
266
- if (maxFileTotalSize) {
267
- var totalFileSize = __spreadArray(__spreadArray([], files, true), uploads, true).reduce(function (acc, file) { return acc + file.size; }, 0);
268
- if (totalFileSize > maxFileTotalSize) {
269
- throw new Error("Total file size has exceeded the maximum limit. File must be less than ".concat(getFileSize(maxFileTotalSize), "."));
270
- }
271
- }
272
- var newFiles = __spreadArray(__spreadArray([], files, true), uploads, true);
273
- if (maxCount && __spreadArray(__spreadArray([], uploaded, true), newFiles, true).length > maxCount) {
274
- throw new Error("File count exceeds the limit: ".concat(maxCount));
275
- }
276
- onChange === null || onChange === void 0 ? void 0 : onChange({
277
- target: {
278
- name: name,
279
- value: newFiles,
280
- },
281
- });
282
- setFiles(newFiles);
283
- setErrorText(undefined);
284
- }
285
- catch (error) {
286
- // TODO: localization, internationalization해야하는 reserved 에러 메세지, 필요한가?
287
- var err = error;
288
- setErrorText(err.message);
289
- }
290
- }, [files, uploaded, maxCount, accept, maxFileSize, maxFileTotalSize, name, onChange]);
291
- // effects
292
- (0, react_1.useEffect)(function () {
293
- var el = dropZoneRef.current;
294
- if (!el) {
295
- return;
296
- }
297
- return (0, combine_js_1.combine)((0, adapter_js_1.dropTargetForExternal)({
298
- element: el,
299
- canDrop: file_js_1.containsFiles,
300
- onDragEnter: function () { return setPreviewState("over"); },
301
- onDragLeave: function () { return setPreviewState("potential"); },
302
- onDrop: function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
303
- var files;
304
- var source = _b.source;
305
- return __generator(this, function (_c) {
306
- switch (_c.label) {
307
- case 0: return [4 /*yield*/, (0, file_js_1.getFiles)({ source: source })];
308
- case 1:
309
- files = _c.sent();
310
- addFiles(files);
311
- return [2 /*return*/];
312
- }
313
- });
314
- }); },
315
- }), (0, adapter_js_1.monitorForExternal)({
316
- canMonitor: file_js_1.containsFiles,
317
- onDragStart: function () {
318
- setPreviewState("potential");
319
- prevent_unhandled_js_1.preventUnhandled.start();
320
- },
321
- onDrop: function () {
322
- setPreviewState("idle");
323
- prevent_unhandled_js_1.preventUnhandled.stop();
324
- },
325
- }));
326
- });
327
- (0, react_1.useEffect)(function () {
328
- if (inputRef.current && minCount) {
329
- if (files.length < minCount) {
330
- inputRef.current.setCustomValidity("At least ".concat(minCount, " files are required."));
331
- }
332
- else {
333
- inputRef.current.setCustomValidity("");
334
- }
335
- }
336
- }, [inputRef, files, minCount]);
337
- // handlers
338
- var handleFileChanged = (0, react_1.useCallback)(function (event) {
339
- var files = Array.from(event.target.files || []);
340
- addFiles(files);
341
- }, [addFiles]);
342
- var handleDeleteFile = (0, react_1.useCallback)(function (deletedFile) {
343
- if (deletedFile instanceof File) {
344
- setFiles(function (current) {
345
- onChange === null || onChange === void 0 ? void 0 : onChange({
346
- target: {
347
- name: name,
348
- value: current.filter(function (file) { return file !== deletedFile; }),
349
- },
350
- });
351
- return current.filter(function (file) { return file !== deletedFile; });
352
- });
353
- }
354
- else {
355
- setUploaded(function (uploaded) {
356
- return uploaded.filter(function (file) { return file.id !== deletedFile.id; });
357
- });
358
- // NOTE: 이미 업로드된 파일에 대해서만 onDeleted를 호출한다.
359
- onDelete === null || onDelete === void 0 ? void 0 : onDelete(deletedFile);
360
- }
361
- setErrorText(undefined);
362
- }, [name, onChange, onDelete]);
363
- var handleUploaderButtonClick = (0, react_1.useCallback)(function () {
364
- var _a;
365
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click();
366
- }, []);
367
- var uploader = (react_1.default.createElement(FileDropZone, { state: previewState, error: !!(error || errorText), ref: dropZoneRef, onClick: handleUploaderButtonClick },
368
- react_1.default.createElement(Stack_1.default, { alignItems: "center", gap: 1 },
369
- react_1.default.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText) })),
370
- react_1.default.createElement(VisuallyHiddenInput, { type: "file", onChange: handleFileChanged, multiple: true, accept: accept, disabled: disabled, required: !!minCount, ref: inputRef })));
371
- return (react_1.default.createElement(UploaderRoot, null,
372
- showDropZone && (react_1.default.createElement(FormControl_1.default, { size: size, error: !!(error || errorText), disabled: disabled, required: !!minCount },
373
- label && react_1.default.createElement(FormLabel_1.default, null, label),
374
- uploader,
375
- errorText ? (react_1.default.createElement(FormHelperText_1.default, null, errorText)) : (helperText && react_1.default.createElement(FormHelperText_1.default, null, helperText)))),
376
- __spreadArray(__spreadArray([], uploaded, true), files, true).length > 0 && (react_1.default.createElement(Preview, { files: files, uploaded: uploaded, onDelete: handleDeleteFile }))));
377
- });
378
- exports.Uploader = Uploader;