carbon-react 158.33.0 → 158.34.1

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 (61) hide show
  1. package/esm/__internal__/fieldset/__next__/fieldset.component.d.ts +36 -0
  2. package/esm/__internal__/fieldset/__next__/fieldset.component.js +1 -0
  3. package/esm/__internal__/fieldset/__next__/fieldset.style.d.ts +18 -0
  4. package/esm/__internal__/fieldset/__next__/fieldset.style.js +1 -0
  5. package/esm/components/breadcrumbs/__internal__/breadcrumbs.context.d.ts +1 -1
  6. package/esm/components/breadcrumbs/__internal__/breadcrumbs.context.js +1 -1
  7. package/esm/components/breadcrumbs/breadcrumbs.component.d.ts +6 -1
  8. package/esm/components/breadcrumbs/breadcrumbs.component.js +1 -1
  9. package/esm/components/breadcrumbs/breadcrumbs.style.js +1 -1
  10. package/esm/components/breadcrumbs/crumb/crumb.component.d.ts +19 -2
  11. package/esm/components/breadcrumbs/crumb/crumb.component.js +1 -1
  12. package/esm/components/breadcrumbs/crumb/crumb.style.d.ts +5 -6
  13. package/esm/components/breadcrumbs/crumb/crumb.style.js +1 -1
  14. package/esm/components/breadcrumbs/crumb/index.d.ts +1 -1
  15. package/esm/components/breadcrumbs/crumb/index.js +1 -1
  16. package/esm/components/breadcrumbs/index.js +1 -1
  17. package/esm/components/icon/icon.style.js +1 -1
  18. package/esm/components/portrait/portrait.component.d.ts +3 -1
  19. package/esm/components/portrait/portrait.component.js +1 -1
  20. package/esm/components/portrait/portrait.style.js +1 -1
  21. package/esm/components/profile/profile.style.d.ts +1 -1
  22. package/esm/components/text-editor/__internal__/__providers__/plugin-provider.d.ts +10 -0
  23. package/esm/components/text-editor/__internal__/__providers__/plugin-provider.js +1 -0
  24. package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions-typeahead-menu-item.component.d.ts +1 -2
  25. package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions-typeahead-menu-item.component.js +1 -1
  26. package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions.component.js +1 -1
  27. package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions.style.d.ts +4 -1
  28. package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions.style.js +1 -1
  29. package/esm/components/text-editor/text-editor.component.js +1 -1
  30. package/esm/index.js +1 -1
  31. package/lib/__internal__/fieldset/__next__/fieldset.component.d.ts +36 -0
  32. package/lib/__internal__/fieldset/__next__/fieldset.component.js +1 -0
  33. package/lib/__internal__/fieldset/__next__/fieldset.style.d.ts +18 -0
  34. package/lib/__internal__/fieldset/__next__/fieldset.style.js +1 -0
  35. package/lib/components/breadcrumbs/__internal__/breadcrumbs.context.d.ts +1 -1
  36. package/lib/components/breadcrumbs/__internal__/breadcrumbs.context.js +1 -1
  37. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +6 -1
  38. package/lib/components/breadcrumbs/breadcrumbs.component.js +1 -1
  39. package/lib/components/breadcrumbs/breadcrumbs.style.js +1 -1
  40. package/lib/components/breadcrumbs/crumb/crumb.component.d.ts +19 -2
  41. package/lib/components/breadcrumbs/crumb/crumb.component.js +1 -1
  42. package/lib/components/breadcrumbs/crumb/crumb.style.d.ts +5 -6
  43. package/lib/components/breadcrumbs/crumb/crumb.style.js +1 -1
  44. package/lib/components/breadcrumbs/crumb/index.d.ts +1 -1
  45. package/lib/components/breadcrumbs/crumb/index.js +1 -1
  46. package/lib/components/breadcrumbs/index.js +1 -1
  47. package/lib/components/icon/icon.style.js +1 -1
  48. package/lib/components/portrait/portrait.component.d.ts +3 -1
  49. package/lib/components/portrait/portrait.component.js +1 -1
  50. package/lib/components/portrait/portrait.style.js +1 -1
  51. package/lib/components/profile/profile.style.d.ts +1 -1
  52. package/lib/components/text-editor/__internal__/__providers__/plugin-provider.d.ts +10 -0
  53. package/lib/components/text-editor/__internal__/__providers__/plugin-provider.js +1 -0
  54. package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions-typeahead-menu-item.component.d.ts +1 -2
  55. package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions-typeahead-menu-item.component.js +1 -1
  56. package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions.component.js +1 -1
  57. package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions.style.d.ts +4 -1
  58. package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions.style.js +1 -1
  59. package/lib/components/text-editor/text-editor.component.js +1 -1
  60. package/lib/index.js +1 -1
  61. package/package.json +1 -1
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Internal Fieldset component used as base for any grouped inputs.
3
+ *
4
+ * @description Renders a fieldset element with an optional legend and hint text, and handles
5
+ * the display of validation messages for grouped inputs.
6
+ */
7
+ import React from "react";
8
+ import { MarginProps } from "styled-system";
9
+ export interface FieldsetProps extends MarginProps {
10
+ /** Inputs rendered within the fieldset. */
11
+ children: React.ReactNode;
12
+ /** Set a name value on the fieldset. */
13
+ name?: string;
14
+ /** Set an id value on the fieldset. */
15
+ id?: string;
16
+ /** The content for the fieldset legend. */
17
+ legend?: string;
18
+ /** Content for an additional hint text below the legend */
19
+ legendHint?: React.ReactNode;
20
+ /** Text alignment of the legend */
21
+ legendAlign?: "left" | "right";
22
+ /** Error message to be displayed when validation fails */
23
+ error?: string;
24
+ /** Warning message to be displayed when validation warning occurs */
25
+ warning?: string;
26
+ /** If true, an asterisk will be added to the label */
27
+ isRequired?: boolean;
28
+ /** Apply disabled styling to the component */
29
+ isDisabled?: boolean;
30
+ /** Specifies whether the validation message should be displayed above the input */
31
+ validationMessagePositionTop?: boolean;
32
+ /** Set the size of the component */
33
+ size?: "small" | "medium" | "large";
34
+ }
35
+ declare const Fieldset: ({ children, name, id, legend, legendAlign, legendHint, error, warning, isRequired, isDisabled, validationMessagePositionTop, size, ...rest }: FieldsetProps) => React.JSX.Element;
36
+ export default Fieldset;
@@ -0,0 +1 @@
1
+ import{jsxs as e,jsx as t,Fragment as r}from"react/jsx-runtime";import{useRef as i}from"react";import{StyledFieldset as n,StyledLegend as o,StyledFieldsetContentWrapper as s}from"./fieldset.style.js";import l from"../../../components/textbox/textbox.style.js";import a from"../../validation-message/validation-message.component.js";import{HintText as c}from"../../hint-text/hint-text.component.js";import d from"../../utils/helpers/guid/index.js";import"../../../style/utils/filter-styled-system-padding-props.js";import p from"../../../style/utils/filter-styled-system-margin-props.js";function g(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const m=m=>{var{children:f,name:u,id:b,legend:y,legendAlign:O,legendHint:j,error:v,warning:h,isRequired:P,isDisabled:w,validationMessagePositionTop:x,size:$="medium"}=m,D=function(e,t){if(null==e)return{};var r,i,n=function(e,t){if(null==e)return{};var r,i,n={},o=Object.keys(e);for(i=0;i<o.length;i++)r=o[i],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)r=o[i],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(m,["children","name","id","legend","legendAlign","legendHint","error","warning","isRequired","isDisabled","validationMessagePositionTop","size"]);const S=i(d()),z=b||S.current,k=j?`${z}-hint`:void 0,q=(v||h)&&`${z}-validation-message`,E=[k,q].filter(Boolean).join(" "),L=()=>v||h?e(r,{children:[t(a,{error:v,warning:h,validationId:q,isLarge:"large"===$}),t(l,{warning:!(v||!h)})]}):null;return e(n,(M=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},i=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),i.forEach((function(t){g(e,t,r[t])}))}return e}({"data-component":"fieldset",id:z,name:u,"aria-describedby":E,$validationMessagePositionTop:x,$size:$},p(D),D),R=null!=(R={children:[y&&t(o,{"data-element":"legend",$align:O,$isRequired:P,$isDisabled:w,$isLarge:"large"===$,children:y}),j&&t(c,{id:k,isDisabled:w,align:O,isLarge:"large"===$,marginBottom:"0",children:j}),e(s,{$size:$,children:[x&&L(),f,!x&&L()]})]})?R:{},Object.getOwnPropertyDescriptors?Object.defineProperties(M,Object.getOwnPropertyDescriptors(R)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(R)).forEach((function(e){Object.defineProperty(M,e,Object.getOwnPropertyDescriptor(R,e))})),M));var M,R};export{m as default};
@@ -0,0 +1,18 @@
1
+ type StyledFieldsetProps = {
2
+ $validationMessagePositionTop?: boolean;
3
+ $size: "small" | "medium" | "large";
4
+ };
5
+ export declare const StyledFieldset: import("styled-components").StyledComponent<"fieldset", any, {
6
+ theme: object;
7
+ } & StyledFieldsetProps, "theme">;
8
+ export type StyledLegendProps = {
9
+ $align?: "left" | "right";
10
+ $isRequired?: boolean;
11
+ $isDisabled?: boolean;
12
+ $isLarge?: boolean;
13
+ };
14
+ export declare const StyledLegend: import("styled-components").StyledComponent<"legend", any, StyledLegendProps, never>;
15
+ export declare const StyledFieldsetContentWrapper: import("styled-components").StyledComponent<"div", any, {
16
+ $size: "small" | "medium" | "large";
17
+ }, never>;
18
+ export {};
@@ -0,0 +1 @@
1
+ import a,{css as e}from"styled-components";import{margin as t}from"styled-system";import i from"../../../style/themes/apply-base-theme.js";import l from"../../validation-message/validation-message.style.js";const o={small:{contentMargin:"var(--global-space-comp-xs)",validationMargin:"var(--global-space-comp-xs)"},medium:{contentMargin:"var(--global-space-comp-s)",validationMargin:"var(--global-space-comp-s)"},large:{contentMargin:"var(--global-space-comp-m)",validationMargin:"var(--global-space-comp-s)"}},n=a.fieldset.attrs(i).withConfig({displayName:"fieldset.style__StyledFieldset",componentId:"sc-daa668c3-0"})(["margin:0;margin-bottom:var(--fieldSpacing);"," border:none;padding:0;min-width:0;min-inline-size:0;width:fit-content;","{","}"],t,l,(({$validationMessagePositionTop:a,$size:t})=>e(["margin:0;margin-",":",";"],a?"bottom":"top",o[t].validationMargin))),s=a.legend.withConfig({displayName:"fieldset.style__StyledLegend",componentId:"sc-daa668c3-1"})(["display:flex;align-items:center;padding:0;font:var(--global-font-static-comp-medium-s);color:var(--input-labelset-label-default);",""],(({$isLarge:a,$isDisabled:t,$isRequired:i,$align:l})=>e([""," "," "," ",""],a&&e(["font:var(--global-font-static-comp-medium-l);"]),i&&e(['::after{content:"*";font:var(--global-font-static-comp-medium-s);color:var(--input-labelset-label-required);margin-left:var(--global-space-comp-xs);position:relative;',"}"],a&&e(["font:var(--global-font-static-comp-medium-l);"])),t&&e(["color:var(--input-labelset-label-disabled);::after{color:var(--input-labelset-label-disabled);}"]),l&&e(["text-align:",";justify-content:",";"],l,"right"===l?"flex-end":"flex-start")))),r=a.div.withConfig({displayName:"fieldset.style__StyledFieldsetContentWrapper",componentId:"sc-daa668c3-2"})(["position:relative;",";"],(({$size:a})=>e(["margin-top:",";"],o[a].contentMargin)));export{n as StyledFieldset,r as StyledFieldsetContentWrapper,s as StyledLegend};
@@ -1,5 +1,5 @@
1
1
  export type BreadcrumbsContextType = {
2
- isDarkBackground: boolean;
2
+ inverse?: boolean;
3
3
  };
4
4
  declare const BreadcrumbsProvider: import("react").Provider<BreadcrumbsContextType | null>, useBreadcrumbsContext: () => BreadcrumbsContextType;
5
5
  export { BreadcrumbsProvider, useBreadcrumbsContext };
@@ -1 +1 @@
1
- import e from"../../../__internal__/utils/createStrictContext/createStrictContext.js";const[r,t]=e({name:"BreadcrumbsContext",errorMessage:"Carbon Breadcrumbs: Context not found. Have you wrapped your Carbon subcomponents properly? See stack trace for more details.",defaultValue:{isDarkBackground:!1}});export{r as BreadcrumbsProvider,t as useBreadcrumbsContext};
1
+ import e from"../../../__internal__/utils/createStrictContext/createStrictContext.js";const[r,t]=e({name:"BreadcrumbsContext",errorMessage:"Carbon Breadcrumbs: Context not found. Have you wrapped your Carbon subcomponents properly? See stack trace for more details.",defaultValue:{inverse:!1}});export{r as BreadcrumbsProvider,t as useBreadcrumbsContext};
@@ -4,8 +4,13 @@ import { TagProps } from "../../__internal__/utils/helpers/tags";
4
4
  export interface BreadcrumbsProps extends TagProps, SpaceProps {
5
5
  /** Child crumbs to display */
6
6
  children: React.ReactNode;
7
- /** Sets the colour styling when component is rendered on a dark background */
7
+ /**
8
+ * Sets the colour styling when component is rendered on a dark background
9
+ * @deprecated The 'isDarkBackground' prop in Breadcrumbs is deprecated and will soon be removed. Please use the 'inverse' prop instead.
10
+ */
8
11
  isDarkBackground?: boolean;
12
+ /** Sets the colour styling when component is to be rendered with inverse styles */
13
+ inverse?: boolean;
9
14
  }
