@popmenu/admin-ui 0.9.0 → 0.11.0

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.
package/build/index.js CHANGED
@@ -14,6 +14,27 @@ var createTheme = require('@material-ui/core/styles/createTheme');
14
14
 
15
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
16
 
17
+ function _interopNamespace(e) {
18
+ if (e && e.__esModule) return e;
19
+ var n = Object.create(null);
20
+ if (e) {
21
+ Object.keys(e).forEach(function (k) {
22
+ if (k !== 'default') {
23
+ var d = Object.getOwnPropertyDescriptor(e, k);
24
+ Object.defineProperty(n, k, d.get ? d : {
25
+ enumerable: true,
26
+ get: function () {
27
+ return e[k];
28
+ }
29
+ });
30
+ }
31
+ });
32
+ }
33
+ n['default'] = e;
34
+ return Object.freeze(n);
35
+ }
36
+
37
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
17
38
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
39
  var MuiAlertTitle__default = /*#__PURE__*/_interopDefaultLegacy(MuiAlertTitle);
19
40
  var Box__default = /*#__PURE__*/_interopDefaultLegacy(Box);
@@ -107,8 +128,119 @@ function __spreadArray(to, from, pack) {
107
128
  return to.concat(ar || from);
108
129
  }
109
130
 
131
+ var _path$4n, _path2$1p;
132
+
133
+ function _extends$4E() { _extends$4E = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4E.apply(this, arguments); }
134
+
135
+ function SvgCheckCircle(props) {
136
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4E({
137
+ viewBox: "0 0 16 16",
138
+ strokeLinecap: "round",
139
+ strokeLinejoin: "round",
140
+ stroke: "currentColor",
141
+ width: "1em",
142
+ height: "1em",
143
+ fill: "none"
144
+ }, props), _path$4n || (_path$4n = /*#__PURE__*/React__namespace.createElement("path", {
145
+ d: "M14.667 7.387V8a6.666 6.666 0 11-3.954-6.093"
146
+ })), _path2$1p || (_path2$1p = /*#__PURE__*/React__namespace.createElement("path", {
147
+ d: "M14.667 2.667L8 9.34l-2-2"
148
+ })));
149
+ }
150
+
151
+ var _path$4k;
152
+
153
+ function _extends$4B() { _extends$4B = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4B.apply(this, arguments); }
154
+
155
+ function SvgX(props) {
156
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4B({
157
+ viewBox: "0 0 16 16",
158
+ strokeLinecap: "round",
159
+ strokeLinejoin: "round",
160
+ stroke: "currentColor",
161
+ width: "1em",
162
+ height: "1em",
163
+ fill: "none"
164
+ }, props), _path$4k || (_path$4k = /*#__PURE__*/React__namespace.createElement("path", {
165
+ d: "M12 4l-8 8m0-8l8 8"
166
+ })));
167
+ }
168
+
169
+ var _path$3$;
170
+
171
+ function _extends$4g() { _extends$4g = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4g.apply(this, arguments); }
172
+
173
+ function SvgInfo(props) {
174
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4g({
175
+ viewBox: "0 0 16 16",
176
+ strokeLinecap: "round",
177
+ strokeLinejoin: "round",
178
+ stroke: "currentColor",
179
+ width: "1em",
180
+ height: "1em",
181
+ fill: "none"
182
+ }, props), _path$3$ || (_path$3$ = /*#__PURE__*/React__namespace.createElement("path", {
183
+ d: "M8 14.667A6.667 6.667 0 108 1.333a6.667 6.667 0 000 13.334zm0-4V8m0-2.667h.007"
184
+ })));
185
+ }
186
+
187
+ var _path$3a;
188
+
189
+ function _extends$3q() { _extends$3q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3q.apply(this, arguments); }
190
+
191
+ function SvgError(props) {
192
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$3q({
193
+ viewBox: "0 0 16 16",
194
+ strokeLinecap: "round",
195
+ strokeLinejoin: "round",
196
+ stroke: "currentColor",
197
+ width: "1em",
198
+ height: "1em",
199
+ fill: "none"
200
+ }, props), _path$3a || (_path$3a = /*#__PURE__*/React__namespace.createElement("path", {
201
+ d: "M5.24 1.333h5.52l3.907 3.907v5.52l-3.907 3.907H5.24L1.333 10.76V5.24L5.24 1.333zm2.76 4V8m0 2.667h.008"
202
+ })));
203
+ }
204
+
205
+ var _path$39;
206
+
207
+ function _extends$3p() { _extends$3p = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3p.apply(this, arguments); }
208
+
209
+ function SvgWarning(props) {
210
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$3p({
211
+ viewBox: "0 0 16 16",
212
+ strokeLinecap: "round",
213
+ strokeLinejoin: "round",
214
+ stroke: "currentColor",
215
+ width: "1em",
216
+ height: "1em",
217
+ fill: "none"
218
+ }, props), _path$39 || (_path$39 = /*#__PURE__*/React__namespace.createElement("path", {
219
+ d: "M6.86 2.573L1.213 12a1.333 1.333 0 001.14 2h11.294a1.334 1.334 0 001.14-2L9.14 2.573a1.333 1.333 0 00-2.28 0v0zM8 6v2.667m0 2.666h.007"
220
+ })));
221
+ }
222
+
223
+ var _path$S;
224
+
225
+ function _extends$10() { _extends$10 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$10.apply(this, arguments); }
226
+
227
+ function SvgCircle(props) {
228
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$10({
229
+ viewBox: "0 0 16 16",
230
+ strokeLinecap: "round",
231
+ strokeLinejoin: "round",
232
+ stroke: "currentColor",
233
+ width: "1em",
234
+ height: "1em",
235
+ fill: "none"
236
+ }, props), _path$S || (_path$S = /*#__PURE__*/React__namespace.createElement("path", {
237
+ d: "M8 14.667A6.667 6.667 0 108 1.333a6.667 6.667 0 000 13.334z"
238
+ })));
239
+ }
240
+
110
241
  var useAlertStyles = styles.makeStyles(function (theme) { return ({
111
242
  root: {
243
+ alignItems: 'center',
112
244
  width: function (_a) {
113
245
  var fullWidth = _a.fullWidth;
114
246
  return (fullWidth ? '100%' : 'unset');
@@ -120,14 +252,21 @@ var useAlertStyles = styles.makeStyles(function (theme) { return ({
120
252
  },
121
253
  }); });
122
254
 
255
+ var severityIcons$1 = {
256
+ info: SvgInfo,
257
+ error: SvgError,
258
+ warning: SvgWarning,
259
+ success: SvgCheckCircle,
260
+ };
123
261
  var Alert = React.forwardRef(function (props, ref) {
124
262
  var children = props.children, link = props.link, _a = props.severity, severity = _a === void 0 ? 'error' : _a, _b = props.variant, variant = _b === void 0 ? 'outlined' : _b, onClose = props.onClose, muiProps = __rest(props, ["children", "link", "severity", "variant", "onClose"]);
125
263
  var classes = useAlertStyles(props);
126
264
  var validLink = link && link.href && link.text && { href: link.href, children: link.text };
127
265
  var Action = (React__default['default'].createElement(React__default['default'].Fragment, null,
128
266
  validLink && React__default['default'].createElement(commonUi.Link, __assign({}, validLink)),
129
- React__default['default'].createElement(commonUi.IconButton, { onClick: onClose, icon: "cancel" })));
130
- return (React__default['default'].createElement(commonUi.Alert, __assign({ ref: ref, classes: classes, icon: React__default['default'].createElement(commonUi.Icon, { size: "medium", name: severity }), action: Action, variant: variant, severity: severity }, muiProps), children));
267
+ React__default['default'].createElement(commonUi.IconButton, { onClick: onClose },
268
+ React__default['default'].createElement(commonUi.Icon, { icon: SvgX }))));
269
+ return (React__default['default'].createElement(commonUi.Alert, __assign({ ref: ref, classes: classes, icon: React__default['default'].createElement(commonUi.Icon, { icon: severityIcons$1[severity] }), action: Action, variant: variant, severity: severity }, muiProps), children));
131
270
  });
132
271
  Alert.displayName = 'Alert';
133
272
 
@@ -325,19 +464,26 @@ var useAlertDialogStyles = styles.makeStyles(function (theme) { return ({
325
464
  },
326
465
  }); });
327
466
 
467
+ var severityIcons = {
468
+ info: SvgInfo,
469
+ error: SvgError,
470
+ warning: SvgWarning,
471
+ success: SvgCheckCircle,
472
+ };
328
473
  var AlertDialog = React.forwardRef(function (props, ref) {
329
474
  var children = props.children, labelId = props.labelId, descriptionId = props.descriptionId, _a = props.severity, severity = _a === void 0 ? 'info' : _a, _b = props.proceedButtonText, proceedButtonText = _b === void 0 ? 'proceed' : _b, onClose = props.onClose, onCancel = props.onCancel, onProceed = props.onProceed, DialogProps = __rest(props, ["children", "labelId", "descriptionId", "severity", "proceedButtonText", "onClose", "onCancel", "onProceed"]);
330
475
  var classes = useAlertDialogStyles(props);
331
476
  return (React__default['default'].createElement(commonUi.Dialog, __assign({ ref: ref, classes: { paper: classes.root } }, DialogProps),
332
477
  React__default['default'].createElement(commonUi.Card, { classes: { root: classes.card }, role: "alertdialog", "aria-modal": "true", "aria-labelledby": labelId, "aria-describedby": descriptionId },
333
- React__default['default'].createElement(commonUi.IconButton, { className: classes.cancelIcon, icon: "cancel", size: "small", onClick: onClose }),
478
+ React__default['default'].createElement(commonUi.IconButton, { className: classes.cancelIcon, onClick: onClose },
479
+ React__default['default'].createElement(commonUi.Icon, { icon: SvgX })),
334
480
  React__default['default'].createElement(commonUi.CardContent, null,
335
481
  React__default['default'].createElement(commonUi.Box, { display: "flex" },
336
- React__default['default'].createElement(commonUi.Icon, { className: classes.icon, color: severity, name: severity }),
482
+ React__default['default'].createElement(commonUi.Icon, { className: classes.icon, color: severity, icon: severityIcons[severity] }),
337
483
  React__default['default'].createElement(commonUi.Box, { pl: 2, pr: 3 }, children))),
338
484
  React__default['default'].createElement(commonUi.CardActions, { classes: { root: classes.cardActions } },
339
485
  React__default['default'].createElement(Button, { onClick: onCancel, variant: "ghost" }, "Cancel"),
340
- React__default['default'].createElement(Button, { onClick: onProceed, variant: severity }, proceedButtonText)))));
486
+ React__default['default'].createElement(Button, { onClick: onProceed, variant: "ghost" }, proceedButtonText)))));
341
487
  });
