@xqmsg/ui-core 0.18.8 → 0.19.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.
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  export interface NeutralProps {
3
3
  boxSize: number | string;
4
+ color?: string;
4
5
  }
5
6
  /**
6
7
  * A functional React component utilized to render the `Neutral` icon component
@@ -0,0 +1,5 @@
1
+ import { Meta } from '@storybook/react';
2
+ import { ToastProps } from '.';
3
+ declare const meta: Meta<ToastProps>;
4
+ export default meta;
5
+ export declare const Default: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, ToastProps>;
@@ -0,0 +1,12 @@
1
+ import React, { ReactNode } from 'react';
2
+ export declare type ToastVariant = 'positive' | 'warning' | 'error' | 'neutral';
3
+ export interface ToastProps {
4
+ variant: ToastVariant;
5
+ message: ReactNode;
6
+ buttonText?: string;
7
+ onClick?: () => void;
8
+ }
9
+ /**
10
+ * A functional React component utilized to render the `Toast` component
11
+ */
12
+ export declare const Toast: React.FC<ToastProps>;
@@ -0,0 +1,6 @@
1
+ import { ToastPosition } from '@chakra-ui/react';
2
+ import React from 'react';
3
+ import { ToastProps } from '../components/toast';
4
+ export declare const useToast: (props: ToastProps & {
5
+ position: ToastPosition;
6
+ }) => () => React.Key;
package/dist/index.d.ts CHANGED
@@ -16,5 +16,6 @@ export * from './components/tabs';
16
16
  export * from './components/text';
17
17
  export * from './theme/provider';
18
18
  export * from './components/toolbar';
19
+ export * from './hooks/useToast';
19
20
  export * from './components/form/utils/formErrors';
20
21
  export * from './theme/foundations/colors';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ChakraProviderProps } from '@chakra-ui/provider';
2
+ import { ChakraProviderProps } from '@chakra-ui/react';
3
3
  /**
4
4
  * A functional React wrapper component utilized to consume the custom XQ theme via `ChakraProvider`
5
5
  */
@@ -12,7 +12,6 @@ var lodash = require('lodash');
12
12
  var icons = require('@chakra-ui/icons');
13
13
  var reactRouterDom = require('react-router-dom');
14
14
  var hi = require('react-icons/hi');
15
- var provider = require('@chakra-ui/provider');
16
15
  var themeTools = require('@chakra-ui/theme-tools');
17
16
  var system = require('@chakra-ui/system');
18
17
 
@@ -91,7 +90,7 @@ var SvgNeutral = function SvgNeutral(props, ref) {
91
90
  ref: ref
92
91
  }, props), _path$1 || (_path$1 = /*#__PURE__*/React.createElement("path", {
93
92
  d: "M7 4.5V4a.5.5 0 0 0-.5.5H7Zm.005 0h.5a.5.5 0 0 0-.5-.5v.5Zm0 .005v.5a.5.5 0 0 0 .5-.5h-.5Zm-.005 0h-.5a.5.5 0 0 0 .5.5v-.5Zm-.724 1.548a.5.5 0 1 0 .448.894l-.448-.894Zm.252.433-.224-.447.224.447Zm.708.569.485.12-.485-.12Zm-.472 1.89-.485-.12.485.12Zm.708.569.224.447-.224-.447Zm.252.433a.5.5 0 1 0-.448-.894l.448.894ZM12.5 7A5.5 5.5 0 0 1 7 12.5v1A6.5 6.5 0 0 0 13.5 7h-1ZM7 12.5A5.5 5.5 0 0 1 1.5 7h-1A6.5 6.5 0 0 0 7 13.5v-1ZM1.5 7A5.5 5.5 0 0 1 7 1.5v-1A6.5 6.5 0 0 0 .5 7h1ZM7 1.5A5.5 5.5 0 0 1 12.5 7h1A6.5 6.5 0 0 0 7 .5v1ZM7 5h.005V4H7v1Zm-.495-.5v.005h1V4.5h-1Zm.5-.495H7v1h.005v-1Zm.495.5V4.5h-1v.005h1Zm-.776 2.442.027-.014-.447-.894-.028.014.448.894Zm.027-.014L6.28 8.824l.97.243.472-1.891-.97-.243Zm.945 3.028.028-.014-.448-.894-.027.014.447.894ZM6.279 8.824a1 1 0 0 0 1.417 1.137l-.447-.894-.97-.243Zm.472-1.89.97.242a1 1 0 0 0-1.417-1.137l.447.894Z",
94
- fill: "#3C3C43",
93
+ fill: "current",
95
94
  fillOpacity: 0.6
96
95
  })));
97
96
  };
@@ -103,9 +102,11 @@ var Memo$1 = /*#__PURE__*/React.memo(ForwardRef$1);
103
102
  */
104
103
 
