@foxford/ui 2.33.0 → 2.35.0-beta-c4c2458-20240703

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/components/Menu/Menu.js +2 -0
  2. package/components/Menu/Menu.js.map +1 -0
  3. package/components/MenuComponent/MenuComponent.js +2 -0
  4. package/components/MenuComponent/MenuComponent.js.map +1 -0
  5. package/components/MenuComponent/constants.js +2 -0
  6. package/components/MenuComponent/constants.js.map +1 -0
  7. package/components/MenuComponent/style.js +2 -0
  8. package/components/MenuComponent/style.js.map +1 -0
  9. package/components/MenuContainer/MenuContainer.js +2 -0
  10. package/components/MenuContainer/MenuContainer.js.map +1 -0
  11. package/components/MenuContainer/style.js +2 -0
  12. package/components/MenuContainer/style.js.map +1 -0
  13. package/components/MenuDivider/MenuDivider.js +2 -0
  14. package/components/MenuDivider/MenuDivider.js.map +1 -0
  15. package/components/MenuDivider/style.js +2 -0
  16. package/components/MenuDivider/style.js.map +1 -0
  17. package/components/MenuList/MenuList.js +2 -0
  18. package/components/MenuList/MenuList.js.map +1 -0
  19. package/components/MenuList/style.js +2 -0
  20. package/components/MenuList/style.js.map +1 -0
  21. package/components/Popover/Popover.js +1 -1
  22. package/components/Popover/Popover.js.map +1 -1
  23. package/dts/index.d.ts +217 -8
  24. package/index.cjs.js +1 -1
  25. package/index.cjs.js.map +1 -1
  26. package/index.js +1 -1
  27. package/package.json +2 -1
  28. package/shared/utils/dom.js +2 -0
  29. package/shared/utils/dom.js.map +1 -0
  30. package/theme/colors-dark.js +1 -1
  31. package/theme/colors-dark.js.map +1 -1
  32. package/theme/colors-light.js +1 -1
  33. package/theme/colors-light.js.map +1 -1
  34. package/theme/colors.js +1 -1
  35. package/theme/colors.js.map +1 -1
