carbon-react 155.2.0 → 155.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/esm/__internal__/validation-message/validation-message.component.d.ts +3 -1
  2. package/esm/__internal__/validation-message/validation-message.component.js +1 -1
  3. package/esm/__internal__/validation-message/validation-message.style.d.ts +1 -0
  4. package/esm/__internal__/validation-message/validation-message.style.js +1 -1
  5. package/esm/components/accordion/accordion-group/accordion-group.component.d.ts +1 -3
  6. package/esm/components/checkbox/checkbox-group/checkbox-group.component.d.ts +3 -1
  7. package/esm/components/checkbox/checkbox-group/checkbox-group.component.js +1 -1
  8. package/esm/components/checkbox/checkbox-group/checkbox-group.style.js +1 -1
  9. package/esm/components/date/date.component.js +1 -1
  10. package/esm/components/date-range/__internal__/date-range.context.d.ts +1 -0
  11. package/esm/components/date-range/date-range.component.d.ts +3 -1
  12. package/esm/components/date-range/date-range.component.js +1 -1
  13. package/esm/components/date-range/date-range.style.d.ts +2 -0
  14. package/esm/components/date-range/date-range.style.js +1 -1
  15. package/esm/components/dialog/dialog.component.d.ts +1 -2
  16. package/esm/components/dialog-full-screen/dialog-full-screen.component.d.ts +2 -2
  17. package/esm/components/dialog-full-screen/dialog-full-screen.component.js +1 -1
  18. package/esm/components/file-input/file-input.component.d.ts +2 -0
  19. package/esm/components/file-input/file-input.component.js +1 -1
  20. package/esm/components/numeral-date/numeral-date.component.d.ts +2 -0
  21. package/esm/components/numeral-date/numeral-date.component.js +1 -1
  22. package/esm/components/radio-button/radio-button-group/radio-button-group.component.d.ts +3 -1
  23. package/esm/components/radio-button/radio-button-group/radio-button-group.component.js +1 -1
  24. package/esm/components/radio-button/radio-button.style.js +1 -1
  25. package/esm/components/switch/switch.component.d.ts +2 -0
  26. package/esm/components/switch/switch.component.js +1 -1
  27. package/esm/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.d.ts +2 -0
  28. package/esm/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.js +1 -1
  29. package/esm/components/text-editor/text-editor.component.d.ts +2 -0
  30. package/esm/components/text-editor/text-editor.component.js +1 -1
  31. package/esm/components/textarea/textarea.component.d.ts +2 -0
  32. package/esm/components/textarea/textarea.component.js +1 -1
  33. package/esm/components/textbox/textbox.component.d.ts +2 -0
  34. package/esm/components/textbox/textbox.component.js +1 -1
  35. package/esm/components/textbox/textbox.style.d.ts +0 -1
  36. package/esm/components/textbox/textbox.style.js +1 -1
  37. package/esm/components/time/time.component.d.ts +2 -0
  38. package/esm/components/time/time.component.js +1 -1
  39. package/esm/components/vertical-menu/responsive-vertical-menu/responsive-vertical-menu-divider/index.d.ts +2 -1
  40. package/esm/components/vertical-menu/responsive-vertical-menu/responsive-vertical-menu-divider/responsive-vertical-menu-divider.component.d.ts +1 -3
  41. package/lib/__internal__/validation-message/validation-message.component.d.ts +3 -1
  42. package/lib/__internal__/validation-message/validation-message.component.js +1 -1
  43. package/lib/__internal__/validation-message/validation-message.style.d.ts +1 -0
  44. package/lib/__internal__/validation-message/validation-message.style.js +1 -1
  45. package/lib/components/accordion/accordion-group/accordion-group.component.d.ts +1 -3
  46. package/lib/components/checkbox/checkbox-group/checkbox-group.component.d.ts +3 -1
  47. package/lib/components/checkbox/checkbox-group/checkbox-group.component.js +1 -1
  48. package/lib/components/checkbox/checkbox-group/checkbox-group.style.js +1 -1
  49. package/lib/components/date/date.component.js +1 -1
  50. package/lib/components/date-range/__internal__/date-range.context.d.ts +1 -0
  51. package/lib/components/date-range/date-range.component.d.ts +3 -1
  52. package/lib/components/date-range/date-range.component.js +1 -1
  53. package/lib/components/date-range/date-range.style.d.ts +2 -0
  54. package/lib/components/date-range/date-range.style.js +1 -1
  55. package/lib/components/dialog/dialog.component.d.ts +1 -2
  56. package/lib/components/dialog-full-screen/dialog-full-screen.component.d.ts +2 -2
  57. package/lib/components/dialog-full-screen/dialog-full-screen.component.js +1 -1
  58. package/lib/components/file-input/file-input.component.d.ts +2 -0
  59. package/lib/components/file-input/file-input.component.js +1 -1
  60. package/lib/components/numeral-date/numeral-date.component.d.ts +2 -0
  61. package/lib/components/numeral-date/numeral-date.component.js +1 -1
  62. package/lib/components/radio-button/radio-button-group/radio-button-group.component.d.ts +3 -1
  63. package/lib/components/radio-button/radio-button-group/radio-button-group.component.js +1 -1
  64. package/lib/components/radio-button/radio-button.style.js +1 -1
  65. package/lib/components/switch/switch.component.d.ts +2 -0
  66. package/lib/components/switch/switch.component.js +1 -1
  67. package/lib/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.d.ts +2 -0
  68. package/lib/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.js +1 -1
  69. package/lib/components/text-editor/text-editor.component.d.ts +2 -0
  70. package/lib/components/text-editor/text-editor.component.js +1 -1
  71. package/lib/components/textarea/textarea.component.d.ts +2 -0
  72. package/lib/components/textarea/textarea.component.js +1 -1
  73. package/lib/components/textbox/textbox.component.d.ts +2 -0
  74. package/lib/components/textbox/textbox.component.js +1 -1
  75. package/lib/components/textbox/textbox.style.d.ts +0 -1
  76. package/lib/components/textbox/textbox.style.js +1 -1
  77. package/lib/components/time/time.component.d.ts +2 -0
  78. package/lib/components/time/time.component.js +1 -1
  79. package/lib/components/vertical-menu/responsive-vertical-menu/responsive-vertical-menu-divider/index.d.ts +2 -1
  80. package/lib/components/vertical-menu/responsive-vertical-menu/responsive-vertical-menu-divider/responsive-vertical-menu-divider.component.d.ts +1 -3
  81. package/package.json +12 -11
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("../../__internal__/utils/helpers/guid/index.js"),l=require("../modal/modal.component.js"),n=require("../heading/heading.component.js"),o=require("../../__internal__/full-screen-heading/full-screen-heading.component.js"),a=require("./dialog-full-screen.style.js"),s=require("./content.style.js"),i=require("../../__internal__/focus-trap/focus-trap.component.js"),u=require("../icon-button/icon-button.component.js"),c=require("../icon/icon.component.js"),d=require("../../hooks/__internal__/useLocale/useLocale.js"),p=require("../../hooks/__internal__/useModalAria/useModalAria.js"),f=require("../../__internal__/utils/helpers/tags/tags.js"),b=require("../../__internal__/utils/logger/index.js");function g(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function y(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},l=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(l=l.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),l.forEach((function(r){g(e,r,t[r])}))}return e}function j(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}let O=!1,h=!1;const m=g=>{var{"aria-describedby":m,"aria-label":_,"aria-labelledby":v,disableAutoFocus:C=!1,focusFirstElement:P,bespokeFocusTrap:w,open:x,children:S,title:q,subtitle:F,pagesStyling:k,headerChildren:D,showCloseIcon:E=!0,disableContentPadding:R,disableEscKey:M,onCancel:I,contentRef:T,help:A,role:K="dialog",focusableContainers:L,focusableSelectors:B,topModalOverride:H,closeButtonDataProps:W,restoreFocusOnClose:z=!0}=g,G=function(e,r){if(null==e)return{};var t,l,n=function(e,r){if(null==e)return{};var t,l,n={},o=Object.keys(e);for(l=0;l<o.length;l++)t=o[l],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l<o.length;l++)t=o[l],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}(g,["aria-describedby","aria-label","aria-labelledby","disableAutoFocus","focusFirstElement","bespokeFocusTrap","open","children","title","subtitle","pagesStyling","headerChildren","showCloseIcon","disableContentPadding","disableEscKey","onCancel","contentRef","help","role","focusableContainers","focusableSelectors","topModalOverride","closeButtonDataProps","restoreFocusOnClose"]);const J=d.default(),N=r.useRef(null),Q=r.useRef(null),{current:U}=r.useRef(t.default()),{current:V}=r.useRef(t.default()),X=p.default(N);!O&&(null==G?void 0:G.disableClose)&&(O=!0,b.default.deprecate("The disableClose prop in DialogFullScreen is deprecated and will soon be removed.")),!h&&(null==G?void 0:G.timeout)&&(h=!0,b.default.deprecate("The timeout prop in DialogFullScreen is deprecated and will soon be removed."));const Y={"aria-labelledby":q&&"string"==typeof q?U:v,"aria-describedby":F&&"string"==typeof F?V:m,"aria-label":_};return e.jsx(l.default,j(y({open:x,onCancel:I,disableEscKey:M,topModalOverride:H,restoreFocusOnClose:z},f.default("dialog-full-screen",G)),{children:e.jsx(i.default,{autoFocus:!C,focusFirstElement:P,bespokeTrap:w,wrapperRef:N,isOpen:x,additionalWrapperRefs:L,focusableSelectors:B,children:e.jsxs(a.default,j(y({"aria-modal":!("dialog"!==K||!X)||void 0},Y),{ref:N,"data-element":"dialog-full-screen",pagesStyling:k,role:K,children:[q||D?e.jsxs(o.default,{hasContent:!!q,ref:Q,children:["string"==typeof q?e.jsx(n.Heading,{"data-element":"dialog-title",title:q,titleId:U,subheader:F,subtitleId:V,divider:!1,help:A}):q,D]}):null,E&&I?e.jsx(u.default,j(y({"aria-label":J.dialogFullScreen.ariaLabels.close(),onClick:I},f.default("close",y({"data-element":"close"},W))),{children:e.jsx(c.default,{type:"close"})})):null,e.jsx(s.default,{hasHeader:void 0!==q,"data-element":"content","data-role":"dialog-full-screen-content",ref:T,disableContentPadding:R,children:S})]}))})}))};exports.DialogFullScreen=m,exports.default=m;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("../../__internal__/utils/helpers/guid/index.js"),l=require("../modal/modal.component.js"),n=require("../heading/heading.component.js"),o=require("../../__internal__/full-screen-heading/full-screen-heading.component.js"),a=require("./dialog-full-screen.style.js"),i=require("./content.style.js"),s=require("../../__internal__/focus-trap/focus-trap.component.js"),c=require("../icon-button/icon-button.component.js"),u=require("../icon/icon.component.js"),d=require("../../hooks/__internal__/useLocale/useLocale.js"),p=require("../../hooks/__internal__/useModalAria/useModalAria.js"),f=require("../../__internal__/utils/helpers/tags/tags.js"),b=require("../../__internal__/utils/logger/index.js");function g(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function y(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},l=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(l=l.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),l.forEach((function(r){g(e,r,t[r])}))}return e}function j(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}let O=!1,h=!1,m=!1;const _=g=>{var{"aria-describedby":_,"aria-label":v,"aria-labelledby":C,disableAutoFocus:P=!1,focusFirstElement:S,bespokeFocusTrap:w,open:x,children:F,title:q,subtitle:D,pagesStyling:k,headerChildren:E,showCloseIcon:R=!0,disableContentPadding:M,disableEscKey:T,onCancel:I,contentRef:A,help:K,role:L="dialog",focusableContainers:B,focusableSelectors:H,topModalOverride:W,closeButtonDataProps:z,restoreFocusOnClose:G=!0}=g,J=function(e,r){if(null==e)return{};var t,l,n=function(e,r){if(null==e)return{};var t,l,n={},o=Object.keys(e);for(l=0;l<o.length;l++)t=o[l],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l<o.length;l++)t=o[l],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}(g,["aria-describedby","aria-label","aria-labelledby","disableAutoFocus","focusFirstElement","bespokeFocusTrap","open","children","title","subtitle","pagesStyling","headerChildren","showCloseIcon","disableContentPadding","disableEscKey","onCancel","contentRef","help","role","focusableContainers","focusableSelectors","topModalOverride","closeButtonDataProps","restoreFocusOnClose"]);const N=d.default(),Q=r.useRef(null),U=r.useRef(null),{current:V}=r.useRef(t.default()),{current:X}=r.useRef(t.default()),Y=p.default(Q);!O&&(null==J?void 0:J.disableClose)&&(O=!0,b.default.deprecate("The disableClose prop in DialogFullScreen is deprecated and will soon be removed.")),!h&&(null==J?void 0:J.timeout)&&(h=!0,b.default.deprecate("The timeout prop in DialogFullScreen is deprecated and will soon be removed.")),!m&&k&&(m=!0,b.default.deprecate("The pagesStyling prop in DialogFullScreen is deprecated and will soon be removed."));const Z={"aria-labelledby":q&&"string"==typeof q?V:C,"aria-describedby":D&&"string"==typeof D?X:_,"aria-label":v};return e.jsx(l.default,j(y({open:x,onCancel:I,disableEscKey:T,topModalOverride:W,restoreFocusOnClose:G},f.default("dialog-full-screen",J)),{children:e.jsx(s.default,{autoFocus:!P,focusFirstElement:S,bespokeTrap:w,wrapperRef:Q,isOpen:x,additionalWrapperRefs:B,focusableSelectors:H,children:e.jsxs(a.default,j(y({"aria-modal":!("dialog"!==L||!Y)||void 0},Z),{ref:Q,"data-element":"dialog-full-screen",pagesStyling:k,role:L,children:[q||E?e.jsxs(o.default,{hasContent:!!q,ref:U,children:["string"==typeof q?e.jsx(n.Heading,{"data-element":"dialog-title",title:q,titleId:V,subheader:D,subtitleId:X,divider:!1,help:K}):q,E]}):null,R&&I?e.jsx(c.default,j(y({"aria-label":N.dialogFullScreen.ariaLabels.close(),onClick:I},f.default("close",y({"data-element":"close"},z))),{children:e.jsx(u.default,{type:"close"})})):null,e.jsx(i.default,{hasHeader:void 0!==q,"data-element":"content","data-role":"dialog-full-screen-content",ref:A,disableContentPadding:M,children:F})]}))})}))};exports.DialogFullScreen=_,exports.default=_;
@@ -38,6 +38,8 @@ export interface FileInputProps extends Pick<ValidationProps, "error">, Pick<Inp
38
38
  * @deprecated If the value of this component is not required, use the `required` prop and set it to false instead.
39
39
  */
40
40
  isOptional?: boolean;
41
+ /** Render the ValidationMessage above the FileInput */
42
+ validationMessagePositionTop?: boolean;
41
43
  }
42
44
  export declare const FileInput: React.ForwardRefExoticComponent<FileInputProps & React.RefAttributes<HTMLInputElement>>;
