@rh-support/components 2.5.231 → 2.6.11

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 (69) hide show
  1. package/lib/esm/CaseLabelLoadErrorModal/CaseLabelLoadErrorModal.d.ts +10 -0
  2. package/lib/esm/CaseLabelLoadErrorModal/CaseLabelLoadErrorModal.d.ts.map +1 -0
  3. package/lib/esm/CaseLabelLoadErrorModal/CaseLabelLoadErrorModal.js +17 -0
  4. package/lib/esm/CaseLabelLoadErrorModal/CaseLabelLoadErrorModal.scss +13 -0
  5. package/lib/esm/CaseLabelLoadErrorModal/index.d.ts +2 -0
  6. package/lib/esm/CaseLabelLoadErrorModal/index.d.ts.map +1 -0
  7. package/lib/esm/CaseLabelLoadErrorModal/index.js +1 -0
  8. package/lib/esm/ConfirmationModal/ConfirmationDialog.js +1 -1
  9. package/lib/esm/CustomDatePicker/CustomDatePicker.d.ts +18 -0
  10. package/lib/esm/CustomDatePicker/CustomDatePicker.d.ts.map +1 -0
  11. package/lib/esm/CustomDatePicker/CustomDatePicker.js +27 -0
  12. package/lib/esm/CustomDatePicker/customDatePicker.css +52 -0
  13. package/lib/esm/CustomDatePicker/index.d.ts +2 -0
  14. package/lib/esm/CustomDatePicker/index.d.ts.map +1 -0
  15. package/lib/esm/CustomDatePicker/index.js +1 -0
  16. package/lib/esm/Functional/CaseContactsSelectorExternal.d.ts +2 -0
  17. package/lib/esm/Functional/CaseContactsSelectorExternal.d.ts.map +1 -1
  18. package/lib/esm/Functional/CaseContactsSelectorExternal.js +176 -82
  19. package/lib/esm/InlineEdit/NewInlineEdit.d.ts +2 -0
  20. package/lib/esm/InlineEdit/NewInlineEdit.d.ts.map +1 -1
  21. package/lib/esm/InlineEdit/NewInlineEdit.js +7 -2
  22. package/lib/esm/OwnerTypeaheadDropdown/OwnerTypeaheadDropdown.d.ts +2 -0
  23. package/lib/esm/OwnerTypeaheadDropdown/OwnerTypeaheadDropdown.d.ts.map +1 -1
  24. package/lib/esm/OwnerTypeaheadDropdown/OwnerTypeaheadDropdown.js +8 -3
  25. package/lib/esm/PhoneInput/PhoneInput.d.ts.map +1 -1
  26. package/lib/esm/PhoneInput/PhoneInput.js +38 -1
  27. package/lib/esm/RichTextEditor/RichTextEditor.d.ts +45 -0
  28. package/lib/esm/RichTextEditor/RichTextEditor.d.ts.map +1 -0
  29. package/lib/esm/RichTextEditor/RichTextEditor.js +464 -0
  30. package/lib/esm/RichTextEditor/autoLinkModule.d.ts +18 -0
  31. package/lib/esm/RichTextEditor/autoLinkModule.d.ts.map +1 -0
  32. package/lib/esm/RichTextEditor/autoLinkModule.js +156 -0
  33. package/lib/esm/RichTextEditor/index.d.ts +4 -0
  34. package/lib/esm/RichTextEditor/index.d.ts.map +1 -0
  35. package/lib/esm/RichTextEditor/index.js +2 -0
  36. package/lib/esm/RichTextEditor/linkUrl.d.ts +7 -0
  37. package/lib/esm/RichTextEditor/linkUrl.d.ts.map +1 -0
  38. package/lib/esm/RichTextEditor/linkUrl.js +26 -0
  39. package/lib/esm/RichTextEditor/richTextEditor.css +182 -0
  40. package/lib/esm/RichTextEditor/useQuillEditor.d.ts +20 -0
  41. package/lib/esm/RichTextEditor/useQuillEditor.d.ts.map +1 -0
  42. package/lib/esm/RichTextEditor/useQuillEditor.js +180 -0
  43. package/lib/esm/SingleSelectDropdown/SingleSelectDropdown.d.ts +2 -0
  44. package/lib/esm/SingleSelectDropdown/SingleSelectDropdown.d.ts.map +1 -1
  45. package/lib/esm/SingleSelectDropdown/SingleSelectDropdown.js +7 -6
  46. package/lib/esm/Table/TablePagination.d.ts +1 -0
  47. package/lib/esm/Table/TablePagination.d.ts.map +1 -1
  48. package/lib/esm/Table/TablePagination.js +1 -1
  49. package/lib/esm/ToastNotification/ToastNotification.d.ts +5 -1
  50. package/lib/esm/ToastNotification/ToastNotification.d.ts.map +1 -1
  51. package/lib/esm/ToastNotification/ToastNotification.js +16 -3
  52. package/lib/esm/ToastNotification/toastNotification.css +7 -0
  53. package/lib/esm/helperFunctions/errorMessage.d.ts +2 -1
  54. package/lib/esm/helperFunctions/errorMessage.d.ts.map +1 -1
  55. package/lib/esm/helperFunctions/errorMessage.js +19 -5
  56. package/lib/esm/hooks/useCopyToClipboard.d.ts +1 -1
  57. package/lib/esm/hooks/useCopyToClipboard.d.ts.map +1 -1
  58. package/lib/esm/hooks/useCopyToClipboard.js +3 -1
  59. package/lib/esm/index.d.ts +3 -1
  60. package/lib/esm/index.d.ts.map +1 -1
  61. package/lib/esm/index.js +4 -1
  62. package/package.json +7 -4
  63. package/lib/esm/MarkdownEditor/MarkdownEditor.d.ts +0 -49
  64. package/lib/esm/MarkdownEditor/MarkdownEditor.d.ts.map +0 -1
  65. package/lib/esm/MarkdownEditor/MarkdownEditor.js +0 -601
  66. package/lib/esm/MarkdownEditor/index.d.ts +0 -2
  67. package/lib/esm/MarkdownEditor/index.d.ts.map +0 -1
  68. package/lib/esm/MarkdownEditor/index.js +0 -1
  69. package/lib/esm/MarkdownEditor/markdownEditor.css +0 -223
