@superdispatch/ui-lab 0.23.0 → 0.23.3

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.
@@ -15,6 +15,8 @@ var _objectSpread = _interopDefault(require('@babel/runtime/helpers/objectSpread
15
15
  var _objectWithoutProperties = _interopDefault(require('@babel/runtime/helpers/objectWithoutProperties'));
16
16
  var reactTransitionGroup = require('react-transition-group');
17
17
  var core = require('@material-ui/core');
18
+ var dates = require('@superdispatch/dates');
19
+ var uiLab = require('@superdispatch/ui-lab');
18
20
  var js = require('@mdi/js');
19
21
  var Dropzone = _interopDefault(require('react-dropzone'));
20
22
  var reactAnchorme = require('react-anchorme');
@@ -531,6 +533,89 @@ var AnchorButton = /*#__PURE__*/react.forwardRef((_ref5, ref) => {
531
533
  });
532
534
  if (process.env.NODE_ENV !== "production") AnchorButton.displayName = "AnchorButton";
533
535
 
536
+ var ChatContainer = /*#__PURE__*/styled__default('div').withConfig({
537
+ displayName: "Chat__ChatContainer",
538
+ componentId: "SD__sc-qksih8-0"
539
+ })(_ref => {
540
+ var {
541
+ isEmpty
542
+ } = _ref;
543
+ return "\n display: flex;\n flex-direction: column-reverse;\n overflow: auto;\n justify-content: ".concat(isEmpty ? 'center' : 'end', ";\n width: 100%;\n height: 100%;\n min-width: 300px;\n max-width: 560px;\n min-height: 368px;\n max-height: 696px;\n padding: 16px;\n box-sizing: border-box;\n");
544
+ });
545
+
546
+ function emptyPlaceholder(text) {
547
+ return /*#__PURE__*/jsxRuntime.jsx(core.Typography, {
548
+ color: "textSecondary",
549
+ align: "center",
550
+ children: text
551
+ });
552
+ }
553
+
554
+ var Chat = /*#__PURE__*/react.forwardRef((_ref2, ref) => {
555
+ var {
556
+ children,
557
+ className,
558
+ emptyText = 'No new messages'
559
+ } = _ref2;
560
+ var isEmpty = react.Children.toArray(children).length === 0;
561
+ return /*#__PURE__*/jsxRuntime.jsx(ChatContainer, {
562
+ "data-testid": "chat-container",
563
+ isEmpty: isEmpty,
564
+ ref: ref,
565
+ className: className,
566
+ children: /*#__PURE__*/jsxRuntime.jsx(ui.Stack, {
567
+ space: "small",
568
+ children: isEmpty ? emptyPlaceholder(emptyText) : children
569
+ })
570
+ });
571
+ });
572
+ if (process.env.NODE_ENV !== "production") Chat.displayName = "Chat";
573
+ Chat.displayName = 'Chat';
574
+
575
+ var ChatMessage = /*#__PURE__*/react.forwardRef((_ref, ref) => {
576
+ var {
577
+ author,
578
+ role,
579
+ dateTime,
580
+ text,
581
+ variant
582
+ } = _ref;
583
+ var time = dates.formatDate(dateTime, {
584
+ variant: 'Time'
585
+ });
586
+ return /*#__PURE__*/jsxRuntime.jsxs(ui.Stack, {
587
+ space: "xxsmall",
588
+ align: variant === 'outgoing' ? 'right' : 'left',
589
+ ref: ref,
590
+ "data-testid": "chat-message",
591
+ children: [/*#__PURE__*/jsxRuntime.jsxs(ui.Inline, {
592
+ verticalAlign: "center",
593
+ children: [/*#__PURE__*/jsxRuntime.jsx(core.Typography, {
594
+ color: "textPrimary",
595
+ children: author
596
+ }), /*#__PURE__*/jsxRuntime.jsx(core.Typography, {
597
+ color: "textSecondary",
598
+ children: role
599
+ }), /*#__PURE__*/jsxRuntime.jsx(core.Typography, {
600
+ color: "textSecondary",
601
+ children: time
602
+ })]
603
+ }), /*#__PURE__*/jsxRuntime.jsx(uiLab.Box, {
604
+ display: "inline-block",
605
+ padding: "xsmall",
606
+ marginTop: "none",
607
+ borderRadius: "medium",
608
+ backgroundColor: variant === 'outgoing' ? 'Blue50' : 'Silver200',
609
+ children: /*#__PURE__*/jsxRuntime.jsx(core.Typography, {
610
+ color: "textPrimary",
611
+ children: text
612
+ })
613
+ })]
614
+ });
615
+ });
616
+ if (process.env.NODE_ENV !== "production") ChatMessage.displayName = "ChatMessage";
617
+ ChatMessage.displayName = 'ChatMessage';
618
+
534
619
  var _excluded$3 = ["fullViewportHeight"];
535
620
  var Container = /*#__PURE__*/react.forwardRef((_ref, ref) => {
536
621
  var {
@@ -2108,6 +2193,8 @@ exports.Banner = Banner;
2108
2193
  exports.Box = Box;
2109
2194
  exports.Button = Button;
2110
2195
  exports.ButtonArea = ButtonArea;
2196
+ exports.Chat = Chat;
2197
+ exports.ChatMessage = ChatMessage;
2111
2198
  exports.Container = Container;
2112
2199
  exports.DescriptionItem = DescriptionItem;
2113
2200
  exports.FileDropZone = FileDropZone;