43
45
  export default FileInput;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");require("../../style/utils/filter-styled-system-padding-props.js");var r=require("../../style/utils/filter-styled-system-margin-props.js"),n=require("../../__internal__/input-behaviour/input-behaviour.component.js"),i=require("../../__internal__/form-field/form-field.component.js"),a=require("../../hooks/__internal__/useUniqueId/index.js"),o=require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js"),l=require("../../__internal__/validation-message/validation-message.component.js"),s=require("./file-input.style.js"),u=require("../textbox/textbox.style.js"),d=require("../button-minor/button-minor.component.js"),p=require("../typography/typography.component.js"),c=require("./__internal__/file-upload-status/file-upload-status.component.js"),f=require("../box/box.component.js"),m=require("../../hooks/__internal__/useLocale/useLocale.js"),v=require("../../__internal__/hint-text/hint-text.component.js"),y=require("../../__internal__/utils/logger/index.js");function g(e){return e&&e.__esModule?e:{default:e}}function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function j(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){b(e,t,r[t])}))}return e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}let x=!1;const _=g(t).default.forwardRef(((g,b)=>{var{accept:_,buttonText:O,"data-element":q,"data-role":I,dragAndDropText:D,error:P,label:S,id:w,inputHint:F,isVertical:E,maxHeight:H,maxWidth:T,minHeight:k,minWidth:L="280px",name:A,onChange:W,required:R,isOptional:C,uploadStatus:B=[]}=g,M=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(g,["accept","buttonText","data-element","data-role","dragAndDropText","error","label","id","inputHint","isVertical","maxHeight","maxWidth","minHeight","minWidth","name","onChange","required","isOptional","uploadStatus"]);!x&&C&&(x=!0,y.default.deprecate("`isOptional` is deprecated in FileInput and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const U=m.default(),V=O||U.fileInput.selectFile(),N=D||U.fileInput.dragAndDrop(),z={maxHeight:H||void 0,maxWidth:T||L,minHeight:k,minWidth:L},[G,J]=a.default(w,A),[K,Q]=t.useState(!1),[X,Y]=t.useState(!1),Z=t.useRef(null),$=e=>{var t;e.preventDefault(),(null===(t=e.dataTransfer)||void 0===t?void 0:t.types.includes("Files"))&&Y(!0)},ee=e=>{e.preventDefault(),Y(!1)};t.useEffect((()=>(document.addEventListener("dragover",$),document.addEventListener("drop",ee),document.addEventListener("dragleave",ee),()=>{document.removeEventListener("dragover",$),document.removeEventListener("drop",ee),document.removeEventListener("dragleave",ee)})),[]);const te=e=>{null==W||W(e)},{labelId:re,validationId:ne}=o.default({id:G,validationRedesignOptIn:!0,error:P,label:S}),ie=Array.isArray(B)?B:[B],ae=e.jsxs(e.Fragment,{children:[F&&e.jsx(v.HintText,{children:F}),e.jsxs(f.Box,{position:"relative",children:[e.jsx(l.default,{error:P,validationId:ne}),P&&e.jsx(u.default,{warning:!1}),e.jsx(s.StyledHiddenFileInput,j(h(j({},R&&{required:R}),{accept:_,"aria-invalid":!!P,id:G,ref:e=>{Z.current=e,"function"==typeof b?b(e):b&&(b.current=e)},name:J,onChange:e=>{te(e.target.files)},type:"file"}),M)),e.jsxs(s.StyledFileInputPresentation,h(j({"data-role":"file-input-presentation",isDraggedOver:K,isDraggingFile:X,error:P,onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),Q(!1)},onDragOver:e=>{var t;e.preventDefault(),(null===(t=e.dataTransfer)||void 0===t?void 0:t.types.includes("Files"))&&Q(!0)},onDrop:e=>{e.preventDefault(),Q(!1),te(e.dataTransfer.files)},isVertical:E},z),{children:[e.jsx(d.ButtonMinor,{buttonType:"primary",onClick:()=>{var e;null===(e=Z.current)||void 0===e||e.click()},children:V}),e.jsx(p.Typography,{m:0,children:N})]}))]})]});return e.jsx(n.InputBehaviour,{children:e.jsx(i.default,h(j({error:P,label:S,labelId:re,id:G,isRequired:R,isOptional:C,"data-component":"file-input","data-role":I,"data-element":q,validationRedesignOptIn:!0},r.default(M)),{children:0===ie.length?ae:ie.map((r=>t.createElement(s.StyledFileInputPresentation,h(j({hasUploadStatus:!0},z),{key:r.filename}),e.jsx(c.FileUploadStatus,j({},r)))))}))})}));_.displayName="FileInput",exports.FileInput=_,exports.default=_;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");require("../../style/utils/filter-styled-system-padding-props.js");var r=require("../../style/utils/filter-styled-system-margin-props.js"),n=require("../../__internal__/input-behaviour/input-behaviour.component.js"),i=require("../../__internal__/form-field/form-field.component.js"),a=require("../../hooks/__internal__/useUniqueId/index.js"),o=require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js"),l=require("../../__internal__/validation-message/validation-message.component.js"),s=require("./file-input.style.js"),u=require("../textbox/textbox.style.js"),d=require("../button-minor/button-minor.component.js"),p=require("../typography/typography.component.js"),c=require("./__internal__/file-upload-status/file-upload-status.component.js"),f=require("../box/box.component.js"),m=require("../../hooks/__internal__/useLocale/useLocale.js"),g=require("../../__internal__/hint-text/hint-text.component.js"),v=require("../../__internal__/utils/logger/index.js");function y(e){return e&&e.__esModule?e:{default:e}}function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(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){j(e,t,r[t])}))}return e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}let x=!1;const _=y(t).default.forwardRef(((y,j)=>{var{accept:_,buttonText:O,"data-element":q,"data-role":I,dragAndDropText:P,error:D,label:w,id:S,inputHint:F,isVertical:T,maxHeight:E,maxWidth:H,minHeight:k,minWidth:L="280px",name:A,onChange:M,required:W,isOptional:R,uploadStatus:C=[],validationMessagePositionTop:B=!0}=y,U=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(y,["accept","buttonText","data-element","data-role","dragAndDropText","error","label","id","inputHint","isVertical","maxHeight","maxWidth","minHeight","minWidth","name","onChange","required","isOptional","uploadStatus","validationMessagePositionTop"]);!x&&R&&(x=!0,v.default.deprecate("`isOptional` is deprecated in FileInput and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const V=m.default(),N=O||V.fileInput.selectFile(),z=P||V.fileInput.dragAndDrop(),G={maxHeight:E||void 0,maxWidth:H||L,minHeight:k,minWidth:L},[J,K]=a.default(S,A),[Q,X]=t.useState(!1),[Y,Z]=t.useState(!1),$=t.useRef(null),ee=e=>{var t;e.preventDefault(),(null===(t=e.dataTransfer)||void 0===t?void 0:t.types.includes("Files"))&&Z(!0)},te=e=>{e.preventDefault(),Z(!1)};t.useEffect((()=>(document.addEventListener("dragover",ee),document.addEventListener("drop",te),document.addEventListener("dragleave",te),()=>{document.removeEventListener("dragover",ee),document.removeEventListener("drop",te),document.removeEventListener("dragleave",te)})),[]);const re=e=>{null==M||M(e)},{labelId:ne,validationId:ie}=o.default({id:J,validationRedesignOptIn:!0,error:D,label:w}),ae=Array.isArray(C)?C:[C],oe=e.jsxs(e.Fragment,{children:[F&&e.jsx(g.HintText,{children:F}),e.jsxs(f.Box,{position:"relative",children:[B&&e.jsxs(e.Fragment,{children:[e.jsx(l.default,{error:D,validationId:ie,validationMessagePositionTop:B,"data-role":"validation-message-top"}),D&&e.jsx(u.default,{warning:!1})]}),e.jsx(s.StyledHiddenFileInput,b(h(b({},W&&{required:W}),{accept:_,"aria-invalid":!!D,id:J,ref:e=>{$.current=e,"function"==typeof j?j(e):j&&(j.current=e)},name:K,onChange:e=>{re(e.target.files)},type:"file"}),U)),e.jsxs(s.StyledFileInputPresentation,h(b({"data-role":"file-input-presentation",isDraggedOver:Q,isDraggingFile:Y,error:D,onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),X(!1)},onDragOver:e=>{var t;e.preventDefault(),(null===(t=e.dataTransfer)||void 0===t?void 0:t.types.includes("Files"))&&X(!0)},onDrop:e=>{e.preventDefault(),X(!1),re(e.dataTransfer.files)},isVertical:T},G),{children:[e.jsx(d.ButtonMinor,{buttonType:"primary",onClick:()=>{var e;null===(e=$.current)||void 0===e||e.click()},children:N}),e.jsx(p.Typography,{m:0,children:z})]})),!B&&e.jsxs(e.Fragment,{children:[e.jsx(l.default,{error:D,validationId:ie,validationMessagePositionTop:B,"data-role":"validation-message-bottom"}),D&&e.jsx(u.default,{warning:!1})]})]})]});return e.jsx(n.InputBehaviour,{children:e.jsx(i.default,h(b({error:D,label:w,labelId:ne,id:J,isRequired:W,isOptional:R,"data-component":"file-input","data-role":I,"data-element":q,validationRedesignOptIn:!0},r.default(U)),{children:0===ae.length?oe:ae.map((r=>t.createElement(s.StyledFileInputPresentation,h(b({hasUploadStatus:!0},G),{key:r.filename}),e.jsx(c.FileUploadStatus,b({},r)))))}))})}));_.displayName="FileInput",exports.FileInput=_,exports.default=_;
@@ -85,6 +85,8 @@ export interface NumeralDateProps extends ValidationProps, MarginProps, TagProps
85
85
  * @deprecated If the value of this component is not required, use the `required` prop and set it to false instead.
86
86
  */
87
87
  isOptional?: boolean;
88
+ /** Render the ValidationMessage above the NumeralDate inputs when validationRedesignOptIn flag is set */
89
+ validationMessagePositionTop?: boolean;
88
90
  }
89
91
  export type ValidDateFormat = (typeof ALLOWED_DATE_FORMATS)[number];
90
92
  export type NumeralDateHandle = {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("invariant"),n=require("../../__internal__/utils/helpers/tags/tags.js");require("../../style/utils/filter-styled-system-padding-props.js");var l=require("../../style/utils/filter-styled-system-margin-props.js"),a=require("../../__internal__/utils/helpers/events/events.js"),i=require("./numeral-date.style.js"),o=require("../textbox/textbox.component.js"),d=require("../box/box.component.js"),s=require("../textbox/textbox.style.js"),u=require("../../__internal__/validation-message/validation-message.component.js"),c=require("../../__internal__/utils/helpers/guid/index.js"),y=require("../../hooks/__internal__/useLocale/useLocale.js"),m=require("../../__internal__/tooltip-provider/index.js"),f=require("../carbon-provider/__internal__/new-validation.context.js"),p=require("./__internal__/numeral-date.context.js"),b=require("../../__internal__/utils/logger/index.js"),g=require("../../__internal__/field-help/field-help.component.js"),v=require("../../hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js"),_=require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js"),h=require("../../__internal__/hint-text/hint-text.component.js");function j(e){return e&&e.__esModule?e:{default:e}}var O=j(r);function x(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function w(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){x(e,t,r[t])}))}return e}function D(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}let q=!1;const I=[["dd","mm","yyyy"],["mm","dd","yyyy"],["yyyy","mm","dd"],["dd","mm"],["mm","dd"],["mm","yyyy"]],P=e=>{const t=(new Date).getFullYear(),{format:r}=new Intl.DateTimeFormat(e,{month:"long"});return[...Array(12).keys()].map((e=>r(new Date(Date.UTC(t,e)))))},S=(e,t,r)=>({dd:e.numeralDate.validation.day(t?P(e.locale())[+t-1]:void 0,r),mm:e.numeralDate.validation.month(),yyyy:e.numeralDate.validation.year()}),k=(e,t)=>{switch(e){case"mm":return t.numeralDate.labels.month();case"yyyy":return t.numeralDate.labels.year();default:return t.numeralDate.labels.day()}};let A=!1;const R=t.forwardRef(((r,j)=>{var{dateFormat:x=["dd","mm","yyyy"],defaultValue:P,disabled:R,error:F="",warning:B="",info:E,id:L,name:H,onBlur:T,onChange:N,value:M,validationOnLabel:W=!1,label:z,labelInline:C,labelWidth:K,labelAlign:V,fieldLabelsAlign:Y,labelHelp:J,labelSpacing:U,fieldHelp:$,adaptiveLabelBreakpoint:G,required:Q,isOptional:X,readOnly:Z,size:ee="medium",enableInternalError:te,enableInternalWarning:re,tooltipPosition:ne,helpAriaLabel:le,dayRef:ae,monthRef:ie,yearRef:oe}=r,de=function(e,t){if(null==e)return{};var r,n,l=function(e,t){if(null==e)return{};var r,n,l={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}(r,["dateFormat","defaultValue","disabled","error","warning","info","id","name","onBlur","onChange","value","validationOnLabel","label","labelInline","labelWidth","labelAlign","fieldLabelsAlign","labelHelp","labelSpacing","fieldHelp","adaptiveLabelBreakpoint","required","isOptional","readOnly","size","enableInternalError","enableInternalWarning","tooltipPosition","helpAriaLabel","dayRef","monthRef","yearRef"]);!A&&X&&(A=!0,b.default.deprecate("`isOptional` is deprecated in NumeralDate and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const se=y.default(),{validationRedesignOptIn:ue}=t.useContext(f.default),{current:ce}=t.useRef(L||c.default()),ye=t.useRef({dd:c.default(),mm:c.default(),yyyy:c.default()}),me=t.useRef(c.default()),fe=t.useRef(void 0!==M),pe=fe.current?M:P,be=t.useRef(x.map((()=>null)));t.useImperativeHandle(j,(()=>({focus:()=>{var e;null===(e=be.current[0])||void 0===e||e.focus()}})));const[ge,ve]=t.useState(w({},Object.fromEntries(x.map((e=>[e,""]))))),_e=t.useMemo((()=>!x||I.find((e=>JSON.stringify(e)===JSON.stringify(x)))),[x]);O.default(_e,"Forbidden prop dateFormat supplied to NumeralDate. Only one of these date formats is allowed: ['dd', 'mm', 'yyyy'], ['mm', 'dd', 'yyyy'], ['yyyy', 'mm', 'dd'], ['dd', 'mm'], ['mm', 'dd'], ['mm', 'yyyy']"),t.useEffect((()=>{O.default(fe.current===(void 0!==M),"Input elements should not switch from uncontrolled to controlled (or vice versa). Decide between using a controlled or uncontrolled input element for the lifetime of the component")}),[M]);const[he,je]=t.useState(w({},pe||Object.fromEntries(x.map((e=>[e,""]))))),Oe=e=>({target:{name:H,id:ce,value:e}}),xe=e=>{a.default.isNumberKey(e)||a.default.isTabKey(e)||a.default.isEnterKey(e)||"Delete"===e.key||"Backspace"===e.key||e.preventDefault()},we=()=>{(te||re)&&ve((e=>w({},e,((e,{dd:t,mm:r,yyyy:n})=>{const l={dd:"",mm:"",yyyy:""},a=((e,t)=>{if(!e||+e>12||+e<1)return 31;const r=new Date,n=+(t||r.getFullYear());return new Date(n,+e,0).getDate()})(r,n);return t&&(+t>a||+t<1)&&(l.dd=S(e,r,String(a)).dd),r&&(+r>12||+r<1)&&(l.mm=S(e).mm),n&&(+n<1800||+n>2200)&&(l.yyyy=S(e).yyyy),l})(se,he)))),setTimeout((()=>{const e=!be.current.find((e=>e===document.activeElement));T&&e&&T(Oe(he))}),5)},De=Object.keys(ge).reduce(((e,t)=>ge[t]?`${e+ge[t]}\n`:e),""),qe=te?De+F:F,Ie=re?De+B:B;q||fe.current||(q=!0,b.default.deprecate("Uncontrolled behaviour in `Numeral Date` is deprecated and support will soon be removed. Please make sure all your inputs are controlled."));const Pe=v.default(G);let Se=C;G&&(Se=Pe);const{validationId:ke,fieldHelpId:Ae,ariaDescribedBy:Re}=_.default({id:ce,validationRedesignOptIn:!0,error:qe,warning:Ie,info:E,fieldHelp:$}),Fe=[Re,me.current].filter(Boolean).join(" "),Be=()=>e.jsx(i.StyledNumeralDate,{onKeyDown:xe,children:x.map(((t,r)=>{const n=r===x.length-1;let l;const a=qe||Ie||E,d=!ue&&"string"==typeof a&&""!==a;switch(t.slice(0,2)){case"dd":l=ae;break;case"mm":l=ie;break;case"yy":l=oe}return e.jsx(p.default.Provider,{value:{disableErrorBorder:!0},children:e.jsx(i.StyledDateField,{size:ee,isYearInput:4===t.length,hasValidationIconInField:!W&&n&&d,children:e.jsx(o.Textbox,D(w({id:ye.current[t],label:k(t,se),labelAlign:Y,disabled:R,readOnly:Z,error:!!qe,warning:!!Ie,info:!!E,size:ee,value:he[t],onChange:e=>((e,t)=>{const{value:r}=e.target;if(r.length<=t.length){const e=D(w({},he),{[t]:r});je(e),N&&N(Oe(e))}})(e,t),onBlur:we,ref:e=>((e,t,r)=>{be.current[t]=e,r&&("function"==typeof r?r(e):r.current=e)})(e,r,l)},n&&!W&&!ue&&{error:qe,warning:Ie,info:E}),{tooltipPosition:ne,tooltipId:ke,my:0}))},t)},t)}))});return ue?e.jsxs(i.StyledFieldset,D(w({id:ce,legend:z,legendMargin:{mb:0},legendAlign:V,isRequired:Q,isOptional:X,isDisabled:R,name:H,"aria-describedby":Fe},l.default(de),n.default("numeral-date",de)),{children:[J&&e.jsx(h.HintText,{align:V,id:me.current,children:J}),e.jsxs(d.Box,{position:"relative",mt:J?0:1,children:[(qe||Ie)&&e.jsxs(e.Fragment,{children:[e.jsx(u.default,{error:qe,warning:Ie,validationId:ke}),e.jsx(s.default,{warning:!(qe||!Ie)})]}),Be()]})]})):e.jsx(m.TooltipProvider,{helpAriaLabel:le,children:e.jsx(i.StyledFieldset,D(w({id:ce,legend:z,legendMargin:{mb:0},isRequired:Q,isOptional:X,isDisabled:R,name:H,error:W&&qe,warning:W&&Ie,info:W&&E,inline:Se,size:ee,labelHelp:J,legendAlign:V,legendWidth:K,legendSpacing:U,validationId:ke,"aria-describedby":W?Re:Ae},l.default(de),n.default("numeral-date",de)),{children:e.jsxs(d.Box,{display:"flex",flexDirection:"column",mt:Se?0:1,children:[Be(),$&&e.jsx(g.FieldHelp,{id:Ae,children:$})]})}))})}));exports.ALLOWED_DATE_FORMATS=I,exports.NumeralDate=R,exports.default=R;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("invariant"),n=require("../../__internal__/utils/helpers/tags/tags.js");require("../../style/utils/filter-styled-system-padding-props.js");var l=require("../../style/utils/filter-styled-system-margin-props.js"),i=require("../../__internal__/utils/helpers/events/events.js"),a=require("./numeral-date.style.js"),o=require("../textbox/textbox.component.js"),d=require("../box/box.component.js"),s=require("../textbox/textbox.style.js"),u=require("../../__internal__/validation-message/validation-message.component.js"),c=require("../../__internal__/utils/helpers/guid/index.js"),y=require("../../hooks/__internal__/useLocale/useLocale.js"),m=require("../../__internal__/tooltip-provider/index.js"),f=require("../carbon-provider/__internal__/new-validation.context.js"),p=require("./__internal__/numeral-date.context.js"),b=require("../../__internal__/utils/logger/index.js"),g=require("../../__internal__/field-help/field-help.component.js"),v=require("../../hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js"),j=require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js"),h=require("../../__internal__/hint-text/hint-text.component.js");function _(e){return e&&e.__esModule?e:{default:e}}var O=_(r);function x(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function w(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){x(e,t,r[t])}))}return e}function D(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}let q=!1;const I=[["dd","mm","yyyy"],["mm","dd","yyyy"],["yyyy","mm","dd"],["dd","mm"],["mm","dd"],["mm","yyyy"]],P=e=>{const t=(new Date).getFullYear(),{format:r}=new Intl.DateTimeFormat(e,{month:"long"});return[...Array(12).keys()].map((e=>r(new Date(Date.UTC(t,e)))))},S=(e,t,r)=>({dd:e.numeralDate.validation.day(t?P(e.locale())[+t-1]:void 0,r),mm:e.numeralDate.validation.month(),yyyy:e.numeralDate.validation.year()}),k=(e,t)=>{switch(e){case"mm":return t.numeralDate.labels.month();case"yyyy":return t.numeralDate.labels.year();default:return t.numeralDate.labels.day()}};let A=!1;const R=t.forwardRef(((r,_)=>{var{dateFormat:x=["dd","mm","yyyy"],defaultValue:P,disabled:R,error:F="",warning:B="",info:E,id:L,name:T,onBlur:H,onChange:M,value:N,validationOnLabel:W=!1,label:z,labelInline:C,labelWidth:K,labelAlign:V,fieldLabelsAlign:Y,labelHelp:J,labelSpacing:U,fieldHelp:$,adaptiveLabelBreakpoint:G,required:Q,isOptional:X,readOnly:Z,size:ee="medium",enableInternalError:te,enableInternalWarning:re,tooltipPosition:ne,helpAriaLabel:le,dayRef:ie,monthRef:ae,yearRef:oe,validationMessagePositionTop:de=!0}=r,se=function(e,t){if(null==e)return{};var r,n,l=function(e,t){if(null==e)return{};var r,n,l={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(l[r]=e[r]);return l}(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)&&(l[r]=e[r])}return l}(r,["dateFormat","defaultValue","disabled","error","warning","info","id","name","onBlur","onChange","value","validationOnLabel","label","labelInline","labelWidth","labelAlign","fieldLabelsAlign","labelHelp","labelSpacing","fieldHelp","adaptiveLabelBreakpoint","required","isOptional","readOnly","size","enableInternalError","enableInternalWarning","tooltipPosition","helpAriaLabel","dayRef","monthRef","yearRef","validationMessagePositionTop"]);!A&&X&&(A=!0,b.default.deprecate("`isOptional` is deprecated in NumeralDate and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const ue=y.default(),{validationRedesignOptIn:ce}=t.useContext(f.default),{current:ye}=t.useRef(L||c.default()),me=t.useRef({dd:c.default(),mm:c.default(),yyyy:c.default()}),fe=t.useRef(c.default()),pe=t.useRef(void 0!==N),be=pe.current?N:P,ge=t.useRef(x.map((()=>null)));t.useImperativeHandle(_,(()=>({focus:()=>{var e;null===(e=ge.current[0])||void 0===e||e.focus()}})));const[ve,je]=t.useState(w({},Object.fromEntries(x.map((e=>[e,""]))))),he=t.useMemo((()=>!x||I.find((e=>JSON.stringify(e)===JSON.stringify(x)))),[x]);O.default(he,"Forbidden prop dateFormat supplied to NumeralDate. Only one of these date formats is allowed: ['dd', 'mm', 'yyyy'], ['mm', 'dd', 'yyyy'], ['yyyy', 'mm', 'dd'], ['dd', 'mm'], ['mm', 'dd'], ['mm', 'yyyy']"),t.useEffect((()=>{O.default(pe.current===(void 0!==N),"Input elements should not switch from uncontrolled to controlled (or vice versa). Decide between using a controlled or uncontrolled input element for the lifetime of the component")}),[N]);const[_e,Oe]=t.useState(w({},be||Object.fromEntries(x.map((e=>[e,""]))))),xe=e=>({target:{name:T,id:ye,value:e}}),we=e=>{i.default.isNumberKey(e)||i.default.isTabKey(e)||i.default.isEnterKey(e)||"Delete"===e.key||"Backspace"===e.key||e.preventDefault()},De=()=>{(te||re)&&je((e=>w({},e,((e,{dd:t,mm:r,yyyy:n})=>{const l={dd:"",mm:"",yyyy:""},i=((e,t)=>{if(!e||+e>12||+e<1)return 31;const r=new Date,n=+(t||r.getFullYear());return new Date(n,+e,0).getDate()})(r,n);return t&&(+t>i||+t<1)&&(l.dd=S(e,r,String(i)).dd),r&&(+r>12||+r<1)&&(l.mm=S(e).mm),n&&(+n<1800||+n>2200)&&(l.yyyy=S(e).yyyy),l})(ue,_e)))),setTimeout((()=>{const e=!ge.current.find((e=>e===document.activeElement));H&&e&&H(xe(_e))}),5)},qe=Object.keys(ve).reduce(((e,t)=>ve[t]?`${e+ve[t]}\n`:e),""),Ie=te?qe+F:F,Pe=re?qe+B:B;q||pe.current||(q=!0,b.default.deprecate("Uncontrolled behaviour in `Numeral Date` is deprecated and support will soon be removed. Please make sure all your inputs are controlled."));const Se=v.default(G);let ke=C;G&&(ke=Se);const{validationId:Ae,fieldHelpId:Re,ariaDescribedBy:Fe}=j.default({id:ye,validationRedesignOptIn:!0,error:Ie,warning:Pe,info:E,fieldHelp:$}),Be=(ce&&de?[Fe,fe.current]:[fe.current,Fe]).filter(Boolean).join(" "),Ee=()=>e.jsx(a.StyledNumeralDate,{onKeyDown:we,children:x.map(((t,r)=>{const n=r===x.length-1;let l;const i=Ie||Pe||E,d=!ce&&"string"==typeof i&&""!==i;switch(t.slice(0,2)){case"dd":l=ie;break;case"mm":l=ae;break;case"yy":l=oe}return e.jsx(p.default.Provider,{value:{disableErrorBorder:!0},children:e.jsx(a.StyledDateField,{size:ee,isYearInput:4===t.length,hasValidationIconInField:!W&&n&&d,children:e.jsx(o.Textbox,D(w({id:me.current[t],label:k(t,ue),labelAlign:Y,disabled:R,readOnly:Z,error:!!Ie,warning:!!Pe,info:!!E,size:ee,value:_e[t],onChange:e=>((e,t)=>{const{value:r}=e.target;if(r.length<=t.length){const e=D(w({},_e),{[t]:r});Oe(e),M&&M(xe(e))}})(e,t),onBlur:De,ref:e=>((e,t,r)=>{ge.current[t]=e,r&&("function"==typeof r?r(e):r.current=e)})(e,r,l)},n&&!W&&!ce&&{error:Ie,warning:Pe,info:E}),{tooltipPosition:ne,tooltipId:Ae,my:0}))},t)},t)}))});return ce?e.jsxs(a.StyledFieldset,D(w({id:ye,legend:z,legendMargin:{mb:0},legendAlign:V,isRequired:Q,isOptional:X,isDisabled:R,name:T,"aria-describedby":Be},l.default(se),n.default("numeral-date",se)),{children:[J&&e.jsx(h.HintText,{align:V,id:fe.current,children:J}),e.jsxs(d.Box,{position:"relative",mt:J?0:1,children:[de&&(Ie||Pe)&&e.jsxs(e.Fragment,{children:[e.jsx(u.default,{error:Ie,warning:Pe,validationId:Ae,validationMessagePositionTop:de}),e.jsx(s.default,{warning:!(Ie||!Pe)})]}),Ee(),!de&&(Ie||Pe)&&e.jsxs(e.Fragment,{children:[e.jsx(u.default,{error:Ie,warning:Pe,validationId:Ae,validationMessagePositionTop:de}),e.jsx(s.default,{warning:!(Ie||!Pe)})]})]})]})):e.jsx(m.TooltipProvider,{helpAriaLabel:le,children:e.jsx(a.StyledFieldset,D(w({id:ye,legend:z,legendMargin:{mb:0},isRequired:Q,isOptional:X,isDisabled:R,name:T,error:W&&Ie,warning:W&&Pe,info:W&&E,inline:ke,size:ee,labelHelp:J,legendAlign:V,legendWidth:K,legendSpacing:U,validationId:Ae,"aria-describedby":W?Fe:Re},l.default(se),n.default("numeral-date",se)),{children:e.jsxs(d.Box,{display:"flex",flexDirection:"column",mt:ke?0:1,children:[Ee(),$&&e.jsx(g.FieldHelp,{id:Re,children:$})]})}))})}));exports.ALLOWED_DATE_FORMATS=I,exports.NumeralDate=R,exports.default=R;