@@ -13,6 +13,7 @@ interface IProps {
13
13
  perPage?: number;
14
14
  currentPage?: number;
15
15
  variant: PaginationVariant;
16
+ isCompact?: boolean;
16
17
  }
17
18
  export declare function TablePagination(props: IProps): React.JSX.Element;
18
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"TablePagination.d.ts","sourceRoot":"","sources":["../../../src/Table/TablePagination.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAoB,MAAM,OAAO,CAAC;AAIzC,UAAU,MAAM;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE;;;KAAA,KAAK,IAAI,CAAC;IAChD,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE;;;KAAA,KAAK,IAAI,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,iBAAiB,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,qBAgC5C"}
1
+ {"version":3,"file":"TablePagination.d.ts","sourceRoot":"","sources":["../../../src/Table/TablePagination.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAoB,MAAM,OAAO,CAAC;AAIzC,UAAU,MAAM;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE;;;KAAA,KAAK,IAAI,CAAC;IAChD,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE;;;KAAA,KAAK,IAAI,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,qBAiC5C"}
@@ -17,7 +17,7 @@ export function TablePagination(props) {
17
17
  props.currentPage && props.currentPage !== currentPage && setSelectedPage(props.currentPage);
18
18
  // eslint-disable-next-line react-hooks/exhaustive-deps
19
19
  }, [props.perPage, props.currentPage]);