10
15
  export declare const Breadcrumbs: React.ForwardRefExoticComponent<BreadcrumbsProps & React.RefAttributes<HTMLElement>>;
11
16
  export default Breadcrumbs;
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import e from"react";import t from"../../__internal__/utils/helpers/tags/tags.js";import n from"./breadcrumbs.style.js";import o from"../../hooks/__internal__/useLocale/useLocale.js";import{BreadcrumbsProvider as c}from"./__internal__/breadcrumbs.context.js";function a(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function i(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})))),n.forEach((function(e){a(r,e,t[e])}))}return r}const l=e.forwardRef(((e,a)=>{var{children:l,isDarkBackground:s=!1}=e,u=function(r,e){if(null==r)return{};var t,n,o=function(r,e){if(null==r)return{};var t,n,o={},c=Object.keys(r);for(n=0;n<c.length;n++)t=c[n],e.indexOf(t)>=0||(o[t]=r[t]);return o}(r,e);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(r);for(n=0;n<c.length;n++)t=c[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(r,t)&&(o[t]=r[t])}return o}(e,["children","isDarkBackground"]);const b=o();return r(c,{value:{isDarkBackground:s},children:r(n,(f=i({ref:a,role:"navigation","aria-label":b.breadcrumbs.ariaLabel()},u,t("breadcrumbs",u)),p={children:r("ol",{children:l})},p=null!=p?p:{},Object.getOwnPropertyDescriptors?Object.defineProperties(f,Object.getOwnPropertyDescriptors(p)):function(r){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e.push.apply(e,t)}return e}(Object(p)).forEach((function(r){Object.defineProperty(f,r,Object.getOwnPropertyDescriptor(p,r))})),f))});var f,p}));l.displayName="Breadcrumbs";export{l as Breadcrumbs,l as default};
1
+ import{jsx as e}from"react/jsx-runtime";import r from"react";import t from"../../__internal__/utils/helpers/tags/tags.js";import n from"./breadcrumbs.style.js";import o from"../../hooks/__internal__/useLocale/useLocale.js";import{BreadcrumbsProvider as i}from"./__internal__/breadcrumbs.context.js";import a from"../../__internal__/utils/logger/index.js";function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function l(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){c(e,r,t[r])}))}return e}let s=!1;const u=r.forwardRef(((r,c)=>{var{children:u,isDarkBackground:b=!1,inverse:p}=r,f=function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(r,["children","isDarkBackground","inverse"]);const m=o();return b&&!s&&(a.deprecate("The 'isDarkBackground' prop in Breadcrumbs is deprecated and will soon be removed. Please use the 'inverse' prop instead."),s=!0),e(i,{value:{inverse:null!=p?p:b},children:e(n,(O=l({ref:c,role:"navigation","aria-label":m.breadcrumbs.ariaLabel()},f,t("breadcrumbs",f)),d={children:e("ol",{children:u})},d=null!=d?d:{},Object.getOwnPropertyDescriptors?Object.defineProperties(O,Object.getOwnPropertyDescriptors(d)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(d)).forEach((function(e){Object.defineProperty(O,e,Object.getOwnPropertyDescriptor(d,e))})),O))});var O,d}));u.displayName="Breadcrumbs";export{u as Breadcrumbs,u as default};
@@ -1 +1 @@
1
- import e from"styled-components";import{space as t}from"styled-system";import s from"../../style/themes/apply-base-theme.js";const a=e.nav.attrs(s).withConfig({displayName:"breadcrumbs.style__StyledBreadcrumbs",componentId:"sc-a551a1d9-0"})([""," ol{padding:0;margin:0;list-style:none;display:flex;flex-wrap:wrap;}"],t);export{a as default};
1
+ import e from"styled-components";import{space as s}from"styled-system";import t from"../../style/themes/apply-base-theme.js";const a=e.nav.attrs(t).withConfig({displayName:"breadcrumbs.style__StyledBreadcrumbs",componentId:"sc-99c6d133-0"})([""," ol{padding:0;margin:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--global-space-layout-3-xs);}"],s);export{a as default};
@@ -1,9 +1,26 @@
1
1
  import React from "react";
2
2
  import { LinkProps } from "../../link";
3
3
  import { TagProps } from "../../../__internal__/utils/helpers/tags";
4
- export interface CrumbProps extends Omit<LinkProps, "tooltipMessage" | "tooltipPosition" | "iconType" | "iconAlign" | "isSkipLink" | "isDarkBackground" | "inverse" | "ariaLabel" | "className" | "variant" | "target" | "rel" | "icon" | "disabled">, TagProps {
4
+ export interface CrumbProps extends Pick<LinkProps, "href" | "onClick" | "onKeyDown" | "onMouseDown" | "children">, TagProps {
5
5
  /** This sets the Crumb to current, does not render Link */
6
6
  isCurrent?: boolean;
7
+ /** @deprecated Intended for internal use only */
8
+ hasFocus?: boolean;
9
+ /**
10
+ * Specifies when the link underline should be displayed.
11
+ * @deprecated The 'underline' prop in Crumb is deprecated and will soon be removed.
12
+ */
13
+ underline?: "always" | "hover" | "never";
14
+ /**
15
+ * Sets the correct link size
16
+ * @deprecated The 'linkSize' prop in Crumb is deprecated and will soon be removed.
17
+ */
18
+ linkSize?: "medium" | "large";
19
+ /**
20
+ * Sets the link style to bold
21
+ * @deprecated The 'bold' prop in Crumb is deprecated and will soon be removed.
22
+ */
23
+ bold?: boolean;
7
24
  }
8
- declare const Crumb: React.ForwardRefExoticComponent<CrumbProps & React.RefAttributes<HTMLAnchorElement>>;
25
+ export declare const Crumb: React.ForwardRefExoticComponent<CrumbProps & React.RefAttributes<HTMLAnchorElement>>;
9
26
  export default Crumb;
@@ -1 +1 @@
1
- import{jsxs as r,jsx as e}from"react/jsx-runtime";import t from"react";import n from"../../../__internal__/utils/helpers/tags/tags.js";import{StyledCrumb as o,Divider as i}from"./crumb.style.js";import{useBreadcrumbsContext as c}from"../__internal__/breadcrumbs.context.js";function a(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function l(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})))),n.forEach((function(e){a(r,e,t[e])}))}return r}const u=t.forwardRef(((t,a)=>{var{href:u,isCurrent:f,children:s,onClick:b}=t,p=function(r,e){if(null==r)return{};var t,n,o=function(r,e){if(null==r)return{};var t,n,o={},i=Object.keys(r);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||(o[t]=r[t]);return o}(r,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(r,t)&&(o[t]=r[t])}return o}(t,["href","isCurrent","children","onClick"]);const{isDarkBackground:O}=c();return r("li",{children:[e(o,(y=l({ref:a,isCurrent:f,"aria-current":f?"page":void 0,inverse:O},p,n("crumb",p),!f&&{href:u,onClick:b}),m={children:s},m=null!=m?m:{},Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(m)):function(r){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e.push.apply(e,t)}return e}(Object(m)).forEach((function(r){Object.defineProperty(y,r,Object.getOwnPropertyDescriptor(m,r))})),y)),!f&&e(i,{"data-role":"crumb-divider","aria-hidden":"true",isDarkBackground:O})]});var y,m}));u.displayName="Crumb";export{u as default};
1
+ import{jsxs as r,jsx as e}from"react/jsx-runtime";import t from"react";import n from"../../../__internal__/utils/helpers/tags/tags.js";import{StyledCrumb as o,Divider as i}from"./crumb.style.js";import{useBreadcrumbsContext as c}from"../__internal__/breadcrumbs.context.js";function l(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function u(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})))),n.forEach((function(e){l(r,e,t[e])}))}return r}const a=t.forwardRef(((t,l)=>{var{href:a,isCurrent:f,children:s,onClick:b}=t,p=function(r,e){if(null==r)return{};var t,n,o=function(r,e){if(null==r)return{};var t,n,o={},i=Object.keys(r);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||(o[t]=r[t]);return o}(r,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(n=0;n<i.length;n++)t=i[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(r,t)&&(o[t]=r[t])}return o}(t,["href","isCurrent","children","onClick"]);const{inverse:O}=c();return r("li",{children:[e(o,(y=u({ref:l,$isCurrent:f,"aria-current":f?"page":void 0,inverse:O},p,n("crumb",p),!f&&{href:a,onClick:b}),m={children:s},m=null!=m?m:{},Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(m)):function(r){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e.push.apply(e,t)}return e}(Object(m)).forEach((function(r){Object.defineProperty(y,r,Object.getOwnPropertyDescriptor(m,r))})),y)),!f&&e(i,{"data-role":"crumb-divider","aria-hidden":"true",$inverse:O})]});var y,m}));a.displayName="Crumb";export{a as Crumb,a as default};
@@ -1,15 +1,14 @@
1
1
  import { LinkProps } from "../../link";