105
104
  var Neutral = function Neutral(_ref) {
106
- var boxSize = _ref.boxSize;
105
+ var color = _ref.color,
106
+ boxSize = _ref.boxSize;
107
107
  return /*#__PURE__*/React__default.createElement(Memo$1, {
108
- boxSize: boxSize
108
+ boxSize: boxSize,
109
+ fill: color || '#3C3C43'
109
110
  });
110
111
  };
111
112
 
@@ -4177,7 +4178,7 @@ var customXQChakraTheme = /*#__PURE__*/react.extendTheme( /*#__PURE__*/_extends$
4177
4178
  var XQThemeProvider = function XQThemeProvider(_ref) {
4178
4179
  var children = _ref.children,
4179
4180
  cssVarsRoot = _ref.cssVarsRoot;
4180
- return /*#__PURE__*/React__default.createElement(provider.ChakraProvider, {
4181
+ return /*#__PURE__*/React__default.createElement(react.ChakraProvider, {
4181
4182
  theme: customXQChakraTheme,
4182
4183
  resetCSS: true,
4183
4184
  cssVarsRoot: cssVarsRoot
@@ -4317,6 +4318,87 @@ var Toolbar = function Toolbar(_ref) {
4317
4318
  }, children, " ")));
4318
4319
  };
4319
4320
 
4321
+ /**
4322
+ * A functional React component utilized to render the `Toast` component
4323
+ */
4324
+
4325
+ var Toast = function Toast(_ref) {
4326
+ var variant = _ref.variant,
4327
+ message = _ref.message,
4328
+ buttonText = _ref.buttonText,
4329
+ onClick = _ref.onClick;
4330
+ var Icon = React.useMemo(function () {
4331
+ switch (variant) {
4332
+ case 'error':
4333
+ return /*#__PURE__*/React__default.createElement(Error$1, {
4334
+ boxSize: "16px"
4335
+ });
4336
+
4337
+ case 'neutral':
4338
+ return /*#__PURE__*/React__default.createElement(Neutral, {
4339
+ boxSize: "16px",
4340
+ color: "white"
4341
+ });
4342
+
4343
+ case 'positive':
4344
+ return /*#__PURE__*/React__default.createElement(Positive, {
4345
+ boxSize: "16px"
4346
+ });
4347
+
4348
+ case 'warning':
4349
+ return /*#__PURE__*/React__default.createElement(Warning, {
4350
+ boxSize: "16px"
4351
+ });
4352
+
4353
+ default:
4354
+ return null;
4355
+ }
4356
+ }, [variant]);
4357
+ return /*#__PURE__*/React__default.createElement(react.Flex, {
4358
+ alignItems: "center",
4359
+ width: "fit-content",
4360
+ height: "32px",
4361
+ p: "8px",
4362
+ bg: "#151515D9",
4363
+ borderColor: "#9999991A",
4364
+ borderRadius: "8px"
4365
+ }, /*#__PURE__*/React__default.createElement(react.Box, {
4366
+ pr: "8px"
4367
+ }, Icon), /*#__PURE__*/React__default.createElement(react.Text, {
4368
+ pr: "16px",
4369
+ fontSize: "13px",
4370
+ color: colors.label.primary.dark
4371
+ }, message), onClick && buttonText && /*#__PURE__*/React__default.createElement(react.Flex, {
4372
+ ml: "auto",
4373
+ justifyContent: "flex-end"
4374
+ }, /*#__PURE__*/React__default.createElement(react.Button, {
4375
+ color: colors.fill.action,
4376
+ style: {
4377
+ background: 'transparent',
4378
+ border: 'transparent',
4379
+ boxShadow: 'none'
4380
+ },
4381
+ _hover: {
4382
+ bg: 'transparent',
4383
+ border: 'transparent',
4384
+ boxShadow: 'none'
4385
+ },
4386
+ onClick: onClick
4387
+ }, buttonText)));
4388
+ };
4389
+
4390
+ var useToast = function useToast(props) {
4391
+ var toast = react.useToast();
4392
+ return function () {
4393
+ return toast({
4394
+ position: props.position,
4395
+ render: function render() {
4396
+ return /*#__PURE__*/React__default.createElement(Toast, Object.assign({}, props));
4397
+ }
4398
+ });
4399
+ };
4400
+ };
4401
+
4320
4402
  function formatErrorResponse(error) {
4321
4403
  var _error$response, _error$response$data;
4322
4404
 
@@ -4392,4 +4474,5 @@ exports.Warning = Warning;
4392
4474
  exports.XQThemeProvider = XQThemeProvider;
4393
4475
  exports.colors = colors;
4394
4476
  exports.formatErrorResponse = formatErrorResponse;
4477
+ exports.useToast = useToast;
4395
4478
  //# sourceMappingURL=ui-core.cjs.development.js.map