@@ -50,9 +50,11 @@ export interface RadioButtonGroupProps extends ValidationProps, MarginProps, Tag
50
50
  value?: string;
51
51
  /** [Legacy] Overrides the default tooltip position */
52
52
  tooltipPosition?: "top" | "bottom" | "left" | "right";
53
+ /** Render the ValidationMessage above the RadioButton inputs when validationRedesignOptIn flag is set */
54
+ validationMessagePositionTop?: boolean;
53
55
  }
54
56
  export declare const RadioButtonGroup: {
55
- ({ children, id, name, legend, legendHelp, error, warning, info, onBlur, onChange, value, inline, legendInline, legendWidth, legendAlign, legendSpacing, labelSpacing, adaptiveLegendBreakpoint, adaptiveSpacingBreakpoint, required, isOptional, tooltipPosition, ...rest }: RadioButtonGroupProps): React.JSX.Element;
57
+ ({ children, id, name, legend, legendHelp, error, warning, info, onBlur, onChange, value, inline, legendInline, legendWidth, legendAlign, legendSpacing, labelSpacing, adaptiveLegendBreakpoint, adaptiveSpacingBreakpoint, required, isOptional, tooltipPosition, validationMessagePositionTop, ...rest }: RadioButtonGroupProps): React.JSX.Element;
56
58
  displayName: string;
57
59
  };
