carbon-react 155.5.4 → 155.6.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.
- package/esm/components/menu/index.d.ts +1 -1
- package/esm/components/menu/menu-item/index.d.ts +1 -1
- package/esm/components/menu/menu-item/menu-item.component.d.ts +5 -1
- package/esm/components/menu/menu-item/menu-item.component.js +1 -1
- package/esm/components/switch/switch.component.d.ts +3 -1
- package/esm/components/switch/switch.component.js +1 -1
- package/esm/components/switch/switch.style.d.ts +1 -0
- package/esm/components/switch/switch.style.js +1 -1
- package/lib/components/menu/index.d.ts +1 -1
- package/lib/components/menu/menu-item/index.d.ts +1 -1
- package/lib/components/menu/menu-item/menu-item.component.d.ts +5 -1
- package/lib/components/menu/menu-item/menu-item.component.js +1 -1
- package/lib/components/switch/switch.component.d.ts +3 -1
- package/lib/components/switch/switch.component.js +1 -1
- package/lib/components/switch/switch.style.d.ts +1 -0
- package/lib/components/switch/switch.style.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { default as Menu } from "./menu.component";
|
|
2
2
|
export type { MenuProps } from "./menu.types";
|
|
3
3
|
export { default as MenuItem } from "./menu-item";
|
|
4
|
-
export type { MenuWithIcon, MenuWithChildren } from "./menu-item";
|
|
4
|
+
export type { MenuWithIcon, MenuWithChildren, MenuItemHandle, } from "./menu-item";
|
|
5
5
|
export { default as MenuDivider } from "./menu-divider";
|
|
6
6
|
export type { MenuDividerProps } from "./menu-divider";
|
|
7
7
|
export { default as MenuSegmentTitle } from "./menu-segment-title";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default } from "./menu-item.component";
|
|
2
|
-
export type { MenuWithChildren, MenuWithIcon, VariantType, } from "./menu-item.component";
|
|
2
|
+
export type { MenuWithChildren, MenuWithIcon, VariantType, MenuItemHandle, } from "./menu-item.component";
|
|
@@ -72,5 +72,9 @@ export interface MenuWithIcon extends MenuItemBaseProps {
|
|
|
72
72
|
icon: IconType;
|
|
73
73
|
children?: React.ReactNode;
|
|
74
74
|
}
|
|
75
|
-
export
|
|
75
|
+
export type MenuItemHandle = {
|
|
76
|
+
/** Programmatically focus the MenuItem. */
|
|
77
|
+
focus: () => void;
|
|
78
|
+
} | null;
|
|
79
|
+
export declare const MenuItem: React.ForwardRefExoticComponent<(MenuWithChildren | MenuWithIcon) & React.RefAttributes<MenuItemHandle>>;
|
|
76
80
|
export default MenuItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import t,
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import n,{forwardRef as t,useRef as r,useContext as o,useState as i,useLayoutEffect as u,useEffect as l,useImperativeHandle as s}from"react";import a from"invariant";import{defaultFocusableSelectors as c}from"../../../__internal__/focus-trap/focus-trap-utils.js";import m from"../../../style/utils/filter-styled-system-padding-props.js";import d from"./menu-item.style.js";import p from"../../../__internal__/utils/helpers/events/events.js";import{useStrictMenuContext as b}from"../__internal__/strict-menu.context.js";import f from"../__internal__/submenu/submenu.component.js";import h from"../__internal__/submenu/submenu.context.js";import{MenuSegmentContext as y}from"../menu-segment-title/menu-segment-title.context.js";import{StyledMenuItem as v}from"../menu.style.js";import O from"../../../__internal__/utils/helpers/guid/index.js";function g(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function j(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(n){g(e,n,t[n])}))}return e}function w(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 t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}const _=t(((t,g)=>{var{submenu:_,submenuMaxWidth:x,submenuMinWidth:S,children:P,href:D,onClick:k,target:I,submenuDirection:W="right",icon:C,selected:F,onKeyDown:M,variant:T="default",showDropdownArrow:V=!0,ariaLabel:E,clickToOpen:L,maxWidth:K,onSubmenuOpen:A,onSubmenuClose:q,overrideColor:H,rel:N,as:Y,"data-element":z,"data-role":B}=t,G=function(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(t,["submenu","submenuMaxWidth","submenuMinWidth","children","href","onClick","target","submenuDirection","icon","selected","onKeyDown","variant","showDropdownArrow","ariaLabel","clickToOpen","maxWidth","onSubmenuOpen","onSubmenuClose","overrideColor","rel","as","data-element","data-role"]);a(C||P,"Either prop `icon` must be defined or this node must have `children`."),a(P||E||_||"string"==typeof _&&_.length,"If no text or node is provided via the `submenu` prop, an `ariaLabel` should be given to facilitate accessibility."),a("boolean"==typeof _||void 0===_||n.isValidElement(_)||P&&"string"==typeof _&&_.length,"You should not pass `children` when `submenu` is an empty string");const J=r(O()),{isChildOfSegment:Q,overriddenVariant:R}=o(y),{inFullscreenView:U,registerItem:X,unregisterItem:Z,focusId:$,updateFocusId:ee,menuType:ne}=b(),te=o(h),re=Object.keys(te).length>0,{submenuFocusId:oe,updateFocusId:ie,handleKeyDown:ue,submenuHasMaxWidth:le}=te,se=$===J.current,ae=oe?oe===J.current:void 0,[ce,me]=i(null),[de,pe]=i(null);u((()=>{var e;const n=null!==(e=null==ce?void 0:ce.querySelector(c))&&void 0!==e?e:null;n!==de&&pe(n)}),[de,ce]),l((()=>{const e=J.current;return X&&X(e),()=>{Z&&Z(e)}}),[X,Z]),l((()=>{if(se&&!ae||ae){if(de)return void de.focus();null==ce||ce.focus()}}),[de,se,ae,ce]),s(g,(()=>({focus(){null==ce||ce.focus()}})),[ce]);const be=e=>{re?(e.stopPropagation(),null==ie||ie(J.current)):null==ee||ee(J.current)},fe={className:D||k?"carbon-menu-item--has-link":"",href:de?void 0:D,onClick:de?void 0:k,target:I,rel:N,icon:C,removeAriaLabelOnIcon:!0,selected:F,onKeyDown:U?void 0:e=>{null==M||M(e),p.isEscKey(e)&&(null==ce||ce.focus()),null==ue||ue(e)},overrideColor:H,ref:me};"alternate"===R&&Q&&"alternate"===T&&["white","black"].includes(ne)&&(fe.overrideColor=!0);const he=e=>K&&"string"==typeof e?e:void 0,ye=U?void 0:K,ve=!(k||D||de);if(_)return e(v,w(j({"data-component":"menu-item","data-element":z,"data-role":B,menuType:ne,title:he(_),maxWidth:ye},G),{inFullscreenView:U,id:J.current,as:Y,onFocus:be,children:e(f,w(j(w(j(w(j({},"boolean"!=typeof _&&{title:_}),{submenuDirection:W,showDropdownArrow:V,clickToOpen:L,maxWidth:K,asPassiveItem:ve,ariaLabel:E,onSubmenuOpen:A,onSubmenuClose:q,submenuMaxWidth:x,submenuMinWidth:S}),fe),{variant:T}),G),{children:P}))}));const Oe=m(G),ge=!!(null==ce?void 0:ce.querySelector("[data-element='input']"));return e(v,w(j({"data-component":"menu-item","data-element":z,"data-role":B,menuType:ne,inSubmenu:re,title:he(P),maxWidth:ye},G),{inFullscreenView:U&&!Object.keys(te).length,id:J.current,as:Y,onFocus:be,children:e(d,w(j(w(j({menuType:ne,"data-role":"menu-item-wrapper"},fe),{menuItemVariant:T,ariaLabel:E,maxWidth:le?void 0:ye,inFullscreenView:U,asPassiveItem:ve}),Oe),{asDiv:ge||"div"===Y,hasFocusableChild:!!de,hasInput:ge,inSubmenu:re,children:P}))}))}));export{_ as MenuItem,_ 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
|
-
/**
|
|
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
|
|
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
|
|
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};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { default as Menu } from "./menu.component";
|
|
2
2
|
export type { MenuProps } from "./menu.types";
|
|
3
3
|
export { default as MenuItem } from "./menu-item";
|
|
4
|
-
export type { MenuWithIcon, MenuWithChildren } from "./menu-item";
|
|
4
|
+
export type { MenuWithIcon, MenuWithChildren, MenuItemHandle, } from "./menu-item";
|
|
5
5
|
export { default as MenuDivider } from "./menu-divider";
|
|
6
6
|
export type { MenuDividerProps } from "./menu-divider";
|
|
7
7
|
export { default as MenuSegmentTitle } from "./menu-segment-title";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default } from "./menu-item.component";
|
|
2
|
-
export type { MenuWithChildren, MenuWithIcon, VariantType, } from "./menu-item.component";
|
|
2
|
+
export type { MenuWithChildren, MenuWithIcon, VariantType, MenuItemHandle, } from "./menu-item.component";
|
|
@@ -72,5 +72,9 @@ export interface MenuWithIcon extends MenuItemBaseProps {
|
|
|
72
72
|
icon: IconType;
|
|
73
73
|
children?: React.ReactNode;
|
|
74
74
|
}
|
|
75
|
-
export
|
|
75
|
+
export type MenuItemHandle = {
|
|
76
|
+
/** Programmatically focus the MenuItem. */
|
|
77
|
+
focus: () => void;
|
|
78
|
+
} | null;
|
|
79
|
+
export declare const MenuItem: React.ForwardRefExoticComponent<(MenuWithChildren | MenuWithIcon) & React.RefAttributes<MenuItemHandle>>;
|
|
76
80
|
export default MenuItem;
|
|
@@ -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("../../../__internal__/focus-trap/focus-trap-utils.js"),u=require("../../../style/utils/filter-styled-system-padding-props.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),n=require("invariant"),r=require("../../../__internal__/focus-trap/focus-trap-utils.js"),u=require("../../../style/utils/filter-styled-system-padding-props.js"),o=require("./menu-item.style.js"),i=require("../../../__internal__/utils/helpers/events/events.js"),l=require("../__internal__/strict-menu.context.js"),s=require("../__internal__/submenu/submenu.component.js"),a=require("../__internal__/submenu/submenu.context.js"),c=require("../menu-segment-title/menu-segment-title.context.js"),d=require("../menu.style.js"),m=require("../../../__internal__/utils/helpers/guid/index.js");function f(e){return e&&e.__esModule?e:{default:e}}var b=f(t),p=f(n);function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(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){h(e,t,n[t])}))}return e}function v(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}const O=t.forwardRef(((n,f)=>{var{submenu:h,submenuMaxWidth:O,submenuMinWidth:g,children:j,href:w,onClick:x,target:_,submenuDirection:S="right",icon:I,selected:P,onKeyDown:C,variant:q="default",showDropdownArrow:D=!0,ariaLabel:M,clickToOpen:k,maxWidth:W,onSubmenuOpen:F,onSubmenuClose:E,overrideColor:L,rel:T,as:V,"data-element":K,"data-role":A}=n,H=function(e,t){if(null==e)return{};var n,r,u=function(e,t){if(null==e)return{};var n,r,u={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(u[n]=e[n]);return u}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(u[n]=e[n])}return u}(n,["submenu","submenuMaxWidth","submenuMinWidth","children","href","onClick","target","submenuDirection","icon","selected","onKeyDown","variant","showDropdownArrow","ariaLabel","clickToOpen","maxWidth","onSubmenuOpen","onSubmenuClose","overrideColor","rel","as","data-element","data-role"]);p.default(I||j,"Either prop `icon` must be defined or this node must have `children`."),p.default(j||M||h||"string"==typeof h&&h.length,"If no text or node is provided via the `submenu` prop, an `ariaLabel` should be given to facilitate accessibility."),p.default("boolean"==typeof h||void 0===h||b.default.isValidElement(h)||j&&"string"==typeof h&&h.length,"You should not pass `children` when `submenu` is an empty string");const R=t.useRef(m.default()),{isChildOfSegment:N,overriddenVariant:Y}=t.useContext(c.MenuSegmentContext),{inFullscreenView:z,registerItem:B,unregisterItem:G,focusId:J,updateFocusId:Q,menuType:U}=l.useStrictMenuContext(),X=t.useContext(a.default),Z=Object.keys(X).length>0,{submenuFocusId:$,updateFocusId:ee,handleKeyDown:te,submenuHasMaxWidth:ne}=X,re=J===R.current,ue=$?$===R.current:void 0,[oe,ie]=t.useState(null),[le,se]=t.useState(null);t.useLayoutEffect((()=>{var e;const t=null!==(e=null==oe?void 0:oe.querySelector(r.defaultFocusableSelectors))&&void 0!==e?e:null;t!==le&&se(t)}),[le,oe]),t.useEffect((()=>{const e=R.current;return B&&B(e),()=>{G&&G(e)}}),[B,G]),t.useEffect((()=>{if(re&&!ue||ue){if(le)return void le.focus();null==oe||oe.focus()}}),[le,re,ue,oe]),t.useImperativeHandle(f,(()=>({focus(){null==oe||oe.focus()}})),[oe]);const ae=e=>{Z?(e.stopPropagation(),null==ee||ee(R.current)):null==Q||Q(R.current)},ce={className:w||x?"carbon-menu-item--has-link":"",href:le?void 0:w,onClick:le?void 0:x,target:_,rel:T,icon:I,removeAriaLabelOnIcon:!0,selected:P,onKeyDown:z?void 0:e=>{null==C||C(e),i.default.isEscKey(e)&&(null==oe||oe.focus()),null==te||te(e)},overrideColor:L,ref:ie};"alternate"===Y&&N&&"alternate"===q&&["white","black"].includes(U)&&(ce.overrideColor=!0);const de=e=>W&&"string"==typeof e?e:void 0,me=z?void 0:W,fe=!(x||w||le);if(h)return e.jsx(d.StyledMenuItem,v(y({"data-component":"menu-item","data-element":K,"data-role":A,menuType:U,title:de(h),maxWidth:me},H),{inFullscreenView:z,id:R.current,as:V,onFocus:ae,children:e.jsx(s.default,v(y(v(y(v(y({},"boolean"!=typeof h&&{title:h}),{submenuDirection:S,showDropdownArrow:D,clickToOpen:k,maxWidth:W,asPassiveItem:fe,ariaLabel:M,onSubmenuOpen:F,onSubmenuClose:E,submenuMaxWidth:O,submenuMinWidth:g}),ce),{variant:q}),H),{children:j}))}));const be=u.default(H),pe=!!(null==oe?void 0:oe.querySelector("[data-element='input']"));return e.jsx(d.StyledMenuItem,v(y({"data-component":"menu-item","data-element":K,"data-role":A,menuType:U,inSubmenu:Z,title:de(j),maxWidth:me},H),{inFullscreenView:z&&!Object.keys(X).length,id:R.current,as:V,onFocus:ae,children:e.jsx(o.default,v(y(v(y({menuType:U,"data-role":"menu-item-wrapper"},ce),{menuItemVariant:q,ariaLabel:M,maxWidth:ne?void 0:me,inFullscreenView:z,asPassiveItem:fe}),be),{asDiv:pe||"div"===V,hasFocusableChild:!!le,hasInput:pe,inSubmenu:Z,children:j}))}))}));exports.MenuItem=O,exports.default=O;
|
|
@@ -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
|
-
/**
|
|
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
|
|
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"),
|
|
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;
|