@@ -0,0 +1,2 @@
1
+ import e from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as t,useRef as s}from'react';import{mergeDeepLeft as o}from'ramda';import{withMergedProps as i}from'../../hocs/withMergedProps.js';import{focusFirstFocusable as a}from'../../shared/utils/dom.js';import{Tooltip as n}from'../Tooltip/Tooltip.js';import{MenuComponent as p}from'../MenuComponent/MenuComponent.js';import{MenuList as m}from'../MenuList/MenuList.js';import{MenuContainer as l}from'../MenuContainer/MenuContainer.js';import{MenuDivider as u}from'../MenuDivider/MenuDivider.js';import{jsx as c}from'react/jsx-runtime';import{SIZES as f}from'../MenuComponent/constants.js';var d=["size","disableFlip","offset","placement","styles","sizes","sizeUnits","render","primary","secondary","palette","autoFocus","disableAutoFocus","maxHeight"];var b=Object.assign(i(t(((t,i)=>{var{size:m="m",disableFlip:l=!0,offset:u=8,placement:f="bottom-start",styles:b={},sizes:M,sizeUnits:j,render:h,primary:F,secondary:g,palette:y,autoFocus:z,disableAutoFocus:C,maxHeight:v}=t,L=r(t,d);var w=s(null);return c(n,e(e({},L),{},{ref:i,preset:"brand",size:m,hideArrow:!0,getPopper:(e,r)=>{e.state.elements.reference instanceof HTMLElement&&(w.current=e.state.elements.reference),L.getPopper&&L.getPopper(e,r)},callback:(e,r)=>{'close'===e&&w.current instanceof HTMLElement&&a(w.current),L.callback&&L.callback(e,r)},disableFlip:l,offset:u,placement:f,styles:o(b,g?{floater:{filter:'none'},wrapper:{cursor:'pointer'}}:{wrapper:{cursor:'pointer'}}),component:c(p,{sizes:M,sizeUnits:j,autoFocus:z,disableAutoFocus:C,primary:F,secondary:g,palette:y,maxHeight:v,children:h})}))})),{displayName:'Menu',sizes:f}),{Component:p,List:m,Container:l,Divider:u});export{b as Menu};
2
+ //# sourceMappingURL=Menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.js","sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { forwardRef, useRef } from 'react'\nimport { mergeDeepLeft } from 'ramda'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { focusFirstFocusable } from 'shared/utils/dom'\nimport { Tooltip } from 'components/Tooltip'\nimport { MenuComponent, SIZES } from 'components/MenuComponent'\nimport { MenuList } from 'components/MenuList'\nimport { MenuContainer } from 'components/MenuContainer'\nimport { MenuDivider } from 'components/MenuDivider'\nimport type { MenuProps } from './types'\n\nconst COMPONENT_NAME = 'Menu'\n\n/**\n *\n * Component accepts [\"react-floater\"](https://www.npmjs.com/package/react-floater/v/0.8.2) v0.8.2 props.\n *\n * Responsive \"size\" props are supported.\n *\n * Exposed \"ref\" attached to menu component root.\n *\n * See full [MenuProps](https://github.com/foxford/ui/blob/master/src/components/Menu/types.ts)\n */\nconst Menu: React.ForwardRefExoticComponent<MenuProps> & {\n Component: typeof MenuComponent\n List: typeof MenuList\n Container: typeof MenuContainer\n Divider: typeof MenuDivider\n} = Object.assign(\n withMergedProps<MenuProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const {\n size = 'm',\n disableFlip = true,\n offset = 8,\n placement = 'bottom-start',\n styles = {},\n sizes,\n sizeUnits,\n render,\n primary,\n secondary,\n palette,\n autoFocus,\n disableAutoFocus,\n maxHeight,\n ...restProps\n } = props\n\n const trigger = useRef<HTMLElement | null>(null)\n\n return (\n <Tooltip\n {...restProps}\n ref={ref}\n preset='brand'\n size={size}\n hideArrow\n getPopper={(popper, origin) => {\n if (popper.state.elements.reference instanceof HTMLElement) {\n trigger.current = popper.state.elements.reference\n }\n\n if (restProps.getPopper) {\n restProps.getPopper(popper, origin)\n }\n }}\n callback={(action, tooltipProps) => {\n if (action === 'close' && trigger.current instanceof HTMLElement) {\n focusFirstFocusable(trigger.current)\n }\n\n if (restProps.callback) {\n restProps.callback(action, tooltipProps)\n }\n }}\n disableFlip={disableFlip}\n offset={offset}\n placement={placement}\n styles={mergeDeepLeft(\n styles,\n secondary\n ? { floater: { filter: 'none' }, wrapper: { cursor: 'pointer' } }\n : { wrapper: { cursor: 'pointer' } }\n )}\n component={\n <MenuComponent\n sizes={sizes}\n sizeUnits={sizeUnits}\n autoFocus={autoFocus}\n disableAutoFocus={disableAutoFocus}\n primary={primary}\n secondary={secondary}\n palette={palette}\n maxHeight={maxHeight}\n >\n {render}\n </MenuComponent>\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Component: MenuComponent,\n List: MenuList,\n Container: MenuContainer,\n Divider: MenuDivider,\n }\n)\n\nexport { Menu }\n"],"names":["Menu","Object","assign","withMergedProps","forwardRef","props","ref","size","disableFlip","offset","placement","styles","sizes","sizeUnits","render","primary","secondary","palette","autoFocus","disableAutoFocus","maxHeight","restProps","_excluded","trigger","useRef","_jsx","Tooltip","_objectSpread","preset","hideArrow","getPopper","popper","origin","state","elements","reference","HTMLElement","current","callback","action","tooltipProps","focusFirstFocusable","mergeDeepLeft","floater","filter","wrapper","cursor","component","MenuComponent","children","displayName","SIZES","Component","List","MenuList","Container","MenuContainer","Divider","MenuDivider"],"mappings":"22BAuBA,IAAMA,EAKFC,OAAOC,OACTC,EACEC,GAAAA,CAAYC,EAAOC,KACjB,IAAMC,KACJA,EAAO,IADHC,YAEJA,KAFIC,OAGJA,EAAS,EAHLC,UAIJA,EAAY,eAJRC,OAKJA,EAAS,GALLC,MAMJA,EANIC,UAOJA,EAPIC,OAQJA,EARIC,QASJA,EATIC,UAUJA,EAVIC,QAWJA,EAXIC,UAYJA,EAZIC,iBAaJA,EAbIC,UAcJA,GAEEf,EADCgB,IACDhB,EAhBJiB,GAkBA,IAAMC,EAAUC,EAA2B,MAE3C,OACEC,EAACC,EAADC,EAAAA,EAAA,GACMN,GADN,GAAA,CAEEf,IAAKA,EACLsB,OAAO,QACPrB,KAAMA,EACNsB,WAAAA,EACAC,UAAW,CAACC,EAAQC,KACdD,EAAOE,MAAMC,SAASC,qBAAqBC,cAC7Cb,EAAQc,QAAUN,EAAOE,MAAMC,SAASC,WAGtCd,EAAUS,WACZT,EAAUS,UAAUC,EAAQC,IAGhCM,SAAU,CAACC,EAAQC,KACF,UAAXD,GAAsBhB,EAAQc,mBAAmBD,aACnDK,EAAoBlB,EAAQc,SAG1BhB,EAAUiB,UACZjB,EAAUiB,SAASC,EAAQC,IAG/BhC,YAAaA,EACbC,OAAQA,EACRC,UAAWA,EACXC,OAAQ+B,EACN/B,EACAK,EACI,CAAE2B,QAAS,CAAEC,OAAQ,QAAUC,QAAS,CAAEC,OAAQ,YAClD,CAAED,QAAS,CAAEC,OAAQ,aAE3BC,UACEtB,EAACuB,EAAD,CACEpC,MAAOA,EACPC,UAAWA,EACXK,UAAWA,EACXC,iBAAkBA,EAClBJ,QAASA,EACTC,UAAWA,EACXC,QAASA,EACTG,UAAWA,EARb6B,SAUGnC,UAMX,CACEoC,YA5FiB,OA6FjBtC,MAAOuC,IAGX,CACEC,UAAWJ,EACXK,KAAMC,EACNC,UAAWC,EACXC,QAASC"}
@@ -0,0 +1,2 @@
1
+ import e from'@babel/runtime/helpers/objectSpread2';import s from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as o,useRef as r,useImperativeHandle as t,useEffect as i,isValidElement as a,cloneElement as n}from'react';import{withMergedProps as u}from'../../hocs/withMergedProps.js';import{focusFirstFocusable as m}from'../../shared/utils/dom.js';import{SIZES as l}from'./constants.js';export{SIZES}from'./constants.js';import{Root as p}from'./style.js';import{jsx as c}from'react/jsx-runtime';var z=["size","maxHeight","closeFn","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","children","autoFocus","disableAutoFocus","showCloseButton","closeButtonProps","onUnmount"];var f=()=>{};var h=u(o(((o,u)=>{var{size:l="m",maxHeight:h=240,closeFn:d=f,sizeXXS:S,sizeXS:X,sizeS:b,sizeM:j,sizeL:v,sizeXL:F,children:x,autoFocus:M,disableAutoFocus:w,showCloseButton:B,closeButtonProps:L,onUnmount:P}=o,g=s(o,z);var C=r(null);t(u,(()=>C.current)),i((()=>()=>{P&&P()}),[]),i((()=>{var e=setTimeout((()=>{!w&&C.current&&m(C.current)}),0);return()=>{clearTimeout(e)}}),[M,w]);var E={size:l,sizeXXS:S,sizeXS:X,sizeS:b,sizeM:j,sizeL:v,sizeXL:F};var H={showCloseButton:B,closeButtonProps:L,closeFn:d};var y=a(x)&&'object'==typeof x.props&&null!==x.props?x.props:{};return c(p,e(e(e({},g),E),{},{maxHeight:h,ref:C,children:a(x)?n(x,e(e(e({},E),H),y)):x(e(e({},E),H))}))})),{displayName:'MenuComponent',sizes:l});export{h as MenuComponent};
2
+ //# sourceMappingURL=MenuComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuComponent.js","sources":["../../../../src/components/MenuComponent/MenuComponent.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, useEffect, isValidElement, cloneElement } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { focusFirstFocusable } from 'shared/utils/dom'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { MenuComponentProps } from './types'\n\nconst COMPONENT_NAME = 'MenuComponent'\n\nconst noop = () => undefined\n\n/**\n *\n * Component accepts all \\<div\\> attributes.\n *\n * Responsive \"size\" props are supported.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [MenuComponentProps](https://github.com/foxford/ui/blob/master/src/components/MenuComponent/types.ts)\n */\nconst MenuComponent: React.ForwardRefExoticComponent<MenuComponentProps> = withMergedProps<\n MenuComponentProps,\n HTMLDivElement\n>(\n forwardRef((props, forwardedRef) => {\n const {\n size = 'm',\n maxHeight = 240,\n closeFn = noop,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n children,\n autoFocus,\n disableAutoFocus,\n showCloseButton,\n closeButtonProps,\n onUnmount,\n ...restProps\n } = props\n\n const ref = useRef<HTMLDivElement>(null)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect(() => {\n return () => {\n if (onUnmount) onUnmount()\n }\n }, [])\n\n useEffect(() => {\n const timerId = setTimeout(() => {\n if (!disableAutoFocus && ref.current) focusFirstFocusable(ref.current)\n }, 0)\n\n return () => {\n clearTimeout(timerId)\n }\n }, [autoFocus, disableAutoFocus])\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const forwardProps = {\n showCloseButton,\n closeButtonProps,\n closeFn,\n }\n\n const elementProps =\n isValidElement(children) && typeof children.props === 'object' && children.props !== null ? children.props : {}\n\n return (\n <Styled.Root {...restProps} {...sizeProps} maxHeight={maxHeight} ref={ref}>\n {isValidElement(children)\n ? cloneElement(children, { ...sizeProps, ...forwardProps, ...elementProps })\n : children({ ...sizeProps, ...forwardProps })}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { MenuComponent }\n\nexport { SIZES }\n"],"names":["noop","MenuComponent","withMergedProps","forwardRef","props","forwardedRef","size","maxHeight","closeFn","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","children","autoFocus","disableAutoFocus","showCloseButton","closeButtonProps","onUnmount","restProps","_excluded","ref","useRef","useImperativeHandle","current","useEffect","timerId","setTimeout","focusFirstFocusable","clearTimeout","sizeProps","forwardProps","elementProps","isValidElement","_jsx","Styled.Root","cloneElement","_objectSpread","displayName","sizes","SIZES"],"mappings":"srBASA,IAAMA,EAAO,OAYPC,IAAAA,EAAqEC,EAIzEC,GAAAA,CAAYC,EAAOC,KACjB,IAAMC,KACJA,EAAO,IADHC,UAEJA,EAAY,IAFRC,QAGJA,EAAUR,EAHNS,QAIJA,EAJIC,OAKJA,EALIC,MAMJA,EANIC,MAOJA,EAPIC,MAQJA,EARIC,OASJA,EATIC,SAUJA,EAVIC,UAWJA,EAXIC,iBAYJA,EAZIC,gBAaJA,EAbIC,iBAcJA,EAdIC,UAeJA,GAEEhB,EADCiB,IACDjB,EAjBJkB,GAmBA,IAAMC,EAAMC,EAAuB,MAEnCC,EAAkEpB,GAAc,IAAMkB,EAAIG,UAE1FC,GAAU,IACD,KACDP,GAAWA,MAEhB,IAEHO,GAAU,KACR,IAAMC,EAAUC,YAAAA,MACTZ,GAAoBM,EAAIG,SAASI,EAAoBP,EAAIG,WAC7D,GAEH,MAAO,KACLK,aAAaH,MAEd,CAACZ,EAAWC,IAEf,IAAMe,EAAY,CAChB1B,KAAAA,EACAG,QAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,OAAAA,GAGF,IAAMmB,EAAe,CACnBf,gBAAAA,EACAC,iBAAAA,EACAX,QAAAA,GAGF,IAAM0B,EACJC,EAAepB,IAAuC,iBAAnBA,EAASX,OAAyC,OAAnBW,EAASX,MAAiBW,EAASX,MAAQ,GAE/G,OACEgC,EAACC,EAAgBhB,EAAAA,EAAAA,EAAAA,GAAAA,GAAeW,GAAhC,GAAA,CAA2CzB,UAAWA,EAAWgB,IAAKA,EAAtER,SACGoB,EAAepB,GACZuB,EAAavB,EAADwB,EAAAA,EAAAA,EAAA,GAAgBP,GAAcC,GAAiBC,IAC3DnB,EAAQwB,EAAAA,EAAA,GAAMP,GAAcC,UAItC,CACEO,YAtFmB,gBAuFnBC,MAAOC"}
@@ -0,0 +1,2 @@
1
+ var x={xxxl:{maxWidth:560},xxl:{maxWidth:560},xl:{maxWidth:560},l:{maxWidth:560},m:{maxWidth:480},s:{maxWidth:280},xs:{maxWidth:280},xxs:{maxWidth:280},xxxs:{maxWidth:280}};export{x as SIZES};
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/components/MenuComponent/constants.ts"],"sourcesContent":["import type { Sizes } from 'shared/types'\n\nexport const SIZES: Sizes = {\n xxxl: {\n maxWidth: 560,\n },\n xxl: {\n maxWidth: 560,\n },\n xl: {\n maxWidth: 560,\n },\n l: {\n maxWidth: 560,\n },\n m: {\n maxWidth: 480,\n },\n s: {\n maxWidth: 280,\n },\n xs: {\n maxWidth: 280,\n },\n xxs: {\n maxWidth: 280,\n },\n xxxs: {\n maxWidth: 280,\n },\n}\n"],"names":["SIZES","xxxl","maxWidth","xxl","xl","l","m","s","xs","xxs","xxxs"],"mappings":"AAEO,IAAMA,EAAe,CAC1BC,KAAM,CACJC,SAAU,KAEZC,IAAK,CACHD,SAAU,KAEZE,GAAI,CACFF,SAAU,KAEZG,EAAG,CACDH,SAAU,KAEZI,EAAG,CACDJ,SAAU,KAEZK,EAAG,CACDL,SAAU,KAEZM,GAAI,CACFN,SAAU,KAEZO,IAAK,CACHP,SAAU,KAEZQ,KAAM,CACJR,SAAU"}
@@ -0,0 +1,2 @@
1
+ import o from'@babel/runtime/helpers/objectSpread2';import r,{css as e}from'styled-components';import{createShouldForwardProp as a}from'../../shared/utils/style.js';import{responsiveSize as n}from'../../mixins/responsive-size.js';var t=a((o=>!['black','elevated','maxHeight'].includes(o)));var s=o=>"\n background-color: ".concat(o.backgroundColor,";\n border-color: ").concat(o.borderColor,";\n filter: drop-shadow(0 6px 10px ").concat(o.shadowColor,");\n");var i={primary:e(["",""],(r=>s(o({backgroundColor:r.theme.colors['bg-onmain-primary'],borderColor:r.theme.colors.transparent,shadowColor:r.elevated?r.theme.colors['bg-oncolor-hover']:r.theme.colors.transparent},r.palette)))),secondary:e(["",""],(r=>s(o({backgroundColor:r.theme.colors['bg-onmain-secondary'],borderColor:r.theme.colors['border-onmain-default-large'],shadowColor:r.elevated?r.theme.colors['bg-oncolor-hover']:r.theme.colors.transparent},r.palette))))};var l=r.div.withConfig({shouldForwardProp:t}).withConfig({componentId:"fox-ui__sc-10iu45v-0"})([""," "," ",""],(o=>"\n box-sizing: border-box;\n isolation: isolate;\n border-radius: 12px;\n border: 1px solid transparent;\n overflow-x: hidden;\n overflow-y: auto;\n scrollbar-width: thin;\n min-width: min-content;\n max-height: ".concat('string'==typeof o.maxHeight?o.maxHeight:"".concat(o.maxHeight,"px"),";\n ")),(o=>o.secondary?i.secondary:i.primary),n);export{i as COLOR_SCHEMA,l as Root};
2
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/MenuComponent/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport type { StyledMenuComponentProps, MenuComponentPalette } from './types'\n\nconst shouldForwardMenuComponentProp = createShouldForwardProp(\n (propKey) => !['black', 'elevated', 'maxHeight'].includes(propKey)\n)\n\nconst template = (palette: MenuComponentPalette) => `\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n filter: drop-shadow(0 6px 10px ${palette.shadowColor});\n`\n\nexport const COLOR_SCHEMA = {\n primary: css<StyledMenuComponentProps>`\n ${(props) =>\n template({\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors.transparent,\n shadowColor: props.elevated ? props.theme.colors['bg-oncolor-hover'] : props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n secondary: css<StyledMenuComponentProps>`\n ${(props) =>\n template({\n backgroundColor: props.theme.colors['bg-onmain-secondary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n shadowColor: props.elevated ? props.theme.colors['bg-oncolor-hover'] : props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n}\n\nexport const Root = styled.div.withConfig<StyledMenuComponentProps>({\n shouldForwardProp: shouldForwardMenuComponentProp,\n})`\n ${(props) => `\n box-sizing: border-box;\n isolation: isolate;\n border-radius: 12px;\n border: 1px solid transparent;\n overflow-x: hidden;\n overflow-y: auto;\n scrollbar-width: thin;\n min-width: min-content;\n max-height: ${typeof props.maxHeight === 'string' ? props.maxHeight : `${props.maxHeight}px`};\n `}\n\n ${(props) => {\n return props.secondary ? COLOR_SCHEMA.secondary : COLOR_SCHEMA.primary\n }}\n\n ${responsiveSize}\n`\n"],"names":["shouldForwardMenuComponentProp","createShouldForwardProp","propKey","includes","template","palette","concat","backgroundColor","borderColor","shadowColor","COLOR_SCHEMA","primary","css","props","_objectSpread","theme","colors","transparent","elevated","secondary","Root","styled","div","withConfig","shouldForwardProp","componentId","maxHeight","responsiveSize"],"mappings":"sOAKA,IAAMA,EAAiCC,GACpCC,IAAa,CAAC,QAAS,WAAY,aAAaC,SAASD,KAG5D,IAAME,EAAYC,GAAD,yBAAAC,OACKD,EAAQE,gBACZF,uBAAAA,OAAAA,EAAQG,YAFT,wCAAAF,OAGkBD,EAAQI,YAH3C,QAMO,IAAMC,EAAe,CAC1BC,QAASC,EACJC,CAAAA,GAAAA,KAAAA,GACDT,EAAQU,EAAA,CACNP,gBAAiBM,EAAME,MAAMC,OAAO,qBACpCR,YAAaK,EAAME,MAAMC,OAAOC,YAChCR,YAAaI,EAAMK,SAAWL,EAAME,MAAMC,OAAO,oBAAsBH,EAAME,MAAMC,OAAOC,aACvFJ,EAAMR,YAGfc,UAAWP,EACNC,CAAAA,GAAAA,KAAAA,GACDT,EAAQU,EAAA,CACNP,gBAAiBM,EAAME,MAAMC,OAAO,uBACpCR,YAAaK,EAAME,MAAMC,OAAO,+BAChCP,YAAaI,EAAMK,SAAWL,EAAME,MAAMC,OAAO,oBAAsBH,EAAME,MAAMC,OAAOC,aACvFJ,EAAMR,aAKV,IAAMe,EAAOC,EAAOC,IAAIC,WAAqC,CAClEC,kBAAmBxB,IADJuB,WAAA,CAAAE,YAAA,wBAAGJ,CAGfR,CAAAA,GAAAA,IAAAA,IAAAA,KAAAA,4PASwC,iBAApBA,EAAMa,UAAyBb,EAAMa,UAA5C,GAAApB,OAA2DO,EAAMa,gBAZlE,WAeZb,GACMA,EAAMM,UAAYT,EAAaS,UAAYT,EAAaC,SAG/DgB"}
@@ -0,0 +1,2 @@
1
+ import o from'@babel/runtime/helpers/objectSpread2';import{forwardRef as r}from'react';import{Root as e,CloseButton as s}from'./style.js';import{jsxs as t,jsx as n}from'react/jsx-runtime';var a=r(((r,a)=>{var{closeButtonProps:i={},children:l,showCloseButton:c,closeFn:m}=r;return t(e,{ref:a,children:[c&&n(s,o(o({square:!0,size:"m",icon:"close"},i),{},{onClick:o=>{m&&m(),i.onClick&&i.onClick(o)}})),l]})}));export{a as MenuContainer};
2
+ //# sourceMappingURL=MenuContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuContainer.js","sources":["../../../../src/components/MenuContainer/MenuContainer.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport * as Styled from './style'\nimport type { MenuContainerProps } from './types'\n\n/**\n *\n * Component accepts all \\<div\\> attributes.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [MenuContainerProps](https://github.com/foxford/ui/blob/master/src/components/MenuContainer/types.ts)\n */\nconst MenuContainer: React.ForwardRefExoticComponent<MenuContainerProps> = forwardRef<\n HTMLDivElement,\n MenuContainerProps\n>((props, ref) => {\n const { closeButtonProps = {}, children, showCloseButton, closeFn } = props\n\n return (\n <Styled.Root ref={ref}>\n {showCloseButton && (\n <Styled.CloseButton\n square\n size='m'\n icon='close'\n {...closeButtonProps}\n onClick={(evt) => {\n if (closeFn) closeFn()\n if (closeButtonProps.onClick) closeButtonProps.onClick(evt)\n }}\n />\n )}\n {children}\n </Styled.Root>\n )\n})\n\nexport { MenuContainer }\n"],"names":["MenuContainer","forwardRef","props","ref","closeButtonProps","children","showCloseButton","closeFn","_jsxs","Styled.Root","_jsx","Styled.CloseButton","_objectSpread","square","size","icon","onClick","evt"],"mappings":"4LAYMA,IAAAA,EAAqEC,GAGzE,CAACC,EAAOC,KACR,IAAMC,iBAAEA,EAAmB,GAArBC,SAAyBA,EAAzBC,gBAAmCA,EAAnCC,QAAoDA,GAAYL,EAEtE,OACEM,EAACC,EAAD,CAAaN,IAAKA,EAAlBE,SAAA,CACGC,GACCI,EAACC,EAADC,EAAAA,EAAA,CACEC,QADF,EAEEC,KAAK,IACLC,KAAK,SACDX,GAJN,GAAA,CAKEY,QAAUC,IACJV,GAASA,IACTH,EAAiBY,SAASZ,EAAiBY,QAAQC,OAI5DZ"}
@@ -0,0 +1,2 @@
1
+ import o from'styled-components';import{createShouldForwardProp as t}from'../../shared/utils/style.js';import{IconButton as i}from'../IconButton/IconButton.js';var n=t();var r=o.div.withConfig({shouldForwardProp:n}).withConfig({componentId:"fox-ui__sc-1u4llna-0"})(["box-sizing:border-box;position:relative;padding:8px;border-radius:inherit;min-width:min-content;"]);var s=o(i).withConfig({componentId:"fox-ui__sc-1u4llna-1"})(["position:absolute;top:8px;right:8px;"]);export{s as CloseButton,r as Root};
2
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/MenuContainer/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { IconButton } from 'components/IconButton'\nimport type { StyledMenuContainerProps } from './types'\n\nconst shouldForwardMenuContainerProp = createShouldForwardProp()\n\nexport const Root = styled.div.withConfig<StyledMenuContainerProps>({\n shouldForwardProp: shouldForwardMenuContainerProp,\n})`\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n border-radius: inherit;\n min-width: min-content;\n`\n\nexport const CloseButton = styled(IconButton)`\n position: absolute;\n top: 8px;\n right: 8px;\n`\n"],"names":["shouldForwardMenuContainerProp","createShouldForwardProp","Root","styled","div","withConfig","shouldForwardProp","componentId","CloseButton","IconButton"],"mappings":"gKAKA,IAAMA,EAAiCC,IAEhC,IAAMC,EAAOC,EAAOC,IAAIC,WAAqC,CAClEC,kBAAmBN,IADJK,WAAA,CAAAE,YAAA,wBAAGJ,CAAb,CAAA,yGAUMK,EAAcL,EAAOM,GAAVJ,WAAA,CAAAE,YAAA,wBAAGJ,CAApB,CAAA"}
@@ -0,0 +1,2 @@
1
+ import e from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as t}from'react';import{useMergedPalette as o}from'../../hooks/useMergedPalette.js';import{Text as a}from'../Text/Text.js';import{Root as s,HorizontalLine as i}from'./style.js';import{jsxs as m,jsx as p}from'react/jsx-runtime';var l=["textProps","children","text"];var n=t(((t,n)=>{var{textProps:x={},children:c,text:d}=t,f=r(t,l);var h=o(f);return m(s,e(e({},f),{},{palette:h,ref:n,children:[(c||d)&&p(a,e(e({appearance:"body",size:"xs",color:"inherit",marginTop:8,marginBottom:4},x),{},{children:null!=c?c:d})),p(i,{})]}))}));export{n as MenuDivider};
2
+ //# sourceMappingURL=MenuDivider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuDivider.js","sources":["../../../../src/components/MenuDivider/MenuDivider.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { useMergedPalette } from 'hooks/useMergedPalette'\nimport { Text } from 'components/Text'\nimport * as Styled from './style'\nimport type { MenuDividerProps } from './types'\n\n/**\n *\n * Component accepts all \\<div\\> attributes.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [MenuDividerProps](https://github.com/foxford/ui/blob/master/src/components/MenuDivider/types.ts)\n */\nconst MenuDivider: React.ForwardRefExoticComponent<MenuDividerProps> = forwardRef<HTMLDivElement, MenuDividerProps>(\n (props, ref) => {\n const { textProps = {}, children, text, ...restProps } = props\n\n const palette = useMergedPalette(restProps)\n\n return (\n <Styled.Root {...restProps} palette={palette} ref={ref}>\n {(children || text) && (\n <Text appearance='body' size='xs' color='inherit' marginTop={8} marginBottom={4} {...textProps}>\n {children ?? text}\n </Text>\n )}\n <Styled.HorizontalLine />\n </Styled.Root>\n )\n }\n)\n\nexport { MenuDivider }\n"],"names":["MenuDivider","forwardRef","props","ref","textProps","children","text","restProps","_excluded","palette","useMergedPalette","_jsxs","Styled.Root","_jsx","Text","_objectSpread","appearance","size","color","marginTop","marginBottom","Styled.HorizontalLine"],"mappings":"6YAcMA,IAAAA,EAAiEC,GACrE,CAACC,EAAOC,KACN,IAAMC,UAAEA,EAAY,GAAdC,SAAkBA,EAAlBC,KAA4BA,GAAuBJ,EAAdK,IAAcL,EAAzDM,GAEA,IAAMC,EAAUC,EAAiBH,GAEjC,OACEI,EAACC,SAAgBL,GAAjB,GAAA,CAA4BE,QAASA,EAASN,IAAKA,EAAnDE,SAAA,EACIA,GAAYC,IACZO,EAACC,EAADC,EAAAA,EAAA,CAAMC,WAAW,OAAOC,KAAK,KAAKC,MAAM,UAAUC,UAAW,EAAGC,aAAc,GAAOhB,GAArF,GAAA,CAAAC,SACGA,MAAAA,EAAAA,EAAYC,KAGjBO,EAACQ,EANH"}
@@ -0,0 +1,2 @@
1
+ import o from'@babel/runtime/helpers/objectSpread2';import r from'styled-components';import{createShouldForwardProp as n}from'../../shared/utils/style.js';var t=n();var e=r.div.withConfig({componentId:"fox-ui__sc-cur5va-0"})(["box-sizing:border-box;height:1px;"]);var i=r.div.withConfig({shouldForwardProp:t}).withConfig({componentId:"fox-ui__sc-cur5va-1"})(["box-sizing:border-box;width:100%;min-width:min-content;padding:4px 16px;",""],(r=>{return n=o({color:r.theme.colors['content-onmain-tertiary'],lineColor:r.theme.colors['border-onmain-default-large']},r.palette),"\n color: ".concat(n.color,";\n\n & > ").concat(e," {\n background-color: ").concat(n.lineColor,";\n }\n");var n}));export{e as HorizontalLine,i as Root};
2
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/MenuDivider/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport type { StyledMenuDividerProps, MenuDividerPalette } from './types'\n\nconst shouldForwardMenuDividerProp = createShouldForwardProp()\n\nexport const HorizontalLine = styled.div`\n box-sizing: border-box;\n height: 1px;\n`\n\nconst template = (palette: MenuDividerPalette) => `\n color: ${palette.color};\n\n & > ${HorizontalLine} {\n background-color: ${palette.lineColor};\n }\n`\n\nexport const Root = styled.div.withConfig<StyledMenuDividerProps>({\n shouldForwardProp: shouldForwardMenuDividerProp,\n})`\n box-sizing: border-box;\n width: 100%;\n min-width: min-content;\n padding: 4px 16px;\n\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-tertiary'],\n lineColor: props.theme.colors['border-onmain-default-large'],\n ...props.palette,\n })}\n`\n"],"names":["shouldForwardMenuDividerProp","createShouldForwardProp","HorizontalLine","styled","div","withConfig","componentId","Root","shouldForwardProp","props","template","palette","_objectSpread","color","theme","colors","lineColor","concat"],"mappings":"2JAIA,IAAMA,EAA+BC,IAExBC,IAAAA,EAAiBC,EAAOC,IAAVC,WAAA,CAAAC,YAAA,uBAAGH,CAAvB,CAAA,sCAaA,IAAMI,EAAOJ,EAAOC,IAAIC,WAAmC,CAChEG,kBAAmBR,IADJK,WAAA,CAAAC,YAAA,uBAAGH,CAQfM,CAAAA,2EAAAA,KAAAA,IACDC,OAjBcC,EAiBNC,EAAA,CACNC,MAAOJ,EAAMK,MAAMC,OAAO,2BAC1BC,UAAWP,EAAMK,MAAMC,OAAO,gCAC3BN,EAAME,SApBE,cAAAM,OACNN,EAAQE,MADF,eAAAI,OAGTf,EAHS,8BAAAe,OAION,EAAQK,UAJhC,YAAkBL,IAAAA"}
@@ -0,0 +1,2 @@
1
+ import e from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as s,useRef as i,useImperativeHandle as t,isValidElement as o,Fragment as n,Children as a,cloneElement as l}from'react';import{useKeyboardListener as p}from'../../hooks/useKeyboardListener.js';import{focusFirstFocusable as c}from'../../shared/utils/dom.js';import{Root as z}from'./style.js';import{jsx as m}from'react/jsx-runtime';var d=["role","gap","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizeUnits","sizes"];var u=['ArrowUp','ArrowDown'];var f=s(((s,f)=>{var{role:h="list",gap:v=4,size:b,sizeXXS:X,sizeXS:L,sizeS:S,sizeM:j,sizeL:y,sizeXL:w,sizeUnits:g,sizes:M}=s,U=r(s,d);var k=i(null);t(f,(()=>k.current)),p('keydown',u,(e=>{if(k.current){var r=[...k.current.children];var s=r.findIndex((e=>e.contains(document.activeElement)));if(-1!==s)for(e.preventDefault();s>=0&&s<r.length;){var i=r[s='ArrowUp'===e.key?--s:++s];if(i instanceof HTMLElement&&c(i))break}}}));var x={size:b,sizeXXS:X,sizeXS:L,sizeS:S,sizeM:j,sizeL:y,sizeXL:w,sizeUnits:g,sizes:M};var E=o(U.children)&&U.children.type===n&&'object'==typeof U.children.props&&null!==U.children.props?U.children.props.children:U.children;return m(z,e(e({},U),{},{role:h,gap:v,ref:k,children:a.map(E,((r,s)=>{if(o(r)){var i='object'==typeof r.props&&null!==r.props?r.props:{};return m("li",{children:l(r,e(e({},x),i))},s)}return m("li",{children:r},s)}))}))}));export{f as MenuList};
2
+ //# sourceMappingURL=MenuList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuList.js","sources":["../../../../src/components/MenuList/MenuList.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, Children, isValidElement, cloneElement, Fragment } from 'react'\nimport { useKeyboardListener } from 'hooks/useKeyboardListener'\nimport { focusFirstFocusable } from 'shared/utils/dom'\nimport type { MenuListProps } from './types'\nimport * as Styled from './style'\n\nconst ARROW_KEYS = ['ArrowUp', 'ArrowDown']\n\n/**\n *\n * Component accepts all \\<ul\\> attributes.\n *\n * Responsive \"size\" props are forwarded to children elements.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [MenuListProps](https://github.com/foxford/ui/blob/master/src/components/MenuList/types.ts)\n */\nconst MenuList: React.ForwardRefExoticComponent<MenuListProps> = forwardRef<HTMLUListElement, MenuListProps>(\n (props, forwardedRef) => {\n const {\n role = 'list',\n gap = 4,\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizeUnits,\n sizes,\n ...restProps\n } = props\n\n const ref = useRef<HTMLUListElement>(null)\n\n useImperativeHandle<HTMLUListElement | null, HTMLUListElement | null>(forwardedRef, () => ref.current)\n\n useKeyboardListener('keydown', ARROW_KEYS, (evt) => {\n if (!ref.current) return\n\n const menuItems = [...ref.current.children]\n\n let itemIdx = menuItems.findIndex((item) => item.contains(document.activeElement))\n\n if (itemIdx === -1) return\n\n evt.preventDefault()\n\n while (itemIdx >= 0 && itemIdx < menuItems.length) {\n itemIdx = evt.key === 'ArrowUp' ? --itemIdx : ++itemIdx\n\n const nextItem = menuItems[itemIdx]\n\n if (nextItem instanceof HTMLElement && focusFirstFocusable(nextItem)) {\n break\n }\n }\n })\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizeUnits,\n sizes,\n }\n\n const children =\n isValidElement(restProps.children) &&\n restProps.children.type === Fragment &&\n typeof restProps.children.props === 'object' &&\n restProps.children.props !== null\n ? restProps.children.props.children\n : restProps.children\n\n return (\n <Styled.Root {...restProps} role={role} gap={gap} ref={ref}>\n {Children.map(children, (child, idx) => {\n if (isValidElement(child)) {\n const childProps = typeof child.props === 'object' && child.props !== null ? child.props : {}\n\n return <li key={idx}>{cloneElement(child, { ...sizeProps, ...childProps })}</li>\n }\n\n return <li key={idx}>{child}</li>\n })}\n </Styled.Root>\n )\n }\n)\n\nexport { MenuList }\n"],"names":["ARROW_KEYS","MenuList","forwardRef","props","forwardedRef","role","gap","size","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizeUnits","sizes","restProps","_excluded","ref","useRef","useImperativeHandle","current","useKeyboardListener","evt","menuItems","children","itemIdx","findIndex","item","contains","document","activeElement","preventDefault","length","nextItem","key","HTMLElement","focusFirstFocusable","sizeProps","isValidElement","type","Fragment","_jsx","Styled.Root","Children","map","child","idx","childProps","cloneElement"],"mappings":"mjBAMA,IAAMA,EAAa,CAAC,UAAW,aAYzBC,IAAAA,EAA2DC,GAC/D,CAACC,EAAOC,KACN,IAAMC,KACJA,EAAO,OADHC,IAEJA,EAAM,EAFFC,KAGJA,EAHIC,QAIJA,EAJIC,OAKJA,EALIC,MAMJA,EANIC,MAOJA,EAPIC,MAQJA,EARIC,OASJA,EATIC,UAUJA,EAVIC,MAWJA,GAEEZ,EADCa,IACDb,EAbJc,GAeA,IAAMC,EAAMC,EAAyB,MAErCC,EAAsEhB,GAAAA,IAAoBc,EAAIG,UAE9FC,EAAoB,UAAWtB,GAAauB,IAC1C,GAAKL,EAAIG,QAAT,CAEA,IAAMG,EAAY,IAAIN,EAAIG,QAAQI,UAElC,IAAIC,EAAUF,EAAUG,WAAWC,GAASA,EAAKC,SAASC,SAASC,iBAEnE,IAAiB,IAAbL,EAIJ,IAFAH,EAAIS,iBAEGN,GAAW,GAAKA,EAAUF,EAAUS,QAAQ,CAGjD,IAAMC,EAAWV,EAFjBE,EAAsB,YAAZH,EAAIY,MAAsBT,IAAYA,GAIhD,GAAIQ,aAAoBE,aAAeC,EAAoBH,GACzD,WAKN,IAAMI,EAAY,CAChB/B,KAAAA,EACAC,QAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,OAAAA,EACAC,UAAAA,EACAC,MAAAA,GAGF,IAAMU,EACJc,EAAevB,EAAUS,WACzBT,EAAUS,SAASe,OAASC,GACQ,iBAA7BzB,EAAUS,SAAStB,OACG,OAA7Ba,EAAUS,SAAStB,MACfa,EAAUS,SAAStB,MAAMsB,SACzBT,EAAUS,SAEhB,OACEiB,EAACC,SAAgB3B,GAAjB,GAAA,CAA4BX,KAAMA,EAAMC,IAAKA,EAAKY,IAAKA,EAAvDO,SACGmB,EAASC,IAAIpB,GAAU,CAACqB,EAAOC,KAC9B,GAAIR,EAAeO,GAAQ,CACzB,IAAME,EAAoC,iBAAhBF,EAAM3C,OAAsC,OAAhB2C,EAAM3C,MAAiB2C,EAAM3C,MAAQ,GAE3F,OAAOuC,EAAA,KAAA,CAAAjB,SAAewB,EAAaH,EAAYR,EAAAA,EAAAA,GAAAA,GAAcU,KAA7CD,GAGlB,OAAOL,EAAA,KAAA,CAAAjB,SAAeqB,GAANC"}
@@ -0,0 +1,2 @@
1
+ import n from'styled-components';var o=n.ul.withConfig({shouldForwardProp:n=>!['showCloseButton','closeButtonProps','closeFn','gap'].includes(n)}).withConfig({componentId:"fox-ui__sc-afqmnb-0"})(["",""],(n=>"\n box-sizing: border-box;\n appearance: none;\n list-style-type: none;\n margin: 0;\n padding: 8px;\n border-radius: inherit;\n min-width: min-content;\n\n & > li:not(:last-child) {\n margin-bottom: ".concat('string'==typeof n.gap?n.gap:"".concat(n.gap,"px"),";\n } \n ")));export{o as Root};
2
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/MenuList/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport type { StyledMenuListProps } from './types'\n\nexport const Root = styled.ul.withConfig<StyledMenuListProps>({\n shouldForwardProp: (propKey) => !['showCloseButton', 'closeButtonProps', 'closeFn', 'gap'].includes(propKey),\n})`\n ${(props) => `\n box-sizing: border-box;\n appearance: none;\n list-style-type: none;\n margin: 0;\n padding: 8px;\n border-radius: inherit;\n min-width: min-content;\n\n & > li:not(:last-child) {\n margin-bottom: ${typeof props.gap === 'string' ? props.gap : `${props.gap}px`};\n } \n `}\n`\n"],"names":["Root","styled","ul","withConfig","shouldForwardProp","propKey","includes","componentId","props","concat","gap"],"mappings":"iCAGO,IAAMA,EAAOC,EAAOC,GAAGC,WAAgC,CAC5DC,kBAAoBC,IAAa,CAAC,kBAAmB,mBAAoB,UAAW,OAAOC,SAASD,KADrFF,WAAA,CAAAI,YAAA,uBAAGN,CAAH,CAAA,GAAA,KAGZO,GAUkB,wOAAAC,OAAqB,iBAAdD,EAAME,IAAmBF,EAAME,IAASF,GAAAA,OAAAA,EAAME,IAArD"}
@@ -1,2 +1,2 @@
1
- import o from'@babel/runtime/helpers/objectSpread2';import t from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as e}from'react';import{withMergedProps as r}from'../../hocs/withMergedProps.js';import{Tooltip as i}from'../Tooltip/Tooltip.js';import{PopoverComponent as n}from'../PopoverComponent/PopoverComponent.js';import{jsx as s}from'react/jsx-runtime';import{SIZES_LANDSCAPE as p,SIZES as a}from'../PopoverComponent/constants.js';var c=["size","sizes","sizeUnits","palette","orientation","loading","badge","caption","captionProps","titleProps","contentProps","controlsDirection","media","controls"];var l='Popover';var m=Object.assign(r(e(((e,r)=>{var p;var{size:a="s",sizes:l,sizeUnits:m,palette:P,orientation:d,loading:v,badge:b,caption:f,captionProps:g,titleProps:z,contentProps:j,controlsDirection:h,media:C,controls:u}=e,S=t(e,c);return s(i,o(o({},S),{},{preset:"brand",size:a,ref:r,styles:{arrow:{spread:20,length:12}},component:null!==(p=S.component)&&void 0!==p?p:s(n,{sizes:l,sizeUnits:m,palette:P,orientation:d,loading:v,badge:b,caption:f,captionProps:g,title:S.title,titleProps:z,content:S.content,contentProps:j,controlsDirection:h,media:C,controls:u})}))})),{displayName:"Popover",sizes:o=>'landscape'===o.orientation?p:a}),{Component:n});export{l as COMPONENT_NAME,m as Popover};
1
+ import o from'@babel/runtime/helpers/objectSpread2';import t from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as e}from'react';import{mergeDeepLeft as r}from'ramda';import{withMergedProps as s}from'../../hocs/withMergedProps.js';import{Tooltip as i}from'../Tooltip/Tooltip.js';import{PopoverComponent as n}from'../PopoverComponent/PopoverComponent.js';import{jsx as p}from'react/jsx-runtime';import{SIZES_LANDSCAPE as a,SIZES as m}from'../PopoverComponent/constants.js';var l=["size","styles","sizes","sizeUnits","palette","orientation","loading","badge","caption","captionProps","titleProps","contentProps","controlsDirection","media","controls"];var c='Popover';var P=Object.assign(s(e(((e,s)=>{var{size:a="s",styles:m={},sizes:c,sizeUnits:P,palette:d,orientation:f,loading:b,badge:g,caption:v,captionProps:z,titleProps:j,contentProps:h,controlsDirection:C,media:S,controls:u}=e,D=t(e,l);return p(i,o(o({},D),{},{preset:"brand",size:a,ref:s,styles:r(m,{arrow:{spread:20,length:12}}),component:p(n,{sizes:c,sizeUnits:P,palette:d,orientation:f,loading:b,badge:g,caption:v,captionProps:z,title:D.title,titleProps:j,content:D.content,contentProps:h,controlsDirection:C,media:S,controls:u})}))})),{displayName:"Popover",sizes:o=>'landscape'===o.orientation?a:m}),{Component:n});export{c as COMPONENT_NAME,P as Popover};
2
2
  //# sourceMappingURL=Popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Tooltip } from 'components/Tooltip'\nimport { PopoverComponent, SIZES_LANDSCAPE, SIZES } from 'components/PopoverComponent'\nimport type { PopoverProps } from './types'\n\nconst COMPONENT_NAME = 'Popover'\n\n/**\n *\n * Component accepts [\"react-floater\"](https://www.npmjs.com/package/react-floater/v/0.8.2) v0.8.2 props.\n *\n * Responsive \"size\" props are supported.\n *\n * Exposed \"ref\" attached to popover component root.\n *\n * See full [PopoverProps](https://github.com/foxford/ui/blob/master/src/components/Popover/types.ts)\n */\nconst Popover: React.ForwardRefExoticComponent<PopoverProps> & { Component: typeof PopoverComponent } = Object.assign(\n withMergedProps<PopoverProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const {\n size = 's',\n sizes,\n sizeUnits,\n palette,\n orientation,\n loading,\n badge,\n caption,\n captionProps,\n titleProps,\n contentProps,\n controlsDirection,\n media,\n controls,\n ...restProps\n } = props\n\n return (\n <Tooltip\n {...restProps}\n preset='brand'\n size={size}\n ref={ref}\n styles={{\n arrow: {\n spread: 20,\n length: 12,\n },\n }}\n component={\n restProps.component ?? (\n <PopoverComponent\n sizes={sizes}\n sizeUnits={sizeUnits}\n palette={palette}\n orientation={orientation}\n loading={loading}\n badge={badge}\n caption={caption}\n captionProps={captionProps}\n title={restProps.title}\n titleProps={titleProps}\n content={restProps.content}\n contentProps={contentProps}\n controlsDirection={controlsDirection}\n media={media}\n controls={controls}\n />\n )\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n return props.orientation === 'landscape' ? SIZES_LANDSCAPE : SIZES\n },\n }\n ),\n {\n Component: PopoverComponent,\n }\n)\n\nexport { Popover }\n\nexport { COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Popover","Object","assign","withMergedProps","forwardRef","props","ref","_restProps$component","size","sizes","sizeUnits","palette","orientation","loading","badge","caption","captionProps","titleProps","contentProps","controlsDirection","media","controls","restProps","_excluded","_jsx","Tooltip","_objectSpread","preset","styles","arrow","spread","length","component","PopoverComponent","title","content","displayName","SIZES_LANDSCAPE","SIZES","Component"],"mappings":"+mBAMMA,IAAAA,EAAiB,UAYvB,IAAMC,EAAkGC,OAAOC,OAC7GC,EACEC,IAAYC,EAAOC,KAAQ,IAAAC,EACzB,IAAMC,KACJA,EAAO,IADHC,MAEJA,EAFIC,UAGJA,EAHIC,QAIJA,EAJIC,YAKJA,EALIC,QAMJA,EANIC,MAOJA,EAPIC,QAQJA,EARIC,aASJA,EATIC,WAUJA,EAVIC,aAWJA,EAXIC,kBAYJA,EAZIC,MAaJA,EAbIC,SAcJA,GAEEhB,EADCiB,IACDjB,EAhBJkB,GAkBA,OACEC,EAACC,EAADC,EAAAA,EAAA,GACMJ,GADN,GAAA,CAEEK,OAAO,QACPnB,KAAMA,EACNF,IAAKA,EACLsB,OAAQ,CACNC,MAAO,CACLC,OAAQ,GACRC,OAAQ,KAGZC,UAAS,UACPV,EAAUU,iBAAAA,IADHzB,EAAAA,EAELiB,EAACS,EAAD,CACExB,MAAOA,EACPC,UAAWA,EACXC,QAASA,EACTC,YAAaA,EACbC,QAASA,EACTC,MAAOA,EACPC,QAASA,EACTC,aAAcA,EACdkB,MAAOZ,EAAUY,MACjBjB,WAAYA,EACZkB,QAASb,EAAUa,QACnBjB,aAAcA,EACdC,kBAAmBA,EACnBC,MAAOA,EACPC,SAAUA,UAOtB,CACEe,YAtEiB,UAuEjB3B,MAAQJ,GACuB,cAAtBA,EAAMO,YAA8ByB,EAAkBC,IAInE,CACEC,UAAWN"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { mergeDeepLeft } from 'ramda'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Tooltip } from 'components/Tooltip'\nimport { PopoverComponent, SIZES_LANDSCAPE, SIZES } from 'components/PopoverComponent'\nimport type { PopoverProps } from './types'\n\nconst COMPONENT_NAME = 'Popover'\n\n/**\n *\n * Component accepts [\"react-floater\"](https://www.npmjs.com/package/react-floater/v/0.8.2) v0.8.2 props.\n *\n * Responsive \"size\" props are supported.\n *\n * Exposed \"ref\" attached to popover component root.\n *\n * See full [PopoverProps](https://github.com/foxford/ui/blob/master/src/components/Popover/types.ts)\n */\nconst Popover: React.ForwardRefExoticComponent<PopoverProps> & { Component: typeof PopoverComponent } = Object.assign(\n withMergedProps<PopoverProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const {\n size = 's',\n styles = {},\n sizes,\n sizeUnits,\n palette,\n orientation,\n loading,\n badge,\n caption,\n captionProps,\n titleProps,\n contentProps,\n controlsDirection,\n media,\n controls,\n ...restProps\n } = props\n\n return (\n <Tooltip\n {...restProps}\n preset='brand'\n size={size}\n ref={ref}\n styles={mergeDeepLeft(styles, {\n arrow: {\n spread: 20,\n length: 12,\n },\n })}\n component={\n <PopoverComponent\n sizes={sizes}\n sizeUnits={sizeUnits}\n palette={palette}\n orientation={orientation}\n loading={loading}\n badge={badge}\n caption={caption}\n captionProps={captionProps}\n title={restProps.title}\n titleProps={titleProps}\n content={restProps.content}\n contentProps={contentProps}\n controlsDirection={controlsDirection}\n media={media}\n controls={controls}\n />\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n return props.orientation === 'landscape' ? SIZES_LANDSCAPE : SIZES\n },\n }\n ),\n {\n Component: PopoverComponent,\n }\n)\n\nexport { Popover }\n\nexport { COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Popover","Object","assign","withMergedProps","forwardRef","props","ref","size","styles","sizes","sizeUnits","palette","orientation","loading","badge","caption","captionProps","titleProps","contentProps","controlsDirection","media","controls","restProps","_excluded","_jsx","Tooltip","_objectSpread","preset","mergeDeepLeft","arrow","spread","length","component","PopoverComponent","title","content","displayName","SIZES_LANDSCAPE","SIZES","Component"],"mappings":"8pBAOMA,IAAAA,EAAiB,UAYvB,IAAMC,EAAkGC,OAAOC,OAC7GC,EACEC,GAAW,CAACC,EAAOC,KACjB,IAAMC,KACJA,EAAO,IADHC,OAEJA,EAAS,GAFLC,MAGJA,EAHIC,UAIJA,EAJIC,QAKJA,EALIC,YAMJA,EANIC,QAOJA,EAPIC,MAQJA,EARIC,QASJA,EATIC,aAUJA,EAVIC,WAWJA,EAXIC,aAYJA,EAZIC,kBAaJA,EAbIC,MAcJA,EAdIC,SAeJA,GAEEhB,EADCiB,IACDjB,EAjBJkB,GAmBA,OACEC,EAACC,EAADC,EAAAA,EAAA,GACMJ,GADN,GAAA,CAEEK,OAAO,QACPpB,KAAMA,EACND,IAAKA,EACLE,OAAQoB,EAAcpB,EAAQ,CAC5BqB,MAAO,CACLC,OAAQ,GACRC,OAAQ,MAGZC,UACER,EAACS,EAAD,CACExB,MAAOA,EACPC,UAAWA,EACXC,QAASA,EACTC,YAAaA,EACbC,QAASA,EACTC,MAAOA,EACPC,QAASA,EACTC,aAAcA,EACdkB,MAAOZ,EAAUY,MACjBjB,WAAYA,EACZkB,QAASb,EAAUa,QACnBjB,aAAcA,EACdC,kBAAmBA,EACnBC,MAAOA,EACPC,SAAUA,UAMpB,CACEe,YArEiB,UAsEjB3B,MAAQJ,GACuB,cAAtBA,EAAMO,YAA8ByB,EAAkBC,IAInE,CACEC,UAAWN"}
package/dts/index.d.ts CHANGED
@@ -285,7 +285,28 @@ declare enum BaseColorNames {
285
285
  'skeleton-oncolor-primary' = "skeleton-oncolor-primary",
286
286
  'skeleton-oncolor-secondary' = "skeleton-oncolor-secondary",
287
287
  'skeleton-gradient-from-color-oncolor' = "skeleton-gradient-from-color-oncolor",
288
- 'skeleton-gradient-to-color-oncolor' = "skeleton-gradient-to-color-oncolor"
288
+ 'skeleton-gradient-to-color-oncolor' = "skeleton-gradient-to-color-oncolor",
289
+ 'bg-other-badge' = "bg-other-badge",
290
+ 'bg-other-black' = "bg-other-black",
291
+ 'alert-bg-info-100' = "alert-bg-info-100",
292
+ 'alert-bg-info-200' = "alert-bg-info-200",
293
+ 'alert-bg-info-500' = "alert-bg-info-500",
294
+ 'alert-info' = "alert-info",
295
+ 'product-content-school' = "product-content-school",
296
+ 'product-content-group' = "product-content-group",
297
+ 'product-content-outclass' = "product-content-outclass",
298
+ 'product-content-course' = "product-content-course",
299
+ 'product-content-tutor' = "product-content-tutor",
300
+ 'product-high-school' = "product-high-school",
301
+ 'product-high-group' = "product-high-group",
302
+ 'product-high-outclass' = "product-high-outclass",
303
+ 'product-high-course' = "product-high-course",
304
+ 'product-high-tutor' = "product-high-tutor",
305
+ 'product-low-school' = "product-low-school",
306
+ 'product-low-group' = "product-low-group",
307
+ 'product-low-outclass' = "product-low-outclass",
308
+ 'product-low-course' = "product-low-course",
309
+ 'product-low-tutor' = "product-low-tutor"
289
310
  }
290
311
  declare enum BrandColorNames {
291
312
  'content-brand-primary' = "content-brand-primary",
@@ -509,6 +530,27 @@ declare const ColorNames: {
509
530
  'skeleton-oncolor-secondary': (typeof BaseColorNames)["skeleton-oncolor-secondary"];
510
531
  'skeleton-gradient-from-color-oncolor': (typeof BaseColorNames)["skeleton-gradient-from-color-oncolor"];
511
532
  'skeleton-gradient-to-color-oncolor': (typeof BaseColorNames)["skeleton-gradient-to-color-oncolor"];
533
+ 'bg-other-badge': (typeof BaseColorNames)["bg-other-badge"];
534
+ 'bg-other-black': (typeof BaseColorNames)["bg-other-black"];
535
+ 'alert-bg-info-100': (typeof BaseColorNames)["alert-bg-info-100"];
536
+ 'alert-bg-info-200': (typeof BaseColorNames)["alert-bg-info-200"];
537
+ 'alert-bg-info-500': (typeof BaseColorNames)["alert-bg-info-500"];
538
+ 'alert-info': (typeof BaseColorNames)["alert-info"];
539
+ 'product-content-school': (typeof BaseColorNames)["product-content-school"];
540
+ 'product-content-group': (typeof BaseColorNames)["product-content-group"];
541
+ 'product-content-outclass': (typeof BaseColorNames)["product-content-outclass"];
542
+ 'product-content-course': (typeof BaseColorNames)["product-content-course"];
543
+ 'product-content-tutor': (typeof BaseColorNames)["product-content-tutor"];
544
+ 'product-high-school': (typeof BaseColorNames)["product-high-school"];
545
+ 'product-high-group': (typeof BaseColorNames)["product-high-group"];
546
+ 'product-high-outclass': (typeof BaseColorNames)["product-high-outclass"];
547
+ 'product-high-course': (typeof BaseColorNames)["product-high-course"];
548
+ 'product-high-tutor': (typeof BaseColorNames)["product-high-tutor"];
549
+ 'product-low-school': (typeof BaseColorNames)["product-low-school"];
550
+ 'product-low-group': (typeof BaseColorNames)["product-low-group"];
551
+ 'product-low-outclass': (typeof BaseColorNames)["product-low-outclass"];
552
+ 'product-low-course': (typeof BaseColorNames)["product-low-course"];
553
+ 'product-low-tutor': (typeof BaseColorNames)["product-low-tutor"];
512
554
  profession: UnitColorNames.profession;
513
555
  professionDark: UnitColorNames.professionDark;
514
556
  camps: UnitColorNames.camps;
@@ -2080,12 +2122,6 @@ interface PopoverProps extends ResponsiveSizeProps, React.RefAttributes<HTMLDivE
2080
2122
  black?: boolean;
2081
2123
  /** @ignore */
2082
2124
  contrast?: boolean;
2083
- /** @ignore */
2084
- component?: React.ReactElement | ((props: Pick<PopoverProps, 'size' | 'sizeXXS' | 'sizeXS' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXL' | 'black' | 'contrast' | 'showCloseButton' | 'closeButtonProps'> & {
2085
- id?: string;
2086
- role?: string;
2087
- closeFn?: () => void;
2088
- }) => React.ReactElement);
2089
2125
  }
2090
2126
 
2091
2127
  /**
@@ -2367,6 +2403,177 @@ interface ChipProps extends ResponsiveSizeProps, ResponsiveMarginProps, React.Re
2367
2403
  */
2368
2404
  declare const Chip: React.ForwardRefExoticComponent<ChipProps>;
2369
2405
 
2406
+ declare type MenuComponentPalette = {
2407
+ backgroundColor: CSSColor;
2408
+ borderColor: CSSColor;
2409
+ shadowColor: CSSColor;
2410
+ };
2411
+ interface MenuComponentProps extends ResponsiveSizeProps, Omit<React.ComponentPropsWithRef<'div'>, 'children'> {
2412
+ /** Custom colors */
2413
+ palette?: Partial<Record<keyof MenuComponentPalette, Color>>;
2414
+ /** Appearance variant */
2415
+ primary?: boolean;
2416
+ /** Appearance variant */
2417
+ secondary?: boolean;
2418
+ /** Apply drop shadow filter */
2419
+ elevated?: boolean;
2420
+ /** Value change will set focus on first focusable descendent */
2421
+ autoFocus?: unknown;
2422
+ /** Disable autoFocus behavior (usage discourage, unless you manage focus by yourself) */
2423
+ disableAutoFocus?: boolean;
2424
+ /** Root max-height */
2425
+ maxHeight?: string | number;
2426
+ /** Callback to call on unmount (can be used to restore focus on trigger component) */
2427
+ onUnmount?: () => void;
2428
+ /** Render menu view (Menu.List, Menu.Container, or custom component) */
2429
+ children: React.ReactElement | ((props: Pick<MenuComponentProps, 'size' | 'sizeXXS' | 'sizeXS' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXL' | 'showCloseButton' | 'closeButtonProps'> & {
2430
+ closeFn: () => void;
2431
+ }) => React.ReactElement);
2432
+ /** Show button to close menu (forward to children) */
2433
+ showCloseButton?: boolean;
2434
+ /** Props for close button (forward to children) */
2435
+ closeButtonProps?: IconButtonProps;
2436
+ /** @ignore Internal callback */
2437
+ closeFn?: () => void;
2438
+ }
2439
+
2440
+ /**
2441
+ *
2442
+ * Component accepts all \<div\> attributes.
2443
+ *
2444
+ * Responsive "size" props are supported.
2445
+ *
2446
+ * Exposed "ref" attached to root node.
2447
+ *
2448
+ * See full [MenuComponentProps](https://github.com/foxford/ui/blob/master/src/components/MenuComponent/types.ts)
2449
+ */
2450
+ declare const MenuComponent: React.ForwardRefExoticComponent<MenuComponentProps>;
2451
+
2452
+ interface MenuListProps extends ResponsiveSizeProps, React.ComponentPropsWithRef<'ul'> {
2453
+ /** Menu items (React elements receive "size" props) */
2454
+ children: React.ReactNode;
2455
+ /** Space between list items */
2456
+ gap?: string | number;
2457
+ }
2458
+
2459
+ /**
2460
+ *
2461
+ * Component accepts all \<ul\> attributes.
2462
+ *
2463
+ * Responsive "size" props are forwarded to children elements.
2464
+ *
2465
+ * Exposed "ref" attached to root node.
2466
+ *
2467
+ * See full [MenuListProps](https://github.com/foxford/ui/blob/master/src/components/MenuList/types.ts)
2468
+ */
2469
+ declare const MenuList: React.ForwardRefExoticComponent<MenuListProps>;
2470
+
2471
+ interface MenuContainerProps extends React.ComponentPropsWithRef<'div'> {
2472
+ /** Show button with 'close' icon */
2473
+ showCloseButton?: boolean;
2474
+ /** Props for close button */
2475
+ closeButtonProps?: IconButtonProps;
2476
+ /** @ignore Internal callback */
2477
+ closeFn?: () => void;
2478
+ }
2479
+
2480
+ /**
2481
+ *
2482
+ * Component accepts all \<div\> attributes.
2483
+ *
2484
+ * Exposed "ref" attached to root node.
2485
+ *
2486
+ * See full [MenuContainerProps](https://github.com/foxford/ui/blob/master/src/components/MenuContainer/types.ts)
2487
+ */
2488
+ declare const MenuContainer: React.ForwardRefExoticComponent<MenuContainerProps>;
2489
+
2490
+ declare type MenuDividerPalette = {
2491
+ color: CSSColor;
2492
+ lineColor: CSSColor;
2493
+ };
2494
+ interface MenuDividerProps extends React.ComponentPropsWithRef<'div'> {
2495
+ /** Custom colors */
2496
+ palette?: Partial<Record<keyof MenuDividerPalette, Color>>;
2497
+ /** Text content */
2498
+ children?: React.ReactNode;
2499
+ /** Text content (alternative to children) */
2500
+ text?: React.ReactNode;
2501
+ /** Props for text component */
2502
+ textProps?: TextProps;
2503
+ }
2504
+
2505
+ /**
2506
+ *
2507
+ * Component accepts all \<div\> attributes.
2508
+ *
2509
+ * Exposed "ref" attached to root node.
2510
+ *
2511
+ * See full [MenuDividerProps](https://github.com/foxford/ui/blob/master/src/components/MenuDivider/types.ts)
2512
+ */
2513
+ declare const MenuDivider: React.ForwardRefExoticComponent<MenuDividerProps>;
2514
+
2515
+ interface MenuProps extends ResponsiveSizeProps, React.RefAttributes<HTMLDivElement> {
2516
+ /** Open automatically */
2517
+ autoOpen?: boolean;
2518
+ /** It will be called on state change */
2519
+ callback?: (action: 'open' | 'close', props: Props) => void;
2520
+ /** Menu trigger and its target */
2521
+ children?: React.ReactNode;
2522
+ /** Debugging logs in console */
2523
+ debug?: boolean;
2524
+ /** Don't adjust menu on scroll / resize (default true) */
2525
+ disableFlip?: boolean;
2526
+ /** Callback to get popper.js instance */
2527
+ getPopper?: (popper: PopperInstance, origin: 'floater' | 'wrapper') => void;
2528
+ /** Distance in px between menu and its target (default 8px) */
2529
+ offset?: number;
2530
+ /** Switch between normal and controlled modes. It will disable built in menu behavior */
2531
+ open?: boolean;
2532
+ /** Menu position relative to its target (default bottom-start) */
2533
+ placement?: PlacementOptions;
2534
+ /** CSS selector or element to render menus */
2535
+ portalElement?: SelectorOrElement;
2536
+ /** Custom styles */
2537
+ styles?: Partial<Styles>;
2538
+ /** Render menu view (Menu.List, Menu.Container, or custom component) */
2539
+ render: React.ReactElement | ((props: Pick<MenuProps, 'size' | 'sizeXXS' | 'sizeXS' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXL' | 'showCloseButton' | 'closeButtonProps'> & {
2540
+ closeFn: () => void;
2541
+ }) => React.ReactElement);
2542
+ /** Appearance variant */
2543
+ primary?: boolean;
2544
+ /** Appearance variant */
2545
+ secondary?: boolean;
2546
+ /** Custom colors */
2547
+ palette?: Partial<Record<keyof MenuComponentPalette, Color>>;
2548
+ /** Value change will set focus on first focusable descendent */
2549
+ autoFocus?: unknown;
2550
+ /** Disable autoFocus behavior (usage discourage, unless you manage focus by yourself) */
2551
+ disableAutoFocus?: boolean;
2552
+ /** Show button to close menu (applicable for Menu.Container, or custom component) */
2553
+ showCloseButton?: boolean;
2554
+ /** Props for close button */
2555
+ closeButtonProps?: IconButtonProps;
2556
+ /** Menu component max-height */
2557
+ maxHeight?: string | number;
2558
+ }
2559
+
2560
+ /**
2561
+ *
2562
+ * Component accepts ["react-floater"](https://www.npmjs.com/package/react-floater/v/0.8.2) v0.8.2 props.
2563
+ *
2564
+ * Responsive "size" props are supported.
2565
+ *
2566
+ * Exposed "ref" attached to menu component root.
2567
+ *
2568
+ * See full [MenuProps](https://github.com/foxford/ui/blob/master/src/components/Menu/types.ts)
2569
+ */
2570
+ declare const Menu: React.ForwardRefExoticComponent<MenuProps> & {
2571
+ Component: typeof MenuComponent;
2572
+ List: typeof MenuList;
2573
+ Container: typeof MenuContainer;
2574
+ Divider: typeof MenuDivider;
2575
+ };
2576
+
2370
2577
  interface Theme {
2371
2578
  breakpoints: Readonly<Record<Lowercase<Breakpoint>, number>>;
2372
2579
  colors: Record<keyof typeof ColorNames, CSSColor>;
@@ -2410,6 +2617,8 @@ interface Theme {
2410
2617
  Textarea?: TextareaProps;
2411
2618
  Tooltip?: TooltipProps;
2412
2619
  TooltipComponent?: TooltipComponentProps;
2620
+ Menu?: MenuProps;
2621
+ MenuComponentProps?: MenuComponentProps;
2413
2622
  };
2414
2623
  }
