carbon-react 155.5.3 → 155.5.5

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.
@@ -4,6 +4,8 @@ type ActionPopoverContextType = {
4
4
  focusButton: () => void;
5
5
  horizontalAlignment: Alignment;
6
6
  submenuPosition: Alignment;
7
+ selectedSubmenuRef: HTMLUListElement | null;
8
+ setSelectedSubmenuRef: (ref: HTMLUListElement | null) => void;
7
9
  };
8
10
  export declare const ActionPopoverProvider: import("react").Provider<ActionPopoverContextType | null>;
9
11
  export declare const useActionPopoverContext: () => ActionPopoverContextType;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import n,{useState as r,useRef as o,useCallback as i,useEffect as u}from"react";import c from"invariant";import{StyledMenuItemWrapper as a,StyledMenuItem as l,SubMenuItemIcon as s,MenuItemIcon as p,StyledMenuItemInnerText as f}from"../action-popover.style.js";import m from"../../../__internal__/utils/helpers/events/events.js";import d from"../../../__internal__/utils/helpers/guid/index.js";import{useActionPopoverContext as v}from"../__internal__/action-popover.context.js";import b from"../action-popover-menu/action-popover-menu.component.js";function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){y(e,t,n[t])}))}return e}function P(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function g(e){return Boolean(e&&e.current)}const O=y=>{var{children:O,icon:j,disabled:w=!1,onClick:_,submenu:D,focusItem:E,download:x,href:I,currentSubmenuPosition:S,setCurrentSubmenuPosition:k}=y,K=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(y,["children","icon","disabled","onClick","submenu","focusItem","download","href","currentSubmenuPosition","setCurrentSubmenuPosition"]);c(!n.isValidElement(D)||D.type===b,"ActionPopoverItem only accepts submenu of type `ActionPopoverMenu`");const{setOpenPopover:C,focusButton:T,submenuPosition:A}=v(),L=!!I,[M,B]=r(void 0),[R]=r(d()),[W,$]=r(!1),[V,z]=r(0),F=o(null),N=o(null),q=o(null),G=o(null),H=i((()=>{const e=function(e,t,n,r){if(!e.current||!t.current)return r||n;const{left:o,right:i}=e.current.getBoundingClientRect(),{offsetWidth:u}=t.current,c=document.body.clientWidth;return"left"===n?o>=u?"left":"right":c>=i+u?"right":"left"}(N,F,A,S);return null==k||k(e),g(N)&&g(F)&&D}),[D,k,A,S]);u((()=>{B((()=>{if(!N.current||!F.current)return;const{offsetWidth:e}=F.current,t="left"===S;return{left:t?-e:"auto",right:t?"auto":-e}}))}),[D,S]),u((()=>{D&&H()}),[H,D]),u((()=>{E&&setTimeout((()=>{var e;null===(e=N.current)||void 0===e||e.focus()}),0)}),[E]),u((()=>function(){q.current&&clearTimeout(q.current),G.current&&clearTimeout(G.current)}),[]),u((()=>{const e="resize";return window.addEventListener(e,H),function(){window.removeEventListener(e,H)}}),[H]);const J=i((e=>{var t;e.stopPropagation(),w?(null===(t=N.current)||void 0===t||t.focus(),e.preventDefault()):(C(!1),T(),_&&_(e))}),[w,T,_,C]),Q=i((e=>{if(m.isSpaceKey(e))e.preventDefault(),e.stopPropagation();else if(w)m.isEnterKey(e)&&e.stopPropagation();else if(D){var t;if("left"===S){if(m.isLeftKey(e)||m.isEnterKey(e))$(!0),z(0),e.stopPropagation();else if(m.isRightKey(e)){var n;$(!1),null===(n=N.current)||void 0===n||n.focus(),e.stopPropagation()}}else(m.isRightKey(e)||m.isEnterKey(e))&&($(!0),z(0),e.stopPropagation()),m.isLeftKey(e)&&($(!1),null===(t=N.current)||void 0===t||t.focus(),e.stopPropagation());e.preventDefault()}else if(m.isEnterKey(e)){var r;L&&x&&(null===(r=N.current)||void 0===r||r.click()),e.preventDefault(),J(e)}}),[w,x,L,J,D,S]),U=P(h({},!w&&{onClick:e=>{var t;$(!0),null===(t=N.current)||void 0===t||t.focus(),e.preventDefault(),e.stopPropagation()}}),{"aria-haspopup":"true","aria-controls":`ActionPopoverMenu_${R}`,"aria-expanded":W}),X=h({},!w&&{onMouseEnter:e=>{q.current&&clearTimeout(q.current),z(-1),q.current=setTimeout((()=>{$(!0)}),150),e.stopPropagation()},onMouseLeave:e=>{G.current&&clearTimeout(G.current),G.current=setTimeout((()=>{$(!1)}),150),e.stopPropagation()}});return e(a,P(h({onKeyDown:Q},D&&X),{children:[e(l,P(h(P(h({},K),{ref:N,onClick:J,type:"button",tabIndex:0,isDisabled:w}),w&&{"aria-disabled":!0},L&&{as:"a",download:x,href:I},D&&U),{children:[D&&g(N)&&t(s,{"aria-hidden":!0,"data-element":"action-popover-menu-item-chevron","data-role":"chevron-icon",type:"left"===S?"chevron_left_thick":"chevron_right_thick"}),j&&t(p,{"aria-hidden":!0,type:j,"data-element":"action-popover-menu-item-icon","data-role":"item-icon"}),t(f,{"data-element":"action-popover-menu-item-inner-text",children:O})]})),n.isValidElement(D)?n.cloneElement(D,{parentID:`ActionPopoverItem_${R}`,menuID:`ActionPopoverMenu_${R}`,"data-element":"action-popover-submenu",isOpen:W,ref:F,style:M,setOpen:$,setFocusIndex:z,focusIndex:V}):null]}))};O.displayName="ActionPopoverItem";export{O as ActionPopoverItem,O as default};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import r,{useState as n,useRef as o,useCallback as i,useEffect as u}from"react";import c from"invariant";import{StyledMenuItemWrapper as l,StyledMenuItem as a,SubMenuItemIcon as s,MenuItemIcon as p,StyledMenuItemInnerText as f}from"../action-popover.style.js";import m from"../../../__internal__/utils/helpers/events/events.js";import d from"../../../__internal__/utils/helpers/guid/index.js";import{useActionPopoverContext as v}from"../__internal__/action-popover.context.js";import b from"../action-popover-menu/action-popover-menu.component.js";function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(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){y(e,t,r[t])}))}return e}function P(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}function g(e){return Boolean(e&&e.current)}const O=y=>{var{children:O,icon:j,disabled:w=!1,onClick:_,submenu:S,focusItem:D,download:E,href:x,currentSubmenuPosition:I,setCurrentSubmenuPosition:k}=y,K=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(y,["children","icon","disabled","onClick","submenu","focusItem","download","href","currentSubmenuPosition","setCurrentSubmenuPosition"]);c(!r.isValidElement(S)||S.type===b,"ActionPopoverItem only accepts submenu of type `ActionPopoverMenu`");const{setOpenPopover:C,focusButton:T,submenuPosition:A,selectedSubmenuRef:L,setSelectedSubmenuRef:M}=v(),R=!!x,[B,W]=n(void 0),[$]=n(d()),[V,z]=n(!1),[F,N]=n(0),q=o(null),G=o(null),H=o(null),J=o(null),Q=i((()=>{const e=function(e,t,r,n){if(!e.current||!t.current)return n||r;const{left:o,right:i}=e.current.getBoundingClientRect(),{offsetWidth:u}=t.current,c=document.body.clientWidth;return"left"===r?o>=u?"left":"right":c>=i+u?"right":"left"}(G,q,A,I);return null==k||k(e),g(G)&&g(q)&&S}),[S,k,A,I]);u((()=>{!w&&q.current&&z(L===q.current)}),[w,L]),u((()=>{W((()=>{if(!G.current||!q.current)return;const{offsetWidth:e}=q.current,t="left"===I;return{left:t?-e:"auto",right:t?"auto":-e}}))}),[S,I]),u((()=>{S&&Q()}),[Q,S]),u((()=>{D&&setTimeout((()=>{var e;null===(e=G.current)||void 0===e||e.focus()}),0)}),[D]),u((()=>function(){H.current&&clearTimeout(H.current),J.current&&clearTimeout(J.current)}),[]),u((()=>{const e="resize";return window.addEventListener(e,Q),function(){window.removeEventListener(e,Q)}}),[Q]);const U=i((e=>{var t;e.stopPropagation(),w?(null===(t=G.current)||void 0===t||t.focus(),e.preventDefault()):(C(!1),T(),_&&_(e))}),[w,T,_,C]),X=i((e=>{if(m.isSpaceKey(e))e.preventDefault(),e.stopPropagation();else if(w)m.isEnterKey(e)&&e.stopPropagation();else if(S){var t;if("left"===I){if(m.isLeftKey(e)||m.isEnterKey(e))M(q.current),z(!0),N(0),e.stopPropagation();else if(m.isRightKey(e)){var r;z(!1),null===(r=G.current)||void 0===r||r.focus(),e.stopPropagation()}}else(m.isRightKey(e)||m.isEnterKey(e))&&(z(!0),N(0),e.stopPropagation()),m.isLeftKey(e)&&(z(!1),null===(t=G.current)||void 0===t||t.focus(),e.stopPropagation());e.preventDefault()}else if(m.isEnterKey(e)){var n;R&&E&&(null===(n=G.current)||void 0===n||n.click()),e.preventDefault(),U(e)}}),[w,S,I,M,R,E,U]),Y=P(h({},!w&&{onClick:e=>{var t;M(q.current),z(!0),null===(t=G.current)||void 0===t||t.focus(),e.preventDefault(),e.stopPropagation()}}),{"aria-haspopup":"true","aria-controls":`ActionPopoverMenu_${$}`,"aria-expanded":V}),Z=h({},!w&&{onMouseEnter:e=>{H.current&&clearTimeout(H.current),N(-1),H.current=setTimeout((()=>{z(!0),M(q.current)}),150),e.stopPropagation()},onMouseLeave:e=>{J.current&&clearTimeout(J.current),J.current=setTimeout((()=>{z(!1)}),150),e.stopPropagation()}});return e(l,P(h({onKeyDown:X},S&&Z),{children:[e(a,P(h(P(h({},K),{ref:G,onClick:U,type:"button",tabIndex:0,isDisabled:w}),w&&{"aria-disabled":!0},R&&{as:"a",download:E,href:x},S&&Y),{children:[S&&g(G)&&t(s,{"aria-hidden":!0,"data-element":"action-popover-menu-item-chevron","data-role":"chevron-icon",type:"left"===I?"chevron_left_thick":"chevron_right_thick"}),j&&t(p,{"aria-hidden":!0,type:j,"data-element":"action-popover-menu-item-icon","data-role":"item-icon"}),t(f,{"data-element":"action-popover-menu-item-inner-text",children:O})]})),r.isValidElement(S)?r.cloneElement(S,{parentID:`ActionPopoverItem_${$}`,menuID:`ActionPopoverMenu_${$}`,"data-element":"action-popover-submenu",isOpen:V,ref:q,style:B,setOpen:z,setFocusIndex:N,focusIndex:F}):null]}))};O.displayName="ActionPopoverItem";export{O as ActionPopoverItem,O as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import o,{forwardRef as r,useState as n,useRef as a,useContext as i,useMemo as l,useCallback as p,useImperativeHandle as c,useEffect as s}from"react";import u from"invariant";import d from"../../__internal__/utils/helpers/tags/tags.js";import{MenuItemDivider as b,MenuButton as m,StyledButtonIcon as f,ButtonIcon as v}from"./action-popover.style.js";import y from"../../__internal__/utils/helpers/events/events.js";import _ from"../../__internal__/popover/popover.component.js";import O from"../../__internal__/utils/helpers/guid/index.js";import j from"../../hooks/__internal__/useLocale/useLocale.js";import g from"./action-popover-menu/action-popover-menu.component.js";import{ActionPopoverItem as h}from"./action-popover-item/action-popover-item.component.js";import"./action-popover-divider/action-popover-divider.component.js";import{ActionPopoverProvider as P}from"./__internal__/action-popover.context.js";import x from"../../hooks/__internal__/useModalManager/useModalManager.js";import{getItems as w,findFirstFocusableItem as A,findLastFocusableItem as D,checkChildrenForString as I}from"./__internal__/action-popover.utils.js";import k from"../flat-table/__internal__/flat-table.context.js";function E(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}const M=()=>{},S=()=>{},L=r(((r,L)=>{var{children:B,id:K,onOpen:$=M,onClose:C=S,rightAlignMenu:z,renderButton:F,placement:N="bottom",horizontalAlignment:U="left",submenuPosition:q="left","aria-label":R,"aria-labelledby":T,"aria-describedby":V}=r,G=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},a=Object.keys(e);for(r=0;r<a.length;r++)o=a[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)o=a[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(r,["children","id","onOpen","onClose","rightAlignMenu","renderButton","placement","horizontalAlignment","submenuPosition","aria-label","aria-labelledby","aria-describedby"]);const H=j(),[J,Q]=n(!1),[W,X]=n(0),[Y]=n(O()),Z=a(null),ee=a(null),{isInFlatTable:te}=i(k),oe=l((()=>!o.Children.toArray(B).find((e=>!o.isValidElement(e)||e.type!==h&&e.type!==b))),[B]),re=l((()=>w(B)),[B]),ne=A(re),ae=D(re);u(oe,`ActionPopover only accepts children of type \`${h.displayName}\` and \`${b.displayName}\`.`);const ie=l((()=>"top"!==N||z?"top"===N&&z?"top-start":"bottom"===N&&z?"bottom-start":"bottom-end":"top-end"),[N,z]),le=p((e=>{e&&!J&&$(),!e&&J&&C(),Q(e)}),[J,$,C]),pe=p((()=>{var e;const t=null===(e=Z.current)||void 0===e?void 0:e.querySelector("[data-element='action-popover-button']");null==t||t.focus()}),[]);c(L,(()=>({focusButton(){pe()}})),[pe]);const ce=p((e=>{e.stopPropagation();const t=!J;X(ne),le(t),t||pe()}),[J,ne,le,pe]),se=p((e=>{y.isSpaceKey(e)||y.isDownKey(e)||y.isEnterKey(e)?(e.preventDefault(),e.stopPropagation(),X(ne),le(!0)):y.isUpKey(e)&&(e.preventDefault(),e.stopPropagation(),X(ae),le(!0))}),[ne,ae,le]),ue=p((e=>{y.isEscKey(e)&&(le(!1),pe())}),[le,pe]);x({open:J,closeModal:ue,modalRef:Z}),s((()=>{const e=({target:e})=>{var t,o;const r=null==ee||null===(t=ee.current)||void 0===t?void 0:t.contains(e),n=null==Z||null===(o=Z.current)||void 0===o?void 0:o.contains(e);r||n||le(!1)},t="click";return document.addEventListener(t,e,{capture:!0}),function(){document.removeEventListener(t,e,{capture:!0})}}),[le]);const de=K||`ActionPopoverButton_${Y}`,be=`ActionPopoverMenu_${Y}`;return e(m,(me=function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})))),r.forEach((function(t){E(e,t,o[t])}))}return e}({id:de,onKeyDown:se,onClick:ce,isOpen:J,ref:Z},G,d("action-popover-wrapper",G)),fe=null!=(fe={children:[(e=>{if(F){const t=F({tabIndex:J?-1:0,"data-element":"action-popover-button",ariaAttributes:{"aria-haspopup":"true","aria-label":R||H.actionPopover.ariaLabel(),"aria-labelledby":T,"aria-describedby":V,"aria-controls":e,"aria-expanded":`${J}`}}),o=I(t);return F({tabIndex:J?-1:0,"data-element":"action-popover-button",ariaAttributes:{"aria-haspopup":"true","aria-label":o?void 0:R||H.actionPopover.ariaLabel(),"aria-labelledby":T,"aria-describedby":V,"aria-controls":e,"aria-expanded":`${J}`}})}return t(f,{role:"button","aria-haspopup":"true","aria-label":R||H.actionPopover.ariaLabel(),"aria-labelledby":T,"aria-describedby":V,"aria-controls":e,"aria-expanded":J,tabIndex:J?-1:0,"data-element":"action-popover-button",children:t(v,{type:"ellipsis_vertical"})})})(be),t(P,{value:{setOpenPopover:le,focusButton:pe,submenuPosition:q,horizontalAlignment:U},children:J&&t(_,{placement:ie,reference:Z,disableBackgroundUI:te,children:t(g,{"data-component":"action-popover",ref:ee,parentID:de,menuID:be,focusIndex:W,setFocusIndex:X,isOpen:J,setOpen:le,placement:N,children:B})})})]})?fe:{},Object.getOwnPropertyDescriptors?Object.defineProperties(me,Object.getOwnPropertyDescriptors(fe)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(fe)).forEach((function(e){Object.defineProperty(me,e,Object.getOwnPropertyDescriptor(fe,e))})),me));var me,fe}));export{L as ActionPopover,L as default};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import o,{forwardRef as r,useState as n,useRef as a,useContext as i,useMemo as l,useCallback as p,useImperativeHandle as c,useEffect as s}from"react";import u from"invariant";import d from"../../__internal__/utils/helpers/tags/tags.js";import{MenuItemDivider as b,MenuButton as m,StyledButtonIcon as f,ButtonIcon as v}from"./action-popover.style.js";import y from"../../__internal__/utils/helpers/events/events.js";import _ from"../../__internal__/popover/popover.component.js";import O from"../../__internal__/utils/helpers/guid/index.js";import j from"../../hooks/__internal__/useLocale/useLocale.js";import g from"./action-popover-menu/action-popover-menu.component.js";import{ActionPopoverItem as h}from"./action-popover-item/action-popover-item.component.js";import"./action-popover-divider/action-popover-divider.component.js";import{ActionPopoverProvider as P}from"./__internal__/action-popover.context.js";import x from"../../hooks/__internal__/useModalManager/useModalManager.js";import{getItems as w,findFirstFocusableItem as A,findLastFocusableItem as S,checkChildrenForString as D}from"./__internal__/action-popover.utils.js";import I from"../flat-table/__internal__/flat-table.context.js";function k(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}const E=()=>{},M=()=>{},L=r(((r,L)=>{var{children:B,id:K,onOpen:$=E,onClose:C=M,rightAlignMenu:z,renderButton:R,placement:F="bottom",horizontalAlignment:N="left",submenuPosition:U="left","aria-label":q,"aria-labelledby":T,"aria-describedby":V}=r,G=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},a=Object.keys(e);for(r=0;r<a.length;r++)o=a[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)o=a[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(r,["children","id","onOpen","onClose","rightAlignMenu","renderButton","placement","horizontalAlignment","submenuPosition","aria-label","aria-labelledby","aria-describedby"]);const H=j(),[J,Q]=n(!1),[W,X]=n(0),[Y]=n(O()),Z=a(null),ee=a(null),{isInFlatTable:te}=i(I),[oe,re]=n(null),ne=l((()=>!o.Children.toArray(B).find((e=>!o.isValidElement(e)||e.type!==h&&e.type!==b))),[B]),ae=l((()=>w(B)),[B]),ie=A(ae),le=S(ae);u(ne,`ActionPopover only accepts children of type \`${h.displayName}\` and \`${b.displayName}\`.`);const pe=l((()=>"top"!==F||z?"top"===F&&z?"top-start":"bottom"===F&&z?"bottom-start":"bottom-end":"top-end"),[F,z]),ce=p((e=>{e&&!J&&$(),!e&&J&&C(),Q(e)}),[J,$,C]),se=p((()=>{var e;const t=null===(e=Z.current)||void 0===e?void 0:e.querySelector("[data-element='action-popover-button']");null==t||t.focus()}),[]);c(L,(()=>({focusButton(){se()}})),[se]);const ue=p((e=>{e.stopPropagation();const t=!J;X(ie),ce(t),t||se()}),[J,ie,ce,se]),de=p((e=>{y.isSpaceKey(e)||y.isDownKey(e)||y.isEnterKey(e)?(e.preventDefault(),e.stopPropagation(),X(ie),ce(!0)):y.isUpKey(e)&&(e.preventDefault(),e.stopPropagation(),X(le),ce(!0))}),[ie,le,ce]),be=p((e=>{y.isEscKey(e)&&(ce(!1),se())}),[ce,se]);x({open:J,closeModal:be,modalRef:Z}),s((()=>{const e=({target:e})=>{var t,o;const r=null==ee||null===(t=ee.current)||void 0===t?void 0:t.contains(e),n=null==Z||null===(o=Z.current)||void 0===o?void 0:o.contains(e);r||n||ce(!1)},t="click";return document.addEventListener(t,e,{capture:!0}),function(){document.removeEventListener(t,e,{capture:!0})}}),[ce]);const me=K||`ActionPopoverButton_${Y}`,fe=`ActionPopoverMenu_${Y}`;return e(m,(ve=function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})))),r.forEach((function(t){k(e,t,o[t])}))}return e}({id:me,onKeyDown:de,onClick:ue,isOpen:J,ref:Z},G,d("action-popover-wrapper",G)),ye=null!=(ye={children:[(e=>{if(R){const t=R({tabIndex:J?-1:0,"data-element":"action-popover-button",ariaAttributes:{"aria-haspopup":"true","aria-label":q||H.actionPopover.ariaLabel(),"aria-labelledby":T,"aria-describedby":V,"aria-controls":e,"aria-expanded":`${J}`}}),o=D(t);return R({tabIndex:J?-1:0,"data-element":"action-popover-button",ariaAttributes:{"aria-haspopup":"true","aria-label":o?void 0:q||H.actionPopover.ariaLabel(),"aria-labelledby":T,"aria-describedby":V,"aria-controls":e,"aria-expanded":`${J}`}})}return t(f,{role:"button","aria-haspopup":"true","aria-label":q||H.actionPopover.ariaLabel(),"aria-labelledby":T,"aria-describedby":V,"aria-controls":e,"aria-expanded":J,tabIndex:J?-1:0,"data-element":"action-popover-button",children:t(v,{type:"ellipsis_vertical"})})})(fe),t(P,{value:{setOpenPopover:ce,focusButton:se,submenuPosition:U,horizontalAlignment:N,selectedSubmenuRef:oe,setSelectedSubmenuRef:re},children:J&&t(_,{placement:pe,reference:Z,disableBackgroundUI:te,children:t(g,{"data-component":"action-popover",ref:ee,parentID:me,menuID:fe,focusIndex:W,setFocusIndex:X,isOpen:J,setOpen:ce,placement:F,children:B})})})]})?ye:{},Object.getOwnPropertyDescriptors?Object.defineProperties(ve,Object.getOwnPropertyDescriptors(ye)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(ye)).forEach((function(e){Object.defineProperty(ve,e,Object.getOwnPropertyDescriptor(ye,e))})),ve));var ve,ye}));export{L as ActionPopover,L as default};