2
- interface StyleCrumbProps extends LinkProps {
3
- isCurrent?: boolean;
4
- inverse: boolean;
2
+ interface StyledCrumbProps extends LinkProps {
3
+ $isCurrent?: boolean;
5
4
  }
6
- export declare const StyledCrumb: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>, any, StyleCrumbProps, never>;
5
+ export declare const StyledCrumb: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>, any, StyledCrumbProps, never>;
7
6
  interface DividerProps {
8
- isDarkBackground: boolean;
7
+ $inverse?: boolean;
9
8
  }
10
9
  export declare const Divider: import("styled-components").StyledComponent<"span", any, DividerProps, never>;
11
10
  declare const _default: {
12
- StyledCrumb: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>, any, StyleCrumbProps, never>;
11
+ StyledCrumb: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>, any, StyledCrumbProps, never>;
13
12
  Divider: import("styled-components").StyledComponent<"span", any, DividerProps, never>;
14
13
  };
15
14
  export default _default;
@@ -1 +1 @@
1
- import r,{css as o}from"styled-components";import{Link as t}from"../../link/link.component.js";const e=r=>r?"var(--colorsUtilityYang100)":"var(--colorsUtilityYin090)",a=r(t).withConfig({displayName:"crumb.style__StyledCrumb",componentId:"sc-a0e64e5d-0"})(["font:var(--typographyLinkTextM);",""],(({isCurrent:r,inverse:t})=>r&&o(["a{color:",";text-decoration:none;font:var(--typographyBreadcrumbCurrentPageM);:hover{color:",";text-decoration:none;cursor:text;}}"],e(t),e(t)))),n=r.span.withConfig({displayName:"crumb.style__Divider",componentId:"sc-a0e64e5d-1"})(['::after{content:"/";margin:0px var(--spacing050) 0px var(--spacing100);line-height:16px;font:var(--typographyBreadcrumbSeparatorM);',"}"],(({isDarkBackground:r})=>o(["color:",";"],r?"var(--colorsUtilityYang100)":"var(--colorsUtilityYin055)")));var i={StyledCrumb:a,Divider:n};export{n as Divider,a as StyledCrumb,i as default};
1
+ import t,{css as o}from"styled-components";import{Link as e}from"../../link/link.component.js";const r=t=>t?"var(--container-standard-inverse-txt-alt)":"var(--container-standard-txt-alt)",n=t(e).withConfig({displayName:"crumb.style__StyledCrumb",componentId:"sc-48c92719-0"})(["",""],(({$isCurrent:t,inverse:e})=>t&&o(["a{color:",";text-decoration:none;:hover{color:",";text-decoration:none;cursor:text;}}"],r(e),r(e)))),a=t.span.withConfig({displayName:"crumb.style__Divider",componentId:"sc-48c92719-1"})(['::after{content:"/";margin-left:var(--global-space-comp-s);font:var(--global-font-static-comp-regular-m);',"}"],(({$inverse:t})=>o(["color:",";"],r(t))));var c={StyledCrumb:n,Divider:a};export{a as Divider,n as StyledCrumb,c as default};
@@ -1,2 +1,2 @@
1
- export { default as Crumb } from "./crumb.component";
1
+ export { Crumb } from "./crumb.component";
2
2
  export type { CrumbProps } from "./crumb.component";
@@ -1 +1 @@
1
- export{default as Crumb}from"./crumb.component.js";
1
+ export{Crumb}from"./crumb.component.js";
@@ -1 +1 @@
1
- export{Breadcrumbs}from"./breadcrumbs.component.js";export{default as Crumb}from"./crumb/crumb.component.js";
1
+ export{Breadcrumbs}from"./breadcrumbs.component.js";export{Crumb}from"./crumb/crumb.component.js";
@@ -1 +1 @@
1
- import o,{css as e}from"styled-components";import{margin as t}from"styled-system";import i from"../../__internal__/utils/logger/index.js";import n from"../../style/themes/apply-base-theme.js";import r from"../../style/utils/add-focus-styling.js";import s from"../../style/utils/color.js";import{getWindow as l,getNavigator as a}from"../../__internal__/dom/globals.js";import c,{isSafari as m}from"../../__internal__/utils/helpers/browser-type-check/index.js";import d from"./icon-config.js";import f from"./icon-unicodes.js";import{StyledButton as g}from"../button/__next__/button.style.js";const p=o.span.attrs(n).withConfig({displayName:"icon.style__StyledIcon",componentId:"sc-d8f39d88-0"})([""," "," &{color:currentColor;}"],(({theme:o,color:n,bg:g,isInteractive:p,bgSize:u,bgShape:b,type:h,fontSize:y,disabled:_,hasTooltip:z})=>{let S="var(--colorsYin090)",j="transparent";const v=l(),x=a(),k=function(o,e){const t={small:1,medium:2,large:3,"extra-large":4};return o&&e?t[e]<t[o]?(i.warn(`[WARNING - Icon] The "${e}" \`bgSize\` is smaller than "${o}" \`fontSize\`, the \`bgSize\` has been auto adjusted to a larger size.`),d.backgroundSize[o]):d.backgroundSize[e]:e?d.backgroundSize[e]:void 0}(y,u);if(_)S="var(--colorsYin030)";else if(n){const{color:e}=s({color:n,theme:o});S=e}if(g){const{backgroundColor:e}=s({bg:g,theme:o});j=e}return e(["position:relative;color:",";background-color:",";vertical-align:middle;align-items:center;display:inline-flex;justify-content:center;height:",";width:",";",";",' &::before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:CarbonIcons;content:"','";font-style:normal;font-weight:normal;vertical-align:middle;'," "," "," display:block;}"," ",""],S,j,k,k,b?`border-radius: ${d.backgroundShape[b]}`:"",p&&e(["&:not(:focus):hover{filter:brightness(0.9);}"]),f[h],y&&e(["font-size:",";line-height:",";"],d.iconSize[y],d.iconSize[y]),v&&"services"===h&&c(v)&&e(["margin-top:",";"],"small"===y?"-7px":"-8px"),x&&v&&"services"===h&&m(x)&&!c(v)&&e(["margin-top:-6px;"]),z&&`\n :focus {\n ${r()}\n }\n `,t)}),g);export{p as default};
1
+ import o,{css as e}from"styled-components";import{margin as t}from"styled-system";import i from"../../__internal__/utils/logger/index.js";import n from"../../style/themes/apply-base-theme.js";import r from"../../style/utils/add-focus-styling.js";import s from"../../style/utils/color.js";import{getWindow as l,getNavigator as a}from"../../__internal__/dom/globals.js";import c,{isSafari as m}from"../../__internal__/utils/helpers/browser-type-check/index.js";import d from"./icon-config.js";import f from"./icon-unicodes.js";import{StyledButton as g}from"../button/__next__/button.style.js";const p=o.span.attrs(n).withConfig({displayName:"icon.style__StyledIcon",componentId:"sc-c60a91e8-0"})([""," "," &{color:currentColor;}.mentions-list-item &&{color:currentColor;}.mentions-list-item:hover &&,.mentions-list-item.selected &&{color:currentColor;}"],(({theme:o,color:n,bg:g,isInteractive:p,bgSize:u,bgShape:h,type:b,fontSize:y,disabled:_,hasTooltip:z})=>{let S="var(--colorsYin090)",j="transparent";const v=l(),x=a(),k=function(o,e){const t={small:1,medium:2,large:3,"extra-large":4};return o&&e?t[e]<t[o]?(i.warn(`[WARNING - Icon] The "${e}" \`bgSize\` is smaller than "${o}" \`fontSize\`, the \`bgSize\` has been auto adjusted to a larger size.`),d.backgroundSize[o]):d.backgroundSize[e]:e?d.backgroundSize[e]:void 0}(y,u);if(_)S="var(--colorsYin030)";else if(n){const{color:e}=s({color:n,theme:o});S=e}if(g){const{backgroundColor:e}=s({bg:g,theme:o});j=e}return e(["position:relative;color:",";background-color:",";vertical-align:middle;align-items:center;display:inline-flex;justify-content:center;height:",";width:",";",";",' &::before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:CarbonIcons;content:"','";font-style:normal;font-weight:normal;vertical-align:middle;'," "," "," display:block;}"," ",""],S,j,k,k,h?`border-radius: ${d.backgroundShape[h]}`:"",p&&e(["&:not(:focus):hover{filter:brightness(0.9);}"]),f[b],y&&e(["font-size:",";line-height:",";"],d.iconSize[y],d.iconSize[y]),v&&"services"===b&&c(v)&&e(["margin-top:",";"],"small"===y?"-7px":"-8px"),x&&v&&"services"===b&&m(x)&&!c(v)&&e(["margin-top:-6px;"]),z&&`\n :focus {\n ${r()}\n }\n `,t)}),g);export{p as default};
@@ -5,6 +5,8 @@ import { TagProps } from "../../__internal__/utils/helpers/tags/tags";
5
5
  export type PortraitShapes = "circle" | "square";
6
6
  export type PortraitSizes = "XS" | "S" | "M" | "ML" | "L" | "XL" | "XXL";
7
7
  export interface PortraitProps extends MarginProps, TagProps {
8
+ /** @private @ignore */
9
+ className?: string;
8
10
  /** A custom image URL. */
9
11
  src?: string;
10
12
  /** The size of the Portrait. */
@@ -44,5 +46,5 @@ export interface PortraitProps extends MarginProps, TagProps {
44
46
  /** The hex code of the foreground colour. This will only take effect if use in conjunction with `backgroundColor` */
45
47
  foregroundColor?: string;
46
48
  }
47
- export declare const Portrait: ({ alt, backgroundColor, foregroundColor, name, darkBackground, iconType, initials, shape, size, src, onClick, tooltipMessage, tooltipId, tooltipIsVisible, tooltipPosition, tooltipType, tooltipSize, tooltipBgColor, tooltipFontColor, ...rest }: PortraitProps) => React.JSX.Element;
49
+ export declare const Portrait: ({ alt, backgroundColor, foregroundColor, className, name, darkBackground, iconType, initials, shape, size, src, onClick, tooltipMessage, tooltipId, tooltipIsVisible, tooltipPosition, tooltipType, tooltipSize, tooltipBgColor, tooltipFontColor, ...rest }: PortraitProps) => React.JSX.Element;
48
50
  export default Portrait;
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{useState as t,useEffect as e}from"react";import{Tooltip as r}from"../tooltip/tooltip.component.js";import i from"../../__internal__/utils/helpers/tags/tags.js";import{StyledPortraitInitials as n,StyledPortraitContainer as l,StyledIcon as s,StyledCustomImg as p}from"./portrait.style.js";import"../../style/utils/filter-styled-system-padding-props.js";import a from"../../style/utils/filter-styled-system-margin-props.js";function c(o,t,e){return t in o?Object.defineProperty(o,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):o[t]=e,o}function u(o){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{},r=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(e).filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})))),r.forEach((function(t){c(o,t,e[t])}))}return o}function f(o,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):function(o){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(o);t.push.apply(t,e)}return t}(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))})),o}const d=c=>{var{alt:d,backgroundColor:g,foregroundColor:y,name:b,darkBackground:m=!1,iconType:O="individual",initials:j,shape:k="circle",size:C="M",src:h,onClick:P,tooltipMessage:w,tooltipId:v,tooltipIsVisible:z,tooltipPosition:S,tooltipType:B,tooltipSize:I,tooltipBgColor:V,tooltipFontColor:x}=c,D=function(o,t){if(null==o)return{};var e,r,i=function(o,t){if(null==o)return{};var e,r,i={},n=Object.keys(o);for(r=0;r<n.length;r++)e=n[r],t.indexOf(e)>=0||(i[e]=o[e]);return i}(o,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);for(r=0;r<n.length;r++)e=n[r],t.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(o,e)&&(i[e]=o[e])}return i}(c,["alt","backgroundColor","foregroundColor","name","darkBackground","iconType","initials","shape","size","src","onClick","tooltipMessage","tooltipId","tooltipIsVisible","tooltipPosition","tooltipType","tooltipSize","tooltipBgColor","tooltipFontColor"]);const[E,T]=t(!1),_=Boolean(h)&&!E;e((()=>{T(!1)}),[h]);const M=i("portrait",D);return(()=>{let t=o(s,{type:O,size:C});return j&&(t=o(n,{size:C,"data-element":"initials",children:j.slice(0,3).toUpperCase()})),h&&!E&&(t=o(p,{src:h,alt:d||b||"","data-element":"user-image",onError:()=>T(!0)})),w?o(r,{message:w,id:v,position:S,type:B,size:I,isVisible:z,bgColor:V,fontColor:x,children:o(l,f(u(f(u({},a(D)),{onClick:P}),M),{hasValidImg:_,darkBackground:m,size:C,shape:k,backgroundColor:g,foregroundColor:y,children:t}))}):o(l,f(u(f(u({},a(D)),{onClick:P}),M),{hasValidImg:_,darkBackground:m,size:C,shape:k,backgroundColor:g,foregroundColor:y,children:t}))})()};export{d as Portrait,d as default};
1
+ import{jsx as o}from"react/jsx-runtime";import{useState as t,useEffect as e}from"react";import{Tooltip as r}from"../tooltip/tooltip.component.js";import i from"../../__internal__/utils/helpers/tags/tags.js";import{StyledPortraitInitials as n,StyledPortraitContainer as l,StyledIcon as s,StyledCustomImg as a}from"./portrait.style.js";import"../../style/utils/filter-styled-system-padding-props.js";import p from"../../style/utils/filter-styled-system-margin-props.js";function c(o,t,e){return t in o?Object.defineProperty(o,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):o[t]=e,o}function u(o){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{},r=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(e).filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})))),r.forEach((function(t){c(o,t,e[t])}))}return o}function f(o,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):function(o){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(o);t.push.apply(t,e)}return t}(Object(t)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))})),o}const d=c=>{var{alt:d,backgroundColor:g,foregroundColor:m,className:y,name:b,darkBackground:O=!1,iconType:j="individual",initials:k,shape:C="circle",size:h="M",src:P,onClick:w,tooltipMessage:v,tooltipId:z,tooltipIsVisible:S,tooltipPosition:B,tooltipType:I,tooltipSize:V,tooltipBgColor:x,tooltipFontColor:D}=c,E=function(o,t){if(null==o)return{};var e,r,i=function(o,t){if(null==o)return{};var e,r,i={},n=Object.keys(o);for(r=0;r<n.length;r++)e=n[r],t.indexOf(e)>=0||(i[e]=o[e]);return i}(o,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);for(r=0;r<n.length;r++)e=n[r],t.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(o,e)&&(i[e]=o[e])}return i}(c,["alt","backgroundColor","foregroundColor","className","name","darkBackground","iconType","initials","shape","size","src","onClick","tooltipMessage","tooltipId","tooltipIsVisible","tooltipPosition","tooltipType","tooltipSize","tooltipBgColor","tooltipFontColor"]);const[N,T]=t(!1),_=Boolean(P)&&!N;e((()=>{T(!1)}),[P]);const M=i("portrait",E);return(()=>{let t=o(s,{type:j,size:h});return k&&(t=o(n,{size:h,"data-element":"initials",children:k.slice(0,3).toUpperCase()})),P&&!N&&(t=o(a,{src:P,alt:d||b||"","data-element":"user-image",onError:()=>T(!0)})),v?o(r,{message:v,id:z,position:B,type:I,size:V,isVisible:S,bgColor:x,fontColor:D,children:o(l,f(u(f(u({},p(E)),{onClick:w,className:y}),M),{hasValidImg:_,darkBackground:O,size:h,shape:C,backgroundColor:g,foregroundColor:m,children:t}))}):o(l,f(u(f(u({},p(E)),{onClick:w,className:y}),M),{hasValidImg:_,darkBackground:O,size:h,shape:C,backgroundColor:g,foregroundColor:m,children:t}))})()};export{d as Portrait,d as default};
@@ -1 +1 @@
1
- import"react";import i from"styled-components";import{margin as t}from"styled-system";import o from"../icon/icon.component.js";import e from"../profile/profile.config.js";import r from"../../style/themes/apply-base-theme.js";import{PORTRAIT_SIZE_PARAMS as n}from"./portrait.config.js";import s from"./__internal__/get-colors.js";const d=i.div.withConfig({displayName:"portrait.style__StyledPortraitInitials",componentId:"sc-db9324dd-0"})(["font-weight:500;font-size:",";display:flex;white-space:nowrap;align-items:center;justify-content:center;height:inherit;width:inherit;"],(({size:i})=>e[i].initialSize)),a=i.img.withConfig({displayName:"portrait.style__StyledCustomImg",componentId:"sc-db9324dd-1"})(["height:inherit;min-width:inherit;"]),m=i(o).withConfig({displayName:"portrait.style__StyledIcon",componentId:"sc-db9324dd-2"})(["&&{color:inherit;height:inherit;min-width:inherit;::before{font-size:","px;}}"],(({size:i})=>n[i].iconDimensions)),l=i.div.attrs(r).withConfig({displayName:"portrait.style__StyledPortraitContainer",componentId:"sc-db9324dd-3"})(["",";"," min-width:","px;height:","px;overflow:hidden;border-radius:",";border:1px solid var(--colorsUtilityReadOnly600);display:inline-block;"," ",""],(({darkBackground:i,backgroundColor:t,size:o,foregroundColor:e})=>s(t,i,!["XS","S"].includes(o),!0,e)),(({hasValidImg:i,size:t})=>i&&`max-width: ${n[t].dimensions}px;`),(({size:i})=>n[i].dimensions),(({size:i})=>n[i].dimensions),(({shape:i})=>"square"===i?"0px":"var(--borderRadiusCircle)"),(({onClick:i})=>i&&"cursor: pointer"),t);export{a as StyledCustomImg,m as StyledIcon,l as StyledPortraitContainer,d as StyledPortraitInitials};
1
+ import"react";import i from"styled-components";import{margin as t}from"styled-system";import e from"../icon/icon.component.js";import o from"../profile/profile.config.js";import r from"../../style/themes/apply-base-theme.js";import{PORTRAIT_SIZE_PARAMS as n}from"./portrait.config.js";import s from"./__internal__/get-colors.js";const l=i.div.withConfig({displayName:"portrait.style__StyledPortraitInitials",componentId:"sc-7cf94d65-0"})(["font-weight:500;font-size:",";display:flex;white-space:nowrap;align-items:center;justify-content:center;height:inherit;width:inherit;.mentions-list-item &&{color:var(--input-dropdown-label-default);}.mentions-list-item:hover &&,.mentions-list-item.selected &&{color:var(--popover-label-hover);}"],(({size:i})=>o[i].initialSize)),m=i.img.withConfig({displayName:"portrait.style__StyledCustomImg",componentId:"sc-7cf94d65-1"})(["height:inherit;min-width:inherit;"]),d=i(e).withConfig({displayName:"portrait.style__StyledIcon",componentId:"sc-7cf94d65-2"})(["&&{color:inherit;height:inherit;min-width:inherit;::before{font-size:","px;}}"],(({size:i})=>n[i].iconDimensions)),a=i.div.attrs(r).withConfig({displayName:"portrait.style__StyledPortraitContainer",componentId:"sc-7cf94d65-3"})(["",";"," min-width:","px;height:","px;overflow:hidden;border-radius:",";border:1px solid var(--colorsUtilityReadOnly600);display:inline-block;"," "," .mentions-list-item &&{color:currentColor;}.mentions-list-item:hover &&,.mentions-list-item.selected &&{color:currentColor;}"],(({darkBackground:i,backgroundColor:t,size:e,foregroundColor:o})=>s(t,i,!["XS","S"].includes(e),!0,o)),(({hasValidImg:i,size:t})=>i&&`max-width: ${n[t].dimensions}px;`),(({size:i})=>n[i].dimensions),(({size:i})=>n[i].dimensions),(({shape:i})=>"square"===i?"0px":"var(--borderRadiusCircle)"),(({onClick:i})=>i&&"cursor: pointer"),t);export{m as StyledCustomImg,d as StyledIcon,a as StyledPortraitContainer,l as StyledPortraitInitials};
@@ -11,5 +11,5 @@ declare const ProfileStyle: import("styled-components").StyledComponent<"div", a
11
11
  theme: object;