2415
2624
 
@@ -3998,4 +4207,4 @@ interface FormLabelProps extends ResponsiveSizeProps, ResponsiveMarginProps, Rea
3998
4207
  */
3999
4208
  declare const FormLabel: React.ForwardRefExoticComponent<FormLabelProps>;
4000
4209
 
4001
- export { ActionBtn, Alert, Amount, Anchor, Arrow, ArrowBadge, Avatar, Badge, BaseProps, Breakpoint, Button, COUNTRY_DATA, CSSBorderStyle, CSSColor, CSSFontWeight, CSSGlobalValue, CSSUnit, CSSVerticalAlign, CURRENCY_MAP, Checkbox, Chip, Color, ColorNames, ColorPaletteKey, Container, ContextMenu, CurrencyCodes, DEFAULT_MASK, FormLabel, HEX, INITIAL_MASK, Icon, IconButton, Indicator, Input, ListItem, Modal, Nullable, Paper, Popover, Progress, RGB, RGBA, Radio, withThemeScrollable as Scrollable, Section, Select, Separator, Size, Sizes, Skeleton, Spacer, Spinner, Switcher, Tab, Tabs, Tag, Text, Textarea, Theme, ThemeMode, ThemeName, ThemePreset, ThemeProvider, Tooltip, adultDarkTheme, adultLightTheme, babyDarkTheme, babyLightTheme, baseInputStyle, buildMediaQuery, color, defaultIcons, desktopFirst, hexToRgbA, isHex, mobileFirst, motherDarkTheme, motherLightTheme, property, responsiveNamedProperty, responsiveProperty, screenL, screenM, screenMaxL, screenMaxM, screenMaxS, screenMaxXl, screenMaxXs, screenMaxXxs, screenMinL, screenMinM, screenMinS, screenMinXl, screenMinXs, screenRetina, screenS, screenXl, screenXs, teenDarkTheme, teenLightTheme, defaultTheme as theme, vAlign };
4210
+ export { ActionBtn, Alert, Amount, Anchor, Arrow, ArrowBadge, Avatar, Badge, BaseProps, Breakpoint, Button, COUNTRY_DATA, CSSBorderStyle, CSSColor, CSSFontWeight, CSSGlobalValue, CSSUnit, CSSVerticalAlign, CURRENCY_MAP, Checkbox, Chip, Color, ColorNames, ColorPaletteKey, Container, ContextMenu, CurrencyCodes, DEFAULT_MASK, FormLabel, HEX, INITIAL_MASK, Icon, IconButton, Indicator, Input, ListItem, Menu, Modal, Nullable, Paper, Popover, Progress, RGB, RGBA, Radio, withThemeScrollable as Scrollable, Section, Select, Separator, Size, Sizes, Skeleton, Spacer, Spinner, Switcher, Tab, Tabs, Tag, Text, Textarea, Theme, ThemeMode, ThemeName, ThemePreset, ThemeProvider, Tooltip, adultDarkTheme, adultLightTheme, babyDarkTheme, babyLightTheme, baseInputStyle, buildMediaQuery, color, defaultIcons, desktopFirst, hexToRgbA, isHex, mobileFirst, motherDarkTheme, motherLightTheme, property, responsiveNamedProperty, responsiveProperty, screenL, screenM, screenMaxL, screenMaxM, screenMaxS, screenMaxXl, screenMaxXs, screenMaxXxs, screenMinL, screenMinM, screenMinS, screenMinXl, screenMinXs, screenRetina, screenS, screenXl, screenXs, teenDarkTheme, teenLightTheme, defaultTheme as theme, vAlign };