20
- return (React.createElement(Pagination, { itemCount: props.itemCount || (data || []).length, widgetId: "pagination-options-menu-top", perPage: perPage, page: currentPage, variant: props.variant, titles: {
20
+ return (React.createElement(Pagination, { itemCount: props.itemCount || (data || []).length, widgetId: "pagination-options-menu-top", perPage: perPage, page: currentPage, variant: props.variant, isCompact: props.isCompact, titles: {
21
21
  paginationAriaLabel: props.variant === PaginationVariant.top ? 'Upper pagination' : 'Lower pagination',
22
22
  }, onSetPage: onSetPage, onPerPageSelect: onPerPageSelect }));
23
23
  }
@@ -9,8 +9,12 @@ export declare enum ToastType {
9
9
  SUCCESS = "success",
10
10
  WARNING = "warning"
11
11
  }
12
+ export type ToastActionLinks = React.ReactNode | ((closeToast?: () => void) => React.ReactNode);
13
+ export type ToastNotificationOptions = ToastOptions & {
14
+ actionLinks?: ToastActionLinks;
15
+ };
12
16
  declare class ToastNotification {
13
- static addDangerMessage(message: React.ReactNode, alertBody?: React.ReactNode, options?: ToastOptions): import("react-toastify").ToastId;
17
+ static addDangerMessage(message: React.ReactNode, alertBody?: React.ReactNode, options?: ToastNotificationOptions): import("react-toastify").ToastId;
14
18
  static addSuccessMessage(message: React.ReactNode, alertBody?: React.ReactNode, options?: ToastOptions): import("react-toastify").ToastId;
15
19
  static addWarningMessage(message: any, alertBody?: React.ReactNode | string, options?: ToastOptions): import("react-toastify").ToastId;
16
20
  static addInfoMessage(message: any, options?: ToastOptions): import("react-toastify").ToastId;
@@ -1 +1 @@
1
- {"version":3,"file":"ToastNotification.d.ts","sourceRoot":"","sources":["../../../src/ToastNotification/ToastNotification.tsx"],"names":[],"mappings":"AAAA,OAAO,2CAA2C,CAAC;AACnD,OAAO,yBAAyB,CAAC;AAIjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAS,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAA+C,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEzG,oBAAY,SAAS;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;CACtB;AAsBD,cAAM,iBAAiB;WACL,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,GAAE,YAAiB;WAalG,iBAAiB,CAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,EAC3B,OAAO,GAAE,YAAkC;WAajC,iBAAiB,CAAC,OAAO,KAAA,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,EAAE,OAAO,GAAE,YAAiB;WAY3F,cAAc,CAAC,OAAO,KAAA,EAAE,OAAO,GAAE,YAAkC;WAQnE,kBAAkB,CAAC,KAAK,KAAA,EAAE,eAAe,CAAC,EAAE,SAAS;WAOrD,QAAQ;WAIR,gBAAgB,CAAC,cAAc,EAAE,MAAM;WAIvC,UAAU,CAAC,OAAO,KAAA;IAIhC;;;OAGG;WACW,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE;CAG1F;AAED,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"ToastNotification.d.ts","sourceRoot":"","sources":["../../../src/ToastNotification/ToastNotification.tsx"],"names":[],"mappings":"AAAA,OAAO,2CAA2C,CAAC;AACnD,OAAO,yBAAyB,CAAC;AAIjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAS,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAA+C,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEzG,oBAAY,SAAS;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;AAEhG,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG;IAClD,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAClC,CAAC;AA8BF,cAAM,iBAAiB;WACL,gBAAgB,CAC1B,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,EAC3B,OAAO,GAAE,wBAA6B;WAoB5B,iBAAiB,CAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,EAC3B,OAAO,GAAE,YAAkC;WAajC,iBAAiB,CAAC,OAAO,KAAA,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,EAAE,OAAO,GAAE,YAAiB;WAY3F,cAAc,CAAC,OAAO,KAAA,EAAE,OAAO,GAAE,YAAkC;WAQnE,kBAAkB,CAAC,KAAK,KAAA,EAAE,eAAe,CAAC,EAAE,SAAS;WAOrD,QAAQ;WAIR,gBAAgB,CAAC,cAAc,EAAE,MAAM;WAIvC,UAAU,CAAC,OAAO,KAAA;IAIhC;;;OAGG;WACW,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE;CAG1F;AAED,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,3 +1,14 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ 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]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  import 'react-toastify/dist/ReactToastify.min.css';
2
13
  import './toastNotification.css';
3
14
  import { Alert, AlertActionCloseButton } from '@patternfly/react-core';
@@ -12,16 +23,18 @@ export var ToastType;
12
23
  ToastType["SUCCESS"] = "success";
13
24
  ToastType["WARNING"] = "warning";
14
25
  })(ToastType || (ToastType = {}));
15
- const AlertComponent = ({ variant, message, alertActions = {}, closeToast, children }) => {
16
- return (React.createElement(Alert, { variant: variant, title: message, actionClose: React.createElement(AlertActionCloseButton, { onClose: closeToast }) }, children));
26
+ const AlertComponent = ({ variant, message, alertActions, closeToast, children }) => {
27
+ return (React.createElement(Alert, { variant: variant, title: message, actionClose: React.createElement(AlertActionCloseButton, { onClose: closeToast }), actionLinks: alertActions }, children));
17
28
  };
29
+ const resolveActionLinks = (actionLinks, closeToast) => typeof actionLinks === 'function' ? actionLinks(closeToast) : actionLinks;
18
30
  const defaultCloseMs = 8000;
19
31
  const defaultToastOptions = { autoClose: defaultCloseMs };
20
32
  class ToastNotification {
21
33
  static addDangerMessage(message, alertBody, options = {}) {
34
+ const { actionLinks } = options, toastOptions = __rest(options, ["actionLinks"]);
22
35
  return toast(
23
36
  //@ts-ignore
24
- ({ closeToast }) => (React.createElement(AlertComponent, { variant: ToastType.DANGER, message: message, closeToast: closeToast }, alertBody)), Object.assign({}, options));
37
+ ({ closeToast }) => (React.createElement(AlertComponent, { variant: ToastType.DANGER, message: message, closeToast: closeToast, alertActions: resolveActionLinks(actionLinks, closeToast) }, alertBody)), Object.assign({}, toastOptions));
25
38
  }
26
39
  // removed options: ToastOptions = defaultToastOptions to fix auto-dismissing of success alerts.
27
40
  static addSuccessMessage(message, alertBody, options = defaultToastOptions) {
@@ -14,6 +14,8 @@
14
14
 
15
15
  .Toastify__toast {
16
16
  background: none;
17
+ /* react-toastify sets sans-serif; match alert title (h4 → Red Hat Display) */
18
+ font-family: var(--pf-t--global--font--family--heading, inherit);
17
19
  }
18
20
 
19
21
  .Toastify__toast-body {
@@ -24,3 +26,8 @@
24
26
  height: 100%;
25
27
  min-width: 500px;
26
28
  }
29
+
30
+ .Toastify__toast-body > .pf-v6-c-alert .pf-v6-c-alert__description,
31
+ .Toastify__toast-body > .pf-v6-c-alert .pf-v6-c-alert__action-group {
32
+ font-family: inherit;
33
+ }
@@ -6,7 +6,8 @@ export interface IAppErrorObj {
6
6
  export interface IAppError {
7
7
  [key: string]: Partial<IAppErrorObj>;
8
8
  }
9
+ declare function getDirectErrorMessage(error: any): string;
9
10
  declare function formattedApiErrorMessage(error: any, customMessage?: IAppError, canManageCase?: boolean): string | JSX.Element;
10
11
  declare function errorMessageTitle(error: any, customError?: IAppError, canManageCase?: boolean): string;
11
- export { formattedApiErrorMessage, errorMessageTitle };
12
+ export { formattedApiErrorMessage, errorMessageTitle, getDirectErrorMessage };
12
13
  //# sourceMappingURL=errorMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errorMessage.d.ts","sourceRoot":"","sources":["../../../src/helperFunctions/errorMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAS7B,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACxC;AA8DD,iBAAS,wBAAwB,CAAC,KAAK,KAAA,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,OAAO,CA2CjH;AAED,iBAAS,iBAAiB,CAAC,KAAK,KAAA,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAa1F;AAED,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"errorMessage.d.ts","sourceRoot":"","sources":["../../../src/helperFunctions/errorMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAQ7B,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACxC;AAmED,iBAAS,qBAAqB,CAAC,KAAK,KAAA,GAAG,MAAM,CAI5C;AAGD,iBAAS,wBAAwB,CAAC,KAAK,KAAA,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,OAAO,CAmDjH;AAED,iBAAS,iBAAiB,CAAC,KAAK,KAAA,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAa1F;AAED,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import './errorMessage.scss';
2
2
  import { Button } from '@patternfly/react-core';
3
3
  import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
4
- import isEmpty from 'lodash/isEmpty';
5
4
  import React from 'react';
6
5
  import { SupportFeedbackForm } from '../SupportFeedbackForm';
7
6
  const defaultTitle = "Sorry, we're experiencing an error";
@@ -43,6 +42,15 @@ const defaultErrorObj = {
43
42
  " for assistance.")),
44
43
  },
45
44
  };
45
+ function getApiErrorMessage(error) {
46
+ return [error === null || error === void 0 ? void 0 : error.message, error === null || error === void 0 ? void 0 : error.detailMessage].filter(Boolean).join(' ').trim();
47
+ }
48
+ // TODO: helper to pass API or status message directly in error popup
49
+ function getDirectErrorMessage(error) {
50
+ const apiMessage = getApiErrorMessage(error);
51
+ const message = (error === null || error === void 0 ? void 0 : error.statusText) || (error === null || error === void 0 ? void 0 : error.responseText) || '';
52
+ return apiMessage || message;
53
+ }
46
54
  // the error argument need a better typing here. We want to make sure that user is passing an error object and not an error string
47
55
  function formattedApiErrorMessage(error, customMessage, canManageCase) {
48
56
  var _a, _b, _c;
@@ -84,9 +92,15 @@ function formattedApiErrorMessage(error, customMessage, canManageCase) {
84
92
  }
85
93
  // api call error
86
94
  const message = (error === null || error === void 0 ? void 0 : error.statusText) || (error === null || error === void 0 ? void 0 : error.responseText) || '';
87
- // error.message -> javascript error
88
- const isNotProperUXError = isEmpty(message) || (message === null || message === void 0 ? void 0 : message.length) > 200 || (error === null || error === void 0 ? void 0 : error.message) || (error === null || error === void 0 ? void 0 : error.detailMessage);
89
- return isNotProperUXError ? defaultErrorMessage : message;
95
+ // TODO: original logic — showed default when error.message existed
96
+ // // error.message -> javascript error
97
+ // const isNotProperUXError = isEmpty(message) || message?.length > 200 || error?.message || error?.detailMessage;
98
+ // return isNotProperUXError ? defaultErrorMessage : message;
99
+ const apiMessage = getApiErrorMessage(error);
100
+ if (apiMessage || message) {
101
+ return apiMessage || message;
102
+ }
103
+ return defaultErrorMessage;
90
104
  }
91
105
  }
92
106
  function errorMessageTitle(error, customError, canManageCase) {
@@ -102,4 +116,4 @@ function errorMessageTitle(error, customError, canManageCase) {
102
116
  }
103
117
  return defaultTitle;
104
118
  }
105
- export { formattedApiErrorMessage, errorMessageTitle };
119
+ export { formattedApiErrorMessage, errorMessageTitle, getDirectErrorMessage };
@@ -1,4 +1,4 @@
1
- export declare function useCopyToClipboard(ref: React.RefObject<HTMLInputElement>): {
1
+ export declare function useCopyToClipboard(ref: React.RefObject<HTMLElement>): {
2
2
  clipboardText: string;
3
3
  copyToClipboard: () => Promise<void>;
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useCopyToClipboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCopyToClipboard.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC;;;EA2BxE"}
1
+ {"version":3,"file":"useCopyToClipboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCopyToClipboard.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;;;EA6BnE"}
@@ -14,9 +14,11 @@ export function useCopyToClipboard(ref) {
14
14
  // @ts-ignore
15
15
  const { t } = useTranslation();
16
16
  const copyToClipboard = () => __awaiter(this, void 0, void 0, function* () {
17
+ var _a;
17
18
  if (!ref.current)
18
19
  return;
19
- const textToCopy = ref.current.value;
20
+ const el = ref.current;
21
+ const textToCopy = el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement ? el.value : (_a = el.textContent) !== null && _a !== void 0 ? _a : '';
20
22
  try {
21
23
  yield navigator.clipboard.writeText(textToCopy);
22
24
  setClipboardText(t('Copied!'));
@@ -5,7 +5,7 @@ export * from './ErrorBoundary';
5
5
  export * from './ErrorPages';
6
6
  export * from './LoginModal';
7
7
  export * from './Table';
8
- export * from './MarkdownEditor';
8
+ export * from './RichTextEditor';
9
9
  export * from './InlineEdit';
10
10
  export * from './CoverSpinner';
11
11
  export * from './hooks';
@@ -29,8 +29,10 @@ export * from './SubscriptionAbuse';
29
29
  export * from './TermsAndConditions';
30
30
  export * from './TextAreaResizable';
31
31
  export * from './CustomTextInput';
32
+ export * from './CustomDatePicker';
32
33
  export * from './PhoneInput';
33
34
  export * from './TagsSelector';
34
35
  export * from './SingleSelectDropdown';
35
36
  export * from './OwnerTypeaheadDropdown';
37
+ export * from './CaseLabelLoadErrorModal';
36
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC"}
package/lib/esm/index.js CHANGED
@@ -6,7 +6,7 @@ export * from './ErrorBoundary';
6
6
  export * from './ErrorPages';
7
7
  export * from './LoginModal';
8
8
  export * from './Table';
9
- export * from './MarkdownEditor';
9
+ export * from './RichTextEditor';
10
10
  export * from './InlineEdit';
11
11
  export * from './CoverSpinner';
12
12
  export * from './hooks';
@@ -30,7 +30,10 @@ export * from './SubscriptionAbuse';
30
30
  export * from './TermsAndConditions';
31
31
  export * from './TextAreaResizable';
32
32
  export * from './CustomTextInput';
33
+ export * from './CustomDatePicker';
33
34
  export * from './PhoneInput';
34
35
  export * from './TagsSelector';
35
36
  export * from './SingleSelectDropdown';
36
37
  export * from './OwnerTypeaheadDropdown';
38
+ export * from './CaseLabelLoadErrorModal';
39
+ // dummy change for publish
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/components",
3
- "version": "2.5.231",
3
+ "version": "2.6.11",
4
4
  "description": "Contains all reusabel components for support app",
5
5
  "author": "Vikas Rathee <vrathee@redhat.com>",
6
6
  "license": "ISC",
@@ -40,6 +40,7 @@
40
40
  "prepublishOnly": "npm run build"
41
41
  },
42
42
  "peerDependencies": {
43
+ "@apollo/client": "^4.1.6",
43
44
  "@cee-eng/ui-toolkit": "1.1.9",
44
45
  "@patternfly/patternfly": "6.2.1",
45
46
  "@patternfly/react-core": "6.2.1",
@@ -60,15 +61,15 @@
60
61
  "@patternfly/react-core": "6.2.1",
61
62
  "@patternfly/react-icons": "6.2.1",
62
63
  "@patternfly/react-table": "6.2.1",
63
- "@patternfly/react-tokens": "6.2.1",
64
64
  "@rh-support/types": "2.0.26",
65
65
  "@rh-support/user-permissions": "2.5.170",
66
- "@rh-support/utils": "2.5.149",
66
+ "@rh-support/utils": "2.6.10",
67
67
  "dompurify": "^2.2.6",
68
68
  "js-worker-search": "^1.4.1",
69
69
  "lazysizes": "^5.3.2",
70
70
  "lodash": "^4.17.21",
71
71
  "mark.js": "^8.11.1",
72
+ "quill": "~2.0.3",
72
73
  "react": "18.2.0",
73
74
  "react-dom": "18.2.0",
74
75
  "react-i18next": "15.6.0",
@@ -82,6 +83,8 @@
82
83
  "@types/react-dom": "^18.2.18"
83
84
  },
84
85
  "devDependencies": {
86
+ "@patternfly/react-styles": "^6.2.1",
87
+ "@patternfly/react-tokens": "^6.2.1",
85
88
  "@testing-library/jest-dom": "^6.2.0",
86
89
  "@testing-library/react": "^14.1.2",
87
90
  "@testing-library/user-event": "^14.5.1",
@@ -100,5 +103,5 @@
100
103
  "defaults and supports es6-module",
101
104
  "maintained node versions"
102
105
  ],
103
- "gitHead": "a4db33129a9d9f0d6a6907d1c48df34784e57021"
106
+ "gitHead": "82183b4d60a1c2753ed4217ad9b93b71c0c7e661"
104
107
  }
@@ -1,49 +0,0 @@
1
- import './markdownEditor.css';
2
- import { IAttachment } from '@cee-eng/hydrajs/@types/models/attachment';
3
- import { IMarkdownOptions } from '@cee-eng/ui-toolkit';
4
- import React, { HTMLProps } from 'react';
5
- export declare enum EditorMode {
6
- PLAIN = "plaintext",
7
- MARKDOWN = "markdown"
8
- }
9
- interface IFileSelectorProps {
10
- showFileSelectorInToolbar: boolean;
11
- filesList: Partial<IAttachment>[];
12
- onFileSelect: (file: Partial<IAttachment>) => void;
13
- onFileDelete: (file: Partial<IAttachment>) => void;
14
- onClipboardPaste: (file: any) => void;
15
- isSupportedFile: (extension: string) => boolean;
16
- attachFileBtn: React.ReactNode;
17
- isUploadingFile: boolean;
18
- }
19
- export interface IMDEditorProps extends Omit<HTMLProps<HTMLTextAreaElement>, 'onChange' | 'value' | 'ref'> {
20
- value: string;
21
- onChange: (value: string, mode?: EditorMode) => void;
22
- className?: string;
23
- id?: string;
24
- hidePreviewText?: string;
25
- showPreviewText?: string;
26
- bindTextArea?: (ref: HTMLTextAreaElement) => void;
27
- textAreaClassName?: string;
28
- mdPlaceholder?: string;
29
- plainTextPlaceholder?: string;
30
- allowEmoji?: boolean;
31
- hideHeadingOptions?: boolean;
32
- markedownOptions?: IMarkdownOptions;
33
- showMarkdownPlainTextToggle?: boolean;
34
- editorMode?: EditorMode;
35
- charLimit?: number;
36
- minCharsForCounter?: number;
37
- onCommentExceedCharsLimit: (val: boolean) => void;
38
- fileSelectorProps?: Partial<IFileSelectorProps>;
39
- }
40
- export declare const validateFile: (file: Partial<IAttachment>) => {
41
- isValid: boolean;
42
- errorMsg: string;
43
- };
44
- declare function MarkdownEditor(props: IMDEditorProps): React.JSX.Element;
45
- declare namespace MarkdownEditor {
46
- var defaultProps: Partial<IMDEditorProps>;
47
- }
48
- export { MarkdownEditor };
49
- //# sourceMappingURL=MarkdownEditor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownEditor.d.ts","sourceRoot":"","sources":["../../../src/MarkdownEditor/MarkdownEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,qBAAqB,CAAC;AAiC7E,OAAO,KAAK,EAAE,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAMtE,oBAAY,UAAU;IAClB,KAAK,cAAc;IACnB,QAAQ,aAAa;CACxB;AAED,UAAU,kBAAkB;IACxB,yBAAyB,EAAE,OAAO,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACnD,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACnD,gBAAgB,EAAE,CAAC,IAAI,KAAA,KAAK,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,iBAAiB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnD;AA2BD,eAAO,MAAM,YAAY,GAAI,MAAM,OAAO,CAAC,WAAW,CAAC,KAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAiB7F,CAAC;AAEF,iBAAS,cAAc,CAAC,KAAK,EAAE,cAAc,qBAk8B5C;kBAl8BQ,cAAc;;;AAs8BvB,OAAO,EAAE,cAAc,EAAE,CAAC"}