342
488
  AlertDialog.displayName = 'AlertDialog';
343
489
 
@@ -400,126 +546,41 @@ var ButtonGroup = React.forwardRef(function (props, ref) {
400
546
  });
401
547
  ButtonGroup.displayName = 'ButtonGroup';
402
548
 
403
- var useDimensions = function () {
404
- var _a = React.useState(undefined), width = _a[0], setWidth = _a[1];
405
- var _b = React.useState(undefined), height = _b[0], setHeight = _b[1];
406
- var ref = React.useRef(null);
407
- React.useEffect(function () {
408
- var observer = new ResizeObserver(function (entries) {
409
- setWidth(entries[0].borderBoxSize[0].inlineSize);
410
- setHeight(entries[0].contentRect.height);
411
- });
412
- var node = ref.current;
413
- observer.observe(node);
414
- return function () {
415
- observer.unobserve(node);
416
- };
417
- });
418
- return { height: height, ref: ref, width: width };
419
- };
420
-
421
549
  var useFeatureIntroStyles = styles.makeStyles(function (_a) {
422
550
  var spacing = _a.spacing;
423
551
  return ({
424
552
  root: {
425
- display: 'grid',
426
- gridTemplateColumns: function (_a) {
427
- var columnWidth = _a.columnWidth;
428
- return "repeat(auto-fit, minmax(" + columnWidth + "px, 1fr))";
429
- },
430
- rowGap: spacing(2),
431
- columnGap: spacing(2),
432
- padding: function (_a) {
433
- var singleColumn = _a.singleColumn;
434
- return (singleColumn ? spacing(0, 4) : spacing(8));
435
- },
436
- alignItems: 'center',
437
- justifyItems: 'center',
438
- },
439
- info: {
440
- gridColumn: 1,
441
- display: 'grid',
442
- alignContent: 'center',
443
- justifyItems: function (_a) {
444
- var singleColumn = _a.singleColumn;
445
- return (singleColumn ? 'center' : 'start');
446
- },
447
- gridTemplateRows: "auto " + spacing(2) + "px auto " + spacing(6) + "px auto",
448
- },
449
- body: {
450
- gridRowStart: 3,
451
- textAlign: function (_a) {
452
- var singleColumn = _a.singleColumn;
453
- return (singleColumn ? 'center' : 'start');
454
- },
553
+ gap: spacing(3),
455
554
  },
456
555
  actions: {
457
- display: 'inline-grid',
458
- width: 'fit-content',
459
- paddingBlockEnd: function (_a) {
460
- var singleColumn = _a.singleColumn;
461
- return (singleColumn ? spacing(4) : 0);
462
- },
463
- gridTemplateColumns: 'auto',
464
- gridTemplateRows: "auto " + spacing(3) + "px auto",
465
- gridRowStart: 5,
466
- },
467
- secondaryAction: {
468
- gridRowStart: 3,
556
+ gap: spacing(3),
469
557
  },
470
558
  image: {
471
- gridRow: function (_a) {
472
- var singleColumn = _a.singleColumn;
473
- return (singleColumn ? 1 : 'unset');
474
- },
475
- paddingBlockStart: function (_a) {
476
- var singleColumn = _a.singleColumn;
477
- return (singleColumn ? spacing(4) : 0);
478
- },
479
- maxHeight: 450,
480
- maxWidth: 450,
481
- display: 'flex',
482
- justifyContent: 'center',
483
- alignItems: 'center',
484
- overflow: 'hidden',
485
- '& img': {
486
- width: '100%',
487
- height: function (_a) {
488
- var singleColumn = _a.singleColumn;
489
- return (singleColumn ? 300 : 450);
490
- },
491
- objectFit: 'contain',
492
- },
559
+ width: '100%',
560
+ objectFit: 'contain',
493
561
  },
494
562
  });
495
563
  });