12
12
  } & Pick<ProfileSProps, "darkBackground" | "hasSrc">, "theme">;
13
13
  declare const ProfileDetailsStyle: import("styled-components").StyledComponent<"div", any, Pick<ProfileSProps, "size" | "hasSrc">, never>;
14
- declare const ProfileAvatarStyle: import("styled-components").StyledComponent<({ alt, backgroundColor, foregroundColor, name, darkBackground, iconType, initials, shape, size, src, onClick, tooltipMessage, tooltipId, tooltipIsVisible, tooltipPosition, tooltipType, tooltipSize, tooltipBgColor, tooltipFontColor, ...rest }: import("../portrait").PortraitProps) => import("react").JSX.Element, any, {}, never>;
14
+ declare const ProfileAvatarStyle: import("styled-components").StyledComponent<({ alt, backgroundColor, foregroundColor, className, name, darkBackground, iconType, initials, shape, size, src, onClick, tooltipMessage, tooltipId, tooltipIsVisible, tooltipPosition, tooltipType, tooltipSize, tooltipBgColor, tooltipFontColor, ...rest }: import("../portrait").PortraitProps) => import("react").JSX.Element, any, {}, never>;
15
15
  export { ProfileStyle, ProfileNameStyle, ProfileDetailsStyle, ProfileAvatarStyle, ProfileEmailStyle, ProfileTextStyle, };
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ interface PluginProviderProps {
3
+ children: React.ReactNode;
4
+ parentRef: HTMLElement | null;
5
+ }
6
+ export declare const PluginProvider: ({ children, parentRef, }: PluginProviderProps) => React.JSX.Element;
7
+ export declare const usePluginContext: () => {
8
+ getParentRef: () => HTMLElement | undefined;
9
+ };
10
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{useContext as r,createContext as t}from"react";const o=t({getParentRef:()=>{}}),i=({children:r,parentRef:t})=>e(o.Provider,{value:{getParentRef:()=>t||void 0},children:r}),n=()=>r(o);export{i as PluginProvider,n as usePluginContext};
@@ -1,9 +1,8 @@
1
1
  import React from "react";
2
2
  import MentionTypeaheadOption from "./mention-typeahead-option.class";