@@ -7,7 +7,7 @@ export interface SwitchProps extends CommonCheckableInputProps, MarginProps, Tag
7
7
  adaptiveLabelBreakpoint?: number;
8
8
  /** Set the default value of the Switch if component is meant to be used as uncontrolled */
9
9
  defaultChecked?: boolean;
10
- /** [Legacy] When true label is inline */
10
+ /** When true label is inline */
11
11
  labelInline?: boolean;
12
12
  /** Triggers loading animation */
13
13
  loading?: boolean;
@@ -23,6 +23,8 @@ export interface SwitchProps extends CommonCheckableInputProps, MarginProps, Tag
23
23
  isDarkBackground?: boolean;
24
24
  /** Render the ValidationMessage above the Switch input when validationRedesignOptIn flag is set */
25
25
  validationMessagePositionTop?: boolean;
26
+ /** Label width, as a percentage, when labelInline is true */
27
+ labelWidth?: number;
26
28
  }
27
29
  export declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLInputElement>>;
28
30
  export default Switch;
@@ -1 +1 @@
1
- import{jsx as e,Fragment as r,jsxs as n}from"react/jsx-runtime";import i,{useContext as o,useRef as t,useState as a,useCallback as l}from"react";import{Box as d}from"../box/box.component.js";import s from"../../__internal__/checkable-input/checkable-input.component.js";import c from"../../__internal__/label/label.component.js";import{TooltipProvider as p}from"../../__internal__/tooltip-provider/index.js";import u from"../carbon-provider/__internal__/new-validation.context.js";import b from"../../__internal__/utils/logger/index.js";import m from"../../__internal__/validation-message/validation-message.component.js";import f from"../../hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js";import g,{ErrorBorder as h}from"./switch.style.js";import k from"./__internal__/switch-slider.component.js";import v from"../../__internal__/utils/helpers/guid/index.js";import{HintText as w}from"../../__internal__/hint-text/hint-text.component.js";import"../../style/utils/filter-styled-system-padding-props.js";import y from"../../style/utils/filter-styled-system-margin-props.js";function _(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function O(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),i.forEach((function(r){_(e,r,n[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 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 B=!1;const x=i.forwardRef(((i,_)=>{var{autoFocus:x,id:D,label:P,onChange:I,onBlur:S,onFocus:H,value:L,checked:F,defaultChecked:z,disabled:C,loading:q,reverse:A=!0,required:T,isOptional:M,validationOnLabel:$=!1,labelInline:E=!1,labelSpacing:R,labelHelp:U,fieldHelpInline:W,size:Y,name:N,adaptiveLabelBreakpoint:V,tooltipPosition:G,error:J,warning:K,info:Q,"data-element":X,"data-role":Z,helpAriaLabel:ee,isDarkBackground:re=!1,validationMessagePositionTop:ne=!0}=i,ie=function(e,r){if(null==e)return{};var n,i,o=function(e,r){if(null==e)return{};var n,i,o={},t=Object.keys(e);for(i=0;i<t.length;i++)n=t[i],r.indexOf(n)>=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);for(i=0;i<t.length;i++)n=t[i],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(i,["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 oe=void 0!==F,{validationRedesignOptIn:te}=o(u),ae=t(`${v()}-label`),le=t(`${v()}-hint`),de=t(`${v()}-message`),[se,ce]=a(z||!1);B||I||(B=!0,b.deprecate("Uncontrolled behaviour in `Switch` is deprecated and support will soon be removed. Please make sure all your inputs are controlled."));const pe=l((e=>{q?e.preventDefault():(ce(e.target.checked),null==I||I(e))}),[ce,I,q]),ue=f(V);let be=E;V&&(be=ue);const me=!(!E||A)||$,fe=y(ie),ge=O({"data-component":"switch","data-role":Z,"data-element":X,checked:oe?F:se,isDarkBackground:re,fieldHelpInline:W,labelInline:be,labelSpacing:R,reverse:!A,size:Y},fe),he={checked:oe?F:se,disabled:C,loading:q,isDarkBackground:re,size:Y,error:J,warning:K,info:Q,useValidationIcon:!te&&!me&&!C},ke=j(O({autoFocus:x,error:J,warning:K,info:Q,disabled:C,loading:q,checked:oe?F:se,label:P,labelHelp:U,fieldHelpInline:W,labelInline:be,labelSpacing:R,onBlur:S,isDarkBackground:re,onFocus:H,onChange:oe?I:pe,id:D,name:N,value:L,type:"checkbox",role:"switch",reverse:!A,validationOnLabel:me&&!C,ref:_,required:T,isOptional:M},ie),{"data-component":void 0}),ve=O({"data-component":"switch","data-role":Z,"data-element":X,checked:oe?F:se,labelInline:be,isDarkBackground:re,size:Y},fe),we={checked:oe?F:se,disabled:C,loading:q,isDarkBackground:re,size:Y,error:J,warning:K},ye=O({autoFocus:x,error:!!J,warning:K,disabled:C,loading:q,checked:oe?F:se,onBlur:S,isDarkBackground:re,onFocus:H,onChange:oe?I:pe,id:D,name:N,value:L,type:"checkbox",role:"switch",ref:_,required:T,isOptional:M},ie),_e=J||K,Oe=[U&&le.current,_e&&de.current].filter(Boolean).join(" ");if(!te)return e(r,{children:e(p,{helpAriaLabel:ee,tooltipPosition:G,children:e(g,j(O({},ge),{children:e(s,j(O({},ke),{children:e(k,O({},he))}))}))})});const je=J||K?E?3:0:E?1:0,Be=E?"row":"column",xe=E?"row-reverse":"column",De=!E||J||K||Q?"":"center";return n(r,{children:[e(g,j(O({},ve),{children:n(d,{"data-role":"field-reverse-wrapper",display:"flex",flexWrap:"wrap",alignItems:J||K?"flex-start":void 0,flexDirection:A?Be:xe,width:E?"100%":"auto",children:[n(d,{"data-role":"label-wrapper",alignSelf:De,children:[e(c,{isDarkBackground:re,labelId:ae.current,disabled:C,isRequired:T,optional:M,children:P}),U&&e(d,{"data-role":"hint-text-wrapper",mb:E?0:1,mr:A?0:1,ml:A?0:1,children:e(w,{"data-role":"hint-text",fontWeight:"400",id:le.current,isDarkBackground:re,marginTop:"8px",maxWidth:"160px",children:U})})]}),n(d,{ml:A?je:0,mr:A?0:je,position:"relative",id:"input-wrapper","data-role":"input-wrapper",children:[ne&&n(r,{children:[e(m,{error:J,warning:K,validationId:de.current,isDarkBackground:re,validationMessagePositionTop:ne,"data-role":"validation-message-top"}),_e&&e(h,{"data-role":"error-border",warning:!(J||!K),reverse:!A,isDarkBackground:re})]}),e(s,j(O({ariaLabelledBy:`${P&&ae.current}`,ariaDescribedBy:Oe},ye),{fieldHelp:E?void 0:ie.fieldHelp,children:e(k,O({},we))})),!ne&&n(r,{children:[e(m,{error:J,warning:K,validationId:de.current,isDarkBackground:re,validationMessagePositionTop:ne,"data-role":"validation-message-bottom"}),_e&&e(h,{"data-role":"error-border",warning:!(J||!K),reverse:!A,isDarkBackground:re})]})]})]})})),E&&ie.fieldHelp&&e(d,{color:re?"var(--colorsUtilityYang100)":"var(--colorsUtilityYin090)",children:ie.fieldHelp})]})}));x.displayName="Switch";export{x as Switch,x as default};
1
+ import{jsx as e,Fragment as r,jsxs as n}from"react/jsx-runtime";import i,{useContext as o,useRef as t,useState as a,useCallback as l}from"react";import{Box as d}from"../box/box.component.js";import s from"../../__internal__/checkable-input/checkable-input.component.js";import c from"../../__internal__/label/label.component.js";import{TooltipProvider as p}from"../../__internal__/tooltip-provider/index.js";import u from"../carbon-provider/__internal__/new-validation.context.js";import b from"../../__internal__/utils/logger/index.js";import m from"../../__internal__/validation-message/validation-message.component.js";import g from"../../hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js";import f,{ErrorBorder as h}from"./switch.style.js";import v from"./__internal__/switch-slider.component.js";import k from"../../__internal__/utils/helpers/guid/index.js";import{HintText as w}from"../../__internal__/hint-text/hint-text.component.js";import"../../style/utils/filter-styled-system-padding-props.js";import y from"../../style/utils/filter-styled-system-margin-props.js";function _(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function O(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),i.forEach((function(r){_(e,r,n[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 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 B=!1;const D=i.forwardRef(((i,_)=>{var{autoFocus:D,id:P,label:x,onChange:I,onBlur:S,onFocus:H,value:L,checked:F,defaultChecked:z,disabled:C,loading:q,reverse:A=!0,required:T,isOptional:$,validationOnLabel:M=!1,labelInline:R=!1,labelSpacing:W,labelHelp:E,labelWidth:U,fieldHelpInline:Y,size:N="small",name:V,adaptiveLabelBreakpoint:G,tooltipPosition:J,error:K,warning:Q,info:X,"data-element":Z,"data-role":ee,helpAriaLabel:re,isDarkBackground:ne=!1,validationMessagePositionTop:ie=!0}=i,oe=function(e,r){if(null==e)return{};var n,i,o=function(e,r){if(null==e)return{};var n,i,o={},t=Object.keys(e);for(i=0;i<t.length;i++)n=t[i],r.indexOf(n)>=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);for(i=0;i<t.length;i++)n=t[i],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(i,["autoFocus","id","label","onChange","onBlur","onFocus","value","checked","defaultChecked","disabled","loading","reverse","required","isOptional","validationOnLabel","labelInline","labelSpacing","labelHelp","labelWidth","fieldHelpInline","size","name","adaptiveLabelBreakpoint","tooltipPosition","error","warning","info","data-element","data-role","helpAriaLabel","isDarkBackground","validationMessagePositionTop"]);const te=void 0!==F,{validationRedesignOptIn:ae}=o(u),le=t(`${k()}-label`),de=t(`${k()}-hint`),se=t(`${k()}-message`),[ce,pe]=a(z||!1);B||I||(B=!0,b.deprecate("Uncontrolled behaviour in `Switch` is deprecated and support will soon be removed. Please make sure all your inputs are controlled."));const ue=l((e=>{q?e.preventDefault():(pe(e.target.checked),null==I||I(e))}),[pe,I,q]),be=g(G);let me=R;G&&(me=be);const ge=!(!R||A)||M,fe=y(oe),he=O({"data-component":"switch","data-role":ee,"data-element":Z,checked:te?F:ce,isDarkBackground:ne,fieldHelpInline:Y,labelInline:me,labelSpacing:W,reverse:!A,size:N},fe),ve={checked:te?F:ce,disabled:C,loading:q,isDarkBackground:ne,size:N,error:K,warning:Q,info:X,useValidationIcon:!ae&&!ge&&!C},ke=j(O({autoFocus:D,error:K,warning:Q,info:X,disabled:C,loading:q,checked:te?F:ce,label:x,labelHelp:E,labelWidth:U,fieldHelpInline:Y,labelInline:me,labelSpacing:W,onBlur:S,isDarkBackground:ne,onFocus:H,onChange:te?I:ue,id:P,name:V,value:L,type:"checkbox",role:"switch",reverse:!A,validationOnLabel:ge&&!C,ref:_,required:T,isOptional:$},oe),{"data-component":void 0}),we=O({"data-component":"switch","data-role":ee,"data-element":Z,checked:te?F:ce,labelInline:me,isDarkBackground:ne,size:N,reverse:!A,validationRedesignOptIn:ae},fe),ye={checked:te?F:ce,disabled:C,loading:q,isDarkBackground:ne,size:N,error:K,warning:Q},_e=O({autoFocus:D,error:!!K,warning:Q,disabled:C,loading:q,checked:te?F:ce,onBlur:S,isDarkBackground:ne,onFocus:H,onChange:te?I:ue,id:P,name:V,value:L,type:"checkbox",role:"switch",ref:_,required:T,isOptional:$},oe),Oe=K||Q,je=[E&&de.current,Oe&&se.current].filter(Boolean).join(" ");if(!ae)return e(r,{children:e(p,{helpAriaLabel:re,tooltipPosition:J,children:e(f,j(O({},he),{children:e(s,j(O({},ke),{children:e(v,O({},ve))}))}))})});const Be=K||Q?R?3:0:R?1:0,De=R?"row":"column",Pe=R?"row-reverse":"column",xe=!R||K||Q||X?"":"center";return n(r,{children:[e(f,j(O({},we),{children:n(d,{"data-role":"field-reverse-wrapper",display:"flex",alignItems:K||Q?"flex-start":void 0,flexDirection:A?De:Pe,width:R?"100%":"auto",children:[n(d,j(O({"data-role":"label-wrapper",alignSelf:xe},U&&{width:`${U}%`}),{children:[e(c,{isDarkBackground:ne,labelId:le.current,disabled:C,isRequired:T,optional:$,children:x}),E&&e(d,{"data-role":"hint-text-wrapper",mb:R?0:1,children:e(w,{"data-role":"hint-text",fontWeight:"400",id:de.current,isDarkBackground:ne,marginTop:"8px",children:E})})]})),n(d,{ml:A?Be:0,mr:A?0:Be,position:"relative",id:"input-wrapper","data-role":"input-wrapper",children:[ie&&n(r,{children:[e(m,{error:K,warning:Q,validationId:se.current,isDarkBackground:ne,validationMessagePositionTop:ie,"data-role":"validation-message-top"}),Oe&&e(h,{"data-role":"error-border",warning:!(K||!Q),reverse:!A,isDarkBackground:ne})]}),e(s,j(O({ariaLabelledBy:`${x&&le.current}`,ariaDescribedBy:je},_e),{fieldHelp:R?void 0:oe.fieldHelp,children:e(v,O({},ye))})),!ie&&n(r,{children:[e(m,{error:K,warning:Q,validationId:se.current,isDarkBackground:ne,validationMessagePositionTop:ie,"data-role":"validation-message-bottom"}),Oe&&e(h,{"data-role":"error-border",warning:!(K||!Q),reverse:!A,isDarkBackground:ne})]})]})]})})),R&&oe.fieldHelp&&e(d,{color:ne?"var(--colorsUtilityYang100)":"var(--colorsUtilityYin090)",children:oe.fieldHelp})]})}));D.displayName="Switch";export{D as Switch,D as default};
@@ -2,6 +2,7 @@ import type { ThemeObject } from "../../style/themes/theme.types";
2
2
  import { SwitchProps } from "./switch.component";
3
3
  interface StyledSwitchProps extends Pick<SwitchProps, "fieldHelpInline" | "labelInline" | "reverse" | "size"> {
4
4
  theme: ThemeObject;
5
+ validationRedesignOptIn?: boolean;
5
6
  }
6
7
  export declare const ErrorBorder: import("styled-components").StyledComponent<"span", any, {
7
8
  reverse: boolean;
@@ -1 +1 @@
1
- import t,{css as i}from"styled-components";import{margin as e}from"styled-system";import{StyledCheckableInput as n}from"../../__internal__/checkable-input/checkable-input.style.js";import o from"../../__internal__/checkable-input/hidden-checkable-input.style.js";import r from"../../__internal__/field-help/field-help.style.js";import{FieldLineStyle as l}from"../../__internal__/form-field/form-field.style.js";import{StyledLabelContainer as a}from"../../__internal__/label/label.style.js";import p from"../../__internal__/validations/validation-icon.style.js";import m from"../../style/themes/apply-base-theme.js";import s from"../../style/utils/add-focus-styling.js";import{StyledSwitchSlider as d}from"./__internal__/switch-slider.style.js";const f=t.span.withConfig({displayName:"switch.style__ErrorBorder",componentId:"sc-542ab734-0"})(["",""],(({reverse:t,warning:e,isDarkBackground:n})=>i(["position:absolute;z-index:6;width:2px;background-color:",";",":-12px;bottom:-4px;top:2px;"],e?"var(--colorsSemanticCaution500)":n?"var(--colorsSemanticNegative450)":"var(--colorsSemanticNegative500)",t?"right":"left"))),c=t.div.attrs(m).withConfig({displayName:"switch.style__StyledSwitch",componentId:"sc-542ab734-1"})(["",""],(({fieldHelpInline:t,labelInline:m,reverse:f,size:c})=>i(["margin-bottom:var(--fieldSpacing);"," ","{display:flex;flex-flow:",";","}display:flex;flex-flow:",";",",","{border:none;box-sizing:border-box;height:24px;flex-basis:100%;margin-left:0;}","{width:100%;}","{width:min-content;}",":not([disabled]){&:focus ~ ","{","}}","{margin-left:0;}","{",";margin-bottom:8px;","{position:relative;display:inline-block;}}"," "," "," ",""],e,l,m?"row wrap":"column wrap",!m&&t&&i(["display:grid;grid-template-columns:max-content max-content;"]),m?"row wrap":"column wrap",n,o,o,n,o,d,s(),r,a,!m&&i(["padding:0;"]),p,t&&i(["","{margin:0;}"],r),f&&i(["",""],!m&&i(["","{margin-top:8px;}",""],a,t&&i(["","{margin-top:8px;}"],r))),m&&i(["","{flex-basis:auto;}","{display:flex;}","{margin-bottom:0;}","{margin-bottom:0;margin-top:0;}"," ",""],n,l,a,r,f&&i(["","{margin-left:0;margin-top:0;}",""],n,!t&&i(["","{margin-left:60px;}"],r)),t&&i([""," ","{margin-right:10px;}","{margin-left:0;align-self:center;}"],!f&&`\n ${n} {\n margin-left: 10px;\n }\n `,a,r)),"large"===c&&i(["",",",",","{height:44px;min-width:fit-content;}"," ",""],n,o,d,m&&!t&&f&&i(["","{padding:10px 0;}"],r),m&&i(["","{margin-top:1px;padding-top:10px;padding-bottom:10px;}",""],a,!t&&f&&i(["","{margin-left:78px;}"],r))))));export{f as ErrorBorder,c as default};
1
+ import t,{css as i}from"styled-components";import{margin as e}from"styled-system";import{StyledCheckableInput as n}from"../../__internal__/checkable-input/checkable-input.style.js";import o from"../../__internal__/checkable-input/hidden-checkable-input.style.js";import r from"../../__internal__/field-help/field-help.style.js";import{FieldLineStyle as l}from"../../__internal__/form-field/form-field.style.js";import{StyledLabelContainer as a}from"../../__internal__/label/label.style.js";import m from"../../__internal__/validations/validation-icon.style.js";import p from"../../style/themes/apply-base-theme.js";import s from"../../style/utils/add-focus-styling.js";import{StyledSwitchSlider as d}from"./__internal__/switch-slider.style.js";const f=t.span.withConfig({displayName:"switch.style__ErrorBorder",componentId:"sc-e7781d44-0"})(["",""],(({reverse:t,warning:e,isDarkBackground:n})=>i(["position:absolute;z-index:6;width:2px;background-color:",";",":-12px;bottom:-4px;top:2px;"],e?"var(--colorsSemanticCaution500)":n?"var(--colorsSemanticNegative450)":"var(--colorsSemanticNegative500)",t?"right":"left"))),c=t.div.attrs(p).withConfig({displayName:"switch.style__StyledSwitch",componentId:"sc-e7781d44-1"})(["",""],(({fieldHelpInline:t,labelInline:p,reverse:f,size:c,validationRedesignOptIn:g})=>i(["margin-bottom:var(--fieldSpacing);"," ","{flex-flow:",";","}display:flex;flex-flow:",";",",","{border:none;box-sizing:border-box;height:24px;flex-basis:100%;margin-left:0;}","{width:100%;}","{width:min-content;}",":not([disabled]){&:focus ~ ","{","}}","{margin-left:0;}","{",";margin-bottom:8px;","{position:relative;display:inline-block;}}"," "," "," ",""],e,l,p?"row wrap":"column wrap",!p&&t&&i(["display:grid;grid-template-columns:max-content max-content;"]),p?"row wrap":"column wrap",n,o,o,n,o,d,s(),r,a,!p&&i(["padding:0;"]),m,t&&i(["","{margin:0;}"],r),f&&i(["",""],!p&&i(["","{margin-top:8px;}",""],a,t&&i(["","{margin-top:8px;}"],r))),p&&i(["","{flex-basis:auto;}","{","}","{margin-bottom:0;}","{margin-bottom:0;margin-top:0;}"," ",""],n,l,f&&g&&i(["justify-content:flex-end;"]),a,r,f&&i(["","{margin-left:0;margin-top:0;}",""],n,!t&&i(["","{margin-left:60px;}"],r)),t&&i([""," ","{margin-right:10px;}","{margin-left:0;align-self:center;}"],!f&&`\n ${n} {\n margin-left: 10px;\n }\n `,a,r)),"large"===c&&i(["",",",",","{height:44px;min-width:fit-content;}"," ",""],n,o,d,p&&!t&&f&&i(["","{padding:10px 0;}"],r),p&&i(["","{margin-top:1px;padding-top:10px;padding-bottom:10px;}",""],a,!t&&f&&i(["","{margin-left:78px;}"],r))))));export{f as ErrorBorder,c as default};
@@ -4,6 +4,8 @@ type ActionPopoverContextType = {
4
4
  focusButton: () => void;
5
5
  horizontalAlignment: Alignment;
6
6
  submenuPosition: Alignment;
7
+ selectedSubmenuRef: HTMLUListElement | null;
8
+ setSelectedSubmenuRef: (ref: HTMLUListElement | null) => void;
7
9
  };
8
10
  export declare const ActionPopoverProvider: import("react").Provider<ActionPopoverContextType | null>;
9
11
  export declare const useActionPopoverContext: () => ActionPopoverContextType;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),n=require("invariant"),r=require("../action-popover.style.js"),o=require("../../../__internal__/utils/helpers/events/events.js"),u=require("../../../__internal__/utils/helpers/guid/index.js"),i=require("../__internal__/action-popover.context.js"),c=require("../action-popover-menu/action-popover-menu.component.js");function a(e){return e&&e.__esModule?e:{default:e}}var l=a(t),s=a(n);function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){f(e,t,n[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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function m(e){return Boolean(e&&e.current)}const v=n=>{var{children:a,icon:f,disabled:v=!1,onClick:b,submenu:y,focusItem:P,download:h,href:g,currentSubmenuPosition:O,setCurrentSubmenuPosition:j}=n,_=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},u=Object.keys(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,["children","icon","disabled","onClick","submenu","focusItem","download","href","currentSubmenuPosition","setCurrentSubmenuPosition"]);s.default(!l.default.isValidElement(y)||y.type===c.default,"ActionPopoverItem only accepts submenu of type `ActionPopoverMenu`");const{setOpenPopover:x,focusButton:I,submenuPosition:w}=i.useActionPopoverContext(),S=!!g,[E,k]=t.useState(void 0),[D]=t.useState(u.default()),[M,C]=t.useState(!1),[K,q]=t.useState(0),A=t.useRef(null),T=t.useRef(null),R=t.useRef(null),L=t.useRef(null),W=t.useCallback((()=>{const e=function(e,t,n,r){if(!e.current||!t.current)return r||n;const{left:o,right:u}=e.current.getBoundingClientRect(),{offsetWidth:i}=t.current,c=document.body.clientWidth;return"left"===n?o>=i?"left":"right":c>=u+i?"right":"left"}(T,A,w,O);return null==j||j(e),m(T)&&m(A)&&y}),[y,j,w,O]);t.useEffect((()=>{k((()=>{if(!T.current||!A.current)return;const{offsetWidth:e}=A.current,t="left"===O;return{left:t?-e:"auto",right:t?"auto":-e}}))}),[y,O]),t.useEffect((()=>{y&&W()}),[W,y]),t.useEffect((()=>{P&&setTimeout((()=>{var e;null===(e=T.current)||void 0===e||e.focus()}),0)}),[P]),t.useEffect((()=>function(){R.current&&clearTimeout(R.current),L.current&&clearTimeout(L.current)}),[]),t.useEffect((()=>{const e="resize";return window.addEventListener(e,W),function(){window.removeEventListener(e,W)}}),[W]);const B=t.useCallback((e=>{var t;e.stopPropagation(),v?(null===(t=T.current)||void 0===t||t.focus(),e.preventDefault()):(x(!1),I(),b&&b(e))}),[v,I,b,x]),$=t.useCallback((e=>{if(o.default.isSpaceKey(e))e.preventDefault(),e.stopPropagation();else if(v)o.default.isEnterKey(e)&&e.stopPropagation();else if(y){var t;if("left"===O){if(o.default.isLeftKey(e)||o.default.isEnterKey(e))C(!0),q(0),e.stopPropagation();else if(o.default.isRightKey(e)){var n;C(!1),null===(n=T.current)||void 0===n||n.focus(),e.stopPropagation()}}else(o.default.isRightKey(e)||o.default.isEnterKey(e))&&(C(!0),q(0),e.stopPropagation()),o.default.isLeftKey(e)&&(C(!1),null===(t=T.current)||void 0===t||t.focus(),e.stopPropagation());e.preventDefault()}else if(o.default.isEnterKey(e)){var r;S&&h&&(null===(r=T.current)||void 0===r||r.click()),e.preventDefault(),B(e)}}),[v,h,S,B,y,O]),V=d(p({},!v&&{onClick:e=>{var t;C(!0),null===(t=T.current)||void 0===t||t.focus(),e.preventDefault(),e.stopPropagation()}}),{"aria-haspopup":"true","aria-controls":`ActionPopoverMenu_${D}`,"aria-expanded":M}),z=p({},!v&&{onMouseEnter:e=>{R.current&&clearTimeout(R.current),q(-1),R.current=setTimeout((()=>{C(!0)}),150),e.stopPropagation()},onMouseLeave:e=>{L.current&&clearTimeout(L.current),L.current=setTimeout((()=>{C(!1)}),150),e.stopPropagation()}});return e.jsxs(r.StyledMenuItemWrapper,d(p({onKeyDown:$},y&&z),{children:[e.jsxs(r.StyledMenuItem,d(p(d(p({},_),{ref:T,onClick:B,type:"button",tabIndex:0,isDisabled:v}),v&&{"aria-disabled":!0},S&&{as:"a",download:h,href:g},y&&V),{children:[y&&m(T)&&e.jsx(r.SubMenuItemIcon,{"aria-hidden":!0,"data-element":"action-popover-menu-item-chevron","data-role":"chevron-icon",type:"left"===O?"chevron_left_thick":"chevron_right_thick"}),f&&e.jsx(r.MenuItemIcon,{"aria-hidden":!0,type:f,"data-element":"action-popover-menu-item-icon","data-role":"item-icon"}),e.jsx(r.StyledMenuItemInnerText,{"data-element":"action-popover-menu-item-inner-text",children:a})]})),l.default.isValidElement(y)?l.default.cloneElement(y,{parentID:`ActionPopoverItem_${D}`,menuID:`ActionPopoverMenu_${D}`,"data-element":"action-popover-submenu",isOpen:M,ref:A,style:E,setOpen:C,setFocusIndex:q,focusIndex:K}):null]}))};v.displayName="ActionPopoverItem",exports.ActionPopoverItem=v,exports.default=v;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),n=require("invariant"),r=require("../action-popover.style.js"),o=require("../../../__internal__/utils/helpers/events/events.js"),u=require("../../../__internal__/utils/helpers/guid/index.js"),i=require("../__internal__/action-popover.context.js"),c=require("../action-popover-menu/action-popover-menu.component.js");function l(e){return e&&e.__esModule?e:{default:e}}var a=l(t),s=l(n);function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){f(e,t,n[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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function m(e){return Boolean(e&&e.current)}const v=n=>{var{children:l,icon:f,disabled:v=!1,onClick:b,submenu:y,focusItem:P,download:h,href:g,currentSubmenuPosition:O,setCurrentSubmenuPosition:j}=n,_=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},u=Object.keys(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,["children","icon","disabled","onClick","submenu","focusItem","download","href","currentSubmenuPosition","setCurrentSubmenuPosition"]);s.default(!a.default.isValidElement(y)||y.type===c.default,"ActionPopoverItem only accepts submenu of type `ActionPopoverMenu`");const{setOpenPopover:S,focusButton:x,submenuPosition:I,selectedSubmenuRef:w,setSelectedSubmenuRef:E}=i.useActionPopoverContext(),k=!!g,[D,M]=t.useState(void 0),[C]=t.useState(u.default()),[K,R]=t.useState(!1),[q,A]=t.useState(0),T=t.useRef(null),L=t.useRef(null),W=t.useRef(null),B=t.useRef(null),$=t.useCallback((()=>{const e=function(e,t,n,r){if(!e.current||!t.current)return r||n;const{left:o,right:u}=e.current.getBoundingClientRect(),{offsetWidth:i}=t.current,c=document.body.clientWidth;return"left"===n?o>=i?"left":"right":c>=u+i?"right":"left"}(L,T,I,O);return null==j||j(e),m(L)&&m(T)&&y}),[y,j,I,O]);t.useEffect((()=>{!v&&T.current&&R(w===T.current)}),[v,w]),t.useEffect((()=>{M((()=>{if(!L.current||!T.current)return;const{offsetWidth:e}=T.current,t="left"===O;return{left:t?-e:"auto",right:t?"auto":-e}}))}),[y,O]),t.useEffect((()=>{y&&$()}),[$,y]),t.useEffect((()=>{P&&setTimeout((()=>{var e;null===(e=L.current)||void 0===e||e.focus()}),0)}),[P]),t.useEffect((()=>function(){W.current&&clearTimeout(W.current),B.current&&clearTimeout(B.current)}),[]),t.useEffect((()=>{const e="resize";return window.addEventListener(e,$),function(){window.removeEventListener(e,$)}}),[$]);const V=t.useCallback((e=>{var t;e.stopPropagation(),v?(null===(t=L.current)||void 0===t||t.focus(),e.preventDefault()):(S(!1),x(),b&&b(e))}),[v,x,b,S]),z=t.useCallback((e=>{if(o.default.isSpaceKey(e))e.preventDefault(),e.stopPropagation();else if(v)o.default.isEnterKey(e)&&e.stopPropagation();else if(y){var t;if("left"===O){if(o.default.isLeftKey(e)||o.default.isEnterKey(e))E(T.current),R(!0),A(0),e.stopPropagation();else if(o.default.isRightKey(e)){var n;R(!1),null===(n=L.current)||void 0===n||n.focus(),e.stopPropagation()}}else(o.default.isRightKey(e)||o.default.isEnterKey(e))&&(R(!0),A(0),e.stopPropagation()),o.default.isLeftKey(e)&&(R(!1),null===(t=L.current)||void 0===t||t.focus(),e.stopPropagation());e.preventDefault()}else if(o.default.isEnterKey(e)){var r;k&&h&&(null===(r=L.current)||void 0===r||r.click()),e.preventDefault(),V(e)}}),[v,y,O,E,k,h,V]),F=d(p({},!v&&{onClick:e=>{var t;E(T.current),R(!0),null===(t=L.current)||void 0===t||t.focus(),e.preventDefault(),e.stopPropagation()}}),{"aria-haspopup":"true","aria-controls":`ActionPopoverMenu_${C}`,"aria-expanded":K}),N=p({},!v&&{onMouseEnter:e=>{W.current&&clearTimeout(W.current),A(-1),W.current=setTimeout((()=>{R(!0),E(T.current)}),150),e.stopPropagation()},onMouseLeave:e=>{B.current&&clearTimeout(B.current),B.current=setTimeout((()=>{R(!1)}),150),e.stopPropagation()}});return e.jsxs(r.StyledMenuItemWrapper,d(p({onKeyDown:z},y&&N),{children:[e.jsxs(r.StyledMenuItem,d(p(d(p({},_),{ref:L,onClick:V,type:"button",tabIndex:0,isDisabled:v}),v&&{"aria-disabled":!0},k&&{as:"a",download:h,href:g},y&&F),{children:[y&&m(L)&&e.jsx(r.SubMenuItemIcon,{"aria-hidden":!0,"data-element":"action-popover-menu-item-chevron","data-role":"chevron-icon",type:"left"===O?"chevron_left_thick":"chevron_right_thick"}),f&&e.jsx(r.MenuItemIcon,{"aria-hidden":!0,type:f,"data-element":"action-popover-menu-item-icon","data-role":"item-icon"}),e.jsx(r.StyledMenuItemInnerText,{"data-element":"action-popover-menu-item-inner-text",children:l})]})),a.default.isValidElement(y)?a.default.cloneElement(y,{parentID:`ActionPopoverItem_${C}`,menuID:`ActionPopoverMenu_${C}`,"data-element":"action-popover-submenu",isOpen:K,ref:T,style:D,setOpen:R,setFocusIndex:A,focusIndex:q}):null]}))};v.displayName="ActionPopoverItem",exports.ActionPopoverItem=v,exports.default=v;
@@ -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"),o=require("./action-popover.style.js"),a=require("../../__internal__/utils/helpers/events/events.js"),i=require("../../__internal__/popover/popover.component.js"),l=require("../../__internal__/utils/helpers/guid/index.js"),u=require("../../hooks/__internal__/useLocale/useLocale.js"),s=require("./action-popover-menu/action-popover-menu.component.js"),c=require("./action-popover-item/action-popover-item.component.js");require("./action-popover-divider/action-popover-divider.component.js");var p=require("./__internal__/action-popover.context.js"),d=require("../../hooks/__internal__/useModalManager/useModalManager.js"),b=require("./__internal__/action-popover.utils.js"),f=require("../flat-table/__internal__/flat-table.context.js");function v(e){return e&&e.__esModule?e:{default:e}}var m=v(t),y=v(r);function _(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const j=()=>{},O=()=>{},g=t.forwardRef(((r,v)=>{var{children:g,id:P,onOpen:h=j,onClose:x=O,rightAlignMenu:I,renderButton:q,placement:M="bottom",horizontalAlignment:w="left",submenuPosition:A="left","aria-label":k,"aria-labelledby":S,"aria-describedby":D}=r,C=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(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)&&(o[r]=e[r])}return o}(r,["children","id","onOpen","onClose","rightAlignMenu","renderButton","placement","horizontalAlignment","submenuPosition","aria-label","aria-labelledby","aria-describedby"]);const B=u.default(),[E,L]=t.useState(!1),[F,K]=t.useState(0),[$]=t.useState(l.default()),R=t.useRef(null),z=t.useRef(null),{isInFlatTable:N}=t.useContext(f.default),U=t.useMemo((()=>!m.default.Children.toArray(g).find((e=>!m.default.isValidElement(e)||e.type!==c.ActionPopoverItem&&e.type!==o.MenuItemDivider))),[g]),H=t.useMemo((()=>b.getItems(g)),[g]),T=b.findFirstFocusableItem(H),V=b.findLastFocusableItem(H);y.default(U,`ActionPopover only accepts children of type \`${c.ActionPopoverItem.displayName}\` and \`${o.MenuItemDivider.displayName}\`.`);const G=t.useMemo((()=>"top"!==M||I?"top"===M&&I?"top-start":"bottom"===M&&I?"bottom-start":"bottom-end":"top-end"),[M,I]),J=t.useCallback((e=>{e&&!E&&h(),!e&&E&&x(),L(e)}),[E,h,x]),Q=t.useCallback((()=>{var e;const t=null===(e=R.current)||void 0===e?void 0:e.querySelector("[data-element='action-popover-button']");null==t||t.focus()}),[]);t.useImperativeHandle(v,(()=>({focusButton(){Q()}})),[Q]);const W=t.useCallback((e=>{e.stopPropagation();const t=!E;K(T),J(t),t||Q()}),[E,T,J,Q]),X=t.useCallback((e=>{a.default.isSpaceKey(e)||a.default.isDownKey(e)||a.default.isEnterKey(e)?(e.preventDefault(),e.stopPropagation(),K(T),J(!0)):a.default.isUpKey(e)&&(e.preventDefault(),e.stopPropagation(),K(V),J(!0))}),[T,V,J]),Y=t.useCallback((e=>{a.default.isEscKey(e)&&(J(!1),Q())}),[J,Q]);d.default({open:E,closeModal:Y,modalRef:R}),t.useEffect((()=>{const e=({target:e})=>{var t,r;const n=null==z||null===(t=z.current)||void 0===t?void 0:t.contains(e),o=null==R||null===(r=R.current)||void 0===r?void 0:r.contains(e);n||o||J(!1)},t="click";return document.addEventListener(t,e,{capture:!0}),function(){document.removeEventListener(t,e,{capture:!0})}}),[J]);const Z=P||`ActionPopoverButton_${$}`,ee=`ActionPopoverMenu_${$}`;return e.jsxs(o.MenuButton,(te=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){_(e,t,r[t])}))}return e}({id:Z,onKeyDown:X,onClick:W,isOpen:E,ref:R},C,n.default("action-popover-wrapper",C)),re=null!=(re={children:[(t=>{if(q){const e=q({tabIndex:E?-1:0,"data-element":"action-popover-button",ariaAttributes:{"aria-haspopup":"true","aria-label":k||B.actionPopover.ariaLabel(),"aria-labelledby":S,"aria-describedby":D,"aria-controls":t,"aria-expanded":`${E}`}}),r=b.checkChildrenForString(e);return q({tabIndex:E?-1:0,"data-element":"action-popover-button",ariaAttributes:{"aria-haspopup":"true","aria-label":r?void 0:k||B.actionPopover.ariaLabel(),"aria-labelledby":S,"aria-describedby":D,"aria-controls":t,"aria-expanded":`${E}`}})}return e.jsx(o.StyledButtonIcon,{role:"button","aria-haspopup":"true","aria-label":k||B.actionPopover.ariaLabel(),"aria-labelledby":S,"aria-describedby":D,"aria-controls":t,"aria-expanded":E,tabIndex:E?-1:0,"data-element":"action-popover-button",children:e.jsx(o.ButtonIcon,{type:"ellipsis_vertical"})})})(ee),e.jsx(p.ActionPopoverProvider,{value:{setOpenPopover:J,focusButton:Q,submenuPosition:A,horizontalAlignment:w},children:E&&e.jsx(i.default,{placement:G,reference:R,disableBackgroundUI:N,children:e.jsx(s.default,{"data-component":"action-popover",ref:z,parentID:Z,menuID:ee,focusIndex:F,setFocusIndex:K,isOpen:E,setOpen:J,placement:M,children:g})})})]})?re:{},Object.getOwnPropertyDescriptors?Object.defineProperties(te,Object.getOwnPropertyDescriptors(re)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(re)).forEach((function(e){Object.defineProperty(te,e,Object.getOwnPropertyDescriptor(re,e))})),te));var te,re}));exports.ActionPopover=g,exports.default=g;
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"),o=require("./action-popover.style.js"),a=require("../../__internal__/utils/helpers/events/events.js"),i=require("../../__internal__/popover/popover.component.js"),l=require("../../__internal__/utils/helpers/guid/index.js"),u=require("../../hooks/__internal__/useLocale/useLocale.js"),s=require("./action-popover-menu/action-popover-menu.component.js"),c=require("./action-popover-item/action-popover-item.component.js");require("./action-popover-divider/action-popover-divider.component.js");var p=require("./__internal__/action-popover.context.js"),d=require("../../hooks/__internal__/useModalManager/useModalManager.js"),b=require("./__internal__/action-popover.utils.js"),f=require("../flat-table/__internal__/flat-table.context.js");function v(e){return e&&e.__esModule?e:{default:e}}var m=v(t),y=v(r);function _(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const j=()=>{},O=()=>{},g=t.forwardRef(((r,v)=>{var{children:g,id:P,onOpen:h=j,onClose:x=O,rightAlignMenu:I,renderButton:q,placement:S="bottom",horizontalAlignment:M="left",submenuPosition:w="left","aria-label":A,"aria-labelledby":k,"aria-describedby":D}=r,C=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(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)&&(o[r]=e[r])}return o}(r,["children","id","onOpen","onClose","rightAlignMenu","renderButton","placement","horizontalAlignment","submenuPosition","aria-label","aria-labelledby","aria-describedby"]);const B=u.default(),[E,L]=t.useState(!1),[F,K]=t.useState(0),[R]=t.useState(l.default()),$=t.useRef(null),z=t.useRef(null),{isInFlatTable:N}=t.useContext(f.default),[U,H]=t.useState(null),T=t.useMemo((()=>!m.default.Children.toArray(g).find((e=>!m.default.isValidElement(e)||e.type!==c.ActionPopoverItem&&e.type!==o.MenuItemDivider))),[g]),V=t.useMemo((()=>b.getItems(g)),[g]),G=b.findFirstFocusableItem(V),J=b.findLastFocusableItem(V);y.default(T,`ActionPopover only accepts children of type \`${c.ActionPopoverItem.displayName}\` and \`${o.MenuItemDivider.displayName}\`.`);const Q=t.useMemo((()=>"top"!==S||I?"top"===S&&I?"top-start":"bottom"===S&&I?"bottom-start":"bottom-end":"top-end"),[S,I]),W=t.useCallback((e=>{e&&!E&&h(),!e&&E&&x(),L(e)}),[E,h,x]),X=t.useCallback((()=>{var e;const t=null===(e=$.current)||void 0===e?void 0:e.querySelector("[data-element='action-popover-button']");null==t||t.focus()}),[]);t.useImperativeHandle(v,(()=>({focusButton(){X()}})),[X]);const Y=t.useCallback((e=>{e.stopPropagation();const t=!E;K(G),W(t),t||X()}),[E,G,W,X]),Z=t.useCallback((e=>{a.default.isSpaceKey(e)||a.default.isDownKey(e)||a.default.isEnterKey(e)?(e.preventDefault(),e.stopPropagation(),K(G),W(!0)):a.default.isUpKey(e)&&(e.preventDefault(),e.stopPropagation(),K(J),W(!0))}),[G,J,W]),ee=t.useCallback((e=>{a.default.isEscKey(e)&&(W(!1),X())}),[W,X]);d.default({open:E,closeModal:ee,modalRef:$}),t.useEffect((()=>{const e=({target:e})=>{var t,r;const n=null==z||null===(t=z.current)||void 0===t?void 0:t.contains(e),o=null==$||null===(r=$.current)||void 0===r?void 0:r.contains(e);n||o||W(!1)},t="click";return document.addEventListener(t,e,{capture:!0}),function(){document.removeEventListener(t,e,{capture:!0})}}),[W]);const te=P||`ActionPopoverButton_${R}`,re=`ActionPopoverMenu_${R}`;return e.jsxs(o.MenuButton,(ne=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){_(e,t,r[t])}))}return e}({id:te,onKeyDown:Z,onClick:Y,isOpen:E,ref:$},C,n.default("action-popover-wrapper",C)),oe=null!=(oe={children:[(t=>{if(q){const e=q({tabIndex:E?-1:0,"data-element":"action-popover-button",ariaAttributes:{"aria-haspopup":"true","aria-label":A||B.actionPopover.ariaLabel(),"aria-labelledby":k,"aria-describedby":D,"aria-controls":t,"aria-expanded":`${E}`}}),r=b.checkChildrenForString(e);return q({tabIndex:E?-1:0,"data-element":"action-popover-button",ariaAttributes:{"aria-haspopup":"true","aria-label":r?void 0:A||B.actionPopover.ariaLabel(),"aria-labelledby":k,"aria-describedby":D,"aria-controls":t,"aria-expanded":`${E}`}})}return e.jsx(o.StyledButtonIcon,{role:"button","aria-haspopup":"true","aria-label":A||B.actionPopover.ariaLabel(),"aria-labelledby":k,"aria-describedby":D,"aria-controls":t,"aria-expanded":E,tabIndex:E?-1:0,"data-element":"action-popover-button",children:e.jsx(o.ButtonIcon,{type:"ellipsis_vertical"})})})(re),e.jsx(p.ActionPopoverProvider,{value:{setOpenPopover:W,focusButton:X,submenuPosition:w,horizontalAlignment:M,selectedSubmenuRef:U,setSelectedSubmenuRef:H},children:E&&e.jsx(i.default,{placement:Q,reference:$,disableBackgroundUI:N,children:e.jsx(s.default,{"data-component":"action-popover",ref:z,parentID:te,menuID:re,focusIndex:F,setFocusIndex:K,isOpen:E,setOpen:W,placement:S,children:g})})})]})?oe:{},Object.getOwnPropertyDescriptors?Object.defineProperties(ne,Object.getOwnPropertyDescriptors(oe)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(oe)).forEach((function(e){Object.defineProperty(ne,e,Object.getOwnPropertyDescriptor(oe,e))})),ne));var ne,oe}));exports.ActionPopover=g,exports.default=g;
@@ -7,7 +7,7 @@ export interface SwitchProps extends CommonCheckableInputProps, MarginProps, Tag
7
7
  adaptiveLabelBreakpoint?: number;
8
8
  /** Set the default value of the Switch if component is meant to be used as uncontrolled */
9
9
  defaultChecked?: boolean;
10
- /** [Legacy] When true label is inline */
10
+ /** When true label is inline */
11
11
  labelInline?: boolean;
12
12
  /** Triggers loading animation */
13
13
  loading?: boolean;
@@ -23,6 +23,8 @@ export interface SwitchProps extends CommonCheckableInputProps, MarginProps, Tag
23
23
  isDarkBackground?: boolean;
24
24
  /** Render the ValidationMessage above the Switch input when validationRedesignOptIn flag is set */
25
25
  validationMessagePositionTop?: boolean;
26
+ /** Label width, as a percentage, when labelInline is true */
27
+ labelWidth?: number;
26
28
  }
27
29
  export declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLInputElement>>;
28
30
  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"),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;
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 v(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 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 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:x,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:R,labelHelp:T,labelWidth:z,fieldHelpInline:M,size:A="small",name:E,adaptiveLabelBreakpoint:$,tooltipPosition:W,error:U,warning:Y,info:N,"data-element":V,"data-role":G,helpAriaLabel:J,isDarkBackground:K=!1,validationMessagePositionTop:Q=!0}=g,X=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","labelWidth","fieldHelpInline","size","name","adaptiveLabelBreakpoint","tooltipPosition","error","warning","info","data-element","data-role","helpAriaLabel","isDarkBackground","validationMessagePositionTop"]);const Z=void 0!==P,{validationRedesignOptIn:ee}=r.useContext(l.default),re=r.useRef(`${p.default()}-label`),ne=r.useRef(`${p.default()}-hint`),ae=r.useRef(`${p.default()}-message`),[te,ie]=r.useState(q||!1);k||w||(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 le=r.useCallback((e=>{I?e.preventDefault():(ie(e.target.checked),null==w||w(e))}),[ie,w,I]),oe=d.default($);let se=C;$&&(se=oe);const de=!(!C||S)||L,ce=f.default(X),ue=v({"data-component":"switch","data-role":G,"data-element":V,checked:Z?P:te,isDarkBackground:K,fieldHelpInline:M,labelInline:se,labelSpacing:R,reverse:!S,size:A},ce),pe={checked:Z?P:te,disabled:D,loading:I,isDarkBackground:K,size:A,error:U,warning:Y,info:N,useValidationIcon:!ee&&!de&&!D},be=j(v({autoFocus:m,error:U,warning:Y,info:N,disabled:D,loading:I,checked:Z?P:te,label:_,labelHelp:T,labelWidth:z,fieldHelpInline:M,labelInline:se,labelSpacing:R,onBlur:y,isDarkBackground:K,onFocus:O,onChange:Z?w:le,id:x,name:E,value:B,type:"checkbox",role:"switch",reverse:!S,validationOnLabel:de&&!D,ref:h,required:F,isOptional:H},X),{"data-component":void 0}),fe=v({"data-component":"switch","data-role":G,"data-element":V,checked:Z?P:te,labelInline:se,isDarkBackground:K,size:A,reverse:!S,validationRedesignOptIn:ee},ce),ge={checked:Z?P:te,disabled:D,loading:I,isDarkBackground:K,size:A,error:U,warning:Y},he=v({autoFocus:m,error:!!U,warning:Y,disabled:D,loading:I,checked:Z?P:te,onBlur:y,isDarkBackground:K,onFocus:O,onChange:Z?w:le,id:x,name:E,value:B,type:"checkbox",role:"switch",ref:h,required:F,isOptional:H},X),ve=U||Y,je=[T&&ne.current,ve&&ae.current].filter(Boolean).join(" ");if(!ee)return e.jsx(e.Fragment,{children:e.jsx(i.TooltipProvider,{helpAriaLabel:J,tooltipPosition:W,children:e.jsx(c.default,j(v({},ue),{children:e.jsx(a.default,j(v({},be),{children:e.jsx(u.default,v({},pe))}))}))})});const ke=U||Y?C?3:0:C?1:0,me=C?"row":"column",xe=C?"row-reverse":"column",_e=!C||U||Y||N?"":"center";return e.jsxs(e.Fragment,{children:[e.jsx(c.default,j(v({},fe),{children:e.jsxs(n.Box,{"data-role":"field-reverse-wrapper",display:"flex",alignItems:U||Y?"flex-start":void 0,flexDirection:S?me:xe,width:C?"100%":"auto",children:[e.jsxs(n.Box,j(v({"data-role":"label-wrapper",alignSelf:_e},z&&{width:`${z}%`}),{children:[e.jsx(t.default,{isDarkBackground:K,labelId:re.current,disabled:D,isRequired:F,optional:H,children:_}),T&&e.jsx(n.Box,{"data-role":"hint-text-wrapper",mb:C?0:1,children:e.jsx(b.HintText,{"data-role":"hint-text",fontWeight:"400",id:ne.current,isDarkBackground:K,marginTop:"8px",children:T})})]})),e.jsxs(n.Box,{ml:S?ke:0,mr:S?0:ke,position:"relative",id:"input-wrapper","data-role":"input-wrapper",children:[Q&&e.jsxs(e.Fragment,{children:[e.jsx(s.default,{error:U,warning:Y,validationId:ae.current,isDarkBackground:K,validationMessagePositionTop:Q,"data-role":"validation-message-top"}),ve&&e.jsx(c.ErrorBorder,{"data-role":"error-border",warning:!(U||!Y),reverse:!S,isDarkBackground:K})]}),e.jsx(a.default,j(v({ariaLabelledBy:`${_&&re.current}`,ariaDescribedBy:je},he),{fieldHelp:C?void 0:X.fieldHelp,children:e.jsx(u.default,v({},ge))})),!Q&&e.jsxs(e.Fragment,{children:[e.jsx(s.default,{error:U,warning:Y,validationId:ae.current,isDarkBackground:K,validationMessagePositionTop:Q,"data-role":"validation-message-bottom"}),ve&&e.jsx(c.ErrorBorder,{"data-role":"error-border",warning:!(U||!Y),reverse:!S,isDarkBackground:K})]})]})]})})),C&&X.fieldHelp&&e.jsx(n.Box,{color:K?"var(--colorsUtilityYang100)":"var(--colorsUtilityYin090)",children:X.fieldHelp})]})}));m.displayName="Switch",exports.Switch=m,exports.default=m;
@@ -2,6 +2,7 @@ import type { ThemeObject } from "../../style/themes/theme.types";
2
2
  import { SwitchProps } from "./switch.component";
3
3
  interface StyledSwitchProps extends Pick<SwitchProps, "fieldHelpInline" | "labelInline" | "reverse" | "size"> {
4
4
  theme: ThemeObject;
5
+ validationRedesignOptIn?: boolean;
5
6
  }
6
7
  export declare const ErrorBorder: import("styled-components").StyledComponent<"span", any, {
7
8
  reverse: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("styled-components"),t=require("styled-system"),l=require("../../__internal__/checkable-input/checkable-input.style.js"),i=require("../../__internal__/checkable-input/hidden-checkable-input.style.js"),a=require("../../__internal__/field-help/field-help.style.js"),n=require("../../__internal__/form-field/form-field.style.js"),r=require("../../__internal__/label/label.style.js"),s=require("../../__internal__/validations/validation-icon.style.js"),d=require("../../style/themes/apply-base-theme.js"),o=require("../../style/utils/add-focus-styling.js"),c=require("./__internal__/switch-slider.style.js");function p(e){return e&&e.__esModule?e:{default:e}}var u=p(e);const f=u.default.span.withConfig({displayName:"switch.style__ErrorBorder",componentId:"sc-542ab734-0"})(["",""],(({reverse:t,warning:l,isDarkBackground:i})=>{const a=i?"var(--colorsSemanticNegative450)":"var(--colorsSemanticNegative500)";return e.css(["position:absolute;z-index:6;width:2px;background-color:",";",":-12px;bottom:-4px;top:2px;"],l?"var(--colorsSemanticCaution500)":a,t?"right":"left")})),m=u.default.div.attrs(d.default).withConfig({displayName:"switch.style__StyledSwitch",componentId:"sc-542ab734-1"})(["",""],(({fieldHelpInline:d,labelInline:p,reverse:u,size:f})=>e.css(["margin-bottom:var(--fieldSpacing);"," ","{display:flex;flex-flow:",";","}display:flex;flex-flow:",";",",","{border:none;box-sizing:border-box;height:24px;flex-basis:100%;margin-left:0;}","{width:100%;}","{width:min-content;}",":not([disabled]){&:focus ~ ","{","}}","{margin-left:0;}","{",";margin-bottom:8px;","{position:relative;display:inline-block;}}"," "," "," ",""],t.margin,n.FieldLineStyle,p?"row wrap":"column wrap",!p&&d&&e.css(["display:grid;grid-template-columns:max-content max-content;"]),p?"row wrap":"column wrap",l.StyledCheckableInput,i.default,i.default,l.StyledCheckableInput,i.default,c.StyledSwitchSlider,o.default(),a.default,r.StyledLabelContainer,!p&&e.css(["padding:0;"]),s.default,d&&e.css(["","{margin:0;}"],a.default),u&&e.css(["",""],!p&&e.css(["","{margin-top:8px;}",""],r.StyledLabelContainer,d&&e.css(["","{margin-top:8px;}"],a.default))),p&&e.css(["","{flex-basis:auto;}","{display:flex;}","{margin-bottom:0;}","{margin-bottom:0;margin-top:0;}"," ",""],l.StyledCheckableInput,n.FieldLineStyle,r.StyledLabelContainer,a.default,u&&e.css(["","{margin-left:0;margin-top:0;}",""],l.StyledCheckableInput,!d&&e.css(["","{margin-left:60px;}"],a.default)),d&&e.css([""," ","{margin-right:10px;}","{margin-left:0;align-self:center;}"],!u&&`\n ${l.StyledCheckableInput} {\n margin-left: 10px;\n }\n `,r.StyledLabelContainer,a.default)),"large"===f&&e.css(["",",",",","{height:44px;min-width:fit-content;}"," ",""],l.StyledCheckableInput,i.default,c.StyledSwitchSlider,p&&!d&&u&&e.css(["","{padding:10px 0;}"],a.default),p&&e.css(["","{margin-top:1px;padding-top:10px;padding-bottom:10px;}",""],r.StyledLabelContainer,!d&&u&&e.css(["","{margin-left:78px;}"],a.default))))));exports.ErrorBorder=f,exports.default=m;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("styled-components"),t=require("styled-system"),l=require("../../__internal__/checkable-input/checkable-input.style.js"),i=require("../../__internal__/checkable-input/hidden-checkable-input.style.js"),n=require("../../__internal__/field-help/field-help.style.js"),a=require("../../__internal__/form-field/form-field.style.js"),r=require("../../__internal__/label/label.style.js"),s=require("../../__internal__/validations/validation-icon.style.js"),d=require("../../style/themes/apply-base-theme.js"),o=require("../../style/utils/add-focus-styling.js"),c=require("./__internal__/switch-slider.style.js");function p(e){return e&&e.__esModule?e:{default:e}}var u=p(e);const f=u.default.span.withConfig({displayName:"switch.style__ErrorBorder",componentId:"sc-e7781d44-0"})(["",""],(({reverse:t,warning:l,isDarkBackground:i})=>{const n=i?"var(--colorsSemanticNegative450)":"var(--colorsSemanticNegative500)";return e.css(["position:absolute;z-index:6;width:2px;background-color:",";",":-12px;bottom:-4px;top:2px;"],l?"var(--colorsSemanticCaution500)":n,t?"right":"left")})),m=u.default.div.attrs(d.default).withConfig({displayName:"switch.style__StyledSwitch",componentId:"sc-e7781d44-1"})(["",""],(({fieldHelpInline:d,labelInline:p,reverse:u,size:f,validationRedesignOptIn:m})=>e.css(["margin-bottom:var(--fieldSpacing);"," ","{flex-flow:",";","}display:flex;flex-flow:",";",",","{border:none;box-sizing:border-box;height:24px;flex-basis:100%;margin-left:0;}","{width:100%;}","{width:min-content;}",":not([disabled]){&:focus ~ ","{","}}","{margin-left:0;}","{",";margin-bottom:8px;","{position:relative;display:inline-block;}}"," "," "," ",""],t.margin,a.FieldLineStyle,p?"row wrap":"column wrap",!p&&d&&e.css(["display:grid;grid-template-columns:max-content max-content;"]),p?"row wrap":"column wrap",l.StyledCheckableInput,i.default,i.default,l.StyledCheckableInput,i.default,c.StyledSwitchSlider,o.default(),n.default,r.StyledLabelContainer,!p&&e.css(["padding:0;"]),s.default,d&&e.css(["","{margin:0;}"],n.default),u&&e.css(["",""],!p&&e.css(["","{margin-top:8px;}",""],r.StyledLabelContainer,d&&e.css(["","{margin-top:8px;}"],n.default))),p&&e.css(["","{flex-basis:auto;}","{","}","{margin-bottom:0;}","{margin-bottom:0;margin-top:0;}"," ",""],l.StyledCheckableInput,a.FieldLineStyle,u&&m&&e.css(["justify-content:flex-end;"]),r.StyledLabelContainer,n.default,u&&e.css(["","{margin-left:0;margin-top:0;}",""],l.StyledCheckableInput,!d&&e.css(["","{margin-left:60px;}"],n.default)),d&&e.css([""," ","{margin-right:10px;}","{margin-left:0;align-self:center;}"],!u&&`\n ${l.StyledCheckableInput} {\n margin-left: 10px;\n }\n `,r.StyledLabelContainer,n.default)),"large"===f&&e.css(["",",",",","{height:44px;min-width:fit-content;}"," ",""],l.StyledCheckableInput,i.default,c.StyledSwitchSlider,p&&!d&&u&&e.css(["","{padding:10px 0;}"],n.default),p&&e.css(["","{margin-top:1px;padding-top:10px;padding-bottom:10px;}",""],r.StyledLabelContainer,!d&&u&&e.css(["","{margin-left:78px;}"],n.default))))));exports.ErrorBorder=f,exports.default=m;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "155.5.3",
3
+ "version": "155.5.5",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "files": [
6
6
  "lib",