496
564
 
497
- var useStyleProps = function (props, width) {
498
- var columnWidth = 250;
499
- // column widths*2 + column gap + 2XL-spacing*2
500
- var breakpoint = columnWidth * 2 + 16 + 64 * 2;
501
- var singleColumn = width ? width < breakpoint : true;
502
- return __assign(__assign({}, props), { columnWidth: columnWidth, singleColumn: singleColumn, width: width });
503
- };
504
565
  var FeatureIntro = function (props) {
505
566
  var title = props.title, body = props.body, primaryAction = props.primaryAction, secondaryAction = props.secondaryAction, image = props.image;
506
567
  var primaryActionLabel = primaryAction.label, primaryActionProps = __rest(primaryAction, ["label"]);
507
- var secondaryActionLabel = secondaryAction.label, secondaryActionProps = __rest(secondaryAction, ["label"]);
508
- var _a = useDimensions(), width = _a.width, ref = _a.ref;
509
- var styleProps = useStyleProps(props, width);
510
- var classes = useFeatureIntroStyles(styleProps);
568
+ var _a = secondaryAction || {}, secondaryActionLabel = _a.label, secondaryActionProps = __rest(_a, ["label"]);
569
+ var classes = useFeatureIntroStyles(props);
511
570
  var validImage = (image === null || image === void 0 ? void 0 : image.src) && (image === null || image === void 0 ? void 0 : image.alt);
512
571
  return (
513
572
  /** Needed to use extra ts syntax to trick Box into accepting ref, issue to be fixed in MUI v5 */
514
573
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
515
- React__default['default'].createElement(commonUi.Box, __assign({}, { ref: ref }, { className: classes.root }),
516
- React__default['default'].createElement(commonUi.Box, { className: classes.info },
517
- React__default['default'].createElement(commonUi.Typography, { variant: "h4" }, title),
518
- React__default['default'].createElement(commonUi.Box, { className: classes.body }, body),
519
- React__default['default'].createElement(commonUi.Box, { className: classes.actions },
574
+ React__default['default'].createElement(commonUi.Box, { className: classes.root, padding: { xs: 4, sm: 8 }, flexDirection: { xs: 'column-reverse', sm: 'row' }, display: "flex", justifyContent: "center", alignItems: "center" },
575
+ React__default['default'].createElement(commonUi.Box, { display: "flex", flexDirection: "column", width: { xs: '100%', sm: '50%' }, alignItems: { xs: 'center', sm: 'unset' } },
576
+ React__default['default'].createElement(commonUi.Box, { textAlign: { xs: 'center', sm: 'start' }, marginBottom: 2 },
577
+ React__default['default'].createElement(commonUi.Typography, { align: "inherit", variant: "h4" }, title)),
578
+ React__default['default'].createElement(commonUi.Box, { textAlign: { xs: 'center', sm: 'start' }, marginBottom: 6 }, body),
579
+ React__default['default'].createElement(commonUi.Box, { className: classes.actions, display: "flex", flexDirection: "column", width: "fit-content" },
520
580
  primaryAction && React__default['default'].createElement(Button, __assign({}, primaryActionProps), primaryActionLabel),
521
- secondaryAction && (React__default['default'].createElement(Button, __assign({ className: classes.secondaryAction, variant: "tertiary" }, secondaryActionProps), secondaryActionLabel)))),
522
- React__default['default'].createElement(commonUi.Box, { className: classes.image }, validImage && React__default['default'].createElement("img", { src: image.src, alt: image.alt }))));
581
+ secondaryAction && (React__default['default'].createElement(Button, __assign({ variant: "tertiary" }, secondaryActionProps), secondaryActionLabel)))),
582
+ React__default['default'].createElement(commonUi.Box, { display: "flex", width: { xs: '100%', sm: '50%' }, alignItems: "center", justifyContent: "center" },
583
+ React__default['default'].createElement(commonUi.Box, { display: "flex", maxWidth: 450, maxHeight: 450 }, validImage && React__default['default'].createElement("img", { src: image.src, alt: image.alt, className: classes.image })))));
523
584
  };