3
- export declare const MentionsTypeaheadMenuItem: ({ index, isSelected, namespace, onClick, onMouseEnter, option, currentQueryString, }: {
3
+ export declare const MentionsTypeaheadMenuItem: ({ index, isSelected, onClick, onMouseEnter, option, currentQueryString, ...rest }: {
4
4
  index: number;
5
5
  isSelected: boolean;
6
- namespace: string;
7
6
  onClick: () => void;
8
7
  onMouseEnter: () => void;
9
8
  option: MentionTypeaheadOption;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import"react";import{MentionsListItem as n}from"./mentions.style.js";import{Portrait as i}from"../../../../portrait/portrait.component.js";const r=({text:n,query:i})=>{if(!i)return t("span",{children:n});const r=n.toLowerCase(),o=i.toLowerCase(),s=r.indexOf(o);if(-1===s)return t("span",{children:n});const a=n.slice(0,s),c=n.slice(s,s+i.length),l=n.slice(s+i.length);return e("span",{className:"text",children:[a,t("strong",{children:c}),l]})},o=({index:o,isSelected:s,namespace:a,onClick:c,onMouseEnter:l,option:m,currentQueryString:p})=>e(n,{tabIndex:-1,className:"item"+(s?" selected":""),ref:m.setRefElement,role:"option","aria-selected":s,id:`${a}-typeahead-item-${o}`,onMouseEnter:l,onClick:c,onKeyDown:c,"aria-label":m.name,children:[t(i,{initials:m.initials,src:m.src,iconType:m.iconType||"individual",size:"XS",shape:"circle"}),t(r,{text:m.name,query:p})]},m.id);export{o as MentionsTypeaheadMenuItem,o as default};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import"react";import{MentionsListItem as r}from"./mentions.style.js";import{Portrait as n}from"../../../../portrait/portrait.component.js";function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const i=({text:r,query:n})=>{if(!n)return t("span",{children:r});const o=r.toLowerCase(),i=n.toLowerCase(),c=o.indexOf(i);if(-1===c)return t("span",{children:r});const l=r.slice(0,c),s=r.slice(c,c+n.length),a=r.slice(c+n.length);return e("span",{className:"text",children:[l,t("strong",{children:s}),a]})},c=c=>{var l,s,{index:a,isSelected:p,onClick:u,onMouseEnter:f,option:y,currentQueryString:b}=c,O=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(c,["index","isSelected","onClick","onMouseEnter","option","currentQueryString"]);return e(r,(l=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){o(e,t,r[t])}))}return e}({tabIndex:-1,className:"item mentions-list-item"+(p?" selected":""),ref:y.setRefElement,role:"option","aria-selected":p,id:`typeahead-item-${a}`,onMouseEnter:f,onClick:u,onKeyDown:u,"aria-label":y.name},O),s=null!=(s={children:[t(n,{initials:y.initials,src:y.src,iconType:y.iconType||"individual",size:"XS",shape:"circle"}),t(i,{text:y.name,query:b})]})?s:{},Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(s)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(s)).forEach((function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(s,e))})),l),y.id)};export{c as MentionsTypeaheadMenuItem,c as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useLexicalComposerContext as t}from"@lexical/react/LexicalComposerContext";import{LexicalTypeaheadMenuPlugin as n}from"@lexical/react/LexicalTypeaheadMenuPlugin";import{$isTextNode as o,$createTextNode as r,KEY_BACKSPACE_COMMAND as i,$getSelection as s,$isRangeSelection as l,TextNode as a,COMMAND_PRIORITY_LOW as m}from"lexical";import{useState as c,useMemo as p,useCallback as d,useEffect as u}from"react";import f from"react-dom";import{SUGGESTION_LIST_LENGTH_LIMIT as x}from"./constants.js";import{getPossibleQueryMatch as g}from"./helpers.js";import{MentionsTypeaheadMenuItem as h}from"./mentions-typeahead-menu-item.component.js";import{MentionTypeaheadOption as C}from"./mention-typeahead-option.class.js";import{$createMentionNode as j,$isMentionNode as y}from"../../__nodes__/mention.node.js";import _ from"../../../../../hooks/__internal__/useLocale/useLocale.js";import{TypeaheadPopover as L,MentionsList as b}from"./mentions.style.js";const $=({namespace:$,searchOptions:v})=>{const[w]=t(),[S,T]=c(null),k=p((()=>S?v.filter((e=>e.name.toLowerCase().includes(S.toLowerCase()))):[]),[S,v]),A=_(),N=p((()=>k.map((e=>new C(e.id,e.name,e.initials,e.iconType,e.src))).slice(0,x)),[k]),O=d(((e,t,n)=>{w.update((()=>{const i=j(`@${e.name}`);t&&t.replace(i);const s=i.getNextSibling();if(o(s)&&s.getTextContent().startsWith(" "))s.select(1,1);else{const e=r(" ");i.insertAfter(e),e.select()}n()}))}),[w]);return u((()=>w.registerCommand(i,(()=>{const e=s();if(!l(e)||!e.isCollapsed())return!1;const{anchor:t}=e,n=t.getNode();if(y(n)){const e=new a(n.getTextContent());return n.replace(e),!0}return!1}),m)),[w]),e(n,{onQueryChange:T,onSelectOption:O,triggerFn:e=>g(e),options:N,menuRenderFn:(t,{selectedIndex:n,selectOptionAndCleanUp:o,setHighlightedIndex:r})=>t.current&&k.length?f.createPortal(e(L,{className:"carbon-portal-mentions",id:`${$}-mentions-menu`,children:e(b,{"data-role":"mention-list",id:`${$}-mention-list`,role:"listbox","aria-label":A.textEditor.mentions.listAriaLabel(),children:N.map(((t,i)=>{var s,l;const a=null!==(l=null!==(s=t.key)&&void 0!==s?s:t.id)&&void 0!==l?l:`${$}-${i}`;return e(h,{index:i,isSelected:n===i,onClick:()=>{r(i),o(t)},onMouseEnter:()=>{r(i)},option:t,namespace:$,currentQueryString:null!=S?S:void 0},a)}))})}),t.current):null})};export{$ as MentionsPlugin,$ as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{useLexicalComposerContext as t}from"@lexical/react/LexicalComposerContext";import{LexicalTypeaheadMenuPlugin as n}from"@lexical/react/LexicalTypeaheadMenuPlugin";import{$isTextNode as o,$createTextNode as r,KEY_BACKSPACE_COMMAND as i,$getSelection as l,$isRangeSelection as s,TextNode as a,COMMAND_PRIORITY_LOW as m}from"lexical";import{useState as c,useMemo as p,useCallback as d,useEffect as u}from"react";import f from"react-dom";import{SUGGESTION_LIST_LENGTH_LIMIT as g}from"./constants.js";import{getPossibleQueryMatch as x}from"./helpers.js";import{MentionsTypeaheadMenuItem as h}from"./mentions-typeahead-menu-item.component.js";import{MentionTypeaheadOption as v}from"./mention-typeahead-option.class.js";import{$createMentionNode as C,$isMentionNode as _}from"../../__nodes__/mention.node.js";import j from"../../../../../hooks/__internal__/useLocale/useLocale.js";import{TypeaheadPopover as b,MentionsList as y}from"./mentions.style.js";import{usePluginContext as L}from"../../__providers__/plugin-provider.js";const A=({namespace:A,searchOptions:O})=>{const[T]=t(),[$,w]=c(null),S=p((()=>$?O.filter((e=>e.name.toLowerCase().includes($.toLowerCase()))):[]),[$,O]),k=j(),I=p((()=>S.map((e=>new v(e.id,e.name,e.initials,e.iconType,e.src))).slice(0,g)),[S]),N=d(((e,t,n)=>{T.update((()=>{const i=C(`@${e.name}`);t&&t.replace(i);const l=i.getNextSibling();if(o(l)&&l.getTextContent().startsWith(" "))l.select(1,1);else{const e=r(" ");i.insertAfter(e),e.select()}n()}))}),[T]);u((()=>T.registerCommand(i,(()=>{const e=l();if(!s(e)||!e.isCollapsed())return!1;const{anchor:t}=e,n=t.getNode();if(_(n)){const e=new a(n.getTextContent());return n.replace(e),!0}return!1}),m)),[T]);const{getParentRef:P}=L(),R=P(),E=null==R?void 0:R.getBoundingClientRect();var F;const M=null!==(F=null==E?void 0:E.left)&&void 0!==F?F:0;var Q;const B=null!==(Q=null==E?void 0:E.top)&&void 0!==Q?Q:0;return e(n,{onQueryChange:w,onSelectOption:N,triggerFn:e=>x(e),options:I,parent:R,menuRenderFn:(t,{selectedIndex:n,selectOptionAndCleanUp:o,setHighlightedIndex:r})=>{const i=t.current;return i&&0!==S.length?(i.setAttribute("aria-label",k.textEditor.mentions.listAriaLabel()),f.createPortal(e(b,{className:"carbon-portal-mentions",id:`${A}-mentions-menu`,parentOffsetLeft:M,parentOffsetTop:B,children:e(y,{"data-role":"mention-list",id:`${A}-mention-list`,role:"group",tabIndex:0,children:I.map(((t,i)=>{var l,s;const a=null!==(s=null!==(l=t.key)&&void 0!==l?l:t.id)&&void 0!==s?s:`${A}-${i}`;return e(h,{index:i,isSelected:n===i,onClick:()=>{r(i),o(t)},onMouseEnter:()=>{r(i)},option:t,currentQueryString:null!=$?$:void 0},a)}))})}),i)):(null==i||i.removeAttribute("aria-label"),null)}})};export{A as MentionsPlugin,A as default};
@@ -1,3 +1,6 @@
1
- export declare const TypeaheadPopover: import("styled-components").StyledComponent<"div", any, {}, never>;
1
+ export declare const TypeaheadPopover: import("styled-components").StyledComponent<"div", any, {
2
+ parentOffsetLeft: number;
3
+ parentOffsetTop: number;
4
+ }, never>;
2
5
  export declare const MentionsList: import("styled-components").StyledComponent<"ul", any, {}, never>;
3
6
  export declare const MentionsListItem: import("styled-components").StyledComponent<"li", any, {}, never>;
@@ -1 +1 @@
1
- import o from"styled-components";const e=o.div.withConfig({displayName:"mentions.style__TypeaheadPopover",componentId:"sc-fd1b05a2-0"})(["background:#fff;box-shadow:0px 5px 10px rgba(0,0,0,0.3);border-radius:8px;position:relative;width:250px;"]),i=o.ul.withConfig({displayName:"mentions.style__MentionsList",componentId:"sc-fd1b05a2-1"})(["padding:8px 0;list-style:none;margin:0;border-radius:8px;max-height:200px;overflow-y:scroll;&::-webkit-scrollbar{display:none;}-ms-overflow-style:none;scrollbar-width:none;"]),n=o.li.withConfig({displayName:"mentions.style__MentionsListItem",componentId:"sc-fd1b05a2-2"})(['padding:8px 24px;color:#0000008c;cursor:pointer;line-height:16px;font-size:15px;display:flex;align-content:center;flex-direction:row;flex-shrink:0;background-color:#fff;border-radius:0;border:0;&:hover{background-color:#eee;color:#000;border-radius:0;div[data-component="portrait"]{color:#000;[data-element="initials"],[data-component="icon"]{color:#000;}}}&.active{display:flex;width:20px;height:20px;background-size:contain;}&.selected{background:#eee;}.text{display:flex;line-height:20px;flex-grow:1;min-width:150px;margin-left:8px;align-items:center;font-size:14px;margin-top:-1px;white-space:pre;}div[data-component="portrait"]{background-color:#f2f5f6ff;color:#000000e6;min-width:24px;height:24px;overflow:hidden;border-radius:50%;border:1px solid #ccd6dbff;display:inline-block;font-size:13px;[data-element="initials"],[data-component="icon"]{color:#8b8b8b;}}']);export{i as MentionsList,n as MentionsListItem,e as TypeaheadPopover};
1
+ import o from"styled-components";const e=o.div.withConfig({displayName:"mentions.style__TypeaheadPopover",componentId:"sc-17cb70da-0"})(["background:var(--popover-bg-default);box-shadow:var(--global-depth-lvl1);border-radius:var(--global-radius-action-m);position:relative;top:","px;left:","px;width:250px;"],(({parentOffsetTop:o})=>-o),(({parentOffsetLeft:o})=>-o)),r=o.ul.withConfig({displayName:"mentions.style__MentionsList",componentId:"sc-17cb70da-1"})(["padding:var(--global-space-comp-s) 0;list-style:none;margin:0;border-radius:var(--global-radius-container-m);max-height:200px;overflow-y:scroll;&::-webkit-scrollbar{display:none;}-ms-overflow-style:none;scrollbar-width:none;"]),a=o.li.withConfig({displayName:"mentions.style__MentionsListItem",componentId:"sc-17cb70da-2"})(['padding:var(--global-space-comp-s) var(--global-space-comp-xl);color:var(--input-dropdown-label-default);cursor:pointer;font:var(--global-font-static-comp-regular-m);display:flex;align-content:center;flex-direction:row;flex-shrink:0;background-color:var(--popover-bg-default);border-radius:0;border:0;&:hover{color:var(--popover-label-hover);border-radius:0;}}&.selected{background:var(--popover-bg-hover);color:var(--popover-label-hover);}.text{display:flex;font:var(--global-font-static-comp-regular-m);flex-grow:1;min-width:150px;margin-left:var(--global-space-comp-xs);align-items:center;margin-top:-1px;white-space:pre;}div[data-component="portrait"]{color:var(--input-dropdown-label-default);font:var(--profile-font-initials-xs);min-width:var(--profile-size-outside-xs);height:var(--profile-size-outside-xs);overflow:hidden;border-radius:var(--global-radius-container-circle);border:var(--global-borderwidth-xs) solid var(--profile-border-default);display:inline-block;[data-element="initials"],[data-component="icon"]{color:var(--input-dropdown-label-default);}}']);export{r as MentionsList,a as MentionsListItem,e as TypeaheadPopover};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r,Fragment as t}from"react/jsx-runtime";import{LexicalComposer as n}from"@lexical/react/LexicalComposer";import{ClickableLinkPlugin as o}from"@lexical/react/LexicalClickableLinkPlugin";import{LexicalErrorBoundary as i}from"@lexical/react/LexicalErrorBoundary";import{HistoryPlugin as a}from"@lexical/react/LexicalHistoryPlugin";import{MarkdownShortcutPlugin as l}from"@lexical/react/LexicalMarkdownShortcutPlugin";import{RichTextPlugin as s}from"@lexical/react/LexicalRichTextPlugin";import{LinkPlugin as c}from"@lexical/react/LexicalLinkPlugin";import{ListPlugin as d}from"@lexical/react/LexicalListPlugin";import{OnChangePlugin as p}from"@lexical/react/LexicalOnChangePlugin";import{$getRoot as u}from"lexical";import _,{forwardRef as m,useRef as f,useState as g,useImperativeHandle as h,useEffect as v,useMemo as b,useCallback as x}from"react";import y from"../../__internal__/label/label.component.js";import j from"../../hooks/__internal__/useLocale/useLocale.js";import w from"../../__internal__/utils/logger/index.js";import{COMPONENT_PREFIX as O,MARKDOWN_NODES as P}from"./__internal__/__utils__/constants.js";import L from"./__internal__/__plugins__/AutoLinker/auto-link.component.js";import C from"./__internal__/__plugins__/LinkMonitor/link-monitor.plugin.js";import E from"./__internal__/__plugins__/StyledSpanEnter/styled-span-enter.plugin.js";import"./__internal__/__plugins__/useCursorAtEnd/index.js";import T from"./text-editor.context.js";import{StyledTextEditorWrapper as k,StyledWrapper as S,StyledEditorToolbarWrapper as M,StyledHeaderWrapper as $,StyledTextEditor as B,StyledFooterWrapper as F}from"./text-editor.style.js";import{createEmpty as H,SerializeLexical as z,validateUrl as A}from"./__internal__/__utils__/helpers.js";import{HintText as q}from"../../__internal__/hint-text/hint-text.component.js";import D from"../../__internal__/validation-message/validation-message.component.js";import I from"../textbox/textbox.style.js";import"../../style/utils/filter-styled-system-padding-props.js";import R from"../../style/utils/filter-styled-system-margin-props.js";import V from"../../__internal__/utils/helpers/tags/tags.js";import U from"./__internal__/__ui__/ReadOnlyEditor/read-only-rte.component.js";import{getTheme as G}from"./__internal__/__utils__/theme.js";import J from"./__internal__/__ui__/CharacterCounter/character-counter.component.js";import K from"./__internal__/__ui__/ContentEditor/content-editor.component.js";import"./__internal__/__ui__/LinkPreviewer/link-previewer.style.js";import"@lexical/react/LexicalComposerContext";import"@lexical/react/LexicalTypeaheadMenuPlugin";import"react-dom";import"./__internal__/__ui__/Mentions/constants.js";import"./__internal__/__ui__/Mentions/mentions.style.js";import"../tooltip/tooltip.component.js";import"../portrait/portrait.style.js";import N from"./__internal__/__ui__/Placeholder/placeholder.component.js";import Q from"./__internal__/__ui__/Toolbar/toolbar.component.js";function W(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function X(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){W(e,r,t[r])}))}return e}let Y=!1,Z=!1,ee=!1;const re=m(((m,W)=>{var re,te,ne,{characterLimit:oe=3e3,error:ie,footer:ae,header:le,inputHint:se,labelText:ce,namespace:de=O,id:pe,onBlur:ue,onCancel:_e,onChange:me,onFocus:fe,onLinkAdded:ge,onSave:he,placeholder:ve,previews:be=[],readOnly:xe=!1,required:ye=!1,rows:je,size:we="medium",warning:Oe,customPlugins:Pe,validationMessagePositionTop:Le=!1,toolbarControls:Ce}=m,Ee=function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(m,["characterLimit","error","footer","header","inputHint","labelText","namespace","id","onBlur","onCancel","onChange","onFocus","onLinkAdded","onSave","placeholder","previews","readOnly","required","rows","size","warning","customPlugins","validationMessagePositionTop","toolbarControls"]);!Y&&Ee.value&&(Y=!0,w.deprecate("`value` is deprecated in TextEditor and support will soon be removed. Please use `initialValue` instead.")),!Z&&_e&&(Z=!0,w.deprecate("`onCancel` is deprecated in TextEditor and support will soon be removed. Please ensure that `TextEditor` is used as a part of a `Form` component, which will handle the cancel functionality.")),!ee&&he&&(ee=!0,w.deprecate("`onSave` is deprecated in TextEditor and support will soon be removed. Please ensure that `TextEditor` is used as a part of a `Form` component, which will handle the save functionality."));const Te=f(null!==(ne=null!==(te=Ee.initialValue)&&void 0!==te?te:Ee.value)&&void 0!==ne?ne:H()),ke=j(),[Se,Me]=g(void 0),$e=f(null),[Be,Fe]=g(!1);h(W,(()=>({focus(){var e;null===(e=$e.current)||void 0===e||e.focus()}})),[]),v((()=>{const e=null==$e?void 0:$e.current,r=()=>{Fe(!0)},t=()=>{Fe(!1)};return null==e||e.addEventListener("focus",r),null==e||e.addEventListener("blur",t),()=>{null==e||e.removeEventListener("focus",r),null==e||e.removeEventListener("blur",t)}}),[$e]);const He=b((()=>({namespace:de,nodes:P,onError:e=>w.error(e.message),theme:G(),editorState:Te.current,editable:!xe})),[de,xe]),ze=x(((e,r)=>{const t=e.read((()=>u().getChildren().map((e=>e.getTextContent())).join("\n\n")));if(me){const e=z(r);null==me||me(t,e)}if(oe>0){const e=oe-t.length;Me(e<0?ke.textEditor.characterLimit(Math.abs(e)):void 0)}}),[oe,ke.textEditor,me]),Ae=x((e=>{if(!e.isEditable())return;if(!_e)return;const r=e.parseEditorState(Te.current);e.setEditorState(r),_e()}),[_e]),qe=b((()=>({namespace:de,onCancel:_e?Ae:void 0,onSave:he,toolbarControls:Ce})),[Ae,de,_e,he,Ce]),De=Oe||Se,Ie=()=>{switch(we){case"large":return"var(--spacing150)";case"small":return"var(--spacing050)";default:return"var(--spacing100)"}};return e(k,(Re=X({"data-role":`${de}-editor-wrapper`,onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||null==ue||ue(e)},onFocus:e=>{e.currentTarget.contains(e.relatedTarget)||null==fe||fe(e)}},R(Ee),V("text-editor",Ee)),Ve={children:r(T.Provider,{value:{onLinkAdded:ge},children:[e(y,{onClick:()=>{var e;return null===(e=$e.current)||void 0===e?void 0:e.focus()},isRequired:ye,labelId:`${de}-label`,children:ce}),se&&!xe&&e(q,{id:`${de}-input-hint`,marginBottom:Ie(),children:se}),e(n,{initialConfig:He,children:r(S,{"data-role":`${de}-wrapper`,children:[Le&&r(t,{children:[e(D,{error:ie,warning:De,validationId:`${de}-validation-message`,"data-role":`${de}-validation-message`,validationMessagePositionTop:Le}),(ie||De)&&e(I,{warning:!(ie||!De)})]}),r(M,{"data-role":`${de}-editor-toolbar-wrapper`,error:!!ie,id:`${de}-editor-toolbar-wrapper`,children:[le&&e($,{"data-role":`${de}-header-wrapper`,children:le}),xe?e(U,{"aria-label":ce,initialValue:(null===(re=$e.current)||void 0===re?void 0:re.innerHTML)||Te.current,size:we}):r(t,{children:[e(Q,X({contentEditorRef:$e,hasHeader:Boolean(le),size:we},qe)),r(B,{"data-role":`${de}-editor`,error:!!ie,children:[e(s,{contentEditable:e(K,{id:pe,ref:$e,inputHint:se,isFocused:Be,namespace:de,previews:be,rows:je,readOnly:xe,required:ye,error:!!ie,warning:!!Oe||!!Se,validationMessagePositionTop:Le,size:we}),placeholder:e(N,{namespace:de,text:ve}),ErrorBoundary:i}),e(d,{}),e(a,{}),e(l,{}),e(p,{onChange:ze,ignoreHistoryMergeTagChange:!0,ignoreSelectionChange:!0}),e(c,{validateUrl:A}),e(o,{newTab:!0}),e(L,{}),e(E,{}),_.Children.toArray(Pe)]})]}),ae&&e(F,{"data-role":`${de}-footer-wrapper`,size:we,children:ae}),e(C,{})]}),!Le&&r(t,{children:[e(D,{error:ie,warning:De,validationId:`${de}-validation-message`,"data-role":`${de}-validation-message`,validationMessagePositionTop:Le}),(ie||De)&&e(I,{warning:!(ie||!De)})]}),oe>0&&!xe&&e(J,{isFocused:Be,maxChars:oe,namespace:de,marginTop:Ie()})]})})]})},Ve=null!=Ve?Ve:{},Object.getOwnPropertyDescriptors?Object.defineProperties(Re,Object.getOwnPropertyDescriptors(Ve)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(Ve)).forEach((function(e){Object.defineProperty(Re,e,Object.getOwnPropertyDescriptor(Ve,e))})),Re));var Re,Ve}));export{re as TextEditor,re as default};
1
+ import{jsx as e,jsxs as r,Fragment as t}from"react/jsx-runtime";import{LexicalComposer as n}from"@lexical/react/LexicalComposer";import{ClickableLinkPlugin as o}from"@lexical/react/LexicalClickableLinkPlugin";import{LexicalErrorBoundary as i}from"@lexical/react/LexicalErrorBoundary";import{HistoryPlugin as a}from"@lexical/react/LexicalHistoryPlugin";import{MarkdownShortcutPlugin as l}from"@lexical/react/LexicalMarkdownShortcutPlugin";import{RichTextPlugin as s}from"@lexical/react/LexicalRichTextPlugin";import{LinkPlugin as c}from"@lexical/react/LexicalLinkPlugin";import{ListPlugin as p}from"@lexical/react/LexicalListPlugin";import{OnChangePlugin as d}from"@lexical/react/LexicalOnChangePlugin";import{PluginProvider as _}from"./__internal__/__providers__/plugin-provider.js";import{$getRoot as u}from"lexical";import{forwardRef as m,useRef as f,useState as g,useImperativeHandle as h,useEffect as v,useMemo as b,useCallback as x}from"react";import y from"../../__internal__/label/label.component.js";import j from"../../hooks/__internal__/useLocale/useLocale.js";import w from"../../__internal__/utils/logger/index.js";import{COMPONENT_PREFIX as O,MARKDOWN_NODES as P}from"./__internal__/__utils__/constants.js";import L from"./__internal__/__plugins__/AutoLinker/auto-link.component.js";import C from"./__internal__/__plugins__/LinkMonitor/link-monitor.plugin.js";import E from"./__internal__/__plugins__/StyledSpanEnter/styled-span-enter.plugin.js";import"./__internal__/__plugins__/useCursorAtEnd/index.js";import T from"./text-editor.context.js";import{StyledTextEditorWrapper as k,StyledWrapper as S,StyledEditorToolbarWrapper as M,StyledHeaderWrapper as $,StyledTextEditor as B,StyledFooterWrapper as F}from"./text-editor.style.js";import{createEmpty as H,SerializeLexical as z,validateUrl as A}from"./__internal__/__utils__/helpers.js";import{HintText as R}from"../../__internal__/hint-text/hint-text.component.js";import q from"../../__internal__/validation-message/validation-message.component.js";import D from"../textbox/textbox.style.js";import"../../style/utils/filter-styled-system-padding-props.js";import I from"../../style/utils/filter-styled-system-margin-props.js";import V from"../../__internal__/utils/helpers/tags/tags.js";import U from"./__internal__/__ui__/ReadOnlyEditor/read-only-rte.component.js";import{getTheme as G}from"./__internal__/__utils__/theme.js";import J from"./__internal__/__ui__/CharacterCounter/character-counter.component.js";import K from"./__internal__/__ui__/ContentEditor/content-editor.component.js";import"./__internal__/__ui__/LinkPreviewer/link-previewer.style.js";import"@lexical/react/LexicalComposerContext";import"@lexical/react/LexicalTypeaheadMenuPlugin";import"react-dom";import"./__internal__/__ui__/Mentions/constants.js";import"./__internal__/__ui__/Mentions/mentions.style.js";import"../tooltip/tooltip.component.js";import"../portrait/portrait.style.js";import N from"./__internal__/__ui__/Placeholder/placeholder.component.js";import Q from"./__internal__/__ui__/Toolbar/toolbar.component.js";function W(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function X(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){W(e,r,t[r])}))}return e}let Y=!1,Z=!1,ee=!1;const re=m(((m,W)=>{var re,te,ne,{characterLimit:oe=3e3,error:ie,footer:ae,header:le,inputHint:se,labelText:ce,namespace:pe=O,id:de,onBlur:_e,onCancel:ue,onChange:me,onFocus:fe,onLinkAdded:ge,onSave:he,placeholder:ve,previews:be=[],readOnly:xe=!1,required:ye=!1,rows:je,size:we="medium",warning:Oe,customPlugins:Pe,validationMessagePositionTop:Le=!1,toolbarControls:Ce}=m,Ee=function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(m,["characterLimit","error","footer","header","inputHint","labelText","namespace","id","onBlur","onCancel","onChange","onFocus","onLinkAdded","onSave","placeholder","previews","readOnly","required","rows","size","warning","customPlugins","validationMessagePositionTop","toolbarControls"]);!Y&&Ee.value&&(Y=!0,w.deprecate("`value` is deprecated in TextEditor and support will soon be removed. Please use `initialValue` instead.")),!Z&&ue&&(Z=!0,w.deprecate("`onCancel` is deprecated in TextEditor and support will soon be removed. Please ensure that `TextEditor` is used as a part of a `Form` component, which will handle the cancel functionality.")),!ee&&he&&(ee=!0,w.deprecate("`onSave` is deprecated in TextEditor and support will soon be removed. Please ensure that `TextEditor` is used as a part of a `Form` component, which will handle the save functionality."));const Te=f(null!==(ne=null!==(te=Ee.initialValue)&&void 0!==te?te:Ee.value)&&void 0!==ne?ne:H()),ke=j(),[Se,Me]=g(void 0),$e=f(null),[Be,Fe]=g(null),[He,ze]=g(!1);h(W,(()=>({focus(){var e;null===(e=$e.current)||void 0===e||e.focus()}})),[]),v((()=>{const e=null==$e?void 0:$e.current,r=()=>{ze(!0)},t=()=>{ze(!1)};return null==e||e.addEventListener("focus",r),null==e||e.addEventListener("blur",t),()=>{null==e||e.removeEventListener("focus",r),null==e||e.removeEventListener("blur",t)}}),[$e]);const Ae=b((()=>({namespace:pe,nodes:P,onError:e=>w.error(e.message),theme:G(),editorState:Te.current,editable:!xe})),[pe,xe]),Re=x(((e,r)=>{const t=e.read((()=>u().getChildren().map((e=>e.getTextContent())).join("\n\n")));if(me){const e=z(r);null==me||me(t,e)}if(oe>0){const e=oe-t.length;Me(e<0?ke.textEditor.characterLimit(Math.abs(e)):void 0)}}),[oe,ke.textEditor,me]),qe=x((e=>{if(!e.isEditable())return;if(!ue)return;const r=e.parseEditorState(Te.current);e.setEditorState(r),ue()}),[ue]),De=b((()=>({namespace:pe,onCancel:ue?qe:void 0,onSave:he,toolbarControls:Ce})),[qe,pe,ue,he,Ce]),Ie=Oe||Se,Ve=()=>{switch(we){case"large":return"var(--spacing150)";case"small":return"var(--spacing050)";default:return"var(--spacing100)"}};return e(k,(Ue=X({"data-role":`${pe}-editor-wrapper`,onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||null==_e||_e(e)},onFocus:e=>{e.currentTarget.contains(e.relatedTarget)||null==fe||fe(e)}},I(Ee),V("text-editor",Ee)),Ge={children:r(T.Provider,{value:{onLinkAdded:ge},children:[e(y,{onClick:()=>{var e;return null===(e=$e.current)||void 0===e?void 0:e.focus()},isRequired:ye,labelId:`${pe}-label`,children:ce}),se&&!xe&&e(R,{id:`${pe}-input-hint`,marginBottom:Ve(),children:se}),e(n,{initialConfig:Ae,children:r(S,{"data-role":`${pe}-wrapper`,ref:Fe,children:[Le&&r(t,{children:[e(q,{error:ie,warning:Ie,validationId:`${pe}-validation-message`,"data-role":`${pe}-validation-message`,validationMessagePositionTop:Le}),(ie||Ie)&&e(D,{warning:!(ie||!Ie)})]}),r(M,{"data-role":`${pe}-editor-toolbar-wrapper`,error:!!ie,id:`${pe}-editor-toolbar-wrapper`,children:[le&&e($,{"data-role":`${pe}-header-wrapper`,children:le}),xe?e(U,{"aria-label":ce,initialValue:(null===(re=$e.current)||void 0===re?void 0:re.innerHTML)||Te.current,size:we}):r(t,{children:[e(Q,X({contentEditorRef:$e,hasHeader:Boolean(le),size:we},De)),r(B,{"data-role":`${pe}-editor`,error:!!ie,children:[e(s,{contentEditable:e(K,{id:de,ref:$e,inputHint:se,isFocused:He,namespace:pe,previews:be,rows:je,readOnly:xe,required:ye,error:!!ie,warning:!!Oe||!!Se,validationMessagePositionTop:Le,size:we}),placeholder:e(N,{namespace:pe,text:ve}),ErrorBoundary:i}),e(p,{}),e(a,{}),e(l,{}),e(d,{onChange:Re,ignoreHistoryMergeTagChange:!0,ignoreSelectionChange:!0}),e(c,{validateUrl:A}),e(o,{newTab:!0}),e(L,{}),e(E,{}),e(_,{parentRef:Be,children:Pe})]})]}),ae&&e(F,{"data-role":`${pe}-footer-wrapper`,size:we,children:ae}),e(C,{})]}),!Le&&r(t,{children:[e(q,{error:ie,warning:Ie,validationId:`${pe}-validation-message`,"data-role":`${pe}-validation-message`,validationMessagePositionTop:Le}),(ie||Ie)&&e(D,{warning:!(ie||!Ie)})]}),oe>0&&!xe&&e(J,{isFocused:He,maxChars:oe,namespace:pe,marginTop:Ve()})]})})]})},Ge=null!=Ge?Ge:{},Object.getOwnPropertyDescriptors?Object.defineProperties(Ue,Object.getOwnPropertyDescriptors(Ge)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(Ge)).forEach((function(e){Object.defineProperty(Ue,e,Object.getOwnPropertyDescriptor(Ge,e))})),Ue));var Ue,Ge}));export{re as TextEditor,re as default};
package/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{Accordion}from"./components/accordion/accordion.component.js";export{AccordionGroup}from"./components/accordion/accordion-group/accordion-group.component.js";export{ActionPopover}from"./components/action-popover/action-popover.component.js";export{default as ActionPopoverMenu}from"./components/action-popover/action-popover-menu/action-popover-menu.component.js";export{ActionPopoverItem}from"./components/action-popover/action-popover-item/action-popover-item.component.js";export{ActionPopoverMenuButton}from"./components/action-popover/action-popover-menu-button/action-popover-menu-button.component.js";import"./components/action-popover/action-popover-divider/action-popover-divider.component.js";export{AdaptiveSidebar}from"./components/adaptive-sidebar/adaptive-sidebar.component.js";export{AdvancedColorPicker}from"./components/advanced-color-picker/advanced-color-picker.component.js";export{Alert}from"./components/alert/alert.component.js";export{default as AnchorNavigation}from"./components/anchor-navigation/anchor-navigation.component.js";export{default as AnchorNavigationItem}from"./components/anchor-navigation/anchor-navigation-item/anchor-navigation-item.component.js";export{default as AnchorSectionDivider}from"./components/anchor-navigation/anchor-section-divider.component.js";export{Badge}from"./components/badge/badge.component.js";export{BatchSelection}from"./components/batch-selection/batch-selection.component.js";export{Box}from"./components/box/box.component.js";export{Breadcrumbs}from"./components/breadcrumbs/breadcrumbs.component.js";export{default as Crumb}from"./components/breadcrumbs/crumb/crumb.component.js";export{ButtonBar}from"./components/button-bar/button-bar.component.js";export{ButtonMinor}from"./components/button-minor/button-minor.component.js";export{ButtonToggle}from"./components/button-toggle/button-toggle.component.js";export{default as ButtonToggleGroup}from"./components/button-toggle/button-toggle-group/button-toggle-group.component.js";export{default as Button}from"./components/button/button.component.js";export{CarbonProvider}from"./components/carbon-provider/carbon-provider.component.js";export{default as Card}from"./components/card/card.component.js";export{default as CardColumn}from"./components/card/card-column/card-column.component.js";export{default as CardFooter}from"./components/card/card-footer/card-footer.component.js";export{default as CardRow}from"./components/card/card-row/card-row.component.js";export{CheckboxGroup}from"./components/checkbox/checkbox-group/checkbox-group.component.js";export{Checkbox}from"./components/checkbox/checkbox.component.js";export{Confirm}from"./components/confirm/confirm.component.js";export{Content}from"./components/content/content.component.js";export{DateRange}from"./components/date-range/date-range.component.js";export{DateInput}from"./components/date/date.component.js";export{Decimal}from"./components/decimal/decimal.component.js";export{default as Dl}from"./components/definition-list/dl.component.js";export{default as Dt}from"./components/definition-list/dt/dt.component.js";export{default as Dd}from"./components/definition-list/dd/dd.component.js";export{Detail}from"./components/detail/detail.component.js";export{Dialog}from"./components/dialog/dialog.component.js";export{DismissibleBox}from"./components/dismissible-box/dismissible-box.component.js";export{default as DraggableContainer}from"./components/draggable/draggable-container.component.js";export{default as DraggableItem}from"./components/draggable/draggable-item/draggable-item.component.js";export{Drawer}from"./components/drawer/drawer.component.js";export{DuellingPicklist}from"./components/duelling-picklist/duelling-picklist.component.js";export{default as PicklistDivider}from"./components/duelling-picklist/picklist-divider/picklist-divider.component.js";export{PicklistItem}from"./components/duelling-picklist/picklist-item/picklist-item.component.js";export{Picklist}from"./components/duelling-picklist/picklist/picklist.component.js";export{PicklistPlaceholder}from"./components/duelling-picklist/picklist-placeholder/picklist-placeholder.component.js";export{PicklistGroup}from"./components/duelling-picklist/picklist-group/picklist-group.component.js";export{Fieldset}from"./components/fieldset/fieldset.component.js";export{FileInput}from"./components/file-input/file-input.component.js";export{FlatTable}from"./components/flat-table/flat-table.component.js";export{FlatTableHead}from"./components/flat-table/flat-table-head/flat-table-head.component.js";export{FlatTableHeader}from"./components/flat-table/flat-table-header/flat-table-header.component.js";export{FlatTableBody}from"./components/flat-table/flat-table-body/flat-table-body.component.js";export{FlatTableRow}from"./components/flat-table/flat-table-row/flat-table-row.component.js";export{FlatTableRowHeader}from"./components/flat-table/flat-table-row-header/flat-table-row-header.component.js";export{FlatTableCell}from"./components/flat-table/flat-table-cell/flat-table-cell.component.js";export{FlatTableCheckbox}from"./components/flat-table/flat-table-checkbox/flat-table-checkbox.component.js";export{FlatTableBodyDraggable}from"./components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js";export{Sort}from"./components/flat-table/sort/sort.component.js";export{Form}from"./components/form/form.component.js";export{default as RequiredFieldsIndicator}from"./components/form/required-fields-indicator/required-fields-indicator.component.js";export{default as GlobalHeader}from"./components/global-header/global-header.component.js";export{GridContainer}from"./components/grid/grid-container/grid-container.component.js";export{GridItem}from"./components/grid/grid-item/grid-item.component.js";export{GroupedCharacter}from"./components/grouped-character/grouped-character.component.js";export{Heading}from"./components/heading/heading.component.js";export{Help}from"./components/help/help.component.js";export{Hr}from"./components/hr/hr.component.js";export{I18nProvider}from"./components/i18n-provider/i18n-provider.component.js";export{default as IconButton}from"./components/icon-button/icon-button.component.js";export{default as Icon}from"./components/icon/icon.component.js";export{Image}from"./components/image/image.component.js";export{default as InlineInputs}from"./components/inline-inputs/inline-inputs.component.js";export{LinkPreview}from"./components/link-preview/link-preview.component.js";export{Link}from"./components/link/link.component.js";export{Loader}from"./components/loader/loader.component.js";export{LoaderBar}from"./components/loader-bar/loader-bar.component.js";export{LoaderSpinner}from"./components/loader-spinner/loader-spinner.component.js";export{default as LoaderStar}from"./components/loader-star/loader-star.component.js";export{Loader as NextLoader}from"./components/loader/__next__/loader.component.js";export{Menu}from"./components/menu/menu.component.js";export{MenuItem}from"./components/menu/menu-item/menu-item.component.js";export{default as MenuDivider}from"./components/menu/menu-divider/menu-divider.component.js";export{default as MenuSegmentTitle}from"./components/menu/menu-segment-title/menu-segment-title.component.js";export{MenuFullscreen}from"./components/menu/menu-full-screen/menu-full-screen.component.js";export{ScrollableBlock}from"./components/menu/scrollable-block/scrollable-block.component.js";export{Message}from"./components/message/message.component.js";export{default as Modal}from"./components/modal/index.js";export{MultiActionButton}from"./components/multi-action-button/multi-action-button.component.js";export{NavigationBar}from"./components/navigation-bar/navigation-bar.component.js";export{Note}from"./components/note/note.component.js";export{Number}from"./components/number/number.component.js";export{NumeralDate}from"./components/numeral-date/numeral-date.component.js";export{Pager}from"./components/pager/pager.component.js";export{default as Pages}from"./components/pages/pages.component.js";export{default as Page}from"./components/pages/page/page.component.js";export{Password}from"./components/password/password.component.js";export{Pill}from"./components/pill/pill.component.js";export{default as Pod}from"./components/pod/pod.component.js";export{PopoverContainer}from"./components/popover-container/popover-container.component.js";export{default as Portal}from"./components/portal/portal.js";export{Portrait}from"./components/portrait/portrait.component.js";export{Preview}from"./components/preview/preview.component.js";export{Profile}from"./components/profile/profile.component.js";export{default as ProgressTracker}from"./components/progress-tracker/progress-tracker.component.js";export{default as RadioButton}from"./components/radio-button/radio-button.component.js";export{RadioButtonGroup}from"./components/radio-button/radio-button-group/radio-button-group.component.js";export{Search}from"./components/search/search.component.js";export{default as Option}from"./components/select/option/option.component.js";export{default as OptionRow}from"./components/select/option-row/option-row.component.js";export{default as OptionGroupHeader}from"./components/select/option-group-header/option-group-header.component.js";export{SimpleSelect as Select}from"./components/select/simple-select/simple-select.component.js";export{FilterableSelect}from"./components/select/filterable-select/filterable-select.component.js";export{MultiSelect}from"./components/select/multi-select/multi-select.component.js";export{default as setupSelectMocks}from"./components/select/setup-select-mocks.js";export{SettingsRow}from"./components/settings-row/settings-row.component.js";export{Sidebar}from"./components/sidebar/sidebar.component.js";export{SimpleColorPicker}from"./components/simple-color-picker/simple-color-picker.component.js";export{SimpleColor}from"./components/simple-color-picker/simple-color/simple-color.component.js";export{SplitButton}from"./components/split-button/split-button.component.js";export{StepFlowTitle}from"./components/step-flow/step-flow-title/step-flow-title.component.js";export{StepFlow}from"./components/step-flow/step-flow.component.js";export{StepSequence}from"./components/step-sequence/step-sequence.component.js";export{StepSequenceItem}from"./components/step-sequence/step-sequence-item/step-sequence-item.component.js";export{Switch}from"./components/switch/switch.component.js";export{Tabs}from"./components/tabs/tabs.component.js";export{Tab}from"./components/tabs/tab/tab.component.js";export{TextEditor}from"./components/text-editor/text-editor.component.js";export{createEmpty,createFromHTML}from"./components/text-editor/__internal__/__utils__/helpers.js";import"react/jsx-runtime";import"@lexical/react/LexicalComposerContext";import"@lexical/react/LexicalTypeaheadMenuPlugin";import"lexical";import"react";import"react-dom";import"./components/text-editor/__internal__/__ui__/Mentions/constants.js";import"./components/text-editor/__internal__/__ui__/Mentions/mentions.style.js";import"./__internal__/i18n-context/index.js";export{Textarea}from"./components/textarea/textarea.component.js";export{Textbox}from"./components/textbox/textbox.component.js";export{default as TileSelect}from"./components/tile-select/tile-select.component.js";export{TileSelectGroup}from"./components/tile-select/tile-select-group/tile-select-group.component.js";export{Tile}from"./components/tile/tile.component.js";export{default as TileContent}from"./components/tile/tile-content/tile-content.component.js";export{TileFooter}from"./components/tile/tile-footer/tile-footer.component.js";export{TileHeader}from"./components/tile/tile-header/tile-header.component.js";export{FlexTileContainer}from"./components/tile/flex-tile-container/flex-tile-container.component.js";export{FlexTileCell}from"./components/tile/flex-tile-cell/flex-tile-cell.component.js";export{FlexTileDivider}from"./components/tile/flex-tile-divider/flex-tile-divider.component.js";export{default as Time}from"./components/time/time.component.js";export{Toast}from"./components/toast/toast.component.js";export{Tooltip}from"./components/tooltip/tooltip.component.js";export{Typography}from"./components/typography/typography.component.js";export{List,ListItem}from"./components/typography/list.component.js";export{VerticalDivider}from"./components/vertical-divider/vertical-divider.component.js";export{VerticalMenu}from"./components/vertical-menu/vertical-menu.component.js";export{VerticalMenuItem}from"./components/vertical-menu/vertical-menu-item/vertical-menu-item.component.js";export{VerticalMenuFullScreen}from"./components/vertical-menu/vertical-menu-full-screen/vertical-menu-full-screen.component.js";export{VerticalMenuTrigger}from"./components/vertical-menu/vertical-menu-trigger/vertical-menu-trigger.component.js";import"./components/vertical-menu/responsive-vertical-menu/responsive-vertical-menu.style.js";import"react-transition-group";import"./hooks/__internal__/useScrollBlock/useScrollBlock.js";import"./__internal__/modal/modal-manager.js";import"./__internal__/modal/modal.style.js";import"./__internal__/modal/modal.context.js";export{default as useMediaQuery}from"./hooks/useMediaQuery/useMediaQuery.js";import"./components/carbon-provider/__internal__/top-modal.context.js";import"./components/vertical-menu/responsive-vertical-menu/responsive-vertical-menu-item/responsive-vertical-menu-item.style.js";import"./style/utils/filter-styled-system-padding-props.js";import"./components/vertical-menu/responsive-vertical-menu/responsive-vertical-menu-divider/responsive-vertical-menu-divider.style.js";export{default as useCharacterCount}from"./hooks/useCharacterCount/useCharacterCount.js";export{default as GlobalStyle}from"./style/global-style.js";export{MenuItemDivider as ActionPopoverDivider}from"./components/action-popover/action-popover.style.js";
1
+ export{Accordion}from"./components/accordion/accordion.component.js";export{AccordionGroup}from"./components/accordion/accordion-group/accordion-group.component.js";export{ActionPopover}from"./components/action-popover/action-popover.component.js";export{default as ActionPopoverMenu}from"./components/action-popover/action-popover-menu/action-popover-menu.component.js";export{ActionPopoverItem}from"./components/action-popover/action-popover-item/action-popover-item.component.js";export{ActionPopoverMenuButton}from"./components/action-popover/action-popover-menu-button/action-popover-menu-button.component.js";import"./components/action-popover/action-popover-divider/action-popover-divider.component.js";export{AdaptiveSidebar}from"./components/adaptive-sidebar/adaptive-sidebar.component.js";export{AdvancedColorPicker}from"./components/advanced-color-picker/advanced-color-picker.component.js";export{Alert}from"./components/alert/alert.component.js";export{default as AnchorNavigation}from"./components/anchor-navigation/anchor-navigation.component.js";export{default as AnchorNavigationItem}from"./components/anchor-navigation/anchor-navigation-item/anchor-navigation-item.component.js";export{default as AnchorSectionDivider}from"./components/anchor-navigation/anchor-section-divider.component.js";export{Badge}from"./components/badge/badge.component.js";export{BatchSelection}from"./components/batch-selection/batch-selection.component.js";export{Box}from"./components/box/box.component.js";export{Breadcrumbs}from"./components/breadcrumbs/breadcrumbs.component.js";export{Crumb}from"./components/breadcrumbs/crumb/crumb.component.js";export{ButtonBar}from"./components/button-bar/button-bar.component.js";export{ButtonMinor}from"./components/button-minor/button-minor.component.js";export{ButtonToggle}from"./components/button-toggle/button-toggle.component.js";export{default as ButtonToggleGroup}from"./components/button-toggle/button-toggle-group/button-toggle-group.component.js";export{default as Button}from"./components/button/button.component.js";export{CarbonProvider}from"./components/carbon-provider/carbon-provider.component.js";export{default as Card}from"./components/card/card.component.js";export{default as CardColumn}from"./components/card/card-column/card-column.component.js";export{default as CardFooter}from"./components/card/card-footer/card-footer.component.js";export{default as CardRow}from"./components/card/card-row/card-row.component.js";export{CheckboxGroup}from"./components/checkbox/checkbox-group/checkbox-group.component.js";export{Checkbox}from"./components/checkbox/checkbox.component.js";export{Confirm}from"./components/confirm/confirm.component.js";export{Content}from"./components/content/content.component.js";export{DateRange}from"./components/date-range/date-range.component.js";export{DateInput}from"./components/date/date.component.js";export{Decimal}from"./components/decimal/decimal.component.js";export{default as Dl}from"./components/definition-list/dl.component.js";export{default as Dt}from"./components/definition-list/dt/dt.component.js";export{default as Dd}from"./components/definition-list/dd/dd.component.js";export{Detail}from"./components/detail/detail.component.js";export{Dialog}from"./components/dialog/dialog.component.js";export{DismissibleBox}from"./components/dismissible-box/dismissible-box.component.js";export{default as DraggableContainer}from"./components/draggable/draggable-container.component.js";export{default as DraggableItem}from"./components/draggable/draggable-item/draggable-item.component.js";export{Drawer}from"./components/drawer/drawer.component.js";export{DuellingPicklist}from"./components/duelling-picklist/duelling-picklist.component.js";export{default as PicklistDivider}from"./components/duelling-picklist/picklist-divider/picklist-divider.component.js";export{PicklistItem}from"./components/duelling-picklist/picklist-item/picklist-item.component.js";export{Picklist}from"./components/duelling-picklist/picklist/picklist.component.js";export{PicklistPlaceholder}from"./components/duelling-picklist/picklist-placeholder/picklist-placeholder.component.js";export{PicklistGroup}from"./components/duelling-picklist/picklist-group/picklist-group.component.js";export{Fieldset}from"./components/fieldset/fieldset.component.js";export{FileInput}from"./components/file-input/file-input.component.js";export{FlatTable}from"./components/flat-table/flat-table.component.js";export{FlatTableHead}from"./components/flat-table/flat-table-head/flat-table-head.component.js";export{FlatTableHeader}from"./components/flat-table/flat-table-header/flat-table-header.component.js";export{FlatTableBody}from"./components/flat-table/flat-table-body/flat-table-body.component.js";export{FlatTableRow}from"./components/flat-table/flat-table-row/flat-table-row.component.js";export{FlatTableRowHeader}from"./components/flat-table/flat-table-row-header/flat-table-row-header.component.js";export{FlatTableCell}from"./components/flat-table/flat-table-cell/flat-table-cell.component.js";export{FlatTableCheckbox}from"./components/flat-table/flat-table-checkbox/flat-table-checkbox.component.js";export{FlatTableBodyDraggable}from"./components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js";export{Sort}from"./components/flat-table/sort/sort.component.js";export{Form}from"./components/form/form.component.js";export{default as RequiredFieldsIndicator}from"./components/form/required-fields-indicator/required-fields-indicator.component.js";export{default as GlobalHeader}from"./components/global-header/global-header.component.js";export{GridContainer}from"./components/grid/grid-container/grid-container.component.js";export{GridItem}from"./components/grid/grid-item/grid-item.component.js";export{GroupedCharacter}from"./components/grouped-character/grouped-character.component.js";export{Heading}from"./components/heading/heading.component.js";export{Help}from"./components/help/help.component.js";export{Hr}from"./components/hr/hr.component.js";export{I18nProvider}from"./components/i18n-provider/i18n-provider.component.js";export{default as IconButton}from"./components/icon-button/icon-button.component.js";export{default as Icon}from"./components/icon/icon.component.js";export{Image}from"./components/image/image.component.js";export{default as InlineInputs}from"./components/inline-inputs/inline-inputs.component.js";export{LinkPreview}from"./components/link-preview/link-preview.component.js";export{Link}from"./components/link/link.component.js";export{Loader}from"./components/loader/loader.component.js";export{LoaderBar}from"./components/loader-bar/loader-bar.component.js";export{LoaderSpinner}from"./components/loader-spinner/loader-spinner.component.js";export{default as LoaderStar}from"./components/loader-star/loader-star.component.js";export{Loader as NextLoader}from"./components/loader/__next__/loader.component.js";export{Menu}from"./components/menu/menu.component.js";export{MenuItem}from"./components/menu/menu-item/menu-item.component.js";export{default as MenuDivider}from"./components/menu/menu-divider/menu-divider.component.js";export{default as MenuSegmentTitle}from"./components/menu/menu-segment-title/menu-segment-title.component.js";export{MenuFullscreen}from"./components/menu/menu-full-screen/menu-full-screen.component.js";export{ScrollableBlock}from"./components/menu/scrollable-block/scrollable-block.component.js";export{Message}from"./components/message/message.component.js";export{default as Modal}from"./components/modal/index.js";export{MultiActionButton}from"./components/multi-action-button/multi-action-button.component.js";export{NavigationBar}from"./components/navigation-bar/navigation-bar.component.js";export{Note}from"./components/note/note.component.js";export{Number}from"./components/number/number.component.js";export{NumeralDate}from"./components/numeral-date/numeral-date.component.js";export{Pager}from"./components/pager/pager.component.js";export{default as Pages}from"./components/pages/pages.component.js";export{default as Page}from"./components/pages/page/page.component.js";export{Password}from"./components/password/password.component.js";export{Pill}from"./components/pill/pill.component.js";export{default as Pod}from"./components/pod/pod.component.js";export{PopoverContainer}from"./components/popover-container/popover-container.component.js";export{default as Portal}from"./components/portal/portal.js";export{Portrait}from"./components/portrait/portrait.component.js";export{Preview}from"./components/preview/preview.component.js";export{Profile}from"./components/profile/profile.component.js";export{default as ProgressTracker}from"./components/progress-tracker/progress-tracker.component.js";export{default as RadioButton}from"./components/radio-button/radio-button.component.js";export{RadioButtonGroup}from"./components/radio-button/radio-button-group/radio-button-group.component.js";export{Search}from"./components/search/search.component.js";export{default as Option}from"./components/select/option/option.component.js";export{default as OptionRow}from"./components/select/option-row/option-row.component.js";export{default as OptionGroupHeader}from"./components/select/option-group-header/option-group-header.component.js";export{SimpleSelect as Select}from"./components/select/simple-select/simple-select.component.js";export{FilterableSelect}from"./components/select/filterable-select/filterable-select.component.js";export{MultiSelect}from"./components/select/multi-select/multi-select.component.js";export{default as setupSelectMocks}from"./components/select/setup-select-mocks.js";export{SettingsRow}from"./components/settings-row/settings-row.component.js";export{Sidebar}from"./components/sidebar/sidebar.component.js";export{SimpleColorPicker}from"./components/simple-color-picker/simple-color-picker.component.js";export{SimpleColor}from"./components/simple-color-picker/simple-color/simple-color.component.js";export{SplitButton}from"./components/split-button/split-button.component.js";export{StepFlowTitle}from"./components/step-flow/step-flow-title/step-flow-title.component.js";export{StepFlow}from"./components/step-flow/step-flow.component.js";export{StepSequence}from"./components/step-sequence/step-sequence.component.js";export{StepSequenceItem}from"./components/step-sequence/step-sequence-item/step-sequence-item.component.js";export{Switch}from"./components/switch/switch.component.js";export{Tabs}from"./components/tabs/tabs.component.js";export{Tab}from"./components/tabs/tab/tab.component.js";export{TextEditor}from"./components/text-editor/text-editor.component.js";export{createEmpty,createFromHTML}from"./components/text-editor/__internal__/__utils__/helpers.js";import"react/jsx-runtime";import"@lexical/react/LexicalComposerContext";import"@lexical/react/LexicalTypeaheadMenuPlugin";import"lexical";import"react";import"react-dom";import"./components/text-editor/__internal__/__ui__/Mentions/constants.js";import"./components/text-editor/__internal__/__ui__/Mentions/mentions.style.js";import"./__internal__/i18n-context/index.js";export{Textarea}from"./components/textarea/textarea.component.js";export{Textbox}from"./components/textbox/textbox.component.js";export{default as TileSelect}from"./components/tile-select/tile-select.component.js";export{TileSelectGroup}from"./components/tile-select/tile-select-group/tile-select-group.component.js";export{Tile}from"./components/tile/tile.component.js";export{default as TileContent}from"./components/tile/tile-content/tile-content.component.js";export{TileFooter}from"./components/tile/tile-footer/tile-footer.component.js";export{TileHeader}from"./components/tile/tile-header/tile-header.component.js";export{FlexTileContainer}from"./components/tile/flex-tile-container/flex-tile-container.component.js";export{FlexTileCell}from"./components/tile/flex-tile-cell/flex-tile-cell.component.js";export{FlexTileDivider}from"./components/tile/flex-tile-divider/flex-tile-divider.component.js";export{default as Time}from"./components/time/time.component.js";export{Toast}from"./components/toast/toast.component.js";export{Tooltip}from"./components/tooltip/tooltip.component.js";export{Typography}from"./components/typography/typography.component.js";export{List,ListItem}from"./components/typography/list.component.js";export{VerticalDivider}from"./components/vertical-divider/vertical-divider.component.js";export{VerticalMenu}from"./components/vertical-menu/vertical-menu.component.js";export{VerticalMenuItem}from"./components/vertical-menu/vertical-menu-item/vertical-menu-item.component.js";export{VerticalMenuFullScreen}from"./components/vertical-menu/vertical-menu-full-screen/vertical-menu-full-screen.component.js";export{VerticalMenuTrigger}from"./components/vertical-menu/vertical-menu-trigger/vertical-menu-trigger.component.js";import"./components/vertical-menu/responsive-vertical-menu/responsive-vertical-menu.style.js";import"react-transition-group";import"./hooks/__internal__/useScrollBlock/useScrollBlock.js";import"./__internal__/modal/modal-manager.js";import"./__internal__/modal/modal.style.js";import"./__internal__/modal/modal.context.js";export{default as useMediaQuery}from"./hooks/useMediaQuery/useMediaQuery.js";import"./components/carbon-provider/__internal__/top-modal.context.js";import"./components/vertical-menu/responsive-vertical-menu/responsive-vertical-menu-item/responsive-vertical-menu-item.style.js";import"./style/utils/filter-styled-system-padding-props.js";import"./components/vertical-menu/responsive-vertical-menu/responsive-vertical-menu-divider/responsive-vertical-menu-divider.style.js";export{default as useCharacterCount}from"./hooks/useCharacterCount/useCharacterCount.js";export{default as GlobalStyle}from"./style/global-style.js";export{MenuItemDivider as ActionPopoverDivider}from"./components/action-popover/action-popover.style.js";
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Internal Fieldset component used as base for any grouped inputs.
3
+ *
4
+ * @description Renders a fieldset element with an optional legend and hint text, and handles
5
+ * the display of validation messages for grouped inputs.
6
+ */
7
+ import React from "react";
8
+ import { MarginProps } from "styled-system";
9
+ export interface FieldsetProps extends MarginProps {
10
+ /** Inputs rendered within the fieldset. */
11
+ children: React.ReactNode;
12
+ /** Set a name value on the fieldset. */
13
+ name?: string;
14
+ /** Set an id value on the fieldset. */
15
+ id?: string;
16
+ /** The content for the fieldset legend. */
17
+ legend?: string;
18
+ /** Content for an additional hint text below the legend */
19
+ legendHint?: React.ReactNode;
20
+ /** Text alignment of the legend */
21
+ legendAlign?: "left" | "right";
22
+ /** Error message to be displayed when validation fails */
23
+ error?: string;
24
+ /** Warning message to be displayed when validation warning occurs */
25
+ warning?: string;
26
+ /** If true, an asterisk will be added to the label */
27
+ isRequired?: boolean;
28
+ /** Apply disabled styling to the component */
29
+ isDisabled?: boolean;
30
+ /** Specifies whether the validation message should be displayed above the input */
31
+ validationMessagePositionTop?: boolean;
32
+ /** Set the size of the component */
33
+ size?: "small" | "medium" | "large";
34
+ }
35
+ declare const Fieldset: ({ children, name, id, legend, legendAlign, legendHint, error, warning, isRequired, isDisabled, validationMessagePositionTop, size, ...rest }: FieldsetProps) => React.JSX.Element;
36
+ export default Fieldset;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("./fieldset.style.js"),i=require("../../../components/textbox/textbox.style.js"),n=require("../../validation-message/validation-message.component.js"),s=require("../../hint-text/hint-text.component.js"),l=require("../../utils/helpers/guid/index.js");require("../../../style/utils/filter-styled-system-padding-props.js");var o=require("../../../style/utils/filter-styled-system-margin-props.js");function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}exports.default=d=>{var{children:u,name:c,id:g,legend:p,legendAlign:b,legendHint:f,error:y,warning:j,isRequired:O,isDisabled:m,validationMessagePositionTop:v,size:x="medium"}=d,h=function(e,r){if(null==e)return{};var t,i,n=function(e,r){if(null==e)return{};var t,i,n={},s=Object.keys(e);for(i=0;i<s.length;i++)t=s[i],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i<s.length;i++)t=s[i],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}(d,["children","name","id","legend","legendAlign","legendHint","error","warning","isRequired","isDisabled","validationMessagePositionTop","size"]);const P=r.useRef(l.default()),w=g||P.current,q=f?`${w}-hint`:void 0,S=(y||j)&&`${w}-validation-message`,$=[q,S].filter(Boolean).join(" "),D=()=>y||j?e.jsxs(e.Fragment,{children:[e.jsx(n.default,{error:y,warning:j,validationId:S,isLarge:"large"===x}),e.jsx(i.default,{warning:!(y||!j)})]}):null;return e.jsxs(t.StyledFieldset,(z=function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},i=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),i.forEach((function(r){a(e,r,t[r])}))}return e}({"data-component":"fieldset",id:w,name:c,"aria-describedby":$,$validationMessagePositionTop:v,$size:x},o.default(h),h),L=null!=(L={children:[p&&e.jsx(t.StyledLegend,{"data-element":"legend",$align:b,$isRequired:O,$isDisabled:m,$isLarge:"large"===x,children:p}),f&&e.jsx(s.HintText,{id:q,isDisabled:m,align:b,isLarge:"large"===x,marginBottom:"0",children:f}),e.jsxs(t.StyledFieldsetContentWrapper,{$size:x,children:[v&&D(),u,!v&&D()]})]})?L:{},Object.getOwnPropertyDescriptors?Object.defineProperties(z,Object.getOwnPropertyDescriptors(L)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(L)).forEach((function(e){Object.defineProperty(z,e,Object.getOwnPropertyDescriptor(L,e))})),z));var z,L};