58
60
  export default RadioButtonGroup;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),r=require("../../../__internal__/utils/helpers/tags/tags.js"),t=require("../../../__internal__/fieldset/fieldset.component.js"),i=require("./radio-button-group.style.js"),o=require("../../../__internal__/radio-button-mapper/radio-button-mapper.component.js"),l=require("../../../hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js");require("../../../style/utils/filter-styled-system-padding-props.js");var a=require("../../../style/utils/filter-styled-system-margin-props.js"),d=require("../../../__internal__/tooltip-provider/index.js"),u=require("../../../__internal__/utils/logger/index.js"),s=require("../../carbon-provider/__internal__/new-validation.context.js"),p=require("../../../__internal__/validation-message/validation-message.component.js"),c=require("../../box/box.component.js"),g=require("../../../__internal__/utils/helpers/guid/index.js"),f=require("../../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js"),b=require("../../textbox/textbox.style.js"),j=require("../../../__internal__/hint-text/hint-text.component.js");function _(e){return e&&e.__esModule?e:{default:e}}var m=_(n);function v(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function h(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{},t=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),t.forEach((function(n){v(e,n,r[n])}))}return e}function y(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n}(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})),e}let O=!1,x=!1;const q=_=>{var{children:v,id:q,name:w,legend:B,legendHelp:P,error:I,warning:S,info:k,onBlur:R,onChange:A,value:C,inline:E=!1,legendInline:D=!1,legendWidth:G,legendAlign:H="left",legendSpacing:T,labelSpacing:W=1,adaptiveLegendBreakpoint:L,adaptiveSpacingBreakpoint:M,required:V,isOptional:F,tooltipPosition:N}=_,U=function(e,n){if(null==e)return{};var r,t,i=function(e,n){if(null==e)return{};var r,t,i={},o=Object.keys(e);for(t=0;t<o.length;t++)r=o[t],n.indexOf(r)>=0||(i[r]=e[r]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)r=o[t],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(_,["children","id","name","legend","legendHelp","error","warning","info","onBlur","onChange","value","inline","legendInline","legendWidth","legendAlign","legendSpacing","labelSpacing","adaptiveLegendBreakpoint","adaptiveSpacingBreakpoint","required","isOptional","tooltipPosition"]);!x&&F&&(x=!0,u.default.deprecate("`isOptional` is deprecated in RadioButtonGroup and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const{validationRedesignOptIn:$}=n.useContext(s.default),z=n.useRef(g.default()),J=q||z.current,K=P?`${J}-hint`:void 0;O||A||(O=!0,u.default.deprecate("Uncontrolled behaviour in `Radio Button` is deprecated and support will soon be removed. Please make sure all your inputs are controlled."));const Q=a.default(U),X=l.default(L),Y=l.default(M);let Z=D;L&&(Z=!!X);let ee=Q.ml;M&&!Y&&(ee=void 0);const{validationId:ne,ariaDescribedBy:re}=f.default({id:J,validationRedesignOptIn:!0,error:I,warning:S,info:k}),te=[re,K].filter(Boolean).join(" ");return e.jsx(e.Fragment,{children:$?e.jsxs(t.default,y(h(y(h({legend:B,error:I,warning:S,legendAlign:H,isRequired:V,isOptional:F,width:"fit-content"},r.default("radiogroup",U),Q),{ml:ee,blockGroupBehaviour:!(I||S)}),te&&{"aria-describedby":te}),{children:[P&&e.jsx(j.HintText,{align:H,id:K,marginTop:"-4px",children:P}),e.jsxs(c.Box,{position:"relative",children:[e.jsx(p.default,{error:I,warning:S,validationId:ne}),(I||S)&&e.jsx(b.default,{"data-role":"radio-error-border",inline:E,warning:!(I||!S)}),e.jsx(i.default,{"data-component":"radio-button-group",role:"radiogroup",inline:E,legendInline:Z,children:e.jsx(o.default,{name:w,onBlur:R,onChange:A,value:C,children:m.default.Children.map(v,(e=>m.default.isValidElement(e)?m.default.cloneElement(e,h({inline:E,labelSpacing:W,error:!!I,warning:!!S},e.props)):e))})})]})]})):e.jsx(d.TooltipProvider,{tooltipPosition:N,children:e.jsx(t.default,y(h({legend:B,error:I,warning:S,info:k,inline:Z,legendWidth:G,legendAlign:H,legendSpacing:T,isRequired:V,isOptional:F},r.default("radiogroup",U),Q),{ml:ee,blockGroupBehaviour:!(I||S||k),"aria-describedby":re,validationId:ne,children:e.jsx(i.default,{"data-component":"radio-button-group",role:"radiogroup",inline:E,legendInline:Z,children:e.jsx(o.default,{name:w,onBlur:R,onChange:A,value:C,children:m.default.Children.map(v,(e=>m.default.isValidElement(e)?m.default.cloneElement(e,h({inline:E,labelSpacing:W,error:!!I,warning:!!S,info:!!k},e.props)):e))})})}))})})};q.displayName="RadioButtonGroup",exports.RadioButtonGroup=q,exports.default=q;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),r=require("../../../__internal__/utils/helpers/tags/tags.js"),i=require("../../../__internal__/fieldset/fieldset.component.js"),t=require("./radio-button-group.style.js"),o=require("../../../__internal__/radio-button-mapper/radio-button-mapper.component.js"),l=require("../../../hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js");require("../../../style/utils/filter-styled-system-padding-props.js");var a=require("../../../style/utils/filter-styled-system-margin-props.js"),d=require("../../../__internal__/tooltip-provider/index.js"),s=require("../../../__internal__/utils/logger/index.js"),u=require("../../carbon-provider/__internal__/new-validation.context.js"),p=require("../../../__internal__/validation-message/validation-message.component.js"),c=require("../../box/box.component.js"),g=require("../../../__internal__/utils/helpers/guid/index.js"),f=require("../../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js"),b=require("../../textbox/textbox.style.js"),j=require("../../../__internal__/hint-text/hint-text.component.js");function v(e){return e&&e.__esModule?e:{default:e}}var _=v(n);function m(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function h(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{},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(n){m(e,n,r[n])}))}return e}function y(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n}(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})),e}let x=!1,O=!1;const w=v=>{var{children:m,id:w,name:q,legend:P,legendHelp:B,error:I,warning:S,info:k,onBlur:R,onChange:A,value:C,inline:E=!1,legendInline:T=!1,legendWidth:M,legendAlign:D="left",legendSpacing:G,labelSpacing:F=1,adaptiveLegendBreakpoint:H,adaptiveSpacingBreakpoint:W,required:L,isOptional:V,tooltipPosition:N,validationMessagePositionTop:U=!0}=v,$=function(e,n){if(null==e)return{};var r,i,t=function(e,n){if(null==e)return{};var r,i,t={},o=Object.keys(e);for(i=0;i<o.length;i++)r=o[i],n.indexOf(r)>=0||(t[r]=e[r]);return t}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)r=o[i],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(t[r]=e[r])}return t}(v,["children","id","name","legend","legendHelp","error","warning","info","onBlur","onChange","value","inline","legendInline","legendWidth","legendAlign","legendSpacing","labelSpacing","adaptiveLegendBreakpoint","adaptiveSpacingBreakpoint","required","isOptional","tooltipPosition","validationMessagePositionTop"]);!O&&V&&(O=!0,s.default.deprecate("`isOptional` is deprecated in RadioButtonGroup and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const{validationRedesignOptIn:z}=n.useContext(u.default),J=n.useRef(g.default()),K=w||J.current,Q=B?`${K}-hint`:void 0;x||A||(x=!0,s.default.deprecate("Uncontrolled behaviour in `Radio Button` is deprecated and support will soon be removed. Please make sure all your inputs are controlled."));const X=a.default($),Y=l.default(H),Z=l.default(W);let ee=T;H&&(ee=!!Y);let ne=X.ml;W&&!Z&&(ne=void 0);const{validationId:re,ariaDescribedBy:ie}=f.default({id:K,validationRedesignOptIn:!0,error:I,warning:S,info:k}),te=(z&&U?[ie,Q]:[Q,ie]).filter(Boolean).join(" ");return e.jsx(e.Fragment,{children:z?e.jsxs(i.default,y(h(y(h({legend:P,error:I,warning:S,legendAlign:D,isRequired:L,isOptional:V,width:"fit-content"},r.default("radiogroup",$),X),{ml:ne,blockGroupBehaviour:!(I||S)}),te&&{"aria-describedby":te}),{children:[B&&e.jsx(j.HintText,{align:D,id:Q,marginTop:"-4px",children:B}),e.jsxs(c.Box,{position:"relative",children:[U&&e.jsxs(e.Fragment,{children:[e.jsx(p.default,{error:I,warning:S,validationId:re,validationMessagePositionTop:U}),(I||S)&&e.jsx(b.default,{"data-role":"radio-error-border",warning:!(I||!S)})]}),e.jsx(t.default,{"data-component":"radio-button-group",role:"radiogroup",inline:E,legendInline:ee,children:e.jsx(o.default,{name:q,onBlur:R,onChange:A,value:C,children:_.default.Children.map(m,(e=>_.default.isValidElement(e)?_.default.cloneElement(e,h({inline:E,labelSpacing:F,error:!!I,warning:!!S},e.props)):e))})}),!U&&e.jsxs(e.Fragment,{children:[e.jsx(p.default,{error:I,warning:S,validationId:re,validationMessagePositionTop:U}),(I||S)&&e.jsx(b.default,{"data-role":"radio-error-border",warning:!(I||!S)})]})]})]})):e.jsx(d.TooltipProvider,{tooltipPosition:N,children:e.jsx(i.default,y(h({legend:P,error:I,warning:S,info:k,inline:ee,legendWidth:M,legendAlign:D,legendSpacing:G,isRequired:L,isOptional:V},r.default("radiogroup",$),X),{ml:ne,blockGroupBehaviour:!(I||S||k),"aria-describedby":ie,validationId:re,children:e.jsx(t.default,{"data-component":"radio-button-group",role:"radiogroup",inline:E,legendInline:ee,children:e.jsx(o.default,{name:q,onBlur:R,onChange:A,value:C,children:_.default.Children.map(m,(e=>_.default.isValidElement(e)?_.default.cloneElement(e,h({inline:E,labelSpacing:F,error:!!I,warning:!!S,info:!!k},e.props)):e))})})}))})})};w.displayName="RadioButtonGroup",exports.RadioButtonGroup=w,exports.default=w;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("styled-components"),l=require("styled-system"),t=require("../../__internal__/field-help/field-help.style.js"),i=require("../checkbox/checkbox.style.js"),r=require("../../__internal__/checkable-input/hidden-checkable-input.style.js"),a=require("../../__internal__/checkable-input/checkable-input.style.js"),n=require("../../__internal__/checkable-input/checkable-input-svg-wrapper.style.js"),s=require("../../__internal__/label/label.style.js"),d=require("../../style/themes/apply-base-theme.js"),c=require("../../__internal__/form-field/form-field.style.js");function u(e){return e&&e.__esModule?e:{default:e}}const f=u(e).default(i.default).attrs(d.default).withConfig({displayName:"radio-button.style__RadioButtonStyle",componentId:"sc-c570c431-0"})([""," ",";"],(({disabled:l,fieldHelpInline:i,reverse:d,size:u,inline:f})=>e.css(["margin-bottom:var(--spacing150);:last-of-type{margin-bottom:0;}&& ","{margin:0;}","{padding:0;}",",svg{border-radius:var(--borderRadiusCircle);}",",",",",",svg{height:16px;width:16px;}svg{padding:1px;}circle{r:5;}","{flex:1 1 calc(100% - 44px);}",":checked + "," circle{fill:var(--colorsUtilityYin090);}"," "," "," ",""],c.default,n.default,n.default,a.StyledCheckableInput,r.default,n.default,s.StyledLabelContainer,r.default,n.default,l&&e.css(["circle{fill:var(--colorsUtilityDisabled400);}",":checked + "," circle{fill:var(--colorsUtilityDisabled600);}"],r.default,n.default),(i||d)&&`\n ${t.default} {\n margin-left: 0;\n margin-right: 6px;\n }\n\n ${s.StyledLabelContainer} {\n flex: 0 1 auto;\n }\n `,"large"===u&&e.css(["",",",",",",svg{height:24px;width:24px;}circle{r:3.75;}",""],a.StyledCheckableInput,r.default,n.default,d&&e.css(["",""],!i&&`\n ${t.default} {\n padding: 0;\n }\n `)),f&&"\n &:not(:first-of-type) {\n margin-left: 32px;\n }\n ")),l.margin);exports.default=f;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("styled-components"),l=require("styled-system"),t=require("../../__internal__/field-help/field-help.style.js"),i=require("../checkbox/checkbox.style.js"),a=require("../../__internal__/checkable-input/hidden-checkable-input.style.js"),r=require("../../__internal__/checkable-input/checkable-input.style.js"),n=require("../../__internal__/checkable-input/checkable-input-svg-wrapper.style.js"),s=require("../../__internal__/label/label.style.js"),d=require("../../style/themes/apply-base-theme.js"),c=require("../../__internal__/form-field/form-field.style.js");function u(e){return e&&e.__esModule?e:{default:e}}const f=u(e).default(i.default).attrs(d.default).withConfig({displayName:"radio-button.style__RadioButtonStyle",componentId:"sc-cc88a6ca-0"})([""," ",";"],(({disabled:l,fieldHelpInline:i,reverse:d,size:u,inline:f})=>e.css(["margin-bottom:var(--spacing150);:last-of-type{margin-bottom:0;}&& ","{margin:0;}","{padding:0;}",",svg{border-radius:var(--borderRadiusCircle);}",",",",",",svg{height:16px;width:16px;}svg{padding:1px;}circle{r:5;}","{flex:1 1 calc(100% - 44px);}",":checked + "," circle{fill:var(--colorsUtilityYin090);}"," "," "," ",""],c.default,n.default,n.default,r.StyledCheckableInput,a.default,n.default,s.StyledLabelContainer,a.default,n.default,l&&e.css(["circle{fill:var(--colorsUtilityDisabled400);}",":checked + "," circle{fill:var(--colorsUtilityDisabled600);}"],a.default,n.default),(i||d)&&`\n ${t.default} {\n margin-left: 0;\n margin-right: 6px;\n }\n\n ${s.StyledLabelContainer} {\n flex: 0 1 auto;\n }\n `,"large"===u&&e.css(["",",",",",",svg{height:24px;width:24px;}circle{r:3.75;}",""],r.StyledCheckableInput,a.default,n.default,d&&e.css(["",""],!i&&`\n ${t.default} {\n padding: 0;\n }\n `)),f&&"\n margin: 0;\n &:not(:first-of-type) {\n margin-left: 32px;\n }\n ")),l.margin);exports.default=f;
@@ -21,6 +21,8 @@ export interface SwitchProps extends CommonCheckableInputProps, MarginProps, Tag
21
21
  helpAriaLabel?: string;
22
22
  /** Whether this component resides on a dark background */
23
23
  isDarkBackground?: boolean;
24
+ /** Render the ValidationMessage above the Switch input when validationRedesignOptIn flag is set */
25
+ validationMessagePositionTop?: boolean;
24
26
  }
25
27
  export declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLInputElement>>;
26
28
  export default Switch;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),n=require("../box/box.component.js"),t=require("../../__internal__/checkable-input/checkable-input.component.js"),a=require("../../__internal__/label/label.component.js"),i=require("../../__internal__/tooltip-provider/index.js"),l=require("../carbon-provider/__internal__/new-validation.context.js"),o=require("../../__internal__/utils/logger/index.js"),s=require("../../__internal__/validation-message/validation-message.component.js"),d=require("../../hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js"),c=require("./switch.style.js"),u=require("./__internal__/switch-slider.component.js"),p=require("../../__internal__/utils/helpers/guid/index.js"),b=require("../../__internal__/hint-text/hint-text.component.js");require("../../style/utils/filter-styled-system-padding-props.js");var f=require("../../style/utils/filter-styled-system-margin-props.js");function g(e){return e&&e.__esModule?e:{default:e}}function h(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function j(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},t=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),t.forEach((function(r){h(e,r,n[r])}))}return e}function x(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r}(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})),e}let k=!1;const m=g(r).default.forwardRef(((g,h)=>{var{autoFocus:m,id:v,label:_,onChange:y,onBlur:w,onFocus:O,value:B,checked:q,defaultChecked:D,disabled:P,loading:I,reverse:S=!0,required:H,isOptional:F,validationOnLabel:L=!1,labelInline:C=!1,labelSpacing:z,labelHelp:R,fieldHelpInline:A,size:E,name:$,adaptiveLabelBreakpoint:T,tooltipPosition:U,error:W,warning:M,info:Y,"data-element":N,"data-role":V,helpAriaLabel:G,isDarkBackground:J=!1}=g,K=function(e,r){if(null==e)return{};var n,t,a=function(e,r){if(null==e)return{};var n,t,a={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(g,["autoFocus","id","label","onChange","onBlur","onFocus","value","checked","defaultChecked","disabled","loading","reverse","required","isOptional","validationOnLabel","labelInline","labelSpacing","labelHelp","fieldHelpInline","size","name","adaptiveLabelBreakpoint","tooltipPosition","error","warning","info","data-element","data-role","helpAriaLabel","isDarkBackground"]);const Q=void 0!==q,{validationRedesignOptIn:X}=r.useContext(l.default),Z=r.useRef(`${p.default()}-label`),ee=r.useRef(`${p.default()}-hint`),re=r.useRef(`${p.default()}-message`),[ne,te]=r.useState(D||!1);k||y||(k=!0,o.default.deprecate("Uncontrolled behaviour in `Switch` is deprecated and support will soon be removed. Please make sure all your inputs are controlled."));const ae=r.useCallback((e=>{I?e.preventDefault():(te(e.target.checked),null==y||y(e))}),[te,y,I]),ie=d.default(T);let le=C;T&&(le=ie);const oe=!(!C||S)||L,se=f.default(K),de=j({"data-component":"switch","data-role":V,"data-element":N,checked:Q?q:ne,isDarkBackground:J,fieldHelpInline:A,labelInline:le,labelSpacing:z,reverse:!S,size:E},se),ce={checked:Q?q:ne,disabled:P,loading:I,isDarkBackground:J,size:E,error:W,warning:M,info:Y,useValidationIcon:!X&&!oe&&!P},ue=x(j({autoFocus:m,error:W,warning:M,info:Y,disabled:P,loading:I,checked:Q?q:ne,label:_,labelHelp:R,fieldHelpInline:A,labelInline:le,labelSpacing:z,onBlur:w,isDarkBackground:J,onFocus:O,onChange:Q?y:ae,id:v,name:$,value:B,type:"checkbox",role:"switch",reverse:!S,validationOnLabel:oe&&!P,ref:h,required:H,isOptional:F},K),{"data-component":void 0}),pe=j({"data-component":"switch","data-role":V,"data-element":N,checked:Q?q:ne,labelInline:le,isDarkBackground:J,size:E},se),be={checked:Q?q:ne,disabled:P,loading:I,isDarkBackground:J,size:E,error:W,warning:M},fe=j({autoFocus:m,error:!!W,warning:M,disabled:P,loading:I,checked:Q?q:ne,onBlur:w,isDarkBackground:J,onFocus:O,onChange:Q?y:ae,id:v,name:$,value:B,type:"checkbox",role:"switch",ref:h,required:H,isOptional:F},K),ge=W||M,he=[R&&ee.current,ge&&re.current].filter(Boolean).join(" ");if(!X)return e.jsx(e.Fragment,{children:e.jsx(i.TooltipProvider,{helpAriaLabel:G,tooltipPosition:U,children:e.jsx(c.default,x(j({},de),{children:e.jsx(t.default,x(j({},ue),{children:e.jsx(u.default,j({},ce))}))}))})});const je=W||M?C?3:0:C?1:0,xe=C?"row":"column",ke=C?"row-reverse":"column",me=!C||W||M||Y?"":"center";return e.jsxs(e.Fragment,{children:[e.jsx(c.default,x(j({},pe),{children:e.jsxs(n.Box,{"data-role":"field-reverse-wrapper",display:"flex",flexWrap:"wrap",alignItems:W||M?"flex-start":void 0,flexDirection:S?xe:ke,width:C?"100%":"auto",children:[e.jsxs(n.Box,{"data-role":"label-wrapper",alignSelf:me,children:[e.jsx(a.default,{isDarkBackground:J,labelId:Z.current,disabled:P,isRequired:H,optional:F,children:_}),R&&e.jsx(n.Box,{"data-role":"hint-text-wrapper",mb:C?0:1,mr:S?0:1,ml:S?0:1,children:e.jsx(b.HintText,{"data-role":"hint-text",fontWeight:"400",id:ee.current,isDarkBackground:J,marginTop:"8px",maxWidth:"160px",children:R})})]}),e.jsxs(n.Box,{ml:S?je:0,mr:S?0:je,position:"relative",id:"input-wrapper","data-role":"input-wrapper",children:[e.jsx(s.default,{error:W,warning:M,validationId:re.current,isDarkBackground:J}),ge&&e.jsx(c.ErrorBorder,{"data-role":"error-border",warning:!(W||!M),reverse:!S,isDarkBackground:J}),e.jsx(t.default,x(j({ariaLabelledBy:`${_&&Z.current}`,ariaDescribedBy:he},fe),{fieldHelp:C?void 0:K.fieldHelp,children:e.jsx(u.default,j({},be))}))]})]})})),C&&K.fieldHelp&&e.jsx(n.Box,{color:J?"var(--colorsUtilityYang100)":"var(--colorsUtilityYin090)",children:K.fieldHelp})]})}));m.displayName="Switch",exports.Switch=m,exports.default=m;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),n=require("../box/box.component.js"),a=require("../../__internal__/checkable-input/checkable-input.component.js"),t=require("../../__internal__/label/label.component.js"),i=require("../../__internal__/tooltip-provider/index.js"),l=require("../carbon-provider/__internal__/new-validation.context.js"),o=require("../../__internal__/utils/logger/index.js"),s=require("../../__internal__/validation-message/validation-message.component.js"),d=require("../../hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js"),c=require("./switch.style.js"),u=require("./__internal__/switch-slider.component.js"),p=require("../../__internal__/utils/helpers/guid/index.js"),b=require("../../__internal__/hint-text/hint-text.component.js");require("../../style/utils/filter-styled-system-padding-props.js");var f=require("../../style/utils/filter-styled-system-margin-props.js");function g(e){return e&&e.__esModule?e:{default:e}}function h(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function j(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),a.forEach((function(r){h(e,r,n[r])}))}return e}function v(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r}(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})),e}let x=!1;const k=g(r).default.forwardRef(((g,h)=>{var{autoFocus:k,id:m,label:_,onChange:w,onBlur:y,onFocus:O,value:B,checked:P,defaultChecked:q,disabled:D,loading:I,reverse:S=!0,required:F,isOptional:H,validationOnLabel:L=!1,labelInline:C=!1,labelSpacing:T,labelHelp:z,fieldHelpInline:M,size:R,name:A,adaptiveLabelBreakpoint:E,tooltipPosition:$,error:U,warning:W,info:Y,"data-element":N,"data-role":V,helpAriaLabel:G,isDarkBackground:J=!1,validationMessagePositionTop:K=!0}=g,Q=function(e,r){if(null==e)return{};var n,a,t=function(e,r){if(null==e)return{};var n,a,t={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],r.indexOf(n)>=0||(t[n]=e[n]);return t}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=e[n])}return t}(g,["autoFocus","id","label","onChange","onBlur","onFocus","value","checked","defaultChecked","disabled","loading","reverse","required","isOptional","validationOnLabel","labelInline","labelSpacing","labelHelp","fieldHelpInline","size","name","adaptiveLabelBreakpoint","tooltipPosition","error","warning","info","data-element","data-role","helpAriaLabel","isDarkBackground","validationMessagePositionTop"]);const X=void 0!==P,{validationRedesignOptIn:Z}=r.useContext(l.default),ee=r.useRef(`${p.default()}-label`),re=r.useRef(`${p.default()}-hint`),ne=r.useRef(`${p.default()}-message`),[ae,te]=r.useState(q||!1);x||w||(x=!0,o.default.deprecate("Uncontrolled behaviour in `Switch` is deprecated and support will soon be removed. Please make sure all your inputs are controlled."));const ie=r.useCallback((e=>{I?e.preventDefault():(te(e.target.checked),null==w||w(e))}),[te,w,I]),le=d.default(E);let oe=C;E&&(oe=le);const se=!(!C||S)||L,de=f.default(Q),ce=j({"data-component":"switch","data-role":V,"data-element":N,checked:X?P:ae,isDarkBackground:J,fieldHelpInline:M,labelInline:oe,labelSpacing:T,reverse:!S,size:R},de),ue={checked:X?P:ae,disabled:D,loading:I,isDarkBackground:J,size:R,error:U,warning:W,info:Y,useValidationIcon:!Z&&!se&&!D},pe=v(j({autoFocus:k,error:U,warning:W,info:Y,disabled:D,loading:I,checked:X?P:ae,label:_,labelHelp:z,fieldHelpInline:M,labelInline:oe,labelSpacing:T,onBlur:y,isDarkBackground:J,onFocus:O,onChange:X?w:ie,id:m,name:A,value:B,type:"checkbox",role:"switch",reverse:!S,validationOnLabel:se&&!D,ref:h,required:F,isOptional:H},Q),{"data-component":void 0}),be=j({"data-component":"switch","data-role":V,"data-element":N,checked:X?P:ae,labelInline:oe,isDarkBackground:J,size:R},de),fe={checked:X?P:ae,disabled:D,loading:I,isDarkBackground:J,size:R,error:U,warning:W},ge=j({autoFocus:k,error:!!U,warning:W,disabled:D,loading:I,checked:X?P:ae,onBlur:y,isDarkBackground:J,onFocus:O,onChange:X?w:ie,id:m,name:A,value:B,type:"checkbox",role:"switch",ref:h,required:F,isOptional:H},Q),he=U||W,je=[z&&re.current,he&&ne.current].filter(Boolean).join(" ");if(!Z)return e.jsx(e.Fragment,{children:e.jsx(i.TooltipProvider,{helpAriaLabel:G,tooltipPosition:$,children:e.jsx(c.default,v(j({},ce),{children:e.jsx(a.default,v(j({},pe),{children:e.jsx(u.default,j({},ue))}))}))})});const ve=U||W?C?3:0:C?1:0,xe=C?"row":"column",ke=C?"row-reverse":"column",me=!C||U||W||Y?"":"center";return e.jsxs(e.Fragment,{children:[e.jsx(c.default,v(j({},be),{children:e.jsxs(n.Box,{"data-role":"field-reverse-wrapper",display:"flex",flexWrap:"wrap",alignItems:U||W?"flex-start":void 0,flexDirection:S?xe:ke,width:C?"100%":"auto",children:[e.jsxs(n.Box,{"data-role":"label-wrapper",alignSelf:me,children:[e.jsx(t.default,{isDarkBackground:J,labelId:ee.current,disabled:D,isRequired:F,optional:H,children:_}),z&&e.jsx(n.Box,{"data-role":"hint-text-wrapper",mb:C?0:1,mr:S?0:1,ml:S?0:1,children:e.jsx(b.HintText,{"data-role":"hint-text",fontWeight:"400",id:re.current,isDarkBackground:J,marginTop:"8px",maxWidth:"160px",children:z})})]}),e.jsxs(n.Box,{ml:S?ve:0,mr:S?0:ve,position:"relative",id:"input-wrapper","data-role":"input-wrapper",children:[K&&e.jsxs(e.Fragment,{children:[e.jsx(s.default,{error:U,warning:W,validationId:ne.current,isDarkBackground:J,validationMessagePositionTop:K,"data-role":"validation-message-top"}),he&&e.jsx(c.ErrorBorder,{"data-role":"error-border",warning:!(U||!W),reverse:!S,isDarkBackground:J})]}),e.jsx(a.default,v(j({ariaLabelledBy:`${_&&ee.current}`,ariaDescribedBy:je},ge),{fieldHelp:C?void 0:Q.fieldHelp,children:e.jsx(u.default,j({},fe))})),!K&&e.jsxs(e.Fragment,{children:[e.jsx(s.default,{error:U,warning:W,validationId:ne.current,isDarkBackground:J,validationMessagePositionTop:K,"data-role":"validation-message-bottom"}),he&&e.jsx(c.ErrorBorder,{"data-role":"error-border",warning:!(U||!W),reverse:!S,isDarkBackground:J})]})]})]})})),C&&Q.fieldHelp&&e.jsx(n.Box,{color:J?"var(--colorsUtilityYang100)":"var(--colorsUtilityYin090)",children:Q.fieldHelp})]})}));k.displayName="Switch",exports.Switch=k,exports.default=k;
@@ -16,6 +16,8 @@ export interface ContentEditorProps {
16
16
  error?: boolean;
17
17
  /** Editor has a warning */
18
18
  warning?: boolean;
19
+ /** Render the ValidationMessage above the Editor */
20
+ validationMessagePositionTop?: boolean;
19
21
  }
20
22
  declare const ContentEditor: React.ForwardRefExoticComponent<ContentEditorProps & React.RefAttributes<HTMLDivElement>>;
21
23
  export default ContentEditor;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@lexical/react/LexicalContentEditable"),i=require("react"),t=require("./content-editor.style.js");require("../AutoLinker/auto-link.component.js"),require("@lexical/react/LexicalComposerContext"),require("lexical"),require("../CharacterCounter/character-counter.style.js"),require("lodash/debounce"),require("../../../../../__internal__/i18n-context/index.js"),require("@lexical/link"),require("@lexical/headless"),require("@lexical/html"),require("@lexical/code"),require("@lexical/list"),require("@lexical/react/LexicalHorizontalRuleNode"),require("@lexical/rich-text"),require("../../../text-editor.context.js");var a=require("../LinkPreviewer/link-previewer.component.js");require("../Placeholder/placeholder.style.js"),require("@lexical/utils"),require("../Toolbar/toolbar.style.js"),require("../../../../button/button.component.js");var l=require("../useCursorAtEnd/index.js");const o=i.forwardRef((({inputHint:i,namespace:o,previews:n=[],rows:u,readOnly:s,required:c,error:d,warning:x},q)=>{const b=l.default(),p=`${d||x?`${o}-validation-message`:""} ${i?`${o}-input-hint`:""}`.trim();return e.jsxs(t.default,{"data-role":`${o}-content-editable`,namespace:o,rows:u,readOnly:s,children:[e.jsx(r.ContentEditable,{ref:q,"aria-describedby":p,"aria-labelledby":`${o}-label`,"aria-required":c,"aria-invalid":d,className:`${o}-editable`,"data-role":`${o}-editable`,onFocus:e=>{e.relatedTarget&&e.relatedTarget.classList.contains("toolbar-button")||b(e)},"aria-autocomplete":void 0,"aria-readonly":void 0}),e.jsx(a.default,{previews:n})]})}));exports.default=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@lexical/react/LexicalContentEditable"),i=require("react"),a=require("./content-editor.style.js");require("../AutoLinker/auto-link.component.js"),require("@lexical/react/LexicalComposerContext"),require("lexical"),require("../CharacterCounter/character-counter.style.js"),require("lodash/debounce"),require("../../../../../__internal__/i18n-context/index.js"),require("@lexical/link"),require("@lexical/headless"),require("@lexical/html"),require("@lexical/code"),require("@lexical/list"),require("@lexical/react/LexicalHorizontalRuleNode"),require("@lexical/rich-text"),require("../../../text-editor.context.js");var t=require("../LinkPreviewer/link-previewer.component.js");require("../Placeholder/placeholder.style.js"),require("@lexical/utils"),require("../Toolbar/toolbar.style.js"),require("../../../../button/button.component.js");var l=require("../useCursorAtEnd/index.js");const o=i.forwardRef((({inputHint:i,namespace:o,previews:n=[],rows:s,readOnly:u,required:c,error:d,warning:x,validationMessagePositionTop:q},b)=>{const p=l.default(),j=d||x?`${o}-validation-message`:"",v=i?`${o}-input-hint`:"",m=(q?`${j} ${v}`:`${v} ${j}`).trim();return e.jsxs(a.default,{"data-role":`${o}-content-editable`,namespace:o,rows:s,readOnly:u,children:[e.jsx(r.ContentEditable,{ref:b,"aria-describedby":m,"aria-labelledby":`${o}-label`,"aria-required":c,"aria-invalid":d,className:`${o}-editable`,"data-role":`${o}-editable`,onFocus:e=>{e.relatedTarget&&e.relatedTarget.classList.contains("toolbar-button")||p(e)},"aria-autocomplete":void 0,"aria-readonly":void 0}),e.jsx(t.default,{previews:n})]})}));exports.default=o;
@@ -58,6 +58,8 @@ export interface TextEditorProps extends MarginProps, TagProps {
58
58
  * This prop is optional and supports a single plugin, multiple plugins (via fragments or arrays), or `null`.
59
59
  */
60
60
  customPlugins?: React.ReactNode;
61
+ /** Render the ValidationMessage above the TextEditor */
62
+ validationMessagePositionTop?: boolean;
61
63
  }
62
64
  export declare const TextEditor: React.ForwardRefExoticComponent<TextEditorProps & React.RefAttributes<TextEditorHandle>>;
63
65
  export default TextEditor;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@lexical/react/LexicalComposer"),t=require("@lexical/react/LexicalClickableLinkPlugin"),n=require("@lexical/react/LexicalEditorRefPlugin"),i=require("@lexical/react/LexicalErrorBoundary"),a=require("@lexical/react/LexicalHistoryPlugin"),l=require("@lexical/react/LexicalMarkdownShortcutPlugin"),o=require("@lexical/react/LexicalRichTextPlugin"),s=require("@lexical/react/LexicalLinkPlugin"),u=require("@lexical/react/LexicalListPlugin"),c=require("lexical"),d=require("react"),p=require("./__internal__/helpers.js"),x=require("../../__internal__/label/label.component.js"),f=require("../../hooks/__internal__/useLocale/useLocale.js"),g=require("../../__internal__/utils/logger/index.js"),_=require("./__internal__/constants.js"),j=require("./__internal__/plugins/AutoLinker/auto-link.component.js"),m=require("./__internal__/plugins/CharacterCounter/character-counter.component.js"),b=require("./__internal__/plugins/ContentEditor/content-editor.component.js"),h=require("./__internal__/plugins/LinkMonitor/link-monitor.plugin.js");require("./__internal__/plugins/LinkPreviewer/link-previewer.style.js");var v=require("./__internal__/plugins/OnChange/on-change.plugin.js"),y=require("./__internal__/plugins/Placeholder/placeholder.component.js"),q=require("./__internal__/plugins/Toolbar/toolbar.component.js");require("./__internal__/plugins/useCursorAtEnd/index.js");var O=require("./text-editor.context.js"),w=require("./text-editor.style.js"),P=require("./utils.js"),L=require("../../__internal__/hint-text/hint-text.component.js"),E=require("../../__internal__/validation-message/validation-message.component.js"),k=require("../textbox/textbox.style.js");require("../../style/utils/filter-styled-system-padding-props.js");var S=require("../../style/utils/filter-styled-system-margin-props.js"),C=require("../../__internal__/utils/helpers/tags/tags.js");function T(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function $(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){T(e,r,t[r])}))}return e}let R=!1;const H=d.forwardRef(((T,H)=>{var{characterLimit:B=3e3,error:M,footer:I,header:A,inputHint:F,isOptional:W=!1,labelText:D,namespace:N=_.COMPONENT_PREFIX,onBlur:U,onCancel:z,onChange:X,onFocus:G,onLinkAdded:J,onSave:K,placeholder:Q,previews:V=[],readOnly:Y=!1,required:Z=!1,rows:ee,warning:re,value:te,customPlugins:ne}=T,ie=function(e,r){if(null==e)return{};var t,n,i=function(e,r){if(null==e)return{};var t,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}(T,["characterLimit","error","footer","header","inputHint","isOptional","labelText","namespace","onBlur","onCancel","onChange","onFocus","onLinkAdded","onSave","placeholder","previews","readOnly","required","rows","warning","value","customPlugins"]);!R&&W&&(R=!0,g.default.deprecate("`isOptional` is deprecated in TextEditor and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const ae=d.useRef(void 0),le=f.default(),[oe,se]=d.useState(void 0),ue=d.useRef(null),[ce,de]=d.useState(!1);d.useImperativeHandle(H,(()=>({focus(){var e;null===(e=ue.current)||void 0===e||e.focus()}})),[]),d.useEffect((()=>{const e=null==ue?void 0:ue.current,r=()=>{de(!0)},t=()=>{de(!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)}}),[ue]);const[pe,xe]=d.useState(!1),fe=d.useMemo((()=>({namespace:N,nodes:_.markdownNodes,onError:e=>g.default.error(e.message),theme:_.theme,editorState:te,editable:!Y})),[N,Y,te]),ge=d.useCallback((e=>{const r=e.read((()=>c.$getRoot().getChildren().map((e=>e.getTextContent())).join("\n\n")));if(X){const e=ae.current?p.SerializeLexical(ae.current):{};null==X||X(r,e)}if(B>0){const e=B-r.length;se(e<0?le.textEditor.characterLimit(Math.abs(e)):void 0)}}),[B,le.textEditor,X]),_e=d.useCallback((()=>{var e;(null===(e=ae.current)||void 0===e?void 0:e.isEditable())&&z&&(xe((e=>!e)),z())}),[z]);d.useEffect((()=>{const e=te||P.createEmpty();if(ae.current){const r=ae.current.parseEditorState(e);ae.current.setEditorState(r)}}),[pe,te]);const je=d.useMemo((()=>({namespace:N,onCancel:z?_e:void 0,onSave:K})),[_e,N,z,K]),me=re||oe;return e.jsx(w.StyledTextEditorWrapper,(be=$({"data-role":`${N}-editor-wrapper`,onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||null==U||U(e)},onFocus:e=>{e.currentTarget.contains(e.relatedTarget)||null==G||G(e)}},S.default(ie),C.default("text-editor",ie)),he=null!=(he={children:e.jsxs(O.default.Provider,{value:{onLinkAdded:J},children:[e.jsx(x.default,{isRequired:Z,optional:W,labelId:`${N}-label`,children:D}),F&&e.jsx(L.HintText,{id:`${N}-input-hint`,marginBottom:"var(--spacing100)",children:F}),e.jsxs(r.LexicalComposer,{initialConfig:fe,children:[e.jsx(n.EditorRefPlugin,{editorRef:ae}),e.jsxs(w.StyledWrapper,{"data-role":`${N}-wrapper`,children:[e.jsx(E.default,{error:M,warning:me,validationId:`${N}-validation-message`,"data-role":`${N}-validation-message`}),(M||me)&&e.jsx(k.default,{warning:!(M||!me)}),e.jsxs(w.StyledEditorToolbarWrapper,{"data-role":`${N}-editor-toolbar-wrapper`,id:`${N}-editor-toolbar-wrapper`,focused:ce,error:!!M,children:[A&&e.jsx(w.StyledHeaderWrapper,{"data-role":`${N}-header-wrapper`,children:A}),!Y&&e.jsx(q.default,$({hasHeader:Boolean(A)},je)),e.jsxs(w.StyledTextEditor,{"data-role":`${N}-editor`,children:[e.jsx(o.RichTextPlugin,{contentEditable:e.jsx(b.default,{ref:ue,inputHint:F,namespace:N,previews:V,rows:ee,readOnly:Y,required:Z,error:!!M,warning:!!re||!!oe}),placeholder:e.jsx(y.default,{namespace:N,text:Q}),ErrorBoundary:i.LexicalErrorBoundary}),e.jsx(u.ListPlugin,{}),e.jsx(a.HistoryPlugin,{}),e.jsx(l.MarkdownShortcutPlugin,{}),e.jsx(v.default,{onChange:ge}),e.jsx(s.LinkPlugin,{validateUrl:p.validateUrl}),e.jsx(t.ClickableLinkPlugin,{newTab:!0}),e.jsx(j.default,{}),ne]}),I&&e.jsx(w.StyledFooterWrapper,{"data-role":`${N}-footer-wrapper`,children:I}),e.jsx(h.default,{})]}),B>0&&!Y&&e.jsx(m.default,{maxChars:B,namespace:N})]})]})]})})?he:{},Object.getOwnPropertyDescriptors?Object.defineProperties(be,Object.getOwnPropertyDescriptors(he)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(he)).forEach((function(e){Object.defineProperty(be,e,Object.getOwnPropertyDescriptor(he,e))})),be));var be,he}));exports.TextEditor=H,exports.default=H;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@lexical/react/LexicalComposer"),t=require("@lexical/react/LexicalClickableLinkPlugin"),n=require("@lexical/react/LexicalEditorRefPlugin"),i=require("@lexical/react/LexicalErrorBoundary"),a=require("@lexical/react/LexicalHistoryPlugin"),l=require("@lexical/react/LexicalMarkdownShortcutPlugin"),o=require("@lexical/react/LexicalRichTextPlugin"),s=require("@lexical/react/LexicalLinkPlugin"),u=require("@lexical/react/LexicalListPlugin"),c=require("lexical"),d=require("react"),p=require("./__internal__/helpers.js"),g=require("../../__internal__/label/label.component.js"),x=require("../../hooks/__internal__/useLocale/useLocale.js"),f=require("../../__internal__/utils/logger/index.js"),j=require("./__internal__/constants.js"),_=require("./__internal__/plugins/AutoLinker/auto-link.component.js"),v=require("./__internal__/plugins/CharacterCounter/character-counter.component.js"),m=require("./__internal__/plugins/ContentEditor/content-editor.component.js"),h=require("./__internal__/plugins/LinkMonitor/link-monitor.plugin.js");require("./__internal__/plugins/LinkPreviewer/link-previewer.style.js");var b=require("./__internal__/plugins/OnChange/on-change.plugin.js"),y=require("./__internal__/plugins/Placeholder/placeholder.component.js"),q=require("./__internal__/plugins/Toolbar/toolbar.component.js");require("./__internal__/plugins/useCursorAtEnd/index.js");var O=require("./text-editor.context.js"),P=require("./text-editor.style.js"),w=require("./utils.js"),L=require("../../__internal__/hint-text/hint-text.component.js"),E=require("../../__internal__/validation-message/validation-message.component.js"),k=require("../textbox/textbox.style.js");require("../../style/utils/filter-styled-system-padding-props.js");var S=require("../../style/utils/filter-styled-system-margin-props.js"),T=require("../../__internal__/utils/helpers/tags/tags.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 $(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 M=!1;const R=d.forwardRef(((C,R)=>{var{characterLimit:H=3e3,error:B,footer:F,header:I,inputHint:A,isOptional:W=!1,labelText:D,namespace:N=j.COMPONENT_PREFIX,onBlur:U,onCancel:z,onChange:X,onFocus:G,onLinkAdded:J,onSave:K,placeholder:Q,previews:V=[],readOnly:Y=!1,required:Z=!1,rows:ee,warning:re,value:te,customPlugins:ne,validationMessagePositionTop:ie=!0}=C,ae=function(e,r){if(null==e)return{};var t,n,i=function(e,r){if(null==e)return{};var t,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}(C,["characterLimit","error","footer","header","inputHint","isOptional","labelText","namespace","onBlur","onCancel","onChange","onFocus","onLinkAdded","onSave","placeholder","previews","readOnly","required","rows","warning","value","customPlugins","validationMessagePositionTop"]);!M&&W&&(M=!0,f.default.deprecate("`isOptional` is deprecated in TextEditor and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const le=d.useRef(void 0),oe=x.default(),[se,ue]=d.useState(void 0),ce=d.useRef(null),[de,pe]=d.useState(!1);d.useImperativeHandle(R,(()=>({focus(){var e;null===(e=ce.current)||void 0===e||e.focus()}})),[]),d.useEffect((()=>{const e=null==ce?void 0:ce.current,r=()=>{pe(!0)},t=()=>{pe(!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)}}),[ce]);const[ge,xe]=d.useState(!1),fe=d.useMemo((()=>({namespace:N,nodes:j.markdownNodes,onError:e=>f.default.error(e.message),theme:j.theme,editorState:te,editable:!Y})),[N,Y,te]),je=d.useCallback((e=>{const r=e.read((()=>c.$getRoot().getChildren().map((e=>e.getTextContent())).join("\n\n")));if(X){const e=le.current?p.SerializeLexical(le.current):{};null==X||X(r,e)}if(H>0){const e=H-r.length;ue(e<0?oe.textEditor.characterLimit(Math.abs(e)):void 0)}}),[H,oe.textEditor,X]),_e=d.useCallback((()=>{var e;(null===(e=le.current)||void 0===e?void 0:e.isEditable())&&z&&(xe((e=>!e)),z())}),[z]);d.useEffect((()=>{const e=te||w.createEmpty();if(le.current){const r=le.current.parseEditorState(e);le.current.setEditorState(r)}}),[ge,te]);const ve=d.useMemo((()=>({namespace:N,onCancel:z?_e:void 0,onSave:K})),[_e,N,z,K]),me=re||se;return e.jsx(P.StyledTextEditorWrapper,(he=$({"data-role":`${N}-editor-wrapper`,onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||null==U||U(e)},onFocus:e=>{e.currentTarget.contains(e.relatedTarget)||null==G||G(e)}},S.default(ae),T.default("text-editor",ae)),be=null!=(be={children:e.jsxs(O.default.Provider,{value:{onLinkAdded:J},children:[e.jsx(g.default,{isRequired:Z,optional:W,labelId:`${N}-label`,children:D}),A&&e.jsx(L.HintText,{id:`${N}-input-hint`,marginBottom:"var(--spacing100)",children:A}),e.jsxs(r.LexicalComposer,{initialConfig:fe,children:[e.jsx(n.EditorRefPlugin,{editorRef:le}),e.jsxs(P.StyledWrapper,{"data-role":`${N}-wrapper`,children:[ie&&e.jsxs(e.Fragment,{children:[e.jsx(E.default,{error:B,warning:me,validationId:`${N}-validation-message`,"data-role":`${N}-validation-message`,validationMessagePositionTop:ie}),(B||me)&&e.jsx(k.default,{warning:!(B||!me)})]}),e.jsxs(P.StyledEditorToolbarWrapper,{"data-role":`${N}-editor-toolbar-wrapper`,id:`${N}-editor-toolbar-wrapper`,focused:de,error:!!B,children:[I&&e.jsx(P.StyledHeaderWrapper,{"data-role":`${N}-header-wrapper`,children:I}),!Y&&e.jsx(q.default,$({hasHeader:Boolean(I)},ve)),e.jsxs(P.StyledTextEditor,{"data-role":`${N}-editor`,children:[e.jsx(o.RichTextPlugin,{contentEditable:e.jsx(m.default,{ref:ce,inputHint:A,namespace:N,previews:V,rows:ee,readOnly:Y,required:Z,error:!!B,warning:!!re||!!se,validationMessagePositionTop:ie}),placeholder:e.jsx(y.default,{namespace:N,text:Q}),ErrorBoundary:i.LexicalErrorBoundary}),e.jsx(u.ListPlugin,{}),e.jsx(a.HistoryPlugin,{}),e.jsx(l.MarkdownShortcutPlugin,{}),e.jsx(b.default,{onChange:je}),e.jsx(s.LinkPlugin,{validateUrl:p.validateUrl}),e.jsx(t.ClickableLinkPlugin,{newTab:!0}),e.jsx(_.default,{}),ne]}),F&&e.jsx(P.StyledFooterWrapper,{"data-role":`${N}-footer-wrapper`,children:F}),e.jsx(h.default,{})]}),!ie&&e.jsxs(e.Fragment,{children:[e.jsx(E.default,{error:B,warning:me,validationId:`${N}-validation-message`,"data-role":`${N}-validation-message`,validationMessagePositionTop:ie}),(B||me)&&e.jsx(k.default,{warning:!(B||!me)})]}),H>0&&!Y&&e.jsx(v.default,{maxChars:H,namespace:N})]})]})]})})?be:{},Object.getOwnPropertyDescriptors?Object.defineProperties(he,Object.getOwnPropertyDescriptors(be)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(be)).forEach((function(e){Object.defineProperty(he,e,Object.getOwnPropertyDescriptor(be,e))})),he));var he,be}));exports.TextEditor=R,exports.default=R;
@@ -102,6 +102,8 @@ export interface TextareaProps extends ValidationProps, MarginProps, Omit<Common
102
102
  hideBorders?: boolean;
103
103
  /** Specify the minimum height. This property is only applied if rows is not set. */
104
104
  minHeight?: number;
105
+ /** Render the ValidationMessage above the Textarea when validationRedesignOptIn flag is set */
106
+ validationMessagePositionTop?: boolean;
105
107
  }
106
108
  export declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
107
109
  export { Textarea as OriginalTextarea };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("../../__internal__/utils/helpers/tags/tags.js"),i=require("../../__internal__/input/input.component.js"),n=require("../../__internal__/input/input-presentation.component.js"),l=require("../../__internal__/form-field/form-field.component.js"),a=require("../../hooks/useCharacterCount/useCharacterCount.js"),o=require("../../__internal__/input-behaviour/input-behaviour.component.js"),d=require("../../__internal__/input-icon-toggle/input-icon-toggle.component.js"),s=require("../../__internal__/utils/helpers/guid/index.js"),u=require("./textarea.style.js"),c=require("../../__internal__/tooltip-provider/index.js"),p=require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js"),b=require("../carbon-provider/__internal__/new-validation.context.js"),f=require("../textbox/textbox.style.js"),h=require("../../__internal__/validation-message/validation-message.component.js"),v=require("../box/box.component.js"),_=require("../../__internal__/utils/logger/index.js"),g=require("../../__internal__/hint-text/hint-text.component.js");require("../../style/utils/filter-styled-system-padding-props.js");var y=require("../../style/utils/filter-styled-system-margin-props.js");function m(e){return e&&e.__esModule?e:{default:e}}function j(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]:{},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){j(e,r,t[r])}))}return e}let O=!1,I=!1,w=!1,H=!1;const q=m(r).default.forwardRef(((m,j)=>{var{"aria-labelledby":q,"aria-describedby":T,ariaDescribedBy:E,autoFocus:P,inputHint:L,fieldHelp:B,label:A,children:R,characterLimit:D,onChange:k,onFocus:S,onBlur:C,disabled:F=!1,labelInline:W,labelAlign:M,labelHelp:N,labelSpacing:U,inputIcon:G,id:z,error:V,warning:$,info:J,name:K,readOnly:Q=!1,placeholder:X,expandable:Y=!1,rows:Z,validationOnLabel:ee=!1,adaptiveLabelBreakpoint:re,inputWidth:te,maxWidth:ie,labelWidth:ne=30,tooltipPosition:le,value:ae,"data-element":oe,"data-role":de,helpAriaLabel:se,borderRadius:ue,hideBorders:ce=!1,required:pe,isOptional:be,minHeight:fe=u.DEFAULT_MIN_HEIGHT}=m,he=function(e,r){if(null==e)return{};var t,i,n=function(e,r){if(null==e)return{};var t,i,n={},l=Object.keys(e);for(i=0;i<l.length;i++)t=l[i],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i<l.length;i++)t=l[i],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}(m,["aria-labelledby","aria-describedby","ariaDescribedBy","autoFocus","inputHint","fieldHelp","label","children","characterLimit","onChange","onFocus","onBlur","disabled","labelInline","labelAlign","labelHelp","labelSpacing","inputIcon","id","error","warning","info","name","readOnly","placeholder","expandable","rows","validationOnLabel","adaptiveLabelBreakpoint","inputWidth","maxWidth","labelWidth","tooltipPosition","value","data-element","data-role","helpAriaLabel","borderRadius","hideBorders","required","isOptional","minHeight"]);!I&&be&&(I=!0,_.default.deprecate("`isOptional` is deprecated in TextArea and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const{validationRedesignOptIn:ve}=r.useContext(b.default),_e=!ve&&W,[ge,ye]=r.useState(u.DEFAULT_MIN_HEIGHT),me=e=>ve?void 0:e,{current:je}=r.useRef(z||s.default()),xe=r.useRef(null),Oe=r.useCallback((e=>{xe.current=e,j&&("current"in j?j.current=e:j(e))}),[j]),[Ie,we]=r.useState("off");w||k||(w=!0,_.default.deprecate("Uncontrolled behaviour in `Textarea` is deprecated and support will soon be removed. Please make sure all your inputs are controlled.")),!O&&E&&(O=!0,_.default.deprecate("The `ariaDescribedBy` prop in `Textarea` is deprecated and will soon be removed, please use `aria-describedby` instead.")),Array.isArray(ue)&&ue.length>4&&!H&&(_.default.warn("The `borderRadius` prop in `Textarea` component only supports up to 4 values."),H=!0);const He=r.useCallback((()=>{const e=xe.current;if((null==e?void 0:e.scrollHeight)&&(null==e?void 0:e.scrollHeight)>ge){let r=e;for(;r&&!(null==r?void 0:r.scrollTop);)r=(null==r?void 0:r.parentElement)||null;const t=null==r?void 0:r.scrollTop;e.style.height="auto",e.style.height=`${Math.max(e.scrollHeight,ge)}px`,r&&t&&(r.scrollTop=t)}}),[ge]),{labelId:qe,validationId:Te,fieldHelpId:Ee,ariaDescribedBy:Pe}=p.default({id:je,validationRedesignOptIn:ve,error:V,warning:$,info:J,label:A,fieldHelp:B}),[Le,Be]=a.default(ae,D,Ie);r.useEffect((()=>{var e;ye(Z?(null==xe||null===(e=xe.current)||void 0===e?void 0:e.scrollHeight)||0:fe>u.DEFAULT_MIN_HEIGHT?fe:u.DEFAULT_MIN_HEIGHT)}),[fe,Z]),r.useEffect((()=>{Y&&He()})),r.useEffect((()=>{var e,r;return Y&&(window.addEventListener("resize",He),ye((null==xe||null===(e=xe.current)||void 0===e?void 0:e.clientHeight)||0),null===(r=document.fonts)||void 0===r||r.addEventListener("loadingdone",He)),()=>{var e;Y&&(window.removeEventListener("resize",He),null===(e=document.fonts)||void 0===e||e.removeEventListener("loadingdone",He))}}),[He,Y]);const Ae=!!(G||Te&&!ee),Re=r.useRef(s.default()),De=L?Re.current:void 0,ke=[Pe,De,Be,T||E].filter(Boolean).join(" "),Se=e.jsxs(n.default,{disabled:F,readOnly:Q,inputWidth:"number"==typeof te?te:100-ne,maxWidth:ie,error:V,warning:$,info:J,borderRadius:ue,hideBorders:ce,children:[e.jsx(i.default,x({"aria-invalid":!!V,"aria-labelledby":q,"aria-describedby":ke,autoFocus:P,name:K,value:ae,ref:Oe,onChange:k,onFocus:e=>{D&&we("polite"),null==S||S(e)},onBlur:e=>{D&&we("off"),null==C||C(e)},disabled:F,readOnly:Q,placeholder:F?"":X,rows:Z,id:je,as:"textarea",validationIconId:ve?void 0:Te,inputBorderRadius:ue,required:pe},he)),R,e.jsx(d.default,{disabled:F,readOnly:Q,inputIcon:G,error:V,warning:$,info:J,validationIconId:ve?void 0:Te,useValidationIcon:!(ve||ee)})]}),Ce=y.default(he);return e.jsx(c.TooltipProvider,{tooltipPosition:le,helpAriaLabel:se,children:e.jsx(o.InputBehaviour,{children:e.jsxs(u.default,(Fe=x({labelInline:_e,hasIcon:Ae,minHeight:ge},Ce,t.default("textarea",{"data-element":oe,"data-role":de})),We={children:[e.jsxs(l.default,{fieldHelp:me(B),fieldHelpId:Ee,error:V,warning:$,info:J,label:A,labelId:qe,disabled:F,id:je,labelInline:me(_e),labelAlign:M,labelWidth:me(ne),labelHelp:me(N),labelSpacing:U,isRequired:pe,isOptional:be,useValidationIcon:me(ee),adaptiveLabelBreakpoint:re,validationRedesignOptIn:ve,my:0,children:[(L||N&&ve)&&e.jsx(g.HintText,{align:M,id:De,"data-element":"input-hint",children:L||N}),ve?e.jsxs(v.Box,{position:"relative",children:[e.jsx(h.default,{error:V,validationId:Te,warning:$}),(V||$)&&e.jsx(f.default,{warning:!(V||!$)}),Se]}):Se]}),Le]},We=null!=We?We:{},Object.getOwnPropertyDescriptors?Object.defineProperties(Fe,Object.getOwnPropertyDescriptors(We)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(We)).forEach((function(e){Object.defineProperty(Fe,e,Object.getOwnPropertyDescriptor(We,e))})),Fe))})});var Fe,We}));q.displayName="Textarea",exports.OriginalTextarea=q,exports.Textarea=q,exports.default=q;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),i=require("../../__internal__/utils/helpers/tags/tags.js"),t=require("../../__internal__/input/input.component.js"),n=require("../../__internal__/input/input-presentation.component.js"),a=require("../../__internal__/form-field/form-field.component.js"),l=require("../../hooks/useCharacterCount/useCharacterCount.js"),o=require("../../__internal__/input-behaviour/input-behaviour.component.js"),d=require("../../__internal__/input-icon-toggle/input-icon-toggle.component.js"),s=require("../../__internal__/utils/helpers/guid/index.js"),u=require("./textarea.style.js"),p=require("../../__internal__/tooltip-provider/index.js"),c=require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js"),b=require("../carbon-provider/__internal__/new-validation.context.js"),f=require("../textbox/textbox.style.js"),v=require("../../__internal__/validation-message/validation-message.component.js"),h=require("../box/box.component.js"),g=require("../../__internal__/utils/logger/index.js"),_=require("../../__internal__/hint-text/hint-text.component.js");require("../../style/utils/filter-styled-system-padding-props.js");var y=require("../../style/utils/filter-styled-system-margin-props.js");function m(e){return e&&e.__esModule?e:{default:e}}function j(e,r,i){return r in e?Object.defineProperty(e,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[r]=i,e}function x(e){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{},t=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(i).filter((function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable})))),t.forEach((function(r){j(e,r,i[r])}))}return e}let O=!1,I=!1,w=!1,H=!1;const q=m(r).default.forwardRef(((m,j)=>{var{"aria-labelledby":q,"aria-describedby":T,ariaDescribedBy:P,autoFocus:E,inputHint:L,fieldHelp:B,label:A,children:R,characterLimit:D,onChange:F,onFocus:k,onBlur:M,disabled:S=!1,labelInline:C,labelAlign:W,labelHelp:N,labelSpacing:U,inputIcon:G,id:z,error:V,warning:$,info:J,name:K,readOnly:Q=!1,placeholder:X,expandable:Y=!1,rows:Z,validationOnLabel:ee=!1,adaptiveLabelBreakpoint:re,inputWidth:ie,maxWidth:te,labelWidth:ne=30,tooltipPosition:ae,value:le,"data-element":oe,"data-role":de,helpAriaLabel:se,borderRadius:ue,hideBorders:pe=!1,required:ce,isOptional:be,minHeight:fe=u.DEFAULT_MIN_HEIGHT,validationMessagePositionTop:ve=!0}=m,he=function(e,r){if(null==e)return{};var i,t,n=function(e,r){if(null==e)return{};var i,t,n={},a=Object.keys(e);for(t=0;t<a.length;t++)i=a[t],r.indexOf(i)>=0||(n[i]=e[i]);return n}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)i=a[t],r.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}(m,["aria-labelledby","aria-describedby","ariaDescribedBy","autoFocus","inputHint","fieldHelp","label","children","characterLimit","onChange","onFocus","onBlur","disabled","labelInline","labelAlign","labelHelp","labelSpacing","inputIcon","id","error","warning","info","name","readOnly","placeholder","expandable","rows","validationOnLabel","adaptiveLabelBreakpoint","inputWidth","maxWidth","labelWidth","tooltipPosition","value","data-element","data-role","helpAriaLabel","borderRadius","hideBorders","required","isOptional","minHeight","validationMessagePositionTop"]);!I&&be&&(I=!0,g.default.deprecate("`isOptional` is deprecated in TextArea and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const{validationRedesignOptIn:ge}=r.useContext(b.default),_e=!ge&&C,[ye,me]=r.useState(u.DEFAULT_MIN_HEIGHT),je=e=>ge?void 0:e,{current:xe}=r.useRef(z||s.default()),Oe=r.useRef(null),Ie=r.useCallback((e=>{Oe.current=e,j&&("current"in j?j.current=e:j(e))}),[j]),[we,He]=r.useState("off");w||F||(w=!0,g.default.deprecate("Uncontrolled behaviour in `Textarea` is deprecated and support will soon be removed. Please make sure all your inputs are controlled.")),!O&&P&&(O=!0,g.default.deprecate("The `ariaDescribedBy` prop in `Textarea` is deprecated and will soon be removed, please use `aria-describedby` instead.")),Array.isArray(ue)&&ue.length>4&&!H&&(g.default.warn("The `borderRadius` prop in `Textarea` component only supports up to 4 values."),H=!0);const qe=r.useCallback((()=>{const e=Oe.current;if((null==e?void 0:e.scrollHeight)&&(null==e?void 0:e.scrollHeight)>ye){let r=e;for(;r&&!(null==r?void 0:r.scrollTop);)r=(null==r?void 0:r.parentElement)||null;const i=null==r?void 0:r.scrollTop;e.style.height="auto",e.style.height=`${Math.max(e.scrollHeight,ye)}px`,r&&i&&(r.scrollTop=i)}}),[ye]),{labelId:Te,validationId:Pe,fieldHelpId:Ee,ariaDescribedBy:Le}=c.default({id:xe,validationRedesignOptIn:ge,error:V,warning:$,info:J,label:A,fieldHelp:B}),[Be,Ae]=l.default(le,D,we);r.useEffect((()=>{var e;me(Z?(null==Oe||null===(e=Oe.current)||void 0===e?void 0:e.scrollHeight)||0:fe>u.DEFAULT_MIN_HEIGHT?fe:u.DEFAULT_MIN_HEIGHT)}),[fe,Z]),r.useEffect((()=>{Y&&qe()})),r.useEffect((()=>{var e,r;return Y&&(window.addEventListener("resize",qe),me((null==Oe||null===(e=Oe.current)||void 0===e?void 0:e.clientHeight)||0),null===(r=document.fonts)||void 0===r||r.addEventListener("loadingdone",qe)),()=>{var e;Y&&(window.removeEventListener("resize",qe),null===(e=document.fonts)||void 0===e||e.removeEventListener("loadingdone",qe))}}),[qe,Y]);const Re=!!(G||Pe&&!ee),De=r.useRef(s.default()),Fe=L?De.current:void 0,ke=[...ge&&ve?[Le,Fe]:[Fe,Le],Ae,T||P].filter(Boolean).join(" "),Me=e.jsxs(n.default,{disabled:S,readOnly:Q,inputWidth:"number"==typeof ie?ie:100-ne,maxWidth:te,error:V,warning:$,info:J,borderRadius:ue,hideBorders:pe,children:[e.jsx(t.default,x({"aria-invalid":!!V,"aria-labelledby":q,"aria-describedby":ke,autoFocus:E,name:K,value:le,ref:Ie,onChange:F,onFocus:e=>{D&&He("polite"),null==k||k(e)},onBlur:e=>{D&&He("off"),null==M||M(e)},disabled:S,readOnly:Q,placeholder:S?"":X,rows:Z,id:xe,as:"textarea",validationIconId:ge?void 0:Pe,inputBorderRadius:ue,required:ce},he)),R,e.jsx(d.default,{disabled:S,readOnly:Q,inputIcon:G,error:V,warning:$,info:J,validationIconId:ge?void 0:Pe,useValidationIcon:!(ge||ee)})]}),Se=y.default(he);return e.jsx(p.TooltipProvider,{tooltipPosition:ae,helpAriaLabel:se,children:e.jsx(o.InputBehaviour,{children:e.jsxs(u.default,(Ce=x({labelInline:_e,hasIcon:Re,minHeight:ye},Se,i.default("textarea",{"data-element":oe,"data-role":de})),We={children:[e.jsxs(a.default,{fieldHelp:je(B),fieldHelpId:Ee,error:V,warning:$,info:J,label:A,labelId:Te,disabled:S,id:xe,labelInline:je(_e),labelAlign:W,labelWidth:je(ne),labelHelp:je(N),labelSpacing:U,isRequired:ce,isOptional:be,useValidationIcon:je(ee),adaptiveLabelBreakpoint:re,validationRedesignOptIn:ge,my:0,children:[(L||N&&ge)&&e.jsx(_.HintText,{align:W,id:Fe,"data-element":"input-hint",children:L||N}),ge?e.jsxs(h.Box,{position:"relative",children:[ve&&e.jsxs(e.Fragment,{children:[e.jsx(v.default,{error:V,validationId:Pe,warning:$,validationMessagePositionTop:ve}),(V||$)&&e.jsx(f.default,{warning:!(V||!$)})]}),Me,!ve&&e.jsxs(e.Fragment,{children:[e.jsx(v.default,{error:V,validationId:Pe,warning:$,validationMessagePositionTop:ve}),(V||$)&&e.jsx(f.default,{warning:!(V||!$)})]})]}):Me]}),Be]},We=null!=We?We:{},Object.getOwnPropertyDescriptors?Object.defineProperties(Ce,Object.getOwnPropertyDescriptors(We)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r.push.apply(r,i)}return r}(Object(We)).forEach((function(e){Object.defineProperty(Ce,e,Object.getOwnPropertyDescriptor(We,e))})),Ce))})});var Ce,We}));q.displayName="Textarea",exports.OriginalTextarea=q,exports.Textarea=q,exports.default=q;
@@ -96,6 +96,8 @@ export interface CommonTextboxProps extends ValidationProps, MarginProps, Omit<C
96
96
  tooltipId?: string;
97
97
  /** @private @internal @ignore */
98
98
  "data-component"?: string;
99
+ /** Render the ValidationMessage above the Textbox input when validationRedesignOptIn flag is set */
100
+ validationMessagePositionTop?: boolean;
99
101
  }
100
102
  export interface TextboxProps extends CommonTextboxProps {
101
103
  /** Content to be rendered next to the input */
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),n=require("../box/box.component.js"),t=require("../../__internal__/form-field/form-field.component.js"),r=require("../../__internal__/hint-text/hint-text.component.js"),o=require("../../__internal__/input/input.component.js"),a=require("../../__internal__/input/input-presentation.component.js"),l=require("../../__internal__/input-behaviour/input-behaviour.component.js"),d=require("../../__internal__/input-icon-toggle/input-icon-toggle.component.js"),s=require("../../__internal__/tooltip-provider/index.js"),u=require("../../__internal__/validation-message/validation-message.component.js");require("../../style/utils/filter-styled-system-padding-props.js");var p=require("../../style/utils/filter-styled-system-margin-props.js"),c=require("../carbon-provider/__internal__/new-validation.context.js"),b=require("../numeral-date/__internal__/numeral-date.context.js"),f=require("../../__internal__/utils/logger/index.js"),_=require("../../hooks/useCharacterCount/useCharacterCount.js"),h=require("../../hooks/__internal__/useUniqueId/index.js"),x=require("../../__internal__/utils/helpers/guid/index.js"),g=require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js"),m=require("./textbox.style.js"),v=require("./__internal__/prefix.style.js");function y(e){return e&&e.__esModule?e:{default:e}}function j(e,i,n){return i in e?Object.defineProperty(e,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[i]=n,e}function O(e){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{},t=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),t.forEach((function(i){j(e,i,n[i])}))}return e}function I(e,i){return i=null!=i?i:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):function(e){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);i.push.apply(i,n)}return i}(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))})),e}const w="left",q="medium",C=30,D=!1;let L=!1,T=!1,P=!1;const A=y(i).default.forwardRef(((y,j)=>{var{"aria-labelledby":A,"aria-describedby":k,ariaDescribedBy:B,align:H=w,autoFocus:E,children:S,disabled:W,inputIcon:F,leftChildren:M,label:R,labelAlign:U,labelHelp:z,labelInline:V,labelSpacing:N,id:G,formattedValue:Z,inputHint:J,fieldHelp:K,error:Q,warning:X,info:Y,name:$,reverse:ee,size:ie=q,value:ne,readOnly:te,placeholder:re,onBlur:oe,onClick:ae,onFocus:le,onChange:de,onMouseDown:se,onChangeDeferred:ue,deferTimeout:pe,isOptional:ce,iconOnClick:be,iconOnMouseDown:fe,iconTabIndex:_e,validationOnLabel:he=D,labelWidth:xe=C,inputWidth:ge,maxWidth:me,prefix:ve,adaptiveLabelBreakpoint:ye,required:je,positionedChildren:Oe,tooltipPosition:Ie,"data-component":we,"data-element":qe,"data-role":Ce,characterLimit:De,helpAriaLabel:Le,tooltipId:Te}=y,Pe=function(e,i){if(null==e)return{};var n,t,r=function(e,i){if(null==e)return{};var n,t,r={},o=Object.keys(e);for(t=0;t<o.length;t++)n=o[t],i.indexOf(n)>=0||(r[n]=e[n]);return r}(e,i);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)n=o[t],i.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(y,["aria-labelledby","aria-describedby","ariaDescribedBy","align","autoFocus","children","disabled","inputIcon","leftChildren","label","labelAlign","labelHelp","labelInline","labelSpacing","id","formattedValue","inputHint","fieldHelp","error","warning","info","name","reverse","size","value","readOnly","placeholder","onBlur","onClick","onFocus","onChange","onMouseDown","onChangeDeferred","deferTimeout","isOptional","iconOnClick","iconOnMouseDown","iconTabIndex","validationOnLabel","labelWidth","inputWidth","maxWidth","prefix","adaptiveLabelBreakpoint","required","positionedChildren","tooltipPosition","data-component","data-element","data-role","characterLimit","helpAriaLabel","tooltipId"]);!T&&ce&&(T=!0,f.default.deprecate("`isOptional` is deprecated in Textbox and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const Ae="string"==typeof ne?ne:"",[ke,Be]=h.default(G,$),[He,Ee]=i.useState("off"),[Se,We]=_.default(Ae,De,He),{validationRedesignOptIn:Fe}=i.useContext(c.default),{disableErrorBorder:Me}=i.useContext(b.default),Re=e=>Fe?void 0:e;P||de||(P=!0,f.default.deprecate("Uncontrolled behaviour in `Textbox` is deprecated and support will soon be removed. Please make sure all your inputs are controlled.")),!L&&B&&(L=!0,f.default.deprecate("The `ariaDescribedBy` prop in `Textbox` is deprecated and will soon be removed, please use `aria-describedby` instead."));const{labelId:Ue,validationId:ze,fieldHelpId:Ve,ariaDescribedBy:Ne}=g.default({id:ke,validationRedesignOptIn:Fe,error:Q,warning:X,info:Y,label:R,fieldHelp:K}),Ge=i.useRef(x.default()),Ze=J?Ge.current:void 0,Je=[Ne,Ze,We,k||B].filter(Boolean).join(" "),Ke=!!(F||ze&&!he),Qe=e.jsxs(a.default,{align:H,disabled:W,readOnly:te,size:ie,error:Q,warning:X,info:Y,prefix:ve,inputWidth:ge||100-xe,maxWidth:V||"right"!==U?me:void 0,positionedChildren:Oe,hasIcon:Ke,children:[M,ve&&e.jsx(v.default,{"data-element":"textbox-prefix",size:ie,children:ve}),e.jsx(o.default,O(I(O({},je&&{required:je}),{align:H,"aria-invalid":!!Q,"aria-labelledby":A,"aria-describedby":Je,autoFocus:E,deferTimeout:pe,disabled:W,id:ke,ref:j,name:Be,onBlur:e=>{De&&Ee("off"),null==oe||oe(e)},onChange:de,onChangeDeferred:ue,onClick:W||te?void 0:ae,onFocus:e=>{De&&Ee("polite"),null==le||le(e)},onMouseDown:W||te?void 0:se,placeholder:W||te?"":re,readOnly:te,value:"string"==typeof Z?Z:ne,validationIconId:Fe?void 0:Te||ze}),Pe)),S,e.jsx(d.default,{align:H,disabled:W,error:Q,iconTabIndex:_e,info:Y,inputIcon:F,onClick:W||te?void 0:be||ae,onMouseDown:W||te?void 0:fe||se,readOnly:te,size:ie,useValidationIcon:!(Fe||he),warning:X,validationIconId:Fe?void 0:Te||ze})]});return e.jsx(s.TooltipProvider,{helpAriaLabel:Le,tooltipPosition:Ie,children:e.jsx(l.InputBehaviour,{children:e.jsxs(t.default,I(O({maxWidth:V||"right"!==U?void 0:me,disabled:W,fieldHelpId:Ve,fieldHelp:Re(K),error:Q,warning:X,info:Y,label:R,labelId:Ue,labelAlign:U,labelHelp:Re(z),labelInline:Re(V),labelSpacing:N,labelWidth:Re(xe),id:ke,reverse:Re(ee),isOptional:ce,useValidationIcon:Re(he),adaptiveLabelBreakpoint:ye,isRequired:je,"data-component":we,"data-role":Ce,"data-element":qe,validationIconId:Fe?void 0:ze,validationRedesignOptIn:Fe},p.default(Pe)),{children:[(J||z&&Fe)&&e.jsx(r.HintText,{align:U,"data-element":"input-hint",id:Ze,isComponentInline:V,children:J||z}),Fe?e.jsxs(n.Box,{position:"relative",children:[e.jsx(u.default,{error:Q,validationId:ze,warning:X}),!Me&&(Q||X)&&e.jsx(m.default,{warning:!(Q||!X)}),Qe]}):Qe,Se]}))})})}));A.displayName="Textbox",exports.ALIGN_DEFAULT=w,exports.LABEL_VALIDATION_DEFAULT=D,exports.LABEL_WIDTH_DEFAULT=C,exports.SIZE_DEFAULT=q,exports.Textbox=A,exports.default=A;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),n=require("../box/box.component.js"),t=require("../../__internal__/form-field/form-field.component.js"),r=require("../../__internal__/hint-text/hint-text.component.js"),o=require("../../__internal__/input/input.component.js"),a=require("../../__internal__/input/input-presentation.component.js"),l=require("../../__internal__/input-behaviour/input-behaviour.component.js"),d=require("../../__internal__/input-icon-toggle/input-icon-toggle.component.js"),s=require("../../__internal__/tooltip-provider/index.js"),u=require("../../__internal__/validation-message/validation-message.component.js");require("../../style/utils/filter-styled-system-padding-props.js");var p=require("../../style/utils/filter-styled-system-margin-props.js"),c=require("../carbon-provider/__internal__/new-validation.context.js"),b=require("../numeral-date/__internal__/numeral-date.context.js"),f=require("../../__internal__/utils/logger/index.js"),_=require("../../hooks/useCharacterCount/useCharacterCount.js"),g=require("../../hooks/__internal__/useUniqueId/index.js"),h=require("../../__internal__/utils/helpers/guid/index.js"),x=require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js"),v=require("./textbox.style.js"),m=require("./__internal__/prefix.style.js");function j(e){return e&&e.__esModule?e:{default:e}}function y(e,i,n){return i in e?Object.defineProperty(e,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[i]=n,e}function O(e){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{},t=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),t.forEach((function(i){y(e,i,n[i])}))}return e}function I(e,i){return i=null!=i?i:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):function(e){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);i.push.apply(i,n)}return i}(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))})),e}const w="left",q="medium",C=30,T=!1;let D=!1,P=!1,L=!1;const A=j(i).default.forwardRef(((j,y)=>{var{"aria-labelledby":A,"aria-describedby":k,ariaDescribedBy:B,align:H=w,autoFocus:F,children:M,disabled:E,inputIcon:S,leftChildren:W,label:R,labelAlign:U,labelHelp:z,labelInline:V,labelSpacing:N,id:G,formattedValue:Z,inputHint:J,fieldHelp:K,error:Q,warning:X,info:Y,name:$,reverse:ee,size:ie=q,value:ne,readOnly:te,placeholder:re,onBlur:oe,onClick:ae,onFocus:le,onChange:de,onMouseDown:se,onChangeDeferred:ue,deferTimeout:pe,isOptional:ce,iconOnClick:be,iconOnMouseDown:fe,iconTabIndex:_e,validationOnLabel:ge=T,labelWidth:he=C,inputWidth:xe,maxWidth:ve,prefix:me,adaptiveLabelBreakpoint:je,required:ye,positionedChildren:Oe,tooltipPosition:Ie,"data-component":we,"data-element":qe,"data-role":Ce,characterLimit:Te,helpAriaLabel:De,tooltipId:Pe,validationMessagePositionTop:Le=!0}=j,Ae=function(e,i){if(null==e)return{};var n,t,r=function(e,i){if(null==e)return{};var n,t,r={},o=Object.keys(e);for(t=0;t<o.length;t++)n=o[t],i.indexOf(n)>=0||(r[n]=e[n]);return r}(e,i);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)n=o[t],i.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(j,["aria-labelledby","aria-describedby","ariaDescribedBy","align","autoFocus","children","disabled","inputIcon","leftChildren","label","labelAlign","labelHelp","labelInline","labelSpacing","id","formattedValue","inputHint","fieldHelp","error","warning","info","name","reverse","size","value","readOnly","placeholder","onBlur","onClick","onFocus","onChange","onMouseDown","onChangeDeferred","deferTimeout","isOptional","iconOnClick","iconOnMouseDown","iconTabIndex","validationOnLabel","labelWidth","inputWidth","maxWidth","prefix","adaptiveLabelBreakpoint","required","positionedChildren","tooltipPosition","data-component","data-element","data-role","characterLimit","helpAriaLabel","tooltipId","validationMessagePositionTop"]);!P&&ce&&(P=!0,f.default.deprecate("`isOptional` is deprecated in Textbox and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const ke="string"==typeof ne?ne:"",[Be,He]=g.default(G,$),[Fe,Me]=i.useState("off"),[Ee,Se]=_.default(ke,Te,Fe),{validationRedesignOptIn:We}=i.useContext(c.default),{disableErrorBorder:Re}=i.useContext(b.default),Ue=e=>We?void 0:e;L||de||(L=!0,f.default.deprecate("Uncontrolled behaviour in `Textbox` is deprecated and support will soon be removed. Please make sure all your inputs are controlled.")),!D&&B&&(D=!0,f.default.deprecate("The `ariaDescribedBy` prop in `Textbox` is deprecated and will soon be removed, please use `aria-describedby` instead."));const{labelId:ze,validationId:Ve,fieldHelpId:Ne,ariaDescribedBy:Ge}=x.default({id:Be,validationRedesignOptIn:We,error:Q,warning:X,info:Y,label:R,fieldHelp:K}),Ze=i.useRef(h.default()),Je=J?Ze.current:void 0,Ke=[...We&&Le?[Ge,Je]:[Je,Ge],Se,k||B].filter(Boolean).join(" "),Qe=!!(S||Ve&&!ge),Xe=e.jsxs(a.default,{align:H,disabled:E,readOnly:te,size:ie,error:Q,warning:X,info:Y,prefix:me,inputWidth:xe||100-he,maxWidth:V||"right"!==U?ve:void 0,positionedChildren:Oe,hasIcon:Qe,children:[W,me&&e.jsx(m.default,{"data-element":"textbox-prefix",size:ie,children:me}),e.jsx(o.default,O(I(O({},ye&&{required:ye}),{align:H,"aria-invalid":!!Q,"aria-labelledby":A,"aria-describedby":Ke,autoFocus:F,deferTimeout:pe,disabled:E,id:Be,ref:y,name:He,onBlur:e=>{Te&&Me("off"),null==oe||oe(e)},onChange:de,onChangeDeferred:ue,onClick:E||te?void 0:ae,onFocus:e=>{Te&&Me("polite"),null==le||le(e)},onMouseDown:E||te?void 0:se,placeholder:E||te?"":re,readOnly:te,value:"string"==typeof Z?Z:ne,validationIconId:We?void 0:Pe||Ve}),Ae)),M,e.jsx(d.default,{align:H,disabled:E,error:Q,iconTabIndex:_e,info:Y,inputIcon:S,onClick:E||te?void 0:be||ae,onMouseDown:E||te?void 0:fe||se,readOnly:te,size:ie,useValidationIcon:!(We||ge),warning:X,validationIconId:We?void 0:Pe||Ve})]});return e.jsx(s.TooltipProvider,{helpAriaLabel:De,tooltipPosition:Ie,children:e.jsx(l.InputBehaviour,{children:e.jsxs(t.default,I(O({maxWidth:V||"right"!==U?void 0:ve,disabled:E,fieldHelpId:Ne,fieldHelp:Ue(K),error:Q,warning:X,info:Y,label:R,labelId:ze,labelAlign:U,labelHelp:Ue(z),labelInline:Ue(V),labelSpacing:N,labelWidth:Ue(he),id:Be,reverse:Ue(ee),isOptional:ce,useValidationIcon:Ue(ge),adaptiveLabelBreakpoint:je,isRequired:ye,"data-component":we,"data-role":Ce,"data-element":qe,validationIconId:We?void 0:Ve,validationRedesignOptIn:We},p.default(Ae)),{children:[(J||z&&We)&&e.jsx(r.HintText,{align:U,"data-element":"input-hint",id:Je,isComponentInline:V,children:J||z}),We?e.jsxs(n.Box,{position:"relative",children:[Le&&e.jsxs(e.Fragment,{children:[e.jsx(u.default,{error:Q,validationId:Ve,warning:X,validationMessagePositionTop:Le}),!Re&&(Q||X)&&e.jsx(v.default,{warning:!(Q||!X)})]}),Xe,!Le&&e.jsxs(e.Fragment,{children:[e.jsx(u.default,{error:Q,validationId:Ve,warning:X,validationMessagePositionTop:Le}),!Re&&(Q||X)&&e.jsx(v.default,{warning:!(Q||!X)})]})]}):Xe,Ee]}))})})}));A.displayName="Textbox",exports.ALIGN_DEFAULT=w,exports.LABEL_VALIDATION_DEFAULT=T,exports.LABEL_WIDTH_DEFAULT=C,exports.SIZE_DEFAULT=q,exports.Textbox=A,exports.default=A;
@@ -1,5 +1,4 @@
1
1
  declare const ErrorBorder: import("styled-components").StyledComponent<"span", any, {
2
2
  warning: boolean;
3
- inline?: boolean | undefined;
4
3
  }, never>;
5
4
  export default ErrorBorder;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("styled-components");function t(e){return e&&e.__esModule?e:{default:e}}const o=t(e).default.span.withConfig({displayName:"textbox.style__ErrorBorder",componentId:"sc-ddfe21e6-0"})(["",""],(({warning:t,inline:o})=>e.css(["position:absolute;z-index:6;width:2px;background-color:",";left:-12px;bottom:",";top:0px;"],t?"var(--colorsSemanticCaution500)":"var(--colorsSemanticNegative500)",o?"10px":"0px")));exports.default=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("styled-components");function t(e){return e&&e.__esModule?e:{default:e}}const o=t(e).default.span.withConfig({displayName:"textbox.style__ErrorBorder",componentId:"sc-276b083e-0"})(["",""],(({warning:t})=>e.css(["position:absolute;z-index:6;width:2px;background-color:",";left:-12px;bottom:0px;top:0px;"],t?"var(--colorsSemanticCaution500)":"var(--colorsSemanticNegative500)")));exports.default=o;
@@ -71,6 +71,8 @@ export interface TimeProps extends TagProps, MarginProps {
71
71
  readOnly?: boolean;
72
72
  /** Set custom data- attributes on the toggle elements */
73
73
  toggleProps?: ToggleDataProps;
74
+ /** Render the ValidationMessage above the Time inputs */
75
+ validationMessagePositionTop?: boolean;
74
76
  }
75
77
  export type TimeHandle = {
76
78
  /** Programmatically focus the hours input. */
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("../../__internal__/utils/helpers/guid/index.js"),n=require("../../hooks/__internal__/useLocale/useLocale.js"),i=require("../../__internal__/utils/helpers/tags/tags.js"),l=require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js");require("../../style/utils/filter-styled-system-padding-props.js");var s=require("../../style/utils/filter-styled-system-margin-props.js"),a=require("../../__internal__/utils/logger/index.js"),o=require("../../__internal__/fieldset/fieldset.component.js"),u=require("../box/box.component.js"),d=require("../textbox/textbox.style.js"),c=require("../../__internal__/validation-message/validation-message.component.js"),p=require("../number/number.component.js"),f=require("../typography/typography.component.js"),m=require("./time.style.js"),b=require("./__internal__/time-toggle/time-toggle.component.js"),g=require("../../__internal__/hint-text/hint-text.component.js");function y(e){return e&&e.__esModule?e:{default:e}}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function j(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){h(e,t,r[t])}))}return e}function x(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}let v=!1;const O=y(t).default.forwardRef(((y,h)=>{var{label:O,labelAlign:_,fieldLabelsAlign:q,size:w="medium",inputHint:P,hoursInputProps:S={},minutesInputProps:I={},value:B,name:D,onChange:A,onBlur:R,required:T,isOptional:C,disabled:H,readOnly:L,toggleProps:M={}}=y,k=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(y,["label","labelAlign","fieldLabelsAlign","size","inputHint","hoursInputProps","minutesInputProps","value","name","onChange","onBlur","required","isOptional","disabled","readOnly","toggleProps"]);!v&&C&&(v=!0,a.default.deprecate("`isOptional` is deprecated in Time and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const{id:E,label:z,"aria-label":$,error:N,warning:F}=S,{id:V,label:G,"aria-label":J,error:K,warning:Q}=I,U=t.useRef(E||r.default()),W=t.useRef(V||r.default()),X=t.useRef(P?r.default():void 0),Y=t.useRef(`${U.current} ${W.current}`),{hours:Z,minutes:ee,period:te}=B,re=Z.length?Z.padStart(2,"0"):Z,ne=ee.length?ee.padStart(2,"0"):ee,[ie,le]=t.useState([Z,ee]),[se,ae]=t.useState([re,ne]),oe=n.default(),ue=void 0!==te,[de,ce]=t.useState(te),pe=z||oe.time.hoursLabelText(),fe=G||oe.time.minutesLabelText(),me=$||oe.time.hoursAriaLabelText(),be=J||oe.time.minutesAriaLabelText(),ge=t.useRef(null),ye=t.useRef(null);t.useEffect((()=>{const e=[...ie];if(ie[0]!==Z&&(e[0]=Z),ie[1]!==ee&&(e[1]=ee),ie[0]!==Z||ie[1]!==ee){le(e);const t=Z.length?Z.padStart(2,"0"):Z,r=ee.length?ee.padStart(2,"0"):ee;ae([t,r])}}),[Z,ee,ie]);const he=(e,t)=>{const r="string"==typeof e,n="string"==typeof t;return r||n?r&&!n?e:n&&!r?t:`${e} ${t}`:e||t},je=he(N,K),xe=he(F,Q),ve=!(!je&&!xe),{validationId:Oe,ariaDescribedBy:_e}=l.default({id:Y.current,validationRedesignOptIn:!0,error:je,warning:xe}),qe=[_e,X.current].filter(Boolean).join(" ");t.useImperativeHandle(h,(()=>({focusHoursInput(){var e;null===(e=ge.current)||void 0===e||e.focus()},focusMinutesInput(){var e;null===(e=ye.current)||void 0===e||e.focus()}})),[]);const we=(e,t)=>{const r="hrs"===t?e.target.value:ie[0],n="mins"===t?e.target.value:ie[1];le([r,n]);const i=r.length?r.padStart(2,"0"):r,l=n.length?n.padStart(2,"0"):n;ae([i,l]),A({target:{name:D,id:Y.current,value:{hours:r,minutes:n,period:de,formattedHours:i,formattedMinutes:l}}})},Pe=t.useCallback((e=>{setTimeout((()=>{const[t,r]=ie,[n,i]=se,l={hours:t,minutes:r,period:de,formattedHours:n,formattedMinutes:i};ge.current!==document.activeElement&&ye.current!==document.activeElement&&(null==R||R(e,l))}))}),[se,ie,R,de]);return e.jsxs(o.default,x(j({legend:O,legendMargin:{mb:0},width:"min-content",legendAlign:_,isRequired:T,isOptional:C,isDisabled:H,name:D,id:Y.current},k,s.default(k),i.default("time",k)),{"aria-describedby":P?qe:_e,children:[P&&e.jsx(g.HintText,{align:_,id:X.current,isDisabled:H,children:P}),e.jsxs(u.Box,{position:"relative",mt:P?0:1,children:[e.jsx(c.default,{validationId:Oe,error:je,warning:xe}),ve&&e.jsx(d.default,{warning:!(je||!xe)}),e.jsxs(u.Box,{display:"flex",children:[e.jsxs("div",{children:[e.jsx(m.default,{"aria-label":me,htmlFor:U.current,disabled:H,align:q,children:pe}),e.jsx(p.Number,x(j({},S),{label:void 0,"data-component":"hours",ref:ge,value:Z,onChange:e=>we(e,"hrs"),onBlur:Pe,id:U.current,size:w,error:!!N,warning:!!F,disabled:H,readOnly:L,my:0}))]}),e.jsxs(u.Box,{display:"flex",flexDirection:"column",justifyContent:"center",mx:1,"aria-hidden":"true",children:[e.jsx("span",{children:" "}),e.jsx(f.Typography,{isDisabled:H,variant:"span",mb:"-4px",children:":"})]}),e.jsxs("div",{children:[e.jsx(m.default,{"aria-label":be,htmlFor:W.current,disabled:H,align:q,children:fe}),e.jsx(p.Number,x(j({},I),{label:void 0,"data-component":"minutes",ref:ye,value:ee,onChange:e=>we(e,"mins"),onBlur:Pe,id:W.current,size:w,error:!!K,warning:!!Q,disabled:H,readOnly:L,my:0}))]}),ue&&e.jsx(u.Box,{display:"flex",flexDirection:"column",justifyContent:"flex-end",width:"max-content",children:e.jsx(b.default,{toggleProps:M,size:w,onChange:e=>{const[t,r]=ie,[n,i]=se;ce(e),A({target:{name:D,id:Y.current,value:{hours:t,minutes:r,period:e,formattedHours:n,formattedMinutes:i}}})},toggleValue:te,disabled:H||L})})]})]})]}))}));O.displayName="Time",exports.default=O;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("../../__internal__/utils/helpers/guid/index.js"),n=require("../../hooks/__internal__/useLocale/useLocale.js"),i=require("../../__internal__/utils/helpers/tags/tags.js"),s=require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js");require("../../style/utils/filter-styled-system-padding-props.js");var a=require("../../style/utils/filter-styled-system-margin-props.js"),l=require("../../__internal__/utils/logger/index.js"),o=require("../../__internal__/fieldset/fieldset.component.js"),u=require("../box/box.component.js"),d=require("../textbox/textbox.style.js"),c=require("../../__internal__/validation-message/validation-message.component.js"),p=require("../number/number.component.js"),f=require("../typography/typography.component.js"),m=require("./time.style.js"),g=require("./__internal__/time-toggle/time-toggle.component.js"),b=require("../../__internal__/hint-text/hint-text.component.js");function j(e){return e&&e.__esModule?e:{default:e}}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(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){h(e,t,r[t])}))}return e}function x(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}let v=!1;const O=j(t).default.forwardRef(((j,h)=>{var{label:O,labelAlign:_,fieldLabelsAlign:P,size:w="medium",inputHint:q,hoursInputProps:I={},minutesInputProps:S={},value:T,name:M,onChange:B,onBlur:D,required:A,isOptional:R,disabled:C,readOnly:H,toggleProps:L={},validationMessagePositionTop:k=!0}=j,E=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(j,["label","labelAlign","fieldLabelsAlign","size","inputHint","hoursInputProps","minutesInputProps","value","name","onChange","onBlur","required","isOptional","disabled","readOnly","toggleProps","validationMessagePositionTop"]);!v&&R&&(v=!0,l.default.deprecate("`isOptional` is deprecated in Time and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const{id:z,label:F,"aria-label":$,error:N,warning:V}=I,{id:G,label:J,"aria-label":K,error:Q,warning:U}=S,W=t.useRef(z||r.default()),X=t.useRef(G||r.default()),Y=t.useRef(q?r.default():void 0),Z=t.useRef(`${W.current} ${X.current}`),{hours:ee,minutes:te,period:re}=T,ne=ee.length?ee.padStart(2,"0"):ee,ie=te.length?te.padStart(2,"0"):te,[se,ae]=t.useState([ee,te]),[le,oe]=t.useState([ne,ie]),ue=n.default(),de=void 0!==re,[ce,pe]=t.useState(re),fe=F||ue.time.hoursLabelText(),me=J||ue.time.minutesLabelText(),ge=$||ue.time.hoursAriaLabelText(),be=K||ue.time.minutesAriaLabelText(),je=t.useRef(null),he=t.useRef(null);t.useEffect((()=>{const e=[...se];if(se[0]!==ee&&(e[0]=ee),se[1]!==te&&(e[1]=te),se[0]!==ee||se[1]!==te){ae(e);const t=ee.length?ee.padStart(2,"0"):ee,r=te.length?te.padStart(2,"0"):te;oe([t,r])}}),[ee,te,se]);const ye=(e,t)=>{const r="string"==typeof e,n="string"==typeof t;return r||n?r&&!n?e:n&&!r?t:`${e} ${t}`:e||t},xe=ye(N,Q),ve=ye(V,U),Oe=!(!xe&&!ve),{validationId:_e,ariaDescribedBy:Pe}=s.default({id:Z.current,validationRedesignOptIn:!0,error:xe,warning:ve}),we=(k?[Pe,Y.current]:[Y.current,Pe]).filter(Boolean).join(" ");t.useImperativeHandle(h,(()=>({focusHoursInput(){var e;null===(e=je.current)||void 0===e||e.focus()},focusMinutesInput(){var e;null===(e=he.current)||void 0===e||e.focus()}})),[]);const qe=(e,t)=>{const r="hrs"===t?e.target.value:se[0],n="mins"===t?e.target.value:se[1];ae([r,n]);const i=r.length?r.padStart(2,"0"):r,s=n.length?n.padStart(2,"0"):n;oe([i,s]),B({target:{name:M,id:Z.current,value:{hours:r,minutes:n,period:ce,formattedHours:i,formattedMinutes:s}}})},Ie=t.useCallback((e=>{setTimeout((()=>{const[t,r]=se,[n,i]=le,s={hours:t,minutes:r,period:ce,formattedHours:n,formattedMinutes:i};je.current!==document.activeElement&&he.current!==document.activeElement&&(null==D||D(e,s))}))}),[le,se,D,ce]);return e.jsxs(o.default,x(y({legend:O,legendMargin:{mb:0},width:"min-content",legendAlign:_,isRequired:A,isOptional:R,isDisabled:C,name:M,id:Z.current},E,a.default(E),i.default("time",E)),{"aria-describedby":q?we:Pe,children:[q&&e.jsx(b.HintText,{align:_,id:Y.current,isDisabled:C,children:q}),e.jsxs(u.Box,{position:"relative",mt:q?0:1,children:[k&&e.jsxs(e.Fragment,{children:[e.jsx(c.default,{validationId:_e,error:xe,warning:ve,validationMessagePositionTop:k}),Oe&&e.jsx(d.default,{warning:!(xe||!ve)})]}),e.jsxs(u.Box,{display:"flex",children:[e.jsxs("div",{children:[e.jsx(m.default,{"aria-label":ge,htmlFor:W.current,disabled:C,align:P,children:fe}),e.jsx(p.Number,x(y({},I),{label:void 0,"data-component":"hours",ref:je,value:ee,onChange:e=>qe(e,"hrs"),onBlur:Ie,id:W.current,size:w,error:!!N,warning:!!V,disabled:C,readOnly:H,my:0}))]}),e.jsxs(u.Box,{display:"flex",flexDirection:"column",justifyContent:"center",mx:1,"aria-hidden":"true",children:[e.jsx("span",{children:" "}),e.jsx(f.Typography,{isDisabled:C,variant:"span",mb:"-4px",children:":"})]}),e.jsxs("div",{children:[e.jsx(m.default,{"aria-label":be,htmlFor:X.current,disabled:C,align:P,children:me}),e.jsx(p.Number,x(y({},S),{label:void 0,"data-component":"minutes",ref:he,value:te,onChange:e=>qe(e,"mins"),onBlur:Ie,id:X.current,size:w,error:!!Q,warning:!!U,disabled:C,readOnly:H,my:0}))]}),de&&e.jsx(u.Box,{display:"flex",flexDirection:"column",justifyContent:"flex-end",width:"max-content",children:e.jsx(g.default,{toggleProps:L,size:w,onChange:e=>{const[t,r]=se,[n,i]=le;pe(e),B({target:{name:M,id:Z.current,value:{hours:t,minutes:r,period:e,formattedHours:n,formattedMinutes:i}}})},toggleValue:re,disabled:C||H})})]}),!k&&e.jsxs(e.Fragment,{children:[e.jsx(c.default,{error:xe,validationId:_e,warning:ve,validationMessagePositionTop:k}),Oe&&e.jsx(d.default,{warning:!(xe||!ve)})]})]})]}))}));O.displayName="Time",exports.default=O;
@@ -1,2 +1,3 @@
1
+ import { MarginProps } from "styled-system";
1
2
  export { default as ResponsiveVerticalMenuDivider } from "./responsive-vertical-menu-divider.component";
2
- export type { ResponsiveVerticalMenuDividerProps } from "./responsive-vertical-menu-divider.component";
3
+ export type { MarginProps as ResponsiveVerticalMenuDividerProps };
@@ -1,6 +1,4 @@
1
1
  import React from "react";
2
2
  import { MarginProps } from "styled-system";
3
- export interface ResponsiveVerticalMenuDividerProps extends MarginProps {
4
- }
5
- export declare const ResponsiveVerticalMenuDivider: (props: ResponsiveVerticalMenuDividerProps) => React.JSX.Element;
3
+ export declare const ResponsiveVerticalMenuDivider: (props: MarginProps) => React.JSX.Element;
6
4
  export default ResponsiveVerticalMenuDivider;