524
585
  FeatureIntro.displayName = 'FeatureIntro';
525
586
 
@@ -613,7 +674,7 @@ var FullScreenStepperActions = function (props) {
613
674
  React__default['default'].createElement(StepperActionsStatusText, { statusText: statusText })),
614
675
  React__default['default'].createElement(commonUi.Box, { className: classes.inlineEndActions },
615
676
  actions &&
616
- actions.map(function (action, i) { return (React__default['default'].createElement(Button, { key: "custom-action-" + stepCursor + "-" + i, variant: "ghost", onClick: action.onClick }, action.text)); }),
677
+ actions.map(function (action, i) { return (React__default['default'].createElement(Button, __assign({ key: "custom-action-" + stepCursor + "-" + i, variant: "ghost", onClick: action.onClick }, action.props), action.text)); }),
617
678
  React__default['default'].createElement(StepperActionsCancelButton, { setStepCursor: setStepCursor, stepCursor: stepCursor, cancelButtonText: cancelButtonText, cancelButtonProps: cancelButtonProps, handleCancelClick: handleCancelClick, displayCancelButton: displayCancelButton }),
618
679
  React__default['default'].createElement(StepperActionsNextButton, { handleNextClick: handleNextClick, nextButtonProps: nextButtonProps, setStepCursor: setStepCursor, stepCursor: stepCursor, stepCount: stepCount, finishButtonText: finishButtonText, nextButtonText: nextButtonText }))));
619
680
  };
@@ -687,7 +748,8 @@ var FullScreenStepperHeader = function (props) {
687
748
  stepCursor,
688
749
  " of ",
689
750
  stepCount),
690
- React__default['default'].createElement(commonUi.IconButton, { className: classes.closeButton, icon: "cancel", onClick: onClose }),
751
+ React__default['default'].createElement(commonUi.IconButton, { className: classes.closeButton, onClick: onClose },
752
+ React__default['default'].createElement(commonUi.Icon, { icon: SvgX })),
691
753
  React__default['default'].createElement(FullScreenStepperProgress, { stepCount: stepCount, stepCursor: stepCursor })));
692
754
  };
693
755
 
@@ -840,7 +902,7 @@ var SelectableCard = function (props) {
840
902
  };
841
903
  return (React__default['default'].createElement(commonUi.Card, __assign({ classes: { root: classes.root } }, muiProps),
842
904
  React__default['default'].createElement(commonUi.CardActionArea, { onClick: handleClick, classes: { focusHighlight: classes.focusHighlight }, role: "checkbox", "aria-checked": selected, "aria-labelledby": labelId },
843
- React__default['default'].createElement(commonUi.Icon, { className: classes.icon, name: selected ? 'check-circle' : 'unchecked', size: "medium" }),
905
+ React__default['default'].createElement(commonUi.Icon, { className: classes.icon, icon: selected ? SvgCheckCircle : SvgCircle, size: "medium" }),
844
906
  React__default['default'].createElement(commonUi.CardContent, { classes: { root: classes.cardContent } }, children))));
845
907
  };
846
908
  SelectableCard.displayName = 'SelectableCard';