@foxford/ui 2.0.0-beta-d9b410b-20220704 → 2.0.0-beta-d2ba84e-20220706

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 (86) hide show
  1. package/components/ActionBtn/ActionBtn.js +1 -1
  2. package/components/ActionBtn/ActionBtn.js.map +1 -1
  3. package/components/Amount/Amount.js +1 -1
  4. package/components/Amount/Amount.js.map +1 -1
  5. package/components/Anchor/Anchor.js +1 -1
  6. package/components/Anchor/Anchor.js.map +1 -1
  7. package/components/Arrow/Arrow.js +1 -1
  8. package/components/Arrow/Arrow.js.map +1 -1
  9. package/components/Avatar/Avatar.js +1 -1
  10. package/components/Avatar/Avatar.js.map +1 -1
  11. package/components/Badge/Badge.js +1 -1
  12. package/components/Badge/Badge.js.map +1 -1
  13. package/components/Button/Button.js +1 -1
  14. package/components/Button/Button.js.map +1 -1
  15. package/components/Checkbox/Checkbox.js +1 -1
  16. package/components/Checkbox/Checkbox.js.map +1 -1
  17. package/components/Checkbox/Group.js +1 -1
  18. package/components/Checkbox/Group.js.map +1 -1
  19. package/components/Checkbox/style.js +1 -1
  20. package/components/Checkbox/style.js.map +1 -1
  21. package/components/Container/Container.js +1 -1
  22. package/components/Container/Container.js.map +1 -1
  23. package/components/Container/style.js +1 -1
  24. package/components/Container/style.js.map +1 -1
  25. package/components/ContextMenu/ContextMenu.js +1 -1
  26. package/components/ContextMenu/ContextMenu.js.map +1 -1
  27. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js +1 -1
  28. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js.map +1 -1
  29. package/components/Icon/Icon.js +1 -1
  30. package/components/Icon/Icon.js.map +1 -1
  31. package/components/Input/Input.js +1 -1
  32. package/components/Input/Input.js.map +1 -1
  33. package/components/Input.Phone/Input.Phone.js +1 -1
  34. package/components/Input.Phone/Input.Phone.js.map +1 -1
  35. package/components/Modal/Modal.js +1 -1
  36. package/components/Modal/Modal.js.map +1 -1
  37. package/components/Modal/adapter.js +1 -1
  38. package/components/Modal/adapter.js.map +1 -1
  39. package/components/Paper/Paper.js +1 -1
  40. package/components/Paper/Paper.js.map +1 -1
  41. package/components/Radio/Group.js +1 -1
  42. package/components/Radio/Group.js.map +1 -1
  43. package/components/Radio/Radio.js +1 -1
  44. package/components/Radio/Radio.js.map +1 -1
  45. package/components/Radio/style.js +1 -1
  46. package/components/Radio/style.js.map +1 -1
  47. package/components/Scrollable/Scrollable.js +1 -1
  48. package/components/Scrollable/Scrollable.js.map +1 -1
  49. package/components/Section/Section.js +1 -1
  50. package/components/Section/Section.js.map +1 -1
  51. package/components/Select/Select.js +1 -1
  52. package/components/Select/Select.js.map +1 -1
  53. package/components/Separator/Separator.js +1 -1
  54. package/components/Separator/Separator.js.map +1 -1
  55. package/components/Separator/SeparatorText.js +1 -1
  56. package/components/Separator/SeparatorText.js.map +1 -1
  57. package/components/Spacer/Spacer.js +1 -1
  58. package/components/Spacer/Spacer.js.map +1 -1
  59. package/components/Spinner/Spinner.js +1 -1
  60. package/components/Spinner/Spinner.js.map +1 -1
  61. package/components/Switcher/Switcher.js +1 -1
  62. package/components/Switcher/Switcher.js.map +1 -1
  63. package/components/Tabs/Tab.js +1 -1
  64. package/components/Tabs/Tab.js.map +1 -1
  65. package/components/Tag/Tag.js +1 -1
  66. package/components/Tag/Tag.js.map +1 -1
  67. package/components/Text/Text.js +1 -1
  68. package/components/Text/Text.js.map +1 -1
  69. package/components/Text.Ellipse/Text.Ellipse.js +1 -1
  70. package/components/Text.Ellipse/Text.Ellipse.js.map +1 -1
  71. package/components/Text.Heading/Text.Heading.js +1 -1
  72. package/components/Text.Heading/Text.Heading.js.map +1 -1
  73. package/components/Textarea/Textarea.js +1 -1
  74. package/components/Textarea/Textarea.js.map +1 -1
  75. package/components/Tooltip/Tooltip.js +1 -1
  76. package/components/Tooltip/Tooltip.js.map +1 -1
  77. package/components/Tooltip/tooltip-styles.js +1 -1
  78. package/components/Tooltip/tooltip-styles.js.map +1 -1
  79. package/dts/index.d.ts +4 -3
  80. package/index.cjs.js +1 -1
  81. package/index.cjs.js.map +1 -1
  82. package/mixins/shared.js +1 -1
  83. package/mixins/shared.js.map +1 -1
  84. package/package.json +6 -4
  85. package/theme/index.js +1 -1
  86. package/theme/index.js.map +1 -1
@@ -1,2 +1,2 @@
1
- import{Icon as s}from'../Icon/Icon.js';import'../Icon/icons.js';import{Root as o}from'./style.js';import{jsxs as i,jsx as n}from'react/jsx-runtime';function t(t){var{icon:a,disabled:c=!1,onClick:e,children:r,className:l,active:m,style:d}=t;return i(o,{className:l,style:d,disabled:c,active:m,onClick:e,children:[a&&n(s,{size:16,name:a}),r]})}t.displayName='ActionBtn';export{t as ActionBtn};
1
+ import{useClassname as s}from'../../hooks/useClassname.js';import{Icon as a}from'../Icon/Icon.js';import'../Icon/icons.js';import{Root as o}from'./style.js';import{jsxs as e,jsx as i}from'react/jsx-runtime';function n(t){var{icon:c,disabled:r=!1,onClick:m,children:l,className:d,active:p,style:j}=t;var f=s(n.displayName,d);return e(o,{className:f,style:j,disabled:r,active:p,onClick:m,children:[c&&i(a,{size:16,name:c}),l]})}n.displayName='ActionBtn';export{n as ActionBtn};
2
2
  //# sourceMappingURL=ActionBtn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBtn.js","sources":["../../../../src/components/ActionBtn/ActionBtn.tsx"],"sourcesContent":["import { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Icon, IconNames } from './../Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, Display {\n /** Icon name (for inner Icon component) */\n icon?: keyof typeof IconNames\n disabled?: boolean\n active?: boolean\n onClick?(): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nActionBtn.displayName = 'ActionBtn'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function ActionBtn({ icon, disabled = false, onClick, children, className, active, style }: ActionBtnProps) {\n return (\n <Styled.Root className={className} style={style} disabled={disabled} active={active} onClick={onClick}>\n {icon && <Icon size={16} name={icon} />}\n {children}\n </Styled.Root>\n )\n}\n"],"names":["ActionBtn","_ref","icon","disabled","onClick","children","className","active","style","_jsxs","Styled.Root","_jsx","Icon","size","name","displayName"],"mappings":"oJAwBO,SAASA,EAAmGC,GAAA,IAAzFC,KAAEA,EAAFC,SAAQA,GAAAA,EAARC,QAA0BA,EAA1BC,SAAmCA,EAAnCC,UAA6CA,EAA7CC,OAAwDA,EAAxDC,MAAgEA,GAAyBP,EACjH,OACEQ,EAACC,EAAD,CAAaJ,UAAWA,EAAWE,MAAOA,EAAOL,SAAUA,EAAUI,OAAQA,EAAQH,QAASA,EAA9FC,SACGH,CAAAA,GAAQS,EAACC,EAAD,CAAMC,KAAM,GAAIC,KAAMZ,IAC9BG,KAXPL,EAAUe,YAAc"}
1
+ {"version":3,"file":"ActionBtn.js","sources":["../../../../src/components/ActionBtn/ActionBtn.tsx"],"sourcesContent":["import { useClassname } from 'hooks/useClassname'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Icon, IconNames } from './../Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, Display {\n /** Icon name (for inner Icon component) */\n icon?: keyof typeof IconNames\n disabled?: boolean\n active?: boolean\n onClick?(): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nActionBtn.displayName = 'ActionBtn'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function ActionBtn({ icon, disabled = false, onClick, children, className, active, style }: ActionBtnProps) {\n const _className = useClassname(ActionBtn.displayName, className)\n\n return (\n <Styled.Root className={_className} style={style} disabled={disabled} active={active} onClick={onClick}>\n {icon && <Icon size={16} name={icon} />}\n {children}\n </Styled.Root>\n )\n}\n"],"names":["ActionBtn","_ref","icon","disabled","onClick","children","className","active","style","_className","useClassname","displayName","_jsxs","Styled.Root","_jsx","Icon","size","name"],"mappings":"+MAyBO,SAASA,EAAmGC,GAAA,IAAzFC,KAAEA,EAAFC,SAAQA,GAAW,EAAnBC,QAA0BA,EAA1BC,SAAmCA,EAAnCC,UAA6CA,EAA7CC,OAAwDA,EAAxDC,MAAgEA,GAAyBP,EACjH,IAAMQ,EAAaC,EAAaV,EAAUW,YAAaL,GAEvD,OACEM,EAACC,EAAD,CAAaP,UAAWG,EAAYD,MAAOA,EAAOL,SAAUA,EAAUI,OAAQA,EAAQH,QAASA,EAA/FC,SACGH,CAAAA,GAAQY,EAACC,EAAD,CAAMC,KAAM,GAAIC,KAAMf,IAC9BG,KAbPL,EAAUW,YAAc"}
@@ -1,2 +1,2 @@
1
- import r from'@babel/runtime/helpers/esm/objectSpread2';import e from'@babel/runtime/helpers/esm/objectWithoutProperties';import{PureComponent as t}from'react';import a from'clsx';import{Text as s}from'../Text/Text.js';import{CURRENCY_MAP as n}from'./data/index.js';import{Root as o}from'./style.js';import{jsxs as i,jsx as c,Fragment as l}from'react/jsx-runtime';var m=["value","digitsAfterPoint","currency","isHeader","className","style","crossedOut","onlyCurrency"];var u=/^0+$/;function d(r){var e=t=>{var{length:a}=t;if(a<=r)return[t];var s=a-r;return[t.slice(s,a)].concat(e(t.slice(0,s)))};return e}class p extends t{constructor(){super(...arguments),this.renderCurrencySymbol=r=>i("span",{style:{position:'relative'},children:['RUR'===this.props.currency?c("span",{style:{position:'absolute',width:0,opacity:0,visibility:'hidden'},children:"руб."}):null,c("span",{children:" ".concat(r)})]})}static getCurrencySymbol(r){return n[r]||r}renderMinorPart(r){var{showZeroMinorPart:e,separator:t}=this.props;var a=!1;return r&&(a=!0,!e&&u.test(r)&&(a=!1)),a?i("span",{className:"minor-container",children:[c("span",{className:"separator",children:t}),c("span",{className:"minor",children:r})]}):null}render(){var t=this.props,{value:n,digitsAfterPoint:u,currency:v,isHeader:y,className:h,style:b,crossedOut:f,onlyCurrency:P}=t,g=e(t,m);var{majorPart:j,minorPart:x,isNegative:N,currencySymbol:C}=function(r,e,t){var a=arguments.length>0&&void 0!==r?r:0;var s=arguments.length>1?e:void 0;var n=arguments.length>2?t:void 0;var o=a<0;var i=Math.abs(a).toFixed(s).split('.');var c=i[0];var l=i[1];var m=d(3)(c).reverse().join(' ');var u=m+(l?",".concat(l):'');return{majorPart:m,minorPart:l,value:u,isNegative:o,currencySymbol:n?p.getCurrencySymbol(n):''}}(n,u,v);var S=a('amount',h);var A=i(o,{className:S,style:b,crossedOut:f,children:[P?null:i(l,{children:[i("span",{className:"major",children:[N&&"−",j]}),this.renderMinorPart(x)]}),v&&this.renderCurrencySymbol(C)]});return c(y?s.Heading:s,r(r({},g),{},{as:"span",children:A}))}}p.displayName='Amount',p.defaultProps={isHeader:!1,showZeroMinorPart:!1,crossedOut:!1,digitsAfterPoint:2,separator:',',onlyCurrency:!1};export{p as Amount};
1
+ import r from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{PureComponent as t}from'react';import a from'clsx';import{Text as s}from'../Text/Text.js';import{CURRENCY_MAP as n}from'./data/index.js';import{Root as o}from'./style.js';import{jsxs as i,jsx as c,Fragment as l}from'react/jsx-runtime';var m=["value","digitsAfterPoint","currency","isHeader","className","style","crossedOut","onlyCurrency"];var u=/^0+$/;function d(r){var e=t=>{var{length:a}=t;if(a<=r)return[t];var s=a-r;return[t.slice(s,a)].concat(e(t.slice(0,s)))};return e}class p extends t{constructor(){super(...arguments),this.renderCurrencySymbol=r=>i("span",{style:{position:'relative'},children:['RUR'===this.props.currency?c("span",{style:{position:'absolute',width:0,opacity:0,visibility:'hidden'},children:"руб."}):null,c("span",{children:" ".concat(r)})]})}static getCurrencySymbol(r){return n[r]||r}renderMinorPart(r){var{showZeroMinorPart:e,separator:t}=this.props;var a=!1;return r&&(a=!0,!e&&u.test(r)&&(a=!1)),a?i("span",{className:"minor-container",children:[c("span",{className:"separator",children:t}),c("span",{className:"minor",children:r})]}):null}render(){var t=this.props,{value:n,digitsAfterPoint:u,currency:v,isHeader:y,className:h,style:b,crossedOut:f,onlyCurrency:P}=t,g=e(t,m);var{majorPart:j,minorPart:x,isNegative:N,currencySymbol:C}=function(r,e,t){var a=arguments.length>0&&void 0!==r?r:0;var s=arguments.length>1?e:void 0;var n=arguments.length>2?t:void 0;var o=a<0;var i=Math.abs(a).toFixed(s).split('.');var c=i[0];var l=i[1];var m=d(3)(c).reverse().join(' ');var u=m+(l?",".concat(l):'');return{majorPart:m,minorPart:l,value:u,isNegative:o,currencySymbol:n?p.getCurrencySymbol(n):''}}(n,u,v);var S=a('amount',h);var A=i(o,{className:S,style:b,crossedOut:f,children:[P?null:i(l,{children:[i("span",{className:"major",children:[N&&"−",j]}),this.renderMinorPart(x)]}),v&&this.renderCurrencySymbol(C)]});return c(y?s.Heading:s,r(r({},g),{},{as:"span",children:A}))}}p.displayName='Amount',p.defaultProps={isHeader:!1,showZeroMinorPart:!1,crossedOut:!1,digitsAfterPoint:2,separator:',',onlyCurrency:!1};export{p as Amount};
2
2
  //# sourceMappingURL=Amount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Amount.js","sources":["../../../../src/components/Amount/Amount.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport cx from 'clsx'\nimport { Color } from '../../mixins/color'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text/Text'\nimport { Display } from '../../mixins/display'\nimport { CurrencyCodes, CURRENCY_MAP } from './data'\nimport * as Styled from './style'\n\nexport interface AmountProps extends BaseProps, Color, ResponsiveProperty<'size'>, Display {\n /**\n * Value for amount\n */\n value?: number\n /**\n * Digits after point\n */\n digitsAfterPoint?: number\n /**\n * Show zero minor part\n */\n showZeroMinorPart?: boolean\n /**\n * Separator of major and minor part of amount\n */\n separator?: string\n /**\n * International code of currency.\n */\n currency?: keyof typeof CurrencyCodes\n /**\n * Use Header component for display amount\n */\n isHeader?: boolean\n /**\n * Amount is not valid and will be crossed out with ```text-decoration: line-through```\n */\n crossedOut?: boolean\n /**\n * If need only currency symbol\n */\n onlyCurrency?: boolean\n}\n\nconst AMOUNT_MAJOR_PART_SIZE = 3\nconst ZERO_MINOR_PART_REGEXP = /^0+$/\nconst MINUS_SIGN_HTML_CODE = '\\u2212'\n\nfunction createSplitter(partSize: number): (_s: string) => string[] {\n const parts = (str: string): string[] => {\n const { length } = str\n\n if (length <= partSize) {\n return [str]\n }\n\n const from = length - partSize\n const to = length\n\n return [str.slice(from, to)].concat(parts(str.slice(0, from)))\n }\n\n return parts\n}\n\nfunction formatAmount(\n value: AmountProps['value'] = 0,\n digitsAfterPoint: AmountProps['digitsAfterPoint'],\n currencyCode: AmountProps['currency']\n) {\n const isNegative = value < 0\n\n const valueAbs = Math.abs(value)\n const valueAbsStr = valueAbs.toFixed(digitsAfterPoint)\n\n const numberParts = valueAbsStr.split('.')\n const majorPart = numberParts[0]\n const minorPart = numberParts[1]\n\n const amountSplitter = createSplitter(AMOUNT_MAJOR_PART_SIZE)\n\n const majorPartFormatted = amountSplitter(majorPart).reverse().join(' ')\n\n const formattedValueStr = majorPartFormatted + (minorPart ? `,${minorPart}` : '')\n\n return {\n majorPart: majorPartFormatted,\n minorPart,\n value: formattedValueStr,\n isNegative,\n currencySymbol: currencyCode ? Amount.getCurrencySymbol(currencyCode) : '',\n }\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveProperty<'size'>`](#/Миксины)\n */\nexport class Amount extends PureComponent<AmountProps> {\n static displayName = 'Amount'\n static defaultProps = {\n isHeader: false,\n showZeroMinorPart: false,\n crossedOut: false,\n digitsAfterPoint: 2,\n separator: ',',\n onlyCurrency: false,\n }\n\n static getCurrencySymbol(currencyCode: keyof typeof CurrencyCodes) {\n return CURRENCY_MAP[currencyCode] || currencyCode\n }\n\n renderMinorPart(minorPart: string) {\n const { showZeroMinorPart, separator } = this.props\n\n let needMinorPart = false\n\n if (minorPart) {\n needMinorPart = true\n\n if (!showZeroMinorPart && ZERO_MINOR_PART_REGEXP.test(minorPart)) {\n needMinorPart = false\n }\n }\n\n if (needMinorPart) {\n return (\n <span className='minor-container'>\n <span className='separator'>{separator}</span>\n <span className='minor'>{minorPart}</span>\n </span>\n )\n }\n\n return null\n }\n\n renderCurrencySymbol = (currencySymbol: string) => (\n <span style={{ position: 'relative' }}>\n {this.props.currency === 'RUR' ? (\n <span\n style={{\n position: 'absolute',\n width: 0,\n opacity: 0,\n visibility: 'hidden',\n }}\n >\n руб.\n </span>\n ) : null}\n <span>{` ${currencySymbol}`}</span>\n </span>\n )\n\n render() {\n const { value, digitsAfterPoint, currency, isHeader, className, style, crossedOut, onlyCurrency, ...rest } =\n this.props\n\n const { majorPart, minorPart, isNegative, currencySymbol } = formatAmount(value, digitsAfterPoint, currency)\n\n const classNames = cx('amount', className)\n\n const amountInner = (\n <Styled.Root className={classNames} style={style} crossedOut={crossedOut}>\n {!onlyCurrency ? (\n <>\n <span className='major'>\n {isNegative && MINUS_SIGN_HTML_CODE}\n {majorPart}\n </span>\n {this.renderMinorPart(minorPart)}\n </>\n ) : null}\n {currency && this.renderCurrencySymbol(currencySymbol)}\n </Styled.Root>\n )\n\n const Element = isHeader ? Text.Heading : Text\n\n return (\n <Element {...rest} as='span'>\n {amountInner}\n </Element>\n )\n }\n}\n"],"names":["ZERO_MINOR_PART_REGEXP","createSplitter","partSize","parts","str","length","from","slice","concat","Amount","PureComponent","constructor","super","arguments","this","renderCurrencySymbol","currencySymbol","_jsxs","style","position","children","props","currency","_jsx","width","opacity","visibility","static","currencyCode","CURRENCY_MAP","renderMinorPart","minorPart","showZeroMinorPart","separator","needMinorPart","test","className","render","_this$props","value","digitsAfterPoint","isHeader","crossedOut","onlyCurrency","rest","_objectWithoutProperties","_excluded","majorPart","isNegative","r","e","t","undefined","numberParts","Math","abs","toFixed","split","majorPartFormatted","reverse","join","formattedValueStr","getCurrencySymbol","classNames","cx","amountInner","Styled.Root","_Fragment","Text","Heading","_objectSpread","as","displayName","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Amount.js","sources":["../../../../src/components/Amount/Amount.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport cx from 'clsx'\nimport { Color } from '../../mixins/color'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text/Text'\nimport { Display } from '../../mixins/display'\nimport { CurrencyCodes, CURRENCY_MAP } from './data'\nimport * as Styled from './style'\n\nexport interface AmountProps extends BaseProps, Color, ResponsiveProperty<'size'>, Display {\n /**\n * Value for amount\n */\n value?: number\n /**\n * Digits after point\n */\n digitsAfterPoint?: number\n /**\n * Show zero minor part\n */\n showZeroMinorPart?: boolean\n /**\n * Separator of major and minor part of amount\n */\n separator?: string\n /**\n * International code of currency.\n */\n currency?: keyof typeof CurrencyCodes\n /**\n * Use Header component for display amount\n */\n isHeader?: boolean\n /**\n * Amount is not valid and will be crossed out with ```text-decoration: line-through```\n */\n crossedOut?: boolean\n /**\n * If need only currency symbol\n */\n onlyCurrency?: boolean\n}\n\nconst AMOUNT_MAJOR_PART_SIZE = 3\nconst ZERO_MINOR_PART_REGEXP = /^0+$/\nconst MINUS_SIGN_HTML_CODE = '\\u2212'\n\nfunction createSplitter(partSize: number): (_s: string) => string[] {\n const parts = (str: string): string[] => {\n const { length } = str\n\n if (length <= partSize) {\n return [str]\n }\n\n const from = length - partSize\n const to = length\n\n return [str.slice(from, to)].concat(parts(str.slice(0, from)))\n }\n\n return parts\n}\n\nfunction formatAmount(\n value: AmountProps['value'] = 0,\n digitsAfterPoint: AmountProps['digitsAfterPoint'],\n currencyCode: AmountProps['currency']\n) {\n const isNegative = value < 0\n\n const valueAbs = Math.abs(value)\n const valueAbsStr = valueAbs.toFixed(digitsAfterPoint)\n\n const numberParts = valueAbsStr.split('.')\n const majorPart = numberParts[0]\n const minorPart = numberParts[1]\n\n const amountSplitter = createSplitter(AMOUNT_MAJOR_PART_SIZE)\n\n const majorPartFormatted = amountSplitter(majorPart).reverse().join(' ')\n\n const formattedValueStr = majorPartFormatted + (minorPart ? `,${minorPart}` : '')\n\n return {\n majorPart: majorPartFormatted,\n minorPart,\n value: formattedValueStr,\n isNegative,\n currencySymbol: currencyCode ? Amount.getCurrencySymbol(currencyCode) : '',\n }\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveProperty<'size'>`](#/Миксины)\n */\nexport class Amount extends PureComponent<AmountProps> {\n static displayName = 'Amount'\n static defaultProps = {\n isHeader: false,\n showZeroMinorPart: false,\n crossedOut: false,\n digitsAfterPoint: 2,\n separator: ',',\n onlyCurrency: false,\n }\n\n static getCurrencySymbol(currencyCode: keyof typeof CurrencyCodes) {\n return CURRENCY_MAP[currencyCode] || currencyCode\n }\n\n renderMinorPart(minorPart: string) {\n const { showZeroMinorPart, separator } = this.props\n\n let needMinorPart = false\n\n if (minorPart) {\n needMinorPart = true\n\n if (!showZeroMinorPart && ZERO_MINOR_PART_REGEXP.test(minorPart)) {\n needMinorPart = false\n }\n }\n\n if (needMinorPart) {\n return (\n <span className='minor-container'>\n <span className='separator'>{separator}</span>\n <span className='minor'>{minorPart}</span>\n </span>\n )\n }\n\n return null\n }\n\n renderCurrencySymbol = (currencySymbol: string) => (\n <span style={{ position: 'relative' }}>\n {this.props.currency === 'RUR' ? (\n <span\n style={{\n position: 'absolute',\n width: 0,\n opacity: 0,\n visibility: 'hidden',\n }}\n >\n руб.\n </span>\n ) : null}\n <span>{` ${currencySymbol}`}</span>\n </span>\n )\n\n render() {\n const { value, digitsAfterPoint, currency, isHeader, className, style, crossedOut, onlyCurrency, ...rest } =\n this.props\n\n const { majorPart, minorPart, isNegative, currencySymbol } = formatAmount(value, digitsAfterPoint, currency)\n\n const classNames = cx('amount', className)\n\n const amountInner = (\n <Styled.Root className={classNames} style={style} crossedOut={crossedOut}>\n {!onlyCurrency ? (\n <>\n <span className='major'>\n {isNegative && MINUS_SIGN_HTML_CODE}\n {majorPart}\n </span>\n {this.renderMinorPart(minorPart)}\n </>\n ) : null}\n {currency && this.renderCurrencySymbol(currencySymbol)}\n </Styled.Root>\n )\n\n const Element = isHeader ? Text.Heading : Text\n\n return (\n <Element {...rest} as='span'>\n {amountInner}\n </Element>\n )\n }\n}\n"],"names":["ZERO_MINOR_PART_REGEXP","createSplitter","partSize","parts","str","length","from","slice","concat","Amount","PureComponent","constructor","super","arguments","this","renderCurrencySymbol","currencySymbol","_jsxs","style","position","children","props","currency","_jsx","width","opacity","visibility","static","currencyCode","CURRENCY_MAP","renderMinorPart","minorPart","showZeroMinorPart","separator","needMinorPart","test","className","render","_this$props","value","digitsAfterPoint","isHeader","crossedOut","onlyCurrency","rest","_objectWithoutProperties","_excluded","majorPart","isNegative","r","e","t","undefined","numberParts","Math","abs","toFixed","split","majorPartFormatted","reverse","join","formattedValueStr","getCurrencySymbol","classNames","cx","amountInner","Styled.Root","_Fragment","Text","Heading","_objectSpread","as","displayName","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e from'@babel/runtime/helpers/esm/objectSpread2';import s from'@babel/runtime/helpers/esm/objectWithoutProperties';import{Link as i}from'react-router-dom';import{Root as r}from'./style.js';import{jsx as a}from'react/jsx-runtime';var o=["as","to","href","wrapper","className","style","children","content","pseudo","underline","color","display","size","sizeXS","sizeS","sizeM","sizeL","sizeXL"];function l(l){var{as:p,to:z,href:t,wrapper:n,className:d,style:c,children:m,content:u,pseudo:h,underline:L,color:S,display:y,size:f,sizeXS:X,sizeS:b,sizeM:M,sizeL:N,sizeXL:v}=l,w=s(l,o);var j;j='div'!==p||y?y:'block';var k={};return u&&(k=e(e({},k),{},{dangerouslySetInnerHTML:{__html:u}})),a(r,e(p?e(e({as:p,pseudo:h,wrapper:n,underline:L,href:t,className:d,style:c,color:S,size:f,display:j,sizeXS:X,sizeS:b,sizeM:M,sizeL:N,sizeXL:v},w),k):h?e(e({as:"div",pseudo:h,wrapper:n,underline:L,href:t,className:d,color:S,size:f,display:j,sizeXS:X,sizeS:b,sizeM:M,sizeL:N,sizeXL:v},w),k):z?e(e({as:i,to:z,pseudo:h,wrapper:n,underline:L,className:d,color:S,size:f,display:j,sizeXS:X,sizeS:b,sizeM:M,sizeL:N,sizeXL:v},w),k):e(e({as:"a",href:t,pseudo:h,wrapper:n,underline:L,className:d,color:S,size:f,display:j,sizeXS:X,sizeS:b,sizeM:M,sizeL:N,sizeXL:v},k),w),{},{children:m}))}l.displayName='Anchor',l.defaultProps={display:'inline-block'};export{l as Anchor};
1
+ import e from'@babel/runtime/helpers/objectSpread2';import s from'@babel/runtime/helpers/objectWithoutProperties';import{Link as i}from'react-router-dom';import{useClassname as r}from'../../hooks/useClassname.js';import{Root as a}from'./style.js';import{jsx as o}from'react/jsx-runtime';var l=["as","to","href","wrapper","className","style","children","content","pseudo","underline","color","display","size","sizeXS","sizeS","sizeM","sizeL","sizeXL"];function p(z){var{as:n,to:t,href:d,wrapper:m,className:c,style:u,children:h,content:y,pseudo:L,underline:S,color:f,display:X,size:b,sizeXS:N,sizeS:v,sizeM:M,sizeL:j,sizeXL:w}=z,k=s(z,l);var x=r(p.displayName,c);var A;A='div'!==n||X?X:'block';var C={};return y&&(C=e(e({},C),{},{dangerouslySetInnerHTML:{__html:y}})),o(a,e(n?e(e({as:n,pseudo:L,wrapper:m,underline:S,href:d,className:x,style:u,color:f,size:b,display:A,sizeXS:N,sizeS:v,sizeM:M,sizeL:j,sizeXL:w},k),C):L?e(e({as:"div",pseudo:L,wrapper:m,underline:S,href:d,className:x,color:f,size:b,display:A,sizeXS:N,sizeS:v,sizeM:M,sizeL:j,sizeXL:w},k),C):t?e(e({as:i,to:t,pseudo:L,wrapper:m,underline:S,className:x,color:f,size:b,display:A,sizeXS:N,sizeS:v,sizeM:M,sizeL:j,sizeXL:w},k),C):e(e({as:"a",href:d,pseudo:L,wrapper:m,underline:S,className:x,color:f,size:b,display:A,sizeXS:N,sizeS:v,sizeM:M,sizeL:j,sizeXL:w},C),k),{},{children:h}))}p.displayName='Anchor',p.defaultProps={display:'inline-block'};export{p as Anchor};
2
2
  //# sourceMappingURL=Anchor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Anchor.js","sources":["../../../../src/components/Anchor/Anchor.tsx"],"sourcesContent":["import { Link } from 'react-router-dom'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport * as Styled from './style'\n\nexport interface AnchorProps extends BaseProps, Color, ResponsiveProperty<'size'>, Display {\n /**\n * Custom CSS class name\n */\n as?: 'div' | 'span' | 'a' | typeof Link\n /**\n * React router link to\n */\n to?: string\n /**\n * Link href\n */\n href?: string\n /**\n * Is display inline\n * */\n wrapper?: boolean\n /**\n * Pseudo link has dashed bottom border\n * */\n pseudo?: boolean\n /**\n * If link should be underlined\n * */\n underline?: boolean\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Primary content\n */\n content?: string\n /**\n * Onclick handler\n */\n onClick?: () => void\n target?: string\n rel?: string\n}\n\nAnchor.displayName = 'Anchor'\nAnchor.defaultProps = {\n display: 'inline-block',\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveProperty<'size'>`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Anchor(props: typeof Anchor.defaultProps & AnchorProps) {\n const {\n as,\n to,\n href,\n wrapper,\n className,\n style,\n children,\n content,\n pseudo,\n underline,\n color,\n display,\n size,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n ...rest\n } = props\n\n let _display: Display['display']\n\n if (as === 'div' && !display) _display = 'block'\n else _display = display\n\n let contentProps = {}\n\n if (content) {\n contentProps = {\n ...contentProps,\n dangerouslySetInnerHTML: { __html: content },\n }\n }\n\n if (as)\n return (\n <Styled.Root\n as={as}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={className}\n style={style}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n\n if (pseudo)\n return (\n <Styled.Root\n as='div'\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n else if (to)\n return (\n <Styled.Root\n as={Link}\n to={to}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n else\n return (\n <Styled.Root\n as='a'\n href={href}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...contentProps}\n {...rest}\n >\n {children}\n </Styled.Root>\n )\n}\n"],"names":["Anchor","props","as","to","href","wrapper","className","style","children","content","pseudo","underline","color","display","size","sizeXS","sizeS","sizeM","sizeL","sizeXL","rest","_excluded","_display","contentProps","dangerouslySetInnerHTML","__html","_jsx","Styled.Root","_objectSpread","Link","displayName","defaultProps"],"mappings":"gZA+DO,SAASA,EAAOC,GACrB,IAAMC,GACJA,EADIC,GAEJA,EAFIC,KAGJA,EAHIC,QAIJA,EAJIC,UAKJA,EALIC,MAMJA,EANIC,SAOJA,EAPIC,QAQJA,EARIC,OASJA,EATIC,UAUJA,EAVIC,MAWJA,EAXIC,QAYJA,EAZIC,KAaJA,EAbIC,OAcJA,EAdIC,MAeJA,EAfIC,MAgBJA,EAhBIC,MAiBJA,EAjBIC,OAkBJA,GAEElB,EADCmB,IACDnB,EApBJoB,GAsBA,IAAIC,EAGCA,EADM,QAAPpB,GAAiBW,EACLA,EADyB,QAGzC,IAAIU,EAAe,GASnB,OAPId,IACFc,SACKA,GADO,GAAA,CAEVC,wBAAyB,CAAEC,OAAQhB,MAMnCiB,EAACC,EAADC,EAFA1B,EAEA0B,EAAAA,EAAA,CACE1B,GAAIA,EACJQ,OAAQA,EACRL,QAASA,EACTM,UAAWA,EACXP,KAAMA,EACNE,UAAWA,EACXC,MAAOA,EACPK,MAAOA,EACPE,KAAMA,EACND,QAASS,EACTP,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJC,GACAG,GAMNb,EAEAkB,EAAAA,EAAA,CACE1B,GAAG,MACHQ,OAAQA,EACRL,QAASA,EACTM,UAAWA,EACXP,KAAMA,EACNE,UAAWA,EACXM,MAAOA,EACPE,KAAMA,EACND,QAASS,EACTP,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJC,GACAG,GAKDpB,EAELyB,EAAAA,EAAA,CACE1B,GAAI2B,EACJ1B,GAAIA,EACJO,OAAQA,EACRL,QAASA,EACTM,UAAWA,EACXL,UAAWA,EACXM,MAAOA,EACPE,KAAMA,EACND,QAASS,EACTP,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJC,GACAG,GAONK,EAAAA,EAAA,CACE1B,GAAG,IACHE,KAAMA,EACNM,OAAQA,EACRL,QAASA,EACTM,UAAWA,EACXL,UAAWA,EACXM,MAAOA,EACPE,KAAMA,EACND,QAASS,EACTP,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJI,GACAH,GAvFN,GAAA,CAAAZ,SAmBGA,KAtETR,EAAO8B,YAAc,SACrB9B,EAAO+B,aAAe,CACpBlB,QAAS"}
1
+ {"version":3,"file":"Anchor.js","sources":["../../../../src/components/Anchor/Anchor.tsx"],"sourcesContent":["import { Link } from 'react-router-dom'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport * as Styled from './style'\n\nexport interface AnchorProps extends BaseProps, Color, ResponsiveProperty<'size'>, Display {\n /**\n * Custom CSS class name\n */\n as?: 'div' | 'span' | 'a' | typeof Link\n /**\n * React router link to\n */\n to?: string\n /**\n * Link href\n */\n href?: string\n /**\n * Is display inline\n * */\n wrapper?: boolean\n /**\n * Pseudo link has dashed bottom border\n * */\n pseudo?: boolean\n /**\n * If link should be underlined\n * */\n underline?: boolean\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Primary content\n */\n content?: string\n /**\n * Onclick handler\n */\n onClick?: () => void\n target?: string\n rel?: string\n}\n\nAnchor.displayName = 'Anchor'\nAnchor.defaultProps = {\n display: 'inline-block',\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveProperty<'size'>`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Anchor(props: typeof Anchor.defaultProps & AnchorProps) {\n const {\n as,\n to,\n href,\n wrapper,\n className,\n style,\n children,\n content,\n pseudo,\n underline,\n color,\n display,\n size,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n ...rest\n } = props\n\n const _className = useClassname(Anchor.displayName, className)\n\n let _display: Display['display']\n\n if (as === 'div' && !display) _display = 'block'\n else _display = display\n\n let contentProps = {}\n\n if (content) {\n contentProps = {\n ...contentProps,\n dangerouslySetInnerHTML: { __html: content },\n }\n }\n\n if (as)\n return (\n <Styled.Root\n as={as}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={_className}\n style={style}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n\n if (pseudo)\n return (\n <Styled.Root\n as='div'\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={_className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n else if (to)\n return (\n <Styled.Root\n as={Link}\n to={to}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={_className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n else\n return (\n <Styled.Root\n as='a'\n href={href}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={_className}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...contentProps}\n {...rest}\n >\n {children}\n </Styled.Root>\n )\n}\n"],"names":["Anchor","props","as","to","href","wrapper","className","style","children","content","pseudo","underline","color","display","size","sizeXS","sizeS","sizeM","sizeL","sizeXL","rest","_excluded","_className","useClassname","displayName","_display","contentProps","dangerouslySetInnerHTML","__html","_jsx","Styled.Root","_objectSpread","Link","defaultProps"],"mappings":"mcAgEO,SAASA,EAAOC,GACrB,IAAMC,GACJA,EADIC,GAEJA,EAFIC,KAGJA,EAHIC,QAIJA,EAJIC,UAKJA,EALIC,MAMJA,EANIC,SAOJA,EAPIC,QAQJA,EARIC,OASJA,EATIC,UAUJA,EAVIC,MAWJA,EAXIC,QAYJA,EAZIC,KAaJA,EAbIC,OAcJA,EAdIC,MAeJA,EAfIC,MAgBJA,EAhBIC,MAiBJA,EAjBIC,OAkBJA,GAEElB,EADCmB,IACDnB,EApBJoB,GAsBA,IAAMC,EAAaC,EAAavB,EAAOwB,YAAalB,GAEpD,IAAImB,EAGCA,EADM,QAAPvB,GAAiBW,EACLA,EADyB,QAGzC,IAAIa,EAAe,GASnB,OAPIjB,IACFiB,SACKA,GADO,GAAA,CAEVC,wBAAyB,CAAEC,OAAQnB,MAMnCoB,EAACC,EAADC,EAFA7B,EAEA6B,EAAAA,EAAA,CACE7B,GAAIA,EACJQ,OAAQA,EACRL,QAASA,EACTM,UAAWA,EACXP,KAAMA,EACNE,UAAWgB,EACXf,MAAOA,EACPK,MAAOA,EACPE,KAAMA,EACND,QAASY,EACTV,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJC,GACAM,GAMNhB,EAEAqB,EAAAA,EAAA,CACE7B,GAAG,MACHQ,OAAQA,EACRL,QAASA,EACTM,UAAWA,EACXP,KAAMA,EACNE,UAAWgB,EACXV,MAAOA,EACPE,KAAMA,EACND,QAASY,EACTV,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJC,GACAM,GAKDvB,EAEL4B,EAAAA,EAAA,CACE7B,GAAI8B,EACJ7B,GAAIA,EACJO,OAAQA,EACRL,QAASA,EACTM,UAAWA,EACXL,UAAWgB,EACXV,MAAOA,EACPE,KAAMA,EACND,QAASY,EACTV,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJC,GACAM,GAONK,EAAAA,EAAA,CACE7B,GAAG,IACHE,KAAMA,EACNM,OAAQA,EACRL,QAASA,EACTM,UAAWA,EACXL,UAAWgB,EACXV,MAAOA,EACPE,KAAMA,EACND,QAASY,EACTV,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJO,GACAN,GAvFN,GAAA,CAAAZ,SAmBGA,KAxETR,EAAOwB,YAAc,SACrBxB,EAAOiC,aAAe,CACpBpB,QAAS"}
@@ -1,2 +1,2 @@
1
- import t from'@babel/runtime/helpers/esm/objectSpread2';import r from'@babel/runtime/helpers/esm/objectWithoutProperties';import{PureComponent as e}from'react';import o from'./images/arrow.module.svg.js';import{Root as s}from'./style.js';import{jsx as i}from'react/jsx-runtime';var a=["top","right","bottom","left","onClick"];var l={top:0,right:90,bottom:180,left:270};class n extends e{constructor(){super(...arguments),this.onClickHandler=t=>{t.preventDefault();var{disabled:r,onClick:e}=this.props;r||'function'!=typeof e||e(t)}}render(){var e=this.props,{top:n,right:p,bottom:m,left:c}=e,f=r(e,a);var d={top:n&&!m,right:p&&!c,bottom:m&&!n,left:c&&!p};var b=Object.values(d).filter((t=>!0===t)).length>1;var h=Object.keys(d).reduce(((t,r)=>d[r]?t+l[r]:t),0)/(b?2:1);var u={transform:"rotate(".concat(h,"deg)").concat(b?' translateY(-3px)':'')};return i(s,t(t({},f),{},{onClick:this.onClickHandler,children:i("span",{children:i(o,{style:u})})}))}}n.displayName='Arrow',n.defaultProps={size:'l',top:!1,right:!1,bottom:!1,left:!1,inverse:!1,outline:!1,disabled:!1,onClick:()=>{}};export{n as Arrow};
1
+ import t from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{PureComponent as e}from'react';import o from'./images/arrow.module.svg.js';import{Root as i}from'./style.js';import{jsx as s}from'react/jsx-runtime';var a=["top","right","bottom","left","onClick"];var l={top:0,right:90,bottom:180,left:270};class n extends e{constructor(){super(...arguments),this.onClickHandler=t=>{t.preventDefault();var{disabled:r,onClick:e}=this.props;r||'function'!=typeof e||e(t)}}render(){var e=this.props,{top:n,right:p,bottom:m,left:c}=e,f=r(e,a);var d={top:n&&!m,right:p&&!c,bottom:m&&!n,left:c&&!p};var b=Object.values(d).filter((t=>!0===t)).length>1;var h=Object.keys(d).reduce(((t,r)=>d[r]?t+l[r]:t),0)/(b?2:1);var u={transform:"rotate(".concat(h,"deg)").concat(b?' translateY(-3px)':'')};return s(i,t(t({},f),{},{onClick:this.onClickHandler,children:s("span",{children:s(o,{style:u})})}))}}n.displayName='Arrow',n.defaultProps={size:'l',top:!1,right:!1,bottom:!1,left:!1,inverse:!1,outline:!1,disabled:!1,onClick:()=>{}};export{n as Arrow};
2
2
  //# sourceMappingURL=Arrow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Arrow.js","sources":["../../../../src/components/Arrow/Arrow.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport ArrowSvg from './images/arrow.module.svg'\nimport * as Styled from './style'\n\nconst DIR_MAP = {\n top: 0,\n right: 90,\n bottom: 180,\n left: 270,\n}\n\nexport interface ArrowProps extends BaseProps {\n /**\n * Size of icon\n */\n size?: 'xs' | 'm' | 'l'\n /**\n * Direction arrow\n */\n top?: boolean\n /**\n * Direction arrow\n */\n right?: boolean\n /**\n * Direction arrow\n */\n bottom?: boolean\n /**\n * Direction arrow\n */\n left?: boolean\n inverse?: boolean\n outline?: boolean\n disabled?: boolean\n // eslint-disable-next-line no-unused-vars\n onClick?(event: React.MouseEvent<HTMLButtonElement>): void\n}\n\n/* eslint-disable react/prefer-stateless-function */\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class Arrow extends PureComponent<ArrowProps> {\n static displayName = 'Arrow'\n static defaultProps = {\n size: 'l',\n top: false,\n right: false,\n bottom: false,\n left: false,\n inverse: false,\n outline: false,\n disabled: false,\n onClick: () => undefined,\n }\n\n onClickHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n const { disabled, onClick } = this.props\n\n if (!disabled && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n render() {\n const {\n top,\n right,\n bottom,\n left,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onClick, // eslint-disable-line no-unused-vars\n ...restProps\n } = this.props\n\n const arrowDir = {\n top: top && !bottom,\n right: right && !left,\n bottom: bottom && !top,\n left: left && !right,\n }\n\n const isMultiDir = Object.values(arrowDir).filter((value) => value === true).length > 1\n\n const rotateDeg =\n Object.keys(arrowDir).reduce((acc, key) => (arrowDir[key] ? acc + DIR_MAP[key] : acc), 0) / (isMultiDir ? 2 : 1)\n\n const arrowStyle = {\n transform: `rotate(${rotateDeg}deg)${isMultiDir ? ' translateY(-3px)' : ''}`,\n }\n\n return (\n <Styled.Root {...restProps} onClick={this.onClickHandler}>\n <span>\n <ArrowSvg style={arrowStyle} />\n </span>\n </Styled.Root>\n )\n }\n}\n"],"names":["DIR_MAP","top","right","bottom","left","Arrow","PureComponent","constructor","super","arguments","this","onClickHandler","event","preventDefault","disabled","onClick","props","render","_this$props","restProps","_objectWithoutProperties","_excluded","arrowDir","isMultiDir","Object","values","filter","value","length","rotateDeg","keys","reduce","acc","key","arrowStyle","transform","concat","_jsx","Styled.Root","children","ArrowSvg","style","displayName","defaultProps","size","inverse","outline"],"mappings":"sUAKA,IAAMA,EAAU,CACdC,IAAK,EACLC,MAAO,GACPC,OAAQ,IACRC,KAAM,KAqCD,MAAMC,UAAcC,EAA0BC,cAAAC,SAAAC,WAAAC,KAcnDC,eAAkBC,IAChBA,EAAMC,iBACN,IAAMC,SAAEA,EAAFC,QAAYA,GAAYL,KAAKM,MAE9BF,GAA+B,mBAAZC,GACtBA,EAAQH,IAIZK,SACE,IAAAC,EAQIR,KAAKM,OARHf,IACJA,EADIC,MAEJA,EAFIC,OAGJA,EAHIC,KAIJA,GAJFc,EAOKC,EAPLC,EAAAF,EAAAG,GAUA,IAAMC,EAAW,CACfrB,IAAKA,IAAQE,EACbD,MAAOA,IAAUE,EACjBD,OAAQA,IAAWF,EACnBG,KAAMA,IAASF,GAGjB,IAAMqB,EAAaC,OAAOC,OAAOH,GAAUI,QAAQC,IAAoB,IAAVA,IAAgBC,OAAS,EAEtF,IAAMC,EACJL,OAAOM,KAAKR,GAAUS,SAAQC,EAAKC,IAASX,EAASW,GAAOD,EAAMhC,EAAQiC,GAAOD,GAAM,IAAMT,EAAa,EAAI,GAEhH,IAAMW,EAAa,CACjBC,2BAAqBN,EAAZ,QAAAO,OAA4Bb,EAAa,oBAAsB,KAG1E,OACEc,EAACC,SAAgBnB,GAAjB,GAAA,CAA4BJ,QAASL,KAAKC,eAA1C4B,SACEF,EAAA,OAAA,CAAAE,SACEF,EAACG,EAAD,CAAUC,MAAOP,UArDd7B,EACJqC,YAAc,QADVrC,EAEJsC,aAAe,CACpBC,KAAM,IACN3C,KAAK,EACLC,SACAC,QAAAA,EACAC,MAAM,EACNyC,WACAC,SAAAA,EACAhC,UAAU,EACVC,QAAS"}
1
+ {"version":3,"file":"Arrow.js","sources":["../../../../src/components/Arrow/Arrow.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport ArrowSvg from './images/arrow.module.svg'\nimport * as Styled from './style'\n\nconst DIR_MAP = {\n top: 0,\n right: 90,\n bottom: 180,\n left: 270,\n}\n\nexport interface ArrowProps extends BaseProps {\n /**\n * Size of icon\n */\n size?: 'xs' | 'm' | 'l'\n /**\n * Direction arrow\n */\n top?: boolean\n /**\n * Direction arrow\n */\n right?: boolean\n /**\n * Direction arrow\n */\n bottom?: boolean\n /**\n * Direction arrow\n */\n left?: boolean\n inverse?: boolean\n outline?: boolean\n disabled?: boolean\n // eslint-disable-next-line no-unused-vars\n onClick?(event: React.MouseEvent<HTMLButtonElement>): void\n}\n\n/* eslint-disable react/prefer-stateless-function */\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class Arrow extends PureComponent<ArrowProps> {\n static displayName = 'Arrow'\n static defaultProps = {\n size: 'l',\n top: false,\n right: false,\n bottom: false,\n left: false,\n inverse: false,\n outline: false,\n disabled: false,\n onClick: () => undefined,\n }\n\n onClickHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n const { disabled, onClick } = this.props\n\n if (!disabled && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n render() {\n const {\n top,\n right,\n bottom,\n left,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onClick, // eslint-disable-line no-unused-vars\n ...restProps\n } = this.props\n\n const arrowDir = {\n top: top && !bottom,\n right: right && !left,\n bottom: bottom && !top,\n left: left && !right,\n }\n\n const isMultiDir = Object.values(arrowDir).filter((value) => value === true).length > 1\n\n const rotateDeg =\n Object.keys(arrowDir).reduce((acc, key) => (arrowDir[key] ? acc + DIR_MAP[key] : acc), 0) / (isMultiDir ? 2 : 1)\n\n const arrowStyle = {\n transform: `rotate(${rotateDeg}deg)${isMultiDir ? ' translateY(-3px)' : ''}`,\n }\n\n return (\n <Styled.Root {...restProps} onClick={this.onClickHandler}>\n <span>\n <ArrowSvg style={arrowStyle} />\n </span>\n </Styled.Root>\n )\n }\n}\n"],"names":["DIR_MAP","top","right","bottom","left","Arrow","PureComponent","constructor","super","arguments","this","onClickHandler","event","preventDefault","disabled","onClick","props","render","_this$props","restProps","_objectWithoutProperties","_excluded","arrowDir","isMultiDir","Object","values","filter","value","length","rotateDeg","keys","reduce","acc","key","arrowStyle","transform","concat","_jsx","Styled.Root","children","ArrowSvg","style","displayName","defaultProps","size","inverse","outline"],"mappings":"8TAKA,IAAMA,EAAU,CACdC,IAAK,EACLC,MAAO,GACPC,OAAQ,IACRC,KAAM,KAqCD,MAAMC,UAAcC,EAA0BC,cAAAC,SAAAC,WAAAC,KAcnDC,eAAkBC,IAChBA,EAAMC,iBACN,IAAMC,SAAEA,EAAFC,QAAYA,GAAYL,KAAKM,MAE9BF,GAA+B,mBAAZC,GACtBA,EAAQH,IAIZK,SACE,IAAAC,EAQIR,KAAKM,OARHf,IACJA,EADIC,MAEJA,EAFIC,OAGJA,EAHIC,KAIJA,GAJFc,EAOKC,EAPLC,EAAAF,EAAAG,GAUA,IAAMC,EAAW,CACfrB,IAAKA,IAAQE,EACbD,MAAOA,IAAUE,EACjBD,OAAQA,IAAWF,EACnBG,KAAMA,IAASF,GAGjB,IAAMqB,EAAaC,OAAOC,OAAOH,GAAUI,QAAQC,IAAoB,IAAVA,IAAgBC,OAAS,EAEtF,IAAMC,EACJL,OAAOM,KAAKR,GAAUS,SAAQC,EAAKC,IAASX,EAASW,GAAOD,EAAMhC,EAAQiC,GAAOD,GAAM,IAAMT,EAAa,EAAI,GAEhH,IAAMW,EAAa,CACjBC,2BAAqBN,EAAZ,QAAAO,OAA4Bb,EAAa,oBAAsB,KAG1E,OACEc,EAACC,SAAgBnB,GAAjB,GAAA,CAA4BJ,QAASL,KAAKC,eAA1C4B,SACEF,EAAA,OAAA,CAAAE,SACEF,EAACG,EAAD,CAAUC,MAAOP,UArDd7B,EACJqC,YAAc,QADVrC,EAEJsC,aAAe,CACpBC,KAAM,IACN3C,KAAK,EACLC,SACAC,QAAAA,EACAC,MAAM,EACNyC,WACAC,SAAAA,EACAhC,UAAU,EACVC,QAAS"}
@@ -1,2 +1,2 @@
1
- import r from'@babel/runtime/helpers/esm/objectSpread2';import e from'@babel/runtime/helpers/esm/objectWithoutProperties';import{PureComponent as t}from'react';import{getAvatarText as s}from'./utils/index.js';import{Root as a}from'./style.js';import{jsx as o}from'react/jsx-runtime';var i=["src","ref"];class m extends t{getAvatarText(){return s(this.props.title||'')}render(){var t=this.props,{src:s,ref:m}=t,p=e(t,i);var l=this.getAvatarText();return o(a,r(r({},p),{},s?{ref:m,style:s?{backgroundImage:s&&"url(".concat(s,")")}:void 0}:{ref:this.props.ref,children:l}))}}m.defaultProps={size:'m',autoColor:!1},m.displayName='Avatar';export{m as Avatar};
1
+ import r from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{PureComponent as t}from'react';import{getAvatarText as a}from'./utils/index.js';import{Root as o}from'./style.js';import{jsx as s}from'react/jsx-runtime';var i=["src","ref"];class p extends t{getAvatarText(){return a(this.props.title||'')}render(){var t=this.props,{src:a,ref:p}=t,m=e(t,i);var l=this.getAvatarText();return s(o,r(r({},m),{},a?{ref:p,style:a?{backgroundImage:a&&"url(".concat(a,")")}:void 0}:{ref:this.props.ref,children:l}))}}p.defaultProps={size:'m',autoColor:!1},p.displayName='Avatar';export{p as Avatar};
2
2
  //# sourceMappingURL=Avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport { getAvatarText } from './utils'\nimport * as Styled from './style'\n\nexport interface AvatarProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /** Title for avatar. Example user name. */\n title?: string\n /** Image source */\n src?: string\n /** Size of avatar */\n size?: 'l' | 'm' | 'sm' | 's' | 'xs' | number\n /** Shadow of avatar */\n shadow?: boolean\n /** Make ref func */\n ref?: React.LegacyRef<HTMLDivElement>\n /**\n * Generate color by title automatically\n *\n * `Performance Info`: Each render of component call getAvatarColor function on received title\n */\n autoColor?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n */\nexport class Avatar extends PureComponent<AvatarProps> {\n static defaultProps = {\n size: 'm',\n autoColor: false,\n }\n\n static displayName = 'Avatar'\n\n getAvatarText() {\n return getAvatarText(this.props.title || '')\n }\n\n render() {\n const { src, ref, ...restProps } = this.props\n\n const text = this.getAvatarText()\n\n if (src) {\n return (\n <Styled.Root\n {...restProps}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={\n src\n ? {\n backgroundImage: src && `url(${src})`,\n }\n : undefined\n }\n />\n )\n }\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <Styled.Root {...restProps} ref={this.props.ref as any}>\n {text}\n </Styled.Root>\n )\n }\n}\n"],"names":["Avatar","PureComponent","getAvatarText","this","props","title","render","_this$props","src","ref","restProps","_objectWithoutProperties","_excluded","text","_jsx","Styled.Root","style","backgroundImage","concat","children","defaultProps","size","autoColor","displayName"],"mappings":"+SAkCO,MAAMA,UAAeC,EAQ1BC,gBACE,OAAOA,EAAcC,KAAKC,MAAMC,OAAS,IAG3CC,SACE,IAAAC,EAAmCJ,KAAKC,OAAlCI,IAAEA,EAAFC,IAAOA,GAAbF,EAAqBG,EAArBC,EAAAJ,EAAAK,GAEA,IAAMC,EAAOV,KAAKD,gBAElB,OAEIY,EAACC,SACKL,GADN,GAFAF,EAEA,CAGEC,IAAKA,EACLO,MACER,EACI,CACES,gBAAiBT,GAAG,OAAAU,OAAWV,EAAX,cAUhC,CAA4BC,IAAKN,KAAKC,MAAMK,IAA5CU,SACGN,MArCIb,EACJoB,aAAe,CACpBC,KAAM,IACNC,cAHStB,EAMJuB,YAAc"}
1
+ {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport { getAvatarText } from './utils'\nimport * as Styled from './style'\n\nexport interface AvatarProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /** Title for avatar. Example user name. */\n title?: string\n /** Image source */\n src?: string\n /** Size of avatar */\n size?: 'l' | 'm' | 'sm' | 's' | 'xs' | number\n /** Shadow of avatar */\n shadow?: boolean\n /** Make ref func */\n ref?: React.LegacyRef<HTMLDivElement>\n /**\n * Generate color by title automatically\n *\n * `Performance Info`: Each render of component call getAvatarColor function on received title\n */\n autoColor?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n */\nexport class Avatar extends PureComponent<AvatarProps> {\n static defaultProps = {\n size: 'm',\n autoColor: false,\n }\n\n static displayName = 'Avatar'\n\n getAvatarText() {\n return getAvatarText(this.props.title || '')\n }\n\n render() {\n const { src, ref, ...restProps } = this.props\n\n const text = this.getAvatarText()\n\n if (src) {\n return (\n <Styled.Root\n {...restProps}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={\n src\n ? {\n backgroundImage: src && `url(${src})`,\n }\n : undefined\n }\n />\n )\n }\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <Styled.Root {...restProps} ref={this.props.ref as any}>\n {text}\n </Styled.Root>\n )\n }\n}\n"],"names":["Avatar","PureComponent","getAvatarText","this","props","title","render","_this$props","src","ref","restProps","_objectWithoutProperties","_excluded","text","_jsx","Styled.Root","style","backgroundImage","concat","children","defaultProps","size","autoColor","displayName"],"mappings":"uSAkCO,MAAMA,UAAeC,EAQ1BC,gBACE,OAAOA,EAAcC,KAAKC,MAAMC,OAAS,IAG3CC,SACE,IAAAC,EAAmCJ,KAAKC,OAAlCI,IAAEA,EAAFC,IAAOA,GAAbF,EAAqBG,EAArBC,EAAAJ,EAAAK,GAEA,IAAMC,EAAOV,KAAKD,gBAElB,OAEIY,EAACC,SACKL,GADN,GAFAF,EAEA,CAGEC,IAAKA,EACLO,MACER,EACI,CACES,gBAAiBT,GAAG,OAAAU,OAAWV,EAAX,cAUhC,CAA4BC,IAAKN,KAAKC,MAAMK,IAA5CU,SACGN,MArCIb,EACJoB,aAAe,CACpBC,KAAM,IACNC,cAHStB,EAMJuB,YAAc"}
@@ -1,2 +1,2 @@
1
- import e from'@babel/runtime/helpers/esm/objectSpread2';import t from'@babel/runtime/helpers/esm/objectWithoutProperties';import{Text as r}from'../Text/Text.js';import{Root as o}from'./style.js';import{jsx as i}from'react/jsx-runtime';var s=["children","content","textProps","round","display"];function n(n){var{children:a,content:l,textProps:m,round:p,display:d="inline-block"}=n,c=t(n,s);return i(o,e(e({round:p,display:d},c),{},{children:i(r,e(e({className:"text",size:p?10:12,weight:p?'bolder':'normal',lineHeight:"s",content:'string'==typeof l?l:void 0},m),{},{children:a||l}))}))}n.displayName='Badge';export{n as Badge};
1
+ import e from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{useClassname as s}from'../../hooks/useClassname.js';import{Text as t}from'../Text/Text.js';import{Root as o}from'./style.js';import{jsx as a}from'react/jsx-runtime';var i=["children","content","className","textProps","round","display"];function n(l){var{children:m,content:p,className:d,textProps:c,round:u,display:h="inline-block"}=l,x=r(l,i);var b=s(n.displayName,d);return a(o,e(e({round:u,display:h,className:b},x),{},{children:a(t,e(e({className:"text",size:u?10:12,weight:u?'bolder':'normal',lineHeight:"s",content:'string'==typeof p?p:void 0},c),{},{children:m||p}))}))}n.displayName='Badge';export{n as Badge};
2
2
  //# sourceMappingURL=Badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text, TextProps } from './../Text/Text'\nimport * as Styled from './style'\n\nexport interface BadgeProps extends BaseProps, Color, Display {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string | React.ReactNode\n textProps?: TextProps\n /** Make badge round */\n round?: string\n}\n\nBadge.displayName = 'Badge'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Badge({ children, content, textProps, round, display = 'inline-block', ...restProps }: BadgeProps) {\n return (\n <Styled.Root round={round} display={display} {...restProps}>\n <Text\n className='text'\n size={round ? 10 : 12}\n weight={round ? 'bolder' : 'normal'}\n lineHeight='s'\n content={typeof content === 'string' ? content : undefined}\n {...textProps}\n >\n {children || content}\n </Text>\n </Styled.Root>\n )\n}\n"],"names":["Badge","_ref","children","content","textProps","round","display","restProps","_objectWithoutProperties","_excluded","_jsx","Styled.Root","_objectSpread","Text","className","size","weight","lineHeight","displayName"],"mappings":"sSAyBO,SAASA,EAAmGC,GAAA,IAA7FC,SAAEA,EAAFC,QAAYA,EAAZC,UAAqBA,EAArBC,MAAgCA,EAAhCC,QAAuCA,EAAU,gBAA4CL,EAAzBM,EAAyBC,EAAAP,EAAAQ,GACjH,OACEC,EAACC,EAADC,EAAAA,EAAA,CAAaP,MAAOA,EAAOC,QAASA,GAAaC,GAAjD,GAAA,CAAAL,SACEQ,EAACG,EAADD,EAAAA,EAAA,CACEE,UAAU,OACVC,KAAMV,EAAQ,GAAK,GACnBW,OAAQX,EAAQ,SAAW,SAC3BY,WAAW,IACXd,QAA4B,iBAAZA,EAAuBA,OAAAA,GACnCC,GANN,GAAA,CAAAF,SAQGA,GAAYC,QAnBrBH,EAAMkB,YAAc"}
1
+ {"version":3,"file":"Badge.js","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import { useClassname } from 'hooks/useClassname'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text, TextProps } from './../Text/Text'\nimport * as Styled from './style'\n\nexport interface BadgeProps extends BaseProps, Color, Display {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string | React.ReactNode\n textProps?: TextProps\n /** Make badge round */\n round?: string\n}\n\nBadge.displayName = 'Badge'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Badge({\n children,\n content,\n className,\n textProps,\n round,\n display = 'inline-block',\n ...restProps\n}: BadgeProps) {\n const _className = useClassname(Badge.displayName, className)\n return (\n <Styled.Root round={round} display={display} className={_className} {...restProps}>\n <Text\n className='text'\n size={round ? 10 : 12}\n weight={round ? 'bolder' : 'normal'}\n lineHeight='s'\n content={typeof content === 'string' ? content : undefined}\n {...textProps}\n >\n {children || content}\n </Text>\n </Styled.Root>\n )\n}\n"],"names":["Badge","_ref","children","content","className","textProps","round","display","restProps","_objectWithoutProperties","_excluded","_className","useClassname","displayName","_jsx","Styled.Root","_objectSpread","Text","size","weight","lineHeight","undefined"],"mappings":"qWA0BO,SAASA,EAQDC,GAAA,IAROC,SACpBA,EADoBC,QAEpBA,EAFoBC,UAGpBA,EAHoBC,UAIpBA,EAJoBC,MAKpBA,EALoBC,QAMpBA,EAAU,gBAEGN,EADVO,EACUC,EAAAR,EAAAS,GACb,IAAMC,EAAaC,EAAaZ,EAAMa,YAAaT,GACnD,OACEU,EAACC,EAADC,EAAAA,EAAA,CAAaV,MAAOA,EAAOC,QAASA,EAASH,UAAWO,GAAgBH,GAAxE,GAAA,CAAAN,SACEY,EAACG,EAADD,EAAAA,EAAA,CACEZ,UAAU,OACVc,KAAMZ,EAAQ,GAAK,GACnBa,OAAQb,EAAQ,SAAW,SAC3Bc,WAAW,IACXjB,QAA4B,iBAAZA,EAAuBA,OAAUkB,GAC7ChB,GANN,GAAA,CAAAH,SAQGA,GAAYC,QA5BrBH,EAAMa,YAAc"}
@@ -1,2 +1,2 @@
1
- import e from'@babel/runtime/helpers/esm/objectSpread2';import r from'@babel/runtime/helpers/esm/objectWithoutProperties';import{Link as t}from'react-router-dom';import{Root as o,Content as a}from'./style.js';import{PROPS_BY_SIZE as i,PRESETS as n}from'./default.js';import{jsxs as s,jsx as d}from'react/jsx-runtime';var l=["children","disabled","href","to","as","target","onClick","ref","icon","type","innerRef"];function m(m){var{children:p,disabled:f,href:c,to:u,as:b,target:y,onClick:h,ref:v,icon:j,type:g,innerRef:x}=m,P=r(m,l);var R=b||(f?'button':c?'a':u?t:'button');var S='a'!==R||f?{}:{href:c||u,target:y};var k='string'==typeof R||f?{}:{to:u||c};var C=P.size&&!P.round&&i[P.size]||{};var z=(e=>e.primary?n.primary:e.secondary?n.secondary:n.default)(m);return s(o,e(e(e(e(e(e({as:R,type:'button'===R?g:void 0,onClick:f||P.loading?void 0:h},C),S),k),z),P),{},{disabled:f,ref:v||x,children:[j&&d("span",{className:"icon",children:j}),p&&d(a,{children:p})]}))}m.defaultProps={size:'m',rounded:!0,display:'inline-flex',type:'button'},m.displayName='Button';export{m as Button};
1
+ import e from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{Link as a}from'react-router-dom';import{useClassname as t}from'../../hooks/useClassname.js';import{Root as s,Content as o}from'./style.js';import{PROPS_BY_SIZE as i,PRESETS as n}from'./default.js';import{jsxs as l,jsx as m}from'react/jsx-runtime';var d=["children","className","disabled","href","to","as","target","onClick","ref","icon","type","innerRef"];function c(p){var{children:f,className:u,disabled:b,href:y,to:h,as:v,target:j,onClick:N,ref:C,icon:g,type:k,innerRef:x}=p,P=r(p,d);var R=v||(b?'button':y?'a':h?a:'button');var S='a'!==R||b?{}:{href:y||h,target:j};var _='string'==typeof R||b?{}:{to:h||y};var z=P.size&&!P.round&&i[P.size]||{};var B=(e=>e.primary?n.primary:e.secondary?n.secondary:n.default)(p);var E=t(c.displayName,u);return l(s,e(e(e(e(e(e({as:R,className:E,type:'button'===R?k:void 0,onClick:b||P.loading?void 0:N},z),S),_),B),P),{},{disabled:b,ref:C||x,children:[g&&m("span",{className:"icon",children:g}),f&&m(o,{className:"".concat(E,"__content"),children:f})]}))}c.defaultProps={size:'m',rounded:!0,display:'inline-flex',type:'button'},c.displayName='Button';export{c as Button};
2
2
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import { Link } from 'react-router-dom'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps, Tooltiped } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport { Anchor } from '../../components/Anchor'\nimport * as Styled from './style'\nimport { PRESETS, PROPS_BY_SIZE } from './default'\n\nexport interface ButtonProps\n extends BaseProps,\n Tooltiped,\n Display,\n Color,\n Color<'fontColor'>,\n ResponsiveProperty<'padding'>,\n ResponsiveProperty<'paddingTop'>,\n ResponsiveProperty<'paddingRight'>,\n ResponsiveProperty<'paddingBottom'>,\n ResponsiveProperty<'paddingLeft'>,\n ResponsiveProperty<'margin'>,\n ResponsiveProperty<'marginTop'>,\n ResponsiveProperty<'marginRight'>,\n ResponsiveProperty<'marginBottom'>,\n ResponsiveProperty<'marginLeft'>,\n ResponsiveProperty<'fontSize'>,\n ResponsiveProperty<'fluid', boolean>,\n ResponsiveProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>,\n ResponsiveProperty<'height', 'l' | 'm' | 's' | 'xs' | number> {\n /**\n * Node type\n */\n as?: 'div' | 'span' | 'a' | 'button' | typeof Link | typeof Anchor\n target?: string\n rel?: string\n /**\n * Link href\n */\n href?: string\n /**\n * React router link to\n */\n to?: string\n /**\n * Type for button element\n */\n type?: 'button' | 'submit' | 'reset'\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Basic button\n */\n basic?: boolean\n /**\n * Disabled\n */\n disabled?: boolean\n /**\n * Is primary\n */\n primary?: boolean\n /**\n * Is secondary\n */\n secondary?: boolean\n /**\n * Is inverted\n */\n inverted?: boolean\n /**\n * Is rounded\n */\n rounded?: boolean\n /**\n * Is round (in a shape of circle)\n */\n round?: boolean\n /**\n * Indicates if there should not be any margin\n * between this button and the previous one\n */\n noSpacing?: boolean\n /**\n * Is in loading state\n */\n loading?: boolean\n /**\n * Button icon\n */\n icon?: React.ReactNode\n /** On click callback */\n onClick?: () => void\n /** Function to make ref */\n ref?: React.LegacyRef<HTMLDivElement>\n /**\n * Size\n */\n size?: 'l' | 'm' | 's' | 'xs'\n}\n\nButton.defaultProps = {\n size: 'm',\n rounded: true,\n display: 'inline-flex',\n type: 'button',\n}\n\nButton.displayName = 'Button'\n\nconst extractPresetByProps = (props: ButtonProps): Partial<ButtonProps> => {\n if (props.primary) return PRESETS.primary\n if (props.secondary) return PRESETS.secondary\n return PRESETS.default\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Tooltiped`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginLeft'>`](#/Миксины)\n * - [`ResponsiveProperty<'fontSize'>`](#/Миксины)\n * - [`ResponsiveProperty<'fluid', boolean>`](#/Миксины)\n * - [`ResponsiveProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>`](#/Миксины)\n * - [`ResponsiveProperty<'height', 'l' | 'm' | 's' | 'xs' | number>`](#/Миксины)\n */\nexport function Button(props: ButtonProps) {\n const { children, disabled, href, to, as, target, onClick, ref, icon, type, innerRef, ...restProps } = props\n\n const _as = as || (disabled ? 'button' : href ? 'a' : to ? Link : 'button')\n const aProps = _as === 'a' && !disabled ? { href: href || to, target } : {}\n const linkProps = typeof _as !== 'string' && !disabled ? { to: to || href } : {}\n const propsBySize: Partial<ButtonProps> =\n restProps.size && !restProps.round ? PROPS_BY_SIZE[restProps.size] || {} : {}\n const presetProps: Partial<ButtonProps> = extractPresetByProps(props)\n\n return (\n <Styled.Root\n as={_as}\n type={_as === 'button' ? type : undefined}\n onClick={disabled || restProps.loading ? undefined : onClick}\n {...propsBySize}\n {...aProps}\n {...linkProps}\n {...presetProps}\n {...restProps}\n disabled={disabled}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={(ref || innerRef) as any}\n >\n {icon && <span className='icon'>{icon}</span>}\n {children && <Styled.Content>{children}</Styled.Content>}\n </Styled.Root>\n )\n}\n"],"names":["Button","props","children","disabled","href","to","as","target","onClick","ref","icon","type","innerRef","restProps","_excluded","_as","Link","aProps","linkProps","propsBySize","size","round","PROPS_BY_SIZE","presetProps","primary","PRESETS","secondary","default","_jsxs","Styled.Root","_objectSpread","loading","_jsx","className","Styled.Content","defaultProps","rounded","display","displayName"],"mappings":"8ZA2IO,SAASA,EAAOC,GACrB,IAAMC,SAAEA,EAAFC,SAAYA,EAAZC,KAAsBA,EAAtBC,GAA4BA,EAA5BC,GAAgCA,EAAhCC,OAAoCA,EAApCC,QAA4CA,EAA5CC,IAAqDA,EAArDC,KAA0DA,EAA1DC,KAAgEA,EAAhEC,SAAsEA,GAA2BX,EAAdY,IAAcZ,EAAvGa,GAEA,IAAMC,EAAMT,IAAOH,EAAW,SAAWC,EAAO,IAAMC,EAAKW,EAAO,UAClE,IAAMC,EAAiB,MAARF,GAAgBZ,EAA0C,GAA/B,CAAEC,KAAMA,GAAQC,EAAIE,OAAAA,GAC9D,IAAMW,EAA2B,iBAARH,GAAqBZ,EAAgC,GAArB,CAAEE,GAAIA,GAAMD,GACrE,IAAMe,EACJN,EAAUO,OAASP,EAAUQ,OAAQC,EAAcT,EAAUO,OAAc,GAC7E,IAAMG,EApCsBtB,CAAAA,GACxBA,EAAMuB,QAAgBC,EAAQD,QAC9BvB,EAAMyB,UAAkBD,EAAQC,UAC7BD,EAAQE,QAHa1B,CAoCmCA,GAE/D,OACE2B,EAACC,EAADC,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAA,CACExB,GAAIS,EACJJ,KAAc,WAARI,EAAmBJ,OAAAA,EACzBH,QAASL,GAAYU,EAAUkB,aAAAA,EAAsBvB,GACjDW,GACAF,GACAC,GACAK,GACAV,GARN,GAAA,CASEV,SAAUA,EAEVM,IAAMA,GAAOG,EAXfV,SAAA,CAaGQ,GAAQsB,EAAA,OAAA,CAAMC,UAAU,OAAhB/B,SAAwBQ,IAChCR,GAAY8B,EAACE,EAAD,CAAAhC,SAAiBA,QA9DpCF,EAAOmC,aAAe,CACpBf,KAAM,IACNgB,SAAAA,EACAC,QAAS,cACT1B,KAAM,UAGRX,EAAOsC,YAAc"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import { Link } from 'react-router-dom'\nimport { useClassname } from 'hooks/useClassname'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps, Tooltiped } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport { Anchor } from '../../components/Anchor'\nimport * as Styled from './style'\nimport { PRESETS, PROPS_BY_SIZE } from './default'\n\nexport interface ButtonProps\n extends BaseProps,\n Tooltiped,\n Display,\n Color,\n Color<'fontColor'>,\n ResponsiveProperty<'padding'>,\n ResponsiveProperty<'paddingTop'>,\n ResponsiveProperty<'paddingRight'>,\n ResponsiveProperty<'paddingBottom'>,\n ResponsiveProperty<'paddingLeft'>,\n ResponsiveProperty<'margin'>,\n ResponsiveProperty<'marginTop'>,\n ResponsiveProperty<'marginRight'>,\n ResponsiveProperty<'marginBottom'>,\n ResponsiveProperty<'marginLeft'>,\n ResponsiveProperty<'fontSize'>,\n ResponsiveProperty<'fluid', boolean>,\n ResponsiveProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>,\n ResponsiveProperty<'height', 'l' | 'm' | 's' | 'xs' | number> {\n /**\n * Node type\n */\n as?: 'div' | 'span' | 'a' | 'button' | typeof Link | typeof Anchor\n target?: string\n rel?: string\n /**\n * Link href\n */\n href?: string\n /**\n * React router link to\n */\n to?: string\n /**\n * Type for button element\n */\n type?: 'button' | 'submit' | 'reset'\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Basic button\n */\n basic?: boolean\n /**\n * Disabled\n */\n disabled?: boolean\n /**\n * Is primary\n */\n primary?: boolean\n /**\n * Is secondary\n */\n secondary?: boolean\n /**\n * Is inverted\n */\n inverted?: boolean\n /**\n * Is rounded\n */\n rounded?: boolean\n /**\n * Is round (in a shape of circle)\n */\n round?: boolean\n /**\n * Indicates if there should not be any margin\n * between this button and the previous one\n */\n noSpacing?: boolean\n /**\n * Is in loading state\n */\n loading?: boolean\n /**\n * Button icon\n */\n icon?: React.ReactNode\n /** On click callback */\n onClick?: () => void\n /** Function to make ref */\n ref?: React.LegacyRef<HTMLDivElement>\n /**\n * Size\n */\n size?: 'l' | 'm' | 's' | 'xs'\n}\n\nButton.defaultProps = {\n size: 'm',\n rounded: true,\n display: 'inline-flex',\n type: 'button',\n}\n\nButton.displayName = 'Button'\n\nconst extractPresetByProps = (props: ButtonProps): Partial<ButtonProps> => {\n if (props.primary) return PRESETS.primary\n if (props.secondary) return PRESETS.secondary\n return PRESETS.default\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Tooltiped`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginLeft'>`](#/Миксины)\n * - [`ResponsiveProperty<'fontSize'>`](#/Миксины)\n * - [`ResponsiveProperty<'fluid', boolean>`](#/Миксины)\n * - [`ResponsiveProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>`](#/Миксины)\n * - [`ResponsiveProperty<'height', 'l' | 'm' | 's' | 'xs' | number>`](#/Миксины)\n */\nexport function Button(props: ButtonProps) {\n const { children, className, disabled, href, to, as, target, onClick, ref, icon, type, innerRef, ...restProps } =\n props\n\n const _as = as || (disabled ? 'button' : href ? 'a' : to ? Link : 'button')\n const aProps = _as === 'a' && !disabled ? { href: href || to, target } : {}\n const linkProps = typeof _as !== 'string' && !disabled ? { to: to || href } : {}\n const propsBySize: Partial<ButtonProps> =\n restProps.size && !restProps.round ? PROPS_BY_SIZE[restProps.size] || {} : {}\n const presetProps: Partial<ButtonProps> = extractPresetByProps(props)\n const _className = useClassname(Button.displayName, className)\n\n return (\n <Styled.Root\n as={_as}\n className={_className}\n type={_as === 'button' ? type : undefined}\n onClick={disabled || restProps.loading ? undefined : onClick}\n {...propsBySize}\n {...aProps}\n {...linkProps}\n {...presetProps}\n {...restProps}\n disabled={disabled}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={(ref || innerRef) as any}\n >\n {icon && <span className='icon'>{icon}</span>}\n {children && <Styled.Content className={`${_className}__content`}>{children}</Styled.Content>}\n </Styled.Root>\n )\n}\n"],"names":["Button","props","children","className","disabled","href","to","as","target","onClick","ref","icon","type","innerRef","restProps","_excluded","_as","Link","aProps","linkProps","propsBySize","size","round","PROPS_BY_SIZE","presetProps","primary","PRESETS","secondary","default","_className","useClassname","displayName","_jsxs","Styled.Root","_objectSpread","loading","_jsx","Styled.Content","concat","defaultProps","rounded","display"],"mappings":"6dA4IO,SAASA,EAAOC,GACrB,IAAMC,SAAEA,EAAFC,UAAYA,EAAZC,SAAuBA,EAAvBC,KAAiCA,EAAjCC,GAAuCA,EAAvCC,GAA2CA,EAA3CC,OAA+CA,EAA/CC,QAAuDA,EAAvDC,IAAgEA,EAAhEC,KAAqEA,EAArEC,KAA2EA,EAA3EC,SAAiFA,GACrFZ,EADkGa,IAClGb,EADFc,GAGA,IAAMC,EAAMT,IAAOH,EAAW,SAAWC,EAAO,IAAMC,EAAKW,EAAO,UAClE,IAAMC,EAAiB,MAARF,GAAgBZ,EAA0C,GAA/B,CAAEC,KAAMA,GAAQC,EAAIE,OAAAA,GAC9D,IAAMW,EAA2B,iBAARH,GAAqBZ,EAAgC,GAArB,CAAEE,GAAIA,GAAMD,GACrE,IAAMe,EACJN,EAAUO,OAASP,EAAUQ,OAAQC,EAAcT,EAAUO,OAAc,GAC7E,IAAMG,EArCsBvB,CAAAA,GACxBA,EAAMwB,QAAgBC,EAAQD,QAC9BxB,EAAM0B,UAAkBD,EAAQC,UAC7BD,EAAQE,QAHa3B,CAqCmCA,GAC/D,IAAM4B,EAAaC,EAAa9B,EAAO+B,YAAa5B,GAEpD,OACE6B,EAACC,EAADC,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAA,CACE3B,GAAIS,EACJb,UAAW0B,EACXjB,KAAc,WAARI,EAAmBJ,OAAAA,EACzBH,QAASL,GAAYU,EAAUqB,eAAsB1B,GACjDW,GACAF,GACAC,GACAK,GACAV,GATN,GAAA,CAUEV,SAAUA,EAEVM,IAAMA,GAAOG,EAZfX,SAAA,CAcGS,GAAQyB,EAAA,OAAA,CAAMjC,UAAU,OAAhBD,SAAwBS,IAChCT,GAAYkC,EAACC,EAAD,CAAgBlC,UAAS,GAAAmC,OAAKT,EAA9B,aAAA3B,SAAsDA,QAjEzEF,EAAOuC,aAAe,CACpBlB,KAAM,IACNmB,WACAC,QAAS,cACT7B,KAAM,UAGRZ,EAAO+B,YAAc"}
@@ -1,2 +1,2 @@
1
- import e from'@babel/runtime/helpers/esm/objectSpread2';import r from'@babel/runtime/helpers/esm/objectWithoutProperties';import{useState as a,useEffect as t,useCallback as s}from'react';import{CheckboxGroup as o}from'./Group.js';import{Root as l}from'./style.js';import{jsxs as i,jsx as c}from'react/jsx-runtime';var d=["children","disabled","error","id","name","onChange","size","value","label","className","style"];function h(o){var h=void 0===o.checked;var[n,m]=a(h?o.defaultChecked:o.checked);var{children:f,disabled:p,error:u,id:b,name:k,onChange:v,size:g,value:x,label:C,className:y,style:j}=o,w=r(o,d);t((()=>{h||n===o.checked||m(o.checked)}),[o.checked]);var N=s((e=>{e.stopPropagation(),'function'==typeof v&&v(e)}),[h]);var z=h?{defaultChecked:n}:{checked:n};return i(l,{className:y,style:j,disabled:p,checked:n,error:u,htmlFor:b||k,size:g,children:[c("input",e(e({},w),{},{id:b||k,name:k,type:"checkbox",onChange:N,value:x,disabled:p},z)),i("svg",{viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:[c("rect",{x:".455",y:".455",width:"19.091",height:"19.091",rx:"5",transform:"translate(0 0)",fill:"#fff",stroke:"#B8B8B8",strokeWidth:"1"}),i("g",{fill:"none",children:[c("rect",{fill:"#48A1E6",width:"20",height:"20",rx:"5"}),c("path",{stroke:"#fff",strokeWidth:"2",d:"M6 9.99l3 3.01 6-6"})]})]}),(C||f)&&c("span",{className:"label",children:C||f})]})}h.defaultProps={disabled:!1,size:'medium',defaultChecked:!1,onChange:e=>console.log(e,e.target.value)},h.Group=o,h.displayName='Checkbox';export{h as Checkbox};
1
+ import e from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{useState as a,useEffect as t,useCallback as s}from'react';import{CheckboxGroup as o}from'./Group.js';import{Root as l}from'./style.js';import{jsxs as i,jsx as c}from'react/jsx-runtime';var d=["children","disabled","error","id","name","onChange","size","value","label","className","style"];function h(o){var h=void 0===o.checked;var[n,m]=a(h?o.defaultChecked:o.checked);var{children:f,disabled:p,error:u,id:b,name:k,onChange:v,size:g,value:x,label:C,className:y,style:j}=o,w=r(o,d);t((()=>{h||n===o.checked||m(o.checked)}),[o.checked]);var N=s((e=>{e.stopPropagation(),'function'==typeof v&&v(e)}),[h]);var z=h?{defaultChecked:n}:{checked:n};return i(l,{className:y,style:j,disabled:p,checked:n,error:u,htmlFor:b||k,size:g,children:[c("input",e(e({},w),{},{id:b||k,name:k,type:"checkbox",onChange:N,value:x,disabled:p},z)),i("svg",{viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:[c("rect",{x:".455",y:".455",width:"19.091",height:"19.091",rx:"5",transform:"translate(0 0)",fill:"#fff",stroke:"#B8B8B8",strokeWidth:"1"}),i("g",{fill:"none",children:[c("rect",{fill:"#48A1E6",width:"20",height:"20",rx:"5"}),c("path",{stroke:"#fff",strokeWidth:"2",d:"M6 9.99l3 3.01 6-6"})]})]}),(C||f)&&c("span",{className:"label",children:C||f})]})}h.defaultProps={disabled:!1,size:'medium',defaultChecked:!1,onChange:e=>console.log(e,e.target.value)},h.Group=o,h.displayName='Checkbox';export{h as Checkbox};
2
2
  //# sourceMappingURL=Checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { CheckboxGroup } from './Group'\nimport * as Styled from './style'\n\ntype CheckboxInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>\n\nexport interface CheckboxProps extends BaseProps, CheckboxInputHtmlAttributes {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * A checkbox can appear disabled and be unable to change states\n */\n disabled?: boolean\n /**\n * Field can show the data contains errors\n */\n error?: boolean\n /**\n * Whether or not checkbox is checked\n */\n checked?: boolean\n /**\n * Value\n */\n value?: string | number\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * Input element ID\n */\n id?: string\n /**\n * Input element name\n */\n name?: string\n /**\n * Input element label\n */\n label?: string\n /**\n * Checkbox size\n */\n size?: 'small' | 'medium' | 'large' | 'extraLarge' | 's' | 'm' | 'l' | 'xl'\n}\n\nCheckbox.defaultProps = {\n disabled: false,\n size: 'medium',\n defaultChecked: false,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n}\n\nCheckbox.Group = CheckboxGroup\n\nCheckbox.displayName = 'Checkbox'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Checkbox(props: typeof Checkbox.defaultProps & CheckboxProps) {\n const uncontrolled = props.checked === undefined\n const [checkedInput, setChecked] = useState(uncontrolled ? props.defaultChecked : props.checked)\n\n const { children, disabled, error, id, name, onChange, size, value, label, className, style, ...anotherProps } = props\n\n useEffect(() => {\n if (!uncontrolled && checkedInput !== props.checked) setChecked(props.checked)\n }, [props.checked])\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n e.stopPropagation()\n if (typeof onChange === 'function') onChange(e)\n },\n [uncontrolled]\n )\n\n const inputProps = uncontrolled ? { defaultChecked: checkedInput } : { checked: checkedInput }\n\n return (\n <Styled.Root\n className={className}\n style={style}\n disabled={disabled}\n checked={checkedInput}\n error={error}\n htmlFor={id || name}\n size={size}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='checkbox'\n onChange={handleOnChange}\n value={value}\n disabled={disabled}\n {...inputProps}\n />\n <svg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'>\n <rect\n x='.455'\n y='.455'\n width='19.091'\n height='19.091'\n rx='5'\n transform='translate(0 0)'\n fill='#fff'\n stroke='#B8B8B8'\n strokeWidth='1'\n />\n <g fill='none'>\n <rect fill='#48A1E6' width='20' height='20' rx='5' />\n <path stroke='#fff' strokeWidth='2' d='M6 9.99l3 3.01 6-6' />\n </g>\n </svg>\n {(label || children) && <span className='label'>{label || children}</span>}\n </Styled.Root>\n )\n}\n"],"names":["Checkbox","props","uncontrolled","checked","checkedInput","setChecked","useState","defaultChecked","children","disabled","error","id","name","onChange","size","value","label","className","style","anotherProps","_excluded","useEffect","handleOnChange","useCallback","e","stopPropagation","inputProps","_jsxs","Styled.Root","htmlFor","_jsx","type","viewBox","xmlns","x","y","width","height","rx","transform","fill","stroke","strokeWidth","d","defaultProps","console","log","target","Group","CheckboxGroup","displayName"],"mappings":"kaAkEO,SAASA,EAASC,GACvB,IAAMC,OAAAA,IAAeD,EAAME,QAC3B,IAAOC,EAAcC,GAAcC,EAASJ,EAAeD,EAAMM,eAAiBN,EAAME,SAExF,IAAMK,SAAEA,EAAFC,SAAYA,EAAZC,MAAsBA,EAAtBC,GAA6BA,EAA7BC,KAAiCA,EAAjCC,SAAuCA,EAAvCC,KAAiDA,EAAjDC,MAAuDA,EAAvDC,MAA8DA,EAA9DC,UAAqEA,EAArEC,MAAgFA,GAA2BjB,EAAjBkB,IAAiBlB,EAAjHmB,GAEAC,QACOnB,GAAgBE,IAAiBH,EAAME,SAASE,EAAWJ,EAAME,WACrE,CAACF,EAAME,UAEV,IAAMmB,EAA6DC,GAChEC,IACCA,EAAEC,kBACsB,mBAAbZ,GAAyBA,EAASW,KAE/C,CAACtB,IAGH,IAAMwB,EAAaxB,EAAe,CAAEK,eAAgBH,GAAiB,CAAED,QAASC,GAEhF,OACEuB,EAACC,EAAD,CACEX,UAAWA,EACXC,MAAOA,EACPT,SAAUA,EACVN,QAASC,EACTM,MAAOA,EACPmB,QAASlB,GAAMC,EACfE,KAAMA,EAPRN,SAAA,CASEsB,iBACMX,GADN,GAAA,CAEER,GAAIA,GAAMC,EACVA,KAAMA,EACNmB,KAAK,WACLlB,SAAUS,EACVP,MAAOA,EACPN,SAAUA,GACNiB,IAENC,EAAA,MAAA,CAAKK,QAAQ,YAAYC,MAAM,6BAA/BzB,SACE,CAAAsB,EAAA,OAAA,CACEI,EAAE,OACFC,EAAE,OACFC,MAAM,SACNC,OAAO,SACPC,GAAG,IACHC,UAAU,iBACVC,KAAK,OACLC,OAAO,UACPC,YAAY,MAEdf,EAAA,IAAA,CAAGa,KAAK,OAARhC,SACE,CAAAsB,EAAA,OAAA,CAAMU,KAAK,UAAUJ,MAAM,KAAKC,OAAO,KAAKC,GAAG,MAC/CR,EAAA,OAAA,CAAMW,OAAO,OAAOC,YAAY,IAAIC,EAAE,8BAGxC3B,GAASR,IAAasB,EAAA,OAAA,CAAMb,UAAU,QAAhBT,SAAyBQ,GAASR,OAzEhER,EAAS4C,aAAe,CACtBnC,UAAAA,EACAK,KAAM,SACNP,gBAAAA,EACAM,SAAWW,GAA2CqB,QAAQC,IAAItB,EAAGA,EAAEuB,OAAOhC,QAGhFf,EAASgD,MAAQC,EAEjBjD,EAASkD,YAAc"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { CheckboxGroup } from './Group'\nimport * as Styled from './style'\n\ntype CheckboxInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>\n\nexport interface CheckboxProps extends BaseProps, CheckboxInputHtmlAttributes {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * A checkbox can appear disabled and be unable to change states\n */\n disabled?: boolean\n /**\n * Field can show the data contains errors\n */\n error?: boolean\n /**\n * Whether or not checkbox is checked\n */\n checked?: boolean\n /**\n * Value\n */\n value?: string | number\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * Input element ID\n */\n id?: string\n /**\n * Input element name\n */\n name?: string\n /**\n * Input element label\n */\n label?: string\n /**\n * Checkbox size\n */\n size?: 'small' | 'medium' | 'large' | 'extraLarge' | 's' | 'm' | 'l' | 'xl'\n}\n\nCheckbox.defaultProps = {\n disabled: false,\n size: 'medium',\n defaultChecked: false,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n}\n\nCheckbox.Group = CheckboxGroup\n\nCheckbox.displayName = 'Checkbox'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Checkbox(props: typeof Checkbox.defaultProps & CheckboxProps) {\n const uncontrolled = props.checked === undefined\n const [checkedInput, setChecked] = useState(uncontrolled ? props.defaultChecked : props.checked)\n\n const { children, disabled, error, id, name, onChange, size, value, label, className, style, ...anotherProps } = props\n\n useEffect(() => {\n if (!uncontrolled && checkedInput !== props.checked) setChecked(props.checked)\n }, [props.checked])\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n e.stopPropagation()\n if (typeof onChange === 'function') onChange(e)\n },\n [uncontrolled]\n )\n\n const inputProps = uncontrolled ? { defaultChecked: checkedInput } : { checked: checkedInput }\n\n return (\n <Styled.Root\n className={className}\n style={style}\n disabled={disabled}\n checked={checkedInput}\n error={error}\n htmlFor={id || name}\n size={size}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='checkbox'\n onChange={handleOnChange}\n value={value}\n disabled={disabled}\n {...inputProps}\n />\n <svg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'>\n <rect\n x='.455'\n y='.455'\n width='19.091'\n height='19.091'\n rx='5'\n transform='translate(0 0)'\n fill='#fff'\n stroke='#B8B8B8'\n strokeWidth='1'\n />\n <g fill='none'>\n <rect fill='#48A1E6' width='20' height='20' rx='5' />\n <path stroke='#fff' strokeWidth='2' d='M6 9.99l3 3.01 6-6' />\n </g>\n </svg>\n {(label || children) && <span className='label'>{label || children}</span>}\n </Styled.Root>\n )\n}\n"],"names":["Checkbox","props","uncontrolled","checked","checkedInput","setChecked","useState","defaultChecked","children","disabled","error","id","name","onChange","size","value","label","className","style","anotherProps","_excluded","useEffect","handleOnChange","useCallback","e","stopPropagation","inputProps","_jsxs","Styled.Root","htmlFor","_jsx","type","viewBox","xmlns","x","y","width","height","rx","transform","fill","stroke","strokeWidth","d","defaultProps","console","log","target","Group","CheckboxGroup","displayName"],"mappings":"0ZAkEO,SAASA,EAASC,GACvB,IAAMC,OAAAA,IAAeD,EAAME,QAC3B,IAAOC,EAAcC,GAAcC,EAASJ,EAAeD,EAAMM,eAAiBN,EAAME,SAExF,IAAMK,SAAEA,EAAFC,SAAYA,EAAZC,MAAsBA,EAAtBC,GAA6BA,EAA7BC,KAAiCA,EAAjCC,SAAuCA,EAAvCC,KAAiDA,EAAjDC,MAAuDA,EAAvDC,MAA8DA,EAA9DC,UAAqEA,EAArEC,MAAgFA,GAA2BjB,EAAjBkB,IAAiBlB,EAAjHmB,GAEAC,QACOnB,GAAgBE,IAAiBH,EAAME,SAASE,EAAWJ,EAAME,WACrE,CAACF,EAAME,UAEV,IAAMmB,EAA6DC,GAChEC,IACCA,EAAEC,kBACsB,mBAAbZ,GAAyBA,EAASW,KAE/C,CAACtB,IAGH,IAAMwB,EAAaxB,EAAe,CAAEK,eAAgBH,GAAiB,CAAED,QAASC,GAEhF,OACEuB,EAACC,EAAD,CACEX,UAAWA,EACXC,MAAOA,EACPT,SAAUA,EACVN,QAASC,EACTM,MAAOA,EACPmB,QAASlB,GAAMC,EACfE,KAAMA,EAPRN,SAAA,CASEsB,iBACMX,GADN,GAAA,CAEER,GAAIA,GAAMC,EACVA,KAAMA,EACNmB,KAAK,WACLlB,SAAUS,EACVP,MAAOA,EACPN,SAAUA,GACNiB,IAENC,EAAA,MAAA,CAAKK,QAAQ,YAAYC,MAAM,6BAA/BzB,SACE,CAAAsB,EAAA,OAAA,CACEI,EAAE,OACFC,EAAE,OACFC,MAAM,SACNC,OAAO,SACPC,GAAG,IACHC,UAAU,iBACVC,KAAK,OACLC,OAAO,UACPC,YAAY,MAEdf,EAAA,IAAA,CAAGa,KAAK,OAARhC,SACE,CAAAsB,EAAA,OAAA,CAAMU,KAAK,UAAUJ,MAAM,KAAKC,OAAO,KAAKC,GAAG,MAC/CR,EAAA,OAAA,CAAMW,OAAO,OAAOC,YAAY,IAAIC,EAAE,8BAGxC3B,GAASR,IAAasB,EAAA,OAAA,CAAMb,UAAU,QAAhBT,SAAyBQ,GAASR,OAzEhER,EAAS4C,aAAe,CACtBnC,UAAAA,EACAK,KAAM,SACNP,gBAAAA,EACAM,SAAWW,GAA2CqB,QAAQC,IAAItB,EAAGA,EAAEuB,OAAOhC,QAGhFf,EAASgD,MAAQC,EAEjBjD,EAASkD,YAAc"}
@@ -1,2 +1,2 @@
1
- import r from'@babel/runtime/helpers/esm/objectSpread2';import e from'@babel/runtime/helpers/esm/objectWithoutProperties';import{Group as o}from'./style.js';import{jsx as t}from'react/jsx-runtime';var i=["children"];function m(m){var{children:s}=m,p=e(m,i);return t(o,r(r({},p),{},{children:s}))}export{m as CheckboxGroup};
1
+ import r from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{Group as o}from'./style.js';import{jsx as t}from'react/jsx-runtime';var i=["children"];function m(m){var{children:p}=m,s=e(m,i);return t(o,r(r({},s),{},{children:p}))}export{m as CheckboxGroup};
2
2
  //# sourceMappingURL=Group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sources":["../../../../src/components/Checkbox/Group.tsx"],"sourcesContent":["import { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface CheckboxGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function CheckboxGroup({ children, ...props }: CheckboxGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n"],"names":["CheckboxGroup","_ref","children","props","_objectWithoutProperties","_excluded","_jsx","Styled.Group"],"mappings":"wNAQO,SAASA,EAA0DC,GAAA,IAA5CC,SAAEA,GAA0CD,EAA7BE,EAA6BC,EAAAH,EAAAI,GACxE,OAAOC,EAACC,SAAiBJ,GAAlB,GAAA,CAAAD,SAA0BA"}
1
+ {"version":3,"file":"Group.js","sources":["../../../../src/components/Checkbox/Group.tsx"],"sourcesContent":["import { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface CheckboxGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function CheckboxGroup({ children, ...props }: CheckboxGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n"],"names":["CheckboxGroup","_ref","children","props","_objectWithoutProperties","_excluded","_jsx","Styled.Group"],"mappings":"gNAQO,SAASA,EAA0DC,GAAA,IAA5CC,SAAEA,GAA0CD,EAA7BE,EAA6BC,EAAAH,EAAAI,GACxE,OAAOC,EAACC,SAAiBJ,GAAlB,GAAA,CAAAD,SAA0BA"}
@@ -1,2 +1,2 @@
1
- import e from'@babel/runtime/helpers/esm/taggedTemplateLiteral';import i,{css as n}from'styled-components';import o from'tinycolor2';import{screenMaxS as r}from'../../mixins/screen.js';var l;var t=function(e){var i=arguments.length>0&&void 0!==e?e:14;return n(["font-size:","px;svg{width:","px;height:","px;}"],i,i,i)};var s=n(["cursor:not-allowed;color:#d4d4d4;svg{circle:nth-child(1){stroke:#d4d4d4;}circle:nth-child(2){fill:#d4d4d4;}}span.label{cursor:not-allowed;}"]);var a=n(["svg{> rect{fill:",";stroke:",";}g > rect{fill:",";}}"],(e=>o(e.theme.colors.pomegranate).setAlpha(.1).toString()),(e=>e.theme.colors.pomegranate),(e=>e.theme.colors.pomegranate));var p=i.label.withConfig({shouldForwardProp:e=>!['size','error'].includes(e)}).withConfig({componentId:"fox-ui__sc-9s6oap-0"})(["display:inline-flex;align-items:baseline;user-select:none;cursor:pointer;svg{position:relative;top:2px;flex-shrink:0;g{opacity:0;transition:all 0.2s ease;}}& + &{margin-left:15px;}input{display:none;appearance:none;&:checked + svg{g{opacity:1;transform:scale(1);}}}span.label{margin-left:10px;cursor:pointer;}"," "," "," "," "," ",""],(e=>'small'===e.size||'s'===e.size?t(14):null),(e=>'medium'===e.size||'m'===e.size?t(16):null),(e=>'large'===e.size||'l'===e.size?t(18):null),(e=>'extraLarge'===e.size||'xl'===e.size?t(20):null),(e=>e.disabled?s:null),(e=>e.error?a:null));var c=i.div.withConfig({shouldForwardProp:e=>'inline'!==e}).withConfig({componentId:"fox-ui__sc-9s6oap-1"})(["display:flex;flex-direction:column;line-height:normal;> ","{margin-left:0;&:not(:first-child){margin-top:15px;}}",""],p,(i=>i.inline?n(["flex-direction:row;&&& > ","{margin-top:0;}> "," + ","{margin-left:15px;}",""],p,p,p,r()(l||(l=e(["\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > "," + "," {\n margin-left: 0;\n margin-top: 15px;\n }\n "])),p,p)):null));export{c as Group,p as Root};
1
+ import e from'@babel/runtime/helpers/taggedTemplateLiteral';import i,{css as n}from'styled-components';import o from'tinycolor2';import{screenMaxS as r}from'../../mixins/screen.js';var l;var t=function(e){var i=arguments.length>0&&void 0!==e?e:14;return n(["font-size:","px;svg{width:","px;height:","px;}"],i,i,i)};var a=n(["cursor:not-allowed;color:#d4d4d4;svg{circle:nth-child(1){stroke:#d4d4d4;}circle:nth-child(2){fill:#d4d4d4;}}span.label{cursor:not-allowed;}"]);var s=n(["svg{> rect{fill:",";stroke:",";}g > rect{fill:",";}}"],(e=>o(e.theme.colors.pomegranate).setAlpha(.1).toString()),(e=>e.theme.colors.pomegranate),(e=>e.theme.colors.pomegranate));var p=i.label.withConfig({shouldForwardProp:e=>!['size','error'].includes(e)}).withConfig({componentId:"fox-ui__sc-9s6oap-0"})(["display:inline-flex;align-items:baseline;user-select:none;cursor:pointer;svg{position:relative;top:2px;flex-shrink:0;g{opacity:0;transition:all 0.2s ease;}}& + &{margin-left:15px;}input{display:none;appearance:none;&:checked + svg{g{opacity:1;transform:scale(1);}}}span.label{margin-left:10px;cursor:pointer;}"," "," "," "," "," ",""],(e=>'small'===e.size||'s'===e.size?t(14):null),(e=>'medium'===e.size||'m'===e.size?t(16):null),(e=>'large'===e.size||'l'===e.size?t(18):null),(e=>'extraLarge'===e.size||'xl'===e.size?t(20):null),(e=>e.disabled?a:null),(e=>e.error?s:null));var c=i.div.withConfig({shouldForwardProp:e=>'inline'!==e}).withConfig({componentId:"fox-ui__sc-9s6oap-1"})(["display:flex;flex-direction:column;line-height:normal;> ","{margin-left:0;&:not(:first-child){margin-top:15px;}}",""],p,(i=>i.inline?n(["flex-direction:row;&&& > ","{margin-top:0;}> "," + ","{margin-left:15px;}",""],p,p,p,r()(l||(l=e(["\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > "," + "," {\n margin-left: 0;\n margin-top: 15px;\n }\n "])),p,p)):null));export{c as Group,p as Root};
2
2
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/Checkbox/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { screenMaxS } from 'mixins/screen'\nimport { CheckboxGroupProps } from './Group'\nimport { CheckboxProps } from './Checkbox'\n\nconst sizeCheckbox = (size = 14) => css`\n font-size: ${size}px;\n svg {\n width: ${size}px;\n height: ${size}px;\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n color: #d4d4d4;\n svg {\n circle:nth-child(1) {\n stroke: #d4d4d4;\n }\n circle:nth-child(2) {\n fill: #d4d4d4;\n }\n }\n span.label {\n cursor: not-allowed;\n }\n`\n\nconst error = css`\n svg {\n > rect {\n fill: ${(props) => tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n stroke: ${(props) => props.theme.colors.pomegranate};\n }\n g > rect {\n fill: ${(props) => props.theme.colors.pomegranate};\n }\n }\n`\n\nexport const Root = styled.label.withConfig<CheckboxProps>({\n shouldForwardProp: (prop) => !['size', 'error'].includes(prop),\n})`\n display: inline-flex;\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n svg {\n position: relative;\n top: 2px;\n flex-shrink: 0;\n g {\n opacity: 0;\n transition: all 0.2s ease;\n }\n }\n & + & {\n margin-left: 15px;\n }\n input {\n display: none;\n appearance: none;\n &:checked + svg {\n g {\n opacity: 1;\n transform: scale(1);\n }\n }\n }\n span.label {\n margin-left: 10px;\n cursor: pointer;\n }\n ${(props) => (props.size === 'small' || props.size === 's' ? sizeCheckbox(14) : null)}\n ${(props) => (props.size === 'medium' || props.size === 'm' ? sizeCheckbox(16) : null)}\n ${(props) => (props.size === 'large' || props.size === 'l' ? sizeCheckbox(18) : null)}\n ${(props) => (props.size === 'extraLarge' || props.size === 'xl' ? sizeCheckbox(20) : null)}\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.error ? error : null)}\n`\n\nexport const Group = styled.div.withConfig<CheckboxGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n display: flex;\n flex-direction: column;\n line-height: normal;\n > ${Root} {\n margin-left: 0;\n &:not(:first-child) {\n margin-top: 15px;\n }\n }\n ${(props) =>\n props.inline\n ? css`\n flex-direction: row;\n &&& > ${Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 0;\n margin-top: 15px;\n }\n `}\n `\n : null}\n`\n"],"names":["sizeCheckbox","e","size","css","disabled","error","props","tinycolor","theme","colors","pomegranate","setAlpha","toString","Root","styled","label","withConfig","shouldForwardProp","prop","includes","componentId","Group","div","inline","screenMaxS","_templateObject","_taggedTemplateLiteral"],"mappings":"+LAMA,IAAMA,EAAe,SAAAC,GAAA,IAACC,+BAADD,EAAAA,EAAQ,GAAR,OAAeE,EACrBD,CAAAA,aAAAA,gBAAAA,aAAAA,QAAAA,EAEFA,EACCA,IAId,IAAME,EAAWD,EAAjB,CAAA,gJAgBA,IAAME,EAAQF,4DAGCG,GAAUC,EAAUD,EAAME,MAAMC,OAAOC,aAAaC,SAAS,IAAKC,aAChEN,GAAUA,EAAME,MAAMC,OAAOC,cAG/BJ,GAAUA,EAAME,MAAMC,OAAOC,cAKrC,IAAMG,EAAOC,EAAOC,MAAMC,WAA0B,CACzDC,kBAAoBC,IAAU,CAAC,OAAQ,SAASC,SAASD,KAD1CF,WAAA,CAAAI,YAAA,uBAAGN,CAiCfR,CAAAA,wTAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,KAAAA,GAA0B,UAAfA,EAAMJ,MAAmC,MAAfI,EAAMJ,KAAeF,EAAa,IAAM,OAC7EM,GAA0B,WAAfA,EAAMJ,MAAoC,MAAfI,EAAMJ,KAAeF,EAAa,IAAM,OAC9EM,GAA0B,UAAfA,EAAMJ,MAAmC,MAAfI,EAAMJ,KAAeF,EAAa,IAAM,OAC7EM,GAA0B,eAAfA,EAAMJ,MAAwC,OAAfI,EAAMJ,KAAgBF,EAAa,IAAM,OACnFM,GAAWA,EAAMF,SAAWA,EAAW,OACvCE,GAAWA,EAAMD,MAAQA,EAAQ,OAG/B,IAAMgB,EAAQP,EAAOQ,IAAIN,WAA+B,CAC7DC,kBAAoBC,GAAkB,WAATA,IADbF,WAAA,CAAAI,YAAA,uBAAGN,CAMfD,CAAAA,2DAAAA,wDAAAA,IAAAA,GAMDP,GACDA,EAAMiB,OACFpB,EADJ,CAAA,4BAAA,oBAAA,MAAA,sBAAA,IAGcU,EAGJA,EAAUA,EAGZW,GAAAA,CATRC,IAAAA,EAAAC,EAAA,CAAA,8HAAA,MAAA,mGAcYb,EAAUA,IAMlB"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/Checkbox/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { screenMaxS } from 'mixins/screen'\nimport { CheckboxGroupProps } from './Group'\nimport { CheckboxProps } from './Checkbox'\n\nconst sizeCheckbox = (size = 14) => css`\n font-size: ${size}px;\n svg {\n width: ${size}px;\n height: ${size}px;\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n color: #d4d4d4;\n svg {\n circle:nth-child(1) {\n stroke: #d4d4d4;\n }\n circle:nth-child(2) {\n fill: #d4d4d4;\n }\n }\n span.label {\n cursor: not-allowed;\n }\n`\n\nconst error = css`\n svg {\n > rect {\n fill: ${(props) => tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n stroke: ${(props) => props.theme.colors.pomegranate};\n }\n g > rect {\n fill: ${(props) => props.theme.colors.pomegranate};\n }\n }\n`\n\nexport const Root = styled.label.withConfig<CheckboxProps>({\n shouldForwardProp: (prop) => !['size', 'error'].includes(prop),\n})`\n display: inline-flex;\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n svg {\n position: relative;\n top: 2px;\n flex-shrink: 0;\n g {\n opacity: 0;\n transition: all 0.2s ease;\n }\n }\n & + & {\n margin-left: 15px;\n }\n input {\n display: none;\n appearance: none;\n &:checked + svg {\n g {\n opacity: 1;\n transform: scale(1);\n }\n }\n }\n span.label {\n margin-left: 10px;\n cursor: pointer;\n }\n ${(props) => (props.size === 'small' || props.size === 's' ? sizeCheckbox(14) : null)}\n ${(props) => (props.size === 'medium' || props.size === 'm' ? sizeCheckbox(16) : null)}\n ${(props) => (props.size === 'large' || props.size === 'l' ? sizeCheckbox(18) : null)}\n ${(props) => (props.size === 'extraLarge' || props.size === 'xl' ? sizeCheckbox(20) : null)}\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.error ? error : null)}\n`\n\nexport const Group = styled.div.withConfig<CheckboxGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n display: flex;\n flex-direction: column;\n line-height: normal;\n > ${Root} {\n margin-left: 0;\n &:not(:first-child) {\n margin-top: 15px;\n }\n }\n ${(props) =>\n props.inline\n ? css`\n flex-direction: row;\n &&& > ${Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 0;\n margin-top: 15px;\n }\n `}\n `\n : null}\n`\n"],"names":["sizeCheckbox","e","size","css","disabled","error","props","tinycolor","theme","colors","pomegranate","setAlpha","toString","Root","styled","label","withConfig","shouldForwardProp","prop","includes","componentId","Group","div","inline","screenMaxS","_templateObject","_taggedTemplateLiteral"],"mappings":"2LAMA,IAAMA,EAAe,SAAAC,GAAA,IAACC,+BAADD,EAAAA,EAAQ,GAAR,OAAeE,EACrBD,CAAAA,aAAAA,gBAAAA,aAAAA,QAAAA,EAEFA,EACCA,IAId,IAAME,EAAWD,EAAjB,CAAA,gJAgBA,IAAME,EAAQF,4DAGCG,GAAUC,EAAUD,EAAME,MAAMC,OAAOC,aAAaC,SAAS,IAAKC,aAChEN,GAAUA,EAAME,MAAMC,OAAOC,cAG/BJ,GAAUA,EAAME,MAAMC,OAAOC,cAKrC,IAAMG,EAAOC,EAAOC,MAAMC,WAA0B,CACzDC,kBAAoBC,IAAU,CAAC,OAAQ,SAASC,SAASD,KAD1CF,WAAA,CAAAI,YAAA,uBAAGN,CAiCfR,CAAAA,wTAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,KAAAA,GAA0B,UAAfA,EAAMJ,MAAmC,MAAfI,EAAMJ,KAAeF,EAAa,IAAM,OAC7EM,GAA0B,WAAfA,EAAMJ,MAAoC,MAAfI,EAAMJ,KAAeF,EAAa,IAAM,OAC9EM,GAA0B,UAAfA,EAAMJ,MAAmC,MAAfI,EAAMJ,KAAeF,EAAa,IAAM,OAC7EM,GAA0B,eAAfA,EAAMJ,MAAwC,OAAfI,EAAMJ,KAAgBF,EAAa,IAAM,OACnFM,GAAWA,EAAMF,SAAWA,EAAW,OACvCE,GAAWA,EAAMD,MAAQA,EAAQ,OAG/B,IAAMgB,EAAQP,EAAOQ,IAAIN,WAA+B,CAC7DC,kBAAoBC,GAAkB,WAATA,IADbF,WAAA,CAAAI,YAAA,uBAAGN,CAMfD,CAAAA,2DAAAA,wDAAAA,IAAAA,GAMDP,GACDA,EAAMiB,OACFpB,EADJ,CAAA,4BAAA,oBAAA,MAAA,sBAAA,IAGcU,EAGJA,EAAUA,EAGZW,GAAAA,CATRC,IAAAA,EAAAC,EAAA,CAAA,8HAAA,MAAA,mGAcYb,EAAUA,IAMlB"}
@@ -1,2 +1,2 @@
1
- import r from'@babel/runtime/helpers/esm/objectSpread2';import{Root as e}from'./style.js';import{jsx as t}from'react/jsx-runtime';function o(o){return t(e,r({},o))}o.displayName='Container';export{o as Container};
1
+ import r from'@babel/runtime/helpers/objectSpread2';import{Root as e}from'./style.js';import{jsx as t}from'react/jsx-runtime';function o(o){return t(e,r({},o))}o.displayName='Container';export{o as Container};
2
2
  //# sourceMappingURL=Container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sources":["../../../../src/components/Container/Container.tsx"],"sourcesContent":["import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ContainerProps extends BaseProps, Display, Color {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Container has no maximum width.\n */\n fluid?: boolean\n /**\n * Align container text.\n */\n textAlign?: 'left' | 'center' | 'right' | 'justified'\n}\n\nContainer.displayName = 'Container'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Container(props: ContainerProps) {\n return <Styled.Root {...props} />\n}\n"],"names":["Container","props","_jsx","Styled.Root","_objectSpread","displayName"],"mappings":"kIA+BO,SAASA,EAAUC,GACxB,OAAOC,EAACC,EAADC,EAAA,GAAiBH,IAT1BD,EAAUK,YAAc"}
1
+ {"version":3,"file":"Container.js","sources":["../../../../src/components/Container/Container.tsx"],"sourcesContent":["import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ContainerProps extends BaseProps, Display, Color {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Container has no maximum width.\n */\n fluid?: boolean\n /**\n * Align container text.\n */\n textAlign?: 'left' | 'center' | 'right' | 'justified'\n}\n\nContainer.displayName = 'Container'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Container(props: ContainerProps) {\n return <Styled.Root {...props} />\n}\n"],"names":["Container","props","_jsx","Styled.Root","_objectSpread","displayName"],"mappings":"8HA+BO,SAASA,EAAUC,GACxB,OAAOC,EAACC,EAADC,EAAA,GAAiBH,IAT1BD,EAAUK,YAAc"}
@@ -1,2 +1,2 @@
1
- import i from'@babel/runtime/helpers/esm/taggedTemplateLiteral';import o,{css as n}from'styled-components';import{display as s}from'../../mixins/display.js';import{color as l}from'../../mixins/color.js';import{screenL as r,screenM as a,screenMaxS as e}from'../../mixins/screen.js';var t,d,p;var m=o.div.withConfig({shouldForwardProp:i=>['children','className','style'].includes(i)}).withConfig({componentId:"fox-ui__sc-yg4y35-0"})(["display:block;width:100%;max-width:","px;margin:0 auto;padding:0 50px;box-sizing:border-box;"," "," "," "," "," "," ",""],(i=>i.theme.breakpoints.l-100+100),(i=>i.display?s(i.display):null),(i=>i.color?l(i.color,'background-color'):null),(i=>i.textAlign?n(["text-align:",";"],i.textAlign):null),(i=>i.fluid?n(["max-width:100%;"]):null),r()(t||(t=i(["\n padding: 0 42px;\n "]))),a()(d||(d=i(["\n padding: 0 28px;\n "]))),e()(p||(p=i(["\n padding: 0 20px;\n "]))));export{m as Root};
1
+ import i from'@babel/runtime/helpers/taggedTemplateLiteral';import o,{css as n}from'styled-components';import{display as s}from'../../mixins/display.js';import{color as l}from'../../mixins/color.js';import{screenL as r,screenM as a,screenMaxS as e}from'../../mixins/screen.js';var t,d,p;var m=o.div.withConfig({shouldForwardProp:i=>['children','className','style'].includes(i)}).withConfig({componentId:"fox-ui__sc-yg4y35-0"})(["display:block;width:100%;max-width:","px;margin:0 auto;padding:0 50px;box-sizing:border-box;"," "," "," "," "," "," ",""],(i=>i.theme.breakpoints.l-100+100),(i=>i.display?s(i.display):null),(i=>i.color?l(i.color,'background-color'):null),(i=>i.textAlign?n(["text-align:",";"],i.textAlign):null),(i=>i.fluid?n(["max-width:100%;"]):null),r()(t||(t=i(["\n padding: 0 42px;\n "]))),a()(d||(d=i(["\n padding: 0 28px;\n "]))),e()(p||(p=i(["\n padding: 0 20px;\n "]))));export{m as Root};
2
2
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/Container/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { color } from '../../mixins/color'\nimport { screenL, screenM, screenMaxS } from '../../mixins/screen'\nimport { ContainerProps } from './Container'\n\nexport const Root = styled.div.withConfig<ContainerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n display: block;\n width: 100%;\n max-width: ${(props) => props.theme.breakpoints.l - 100 + 2 * 50}px;\n margin: 0 auto;\n padding: 0 50px;\n box-sizing: border-box;\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) =>\n props.fluid\n ? css`\n max-width: 100%;\n `\n : null}\n ${screenL()`\n padding: 0 42px;\n `}\n ${screenM()`\n padding: 0 28px;\n `}\n ${screenMaxS()`\n padding: 0 20px;\n `}\n`\n"],"names":["Root","styled","div","withConfig","shouldForwardProp","prop","includes","componentId","props","theme","breakpoints","l","display","color","textAlign","css","fluid","screenL","screenM","screenMaxS","_templateObject3","_taggedTemplateLiteral"],"mappings":"mSAMO,IAAMA,EAAOC,EAAOC,IAAIC,WAA2B,CACxDC,kBAAoBC,GAAS,CAAC,WAAY,YAAa,SAASC,SAASD,KAD1DF,WAAA,CAAAI,YAAA,uBAAGN,CAAH,CAAA,sCAAA,yDAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAKDO,GAAUA,EAAMC,MAAMC,YAAYC,EAAI,IAAM,MAIvDH,GAAWA,EAAMI,QAAUA,EAAQJ,EAAMI,SAAW,OACpDJ,GAAWA,EAAMK,MAAQA,EAAML,EAAMK,MAAO,oBAAsB,OAClEL,GACDA,EAAMM,UACFC,sBACgBP,EAAMM,WAEtB,OACHN,GACDA,EAAMQ,MACFD,EAGA,CAAA,oBAAA,MACJE,GAAAA,CAGAC,IAAAA,EAAAA,EAAAA,CAAAA,iCAAAA,GAAAA,CAGAC,IAAAA,EAAAA,EAAAA,CAAAA,iCAAAA,GAAAA,CA7BGC,IAAAA,EAAAC,EAAA,CAAA"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/Container/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { color } from '../../mixins/color'\nimport { screenL, screenM, screenMaxS } from '../../mixins/screen'\nimport { ContainerProps } from './Container'\n\nexport const Root = styled.div.withConfig<ContainerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n display: block;\n width: 100%;\n max-width: ${(props) => props.theme.breakpoints.l - 100 + 2 * 50}px;\n margin: 0 auto;\n padding: 0 50px;\n box-sizing: border-box;\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) =>\n props.fluid\n ? css`\n max-width: 100%;\n `\n : null}\n ${screenL()`\n padding: 0 42px;\n `}\n ${screenM()`\n padding: 0 28px;\n `}\n ${screenMaxS()`\n padding: 0 20px;\n `}\n`\n"],"names":["Root","styled","div","withConfig","shouldForwardProp","prop","includes","componentId","props","theme","breakpoints","l","display","color","textAlign","css","fluid","screenL","screenM","screenMaxS","_templateObject3","_taggedTemplateLiteral"],"mappings":"+RAMO,IAAMA,EAAOC,EAAOC,IAAIC,WAA2B,CACxDC,kBAAoBC,GAAS,CAAC,WAAY,YAAa,SAASC,SAASD,KAD1DF,WAAA,CAAAI,YAAA,uBAAGN,CAAH,CAAA,sCAAA,yDAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAKDO,GAAUA,EAAMC,MAAMC,YAAYC,EAAI,IAAM,MAIvDH,GAAWA,EAAMI,QAAUA,EAAQJ,EAAMI,SAAW,OACpDJ,GAAWA,EAAMK,MAAQA,EAAML,EAAMK,MAAO,oBAAsB,OAClEL,GACDA,EAAMM,UACFC,sBACgBP,EAAMM,WAEtB,OACHN,GACDA,EAAMQ,MACFD,EAGA,CAAA,oBAAA,MACJE,GAAAA,CAGAC,IAAAA,EAAAA,EAAAA,CAAAA,iCAAAA,GAAAA,CAGAC,IAAAA,EAAAA,EAAAA,CAAAA,iCAAAA,GAAAA,CA7BGC,IAAAA,EAAAC,EAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import e from'@babel/runtime/helpers/esm/objectSpread2';import{PureComponent as t,cloneElement as s}from'react';import{ContextMenuMultiLevel as o}from'../ContextMenu.Multilevel/ContextMenu.Multilevel.js';import{Tooltip as i}from'../Tooltip/Tooltip.js';import{ContextMenuItem as r}from'./Item.js';import{Root as n}from'./style.js';import{tooltipStyles as p}from'./tooltip-styles.js';import{jsx as l}from'react/jsx-runtime';class a extends t{constructor(e){super(e),this.getOpen=()=>{var{isOpen:e}=this.props;return void 0!==e?e:this.state.isOpen||!1},this.openMenu=e=>{this.setState({isOpen:!0});var{onOpen:t}=this.props;t&&t(e)},this.closeMenu=e=>{this.setState({isOpen:!1});var{onClose:t}=this.props;t&&t(e)},this.toggleMenu=e=>{var{openMenu:t,closeMenu:s}=this;var o=this.getOpen();return e.persist(),e.preventDefault(),e.stopPropagation(),o?s(e):t(e),!1},this.state={isOpen:this.props.isOpen||!1}}render(){var{className:t,tooltipProps:o={},trigger:r,children:p,hideOverlay:a}=this.props;var m=this.getOpen();return p&&(o.content=p),l(n,{className:t,isOpen:m,onClick:this.toggleMenu,hideOverlay:a,children:l(i,e(e({},o),{},{open:m,children:l("div",{onClick:this.closeMenu,children:r&&s(r,{active:m})})}))})}}a.Item=r,a.MultiLevel=o,a.displayName='ContextMenu',a.defaultProps={tooltipProps:{event:'click',placement:'left-start',offset:2,showCloseButton:!1,styles:p},hideOverlay:!1};export{a as ContextMenu};
1
+ import e from'@babel/runtime/helpers/objectSpread2';import{PureComponent as t,cloneElement as s}from'react';import{ContextMenuMultiLevel as o}from'../ContextMenu.Multilevel/ContextMenu.Multilevel.js';import{Tooltip as i}from'../Tooltip/Tooltip.js';import{ContextMenuItem as r}from'./Item.js';import{Root as n}from'./style.js';import{tooltipStyles as p}from'./tooltip-styles.js';import{jsx as l}from'react/jsx-runtime';class a extends t{constructor(e){super(e),this.getOpen=()=>{var{isOpen:e}=this.props;return void 0!==e?e:this.state.isOpen||!1},this.openMenu=e=>{this.setState({isOpen:!0});var{onOpen:t}=this.props;t&&t(e)},this.closeMenu=e=>{this.setState({isOpen:!1});var{onClose:t}=this.props;t&&t(e)},this.toggleMenu=e=>{var{openMenu:t,closeMenu:s}=this;var o=this.getOpen();return e.persist(),e.preventDefault(),e.stopPropagation(),o?s(e):t(e),!1},this.state={isOpen:this.props.isOpen||!1}}render(){var{className:t,tooltipProps:o={},trigger:r,children:p,hideOverlay:a}=this.props;var u=this.getOpen();return p&&(o.content=p),l(n,{className:t,isOpen:u,onClick:this.toggleMenu,hideOverlay:a,children:l(i,e(e({},o),{},{open:u,children:l("div",{onClick:this.closeMenu,children:r&&s(r,{active:u})})}))})}}a.Item=r,a.MultiLevel=o,a.displayName='ContextMenu',a.defaultProps={tooltipProps:{event:'click',placement:'left-start',offset:2,showCloseButton:!1,styles:p},hideOverlay:!1};export{a as ContextMenu};
2
2
  //# sourceMappingURL=ContextMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.js","sources":["../../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["/* eslint-disable no-use-before-define */\nimport { cloneElement, PureComponent } from 'react'\nimport { ContextMenuMultiLevel } from '../../components/ContextMenu.Multilevel'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Tooltip } from './../Tooltip'\nimport { ContextMenuItem } from './Item'\nimport * as Styled from './style'\nimport { tooltipStyles } from './tooltip-styles'\n\nexport interface ContextMenuProps extends BaseProps {\n /**\n * Children react node\n */\n children: React.ReactNode\n /** Indicates if button is active (e.g. when context menu is open) */\n onClick?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Manually controled state */\n isOpen?: boolean\n /** On open menu callback */\n onOpen?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** On close menu callback */\n onClose?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Content */\n trigger?: React.ReactNode\n /** Properties for inner Tooltip component */\n tooltipProps?: Partial<Parameters<typeof Tooltip>[0]>\n /** Hide overlay for debug */\n hideOverlay?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenu extends PureComponent<ContextMenuProps, { isOpen: boolean }> {\n static Item = ContextMenuItem\n static MultiLevel = ContextMenuMultiLevel\n static displayName = 'ContextMenu'\n\n static defaultProps = {\n tooltipProps: {\n event: 'click',\n placement: 'left-start',\n offset: 2,\n showCloseButton: false,\n styles: tooltipStyles,\n },\n hideOverlay: false,\n }\n\n constructor(props: ContextMenuProps) {\n super(props)\n\n this.state = {\n isOpen: this.props.isOpen || false,\n }\n }\n\n getOpen = () => {\n const { isOpen } = this.props\n\n if (isOpen !== undefined) return isOpen\n\n return this.state.isOpen || false\n }\n\n openMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: true })\n\n const { onOpen } = this.props\n\n onOpen && onOpen(e)\n }\n\n closeMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: false })\n\n const { onClose } = this.props\n\n onClose && onClose(e)\n }\n\n toggleMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n const { openMenu, closeMenu } = this\n const isOpen = this.getOpen()\n\n e.persist()\n e.preventDefault()\n e.stopPropagation()\n\n isOpen ? closeMenu(e) : openMenu(e)\n\n return false\n }\n\n render() {\n const { className, tooltipProps = {}, trigger, children, hideOverlay } = this.props\n const isOpen = this.getOpen()\n\n if (children) tooltipProps.content = children\n\n return (\n <Styled.Root className={className} isOpen={isOpen} onClick={this.toggleMenu} hideOverlay={hideOverlay}>\n <Tooltip {...tooltipProps} open={isOpen}>\n <div onClick={this.closeMenu}>{trigger && cloneElement(trigger as any, { active: isOpen })}</div>\n </Tooltip>\n </Styled.Root>\n )\n }\n}\n"],"names":["ContextMenu","PureComponent","constructor","props","super","this","getOpen","isOpen","state","openMenu","e","setState","onOpen","closeMenu","onClose","toggleMenu","persist","preventDefault","stopPropagation","render","className","tooltipProps","trigger","children","hideOverlay","content","_jsx","Styled.Root","onClick","Tooltip","_objectSpread","open","cloneElement","active","Item","ContextMenuItem","MultiLevel","ContextMenuMultiLevel","displayName","defaultProps","event","placement","offset","showCloseButton","styles","tooltipStyles"],"mappings":"saAkCO,MAAMA,UAAoBC,EAgB/BC,YAAYC,GACVC,MAAMD,GAD6BE,KAQrCC,QAAU,KACR,IAAMC,OAAEA,GAAWF,KAAKF,MAExB,gBAAII,EAA6BA,EAE1BF,KAAKG,MAAMD,YAbiBF,KAgBrCI,SAAYC,IACVL,KAAKM,SAAS,CAAEJ,QAAAA,IAEhB,IAAMK,OAAEA,GAAWP,KAAKF,MAExBS,GAAUA,EAAOF,IArBkBL,KAwBrCQ,UAAaH,IACXL,KAAKM,SAAS,CAAEJ,YAEhB,IAAMO,QAAEA,GAAYT,KAAKF,MAEzBW,GAAWA,EAAQJ,IA7BgBL,KAgCrCU,WAAcL,IACZ,IAAMD,SAAEA,EAAFI,UAAYA,GAAcR,KAChC,IAAME,EAASF,KAAKC,UAQpB,OANAI,EAAEM,UACFN,EAAEO,iBACFP,EAAEQ,kBAEFX,EAASM,EAAUH,GAAKD,EAASC,OArCjCL,KAAKG,MAAQ,CACXD,OAAQF,KAAKF,MAAMI,SAAAA,GAyCvBY,SACE,IAAMC,UAAEA,EAAFC,aAAaA,EAAe,GAA5BC,QAAgCA,EAAhCC,SAAyCA,EAAzCC,YAAmDA,GAAgBnB,KAAKF,MAC9E,IAAMI,EAASF,KAAKC,UAIpB,OAFIiB,IAAUF,EAAaI,QAAUF,GAGnCG,EAACC,EAAD,CAAaP,UAAWA,EAAWb,OAAQA,EAAQqB,QAASvB,KAAKU,WAAYS,YAAaA,EAA1FD,SACEG,EAACG,EAADC,EAAAA,EAAA,GAAaT,GAAb,GAAA,CAA2BU,KAAMxB,EAAjCgB,SACEG,EAAA,MAAA,CAAKE,QAASvB,KAAKQ,UAAnBU,SAA+BD,GAAWU,EAAaV,EAAgB,CAAEW,OAAQ1B,YAtE9EP,EACJkC,KAAOC,EADHnC,EAEJoC,WAAaC,EAFTrC,EAGJsC,YAAc,cAHVtC,EAKJuC,aAAe,CACpBlB,aAAc,CACZmB,MAAO,QACPC,UAAW,aACXC,OAAQ,EACRC,mBACAC,OAAQC,GAEVrB,aAAAA"}
1
+ {"version":3,"file":"ContextMenu.js","sources":["../../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["/* eslint-disable no-use-before-define */\nimport { cloneElement, PureComponent } from 'react'\nimport { ContextMenuMultiLevel } from '../../components/ContextMenu.Multilevel'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Tooltip } from './../Tooltip'\nimport { ContextMenuItem } from './Item'\nimport * as Styled from './style'\nimport { tooltipStyles } from './tooltip-styles'\n\nexport interface ContextMenuProps extends BaseProps {\n /**\n * Children react node\n */\n children: React.ReactNode\n /** Indicates if button is active (e.g. when context menu is open) */\n onClick?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Manually controled state */\n isOpen?: boolean\n /** On open menu callback */\n onOpen?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** On close menu callback */\n onClose?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Content */\n trigger?: React.ReactNode\n /** Properties for inner Tooltip component */\n tooltipProps?: Partial<Parameters<typeof Tooltip>[0]>\n /** Hide overlay for debug */\n hideOverlay?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenu extends PureComponent<ContextMenuProps, { isOpen: boolean }> {\n static Item = ContextMenuItem\n static MultiLevel = ContextMenuMultiLevel\n static displayName = 'ContextMenu'\n\n static defaultProps = {\n tooltipProps: {\n event: 'click',\n placement: 'left-start',\n offset: 2,\n showCloseButton: false,\n styles: tooltipStyles,\n },\n hideOverlay: false,\n }\n\n constructor(props: ContextMenuProps) {\n super(props)\n\n this.state = {\n isOpen: this.props.isOpen || false,\n }\n }\n\n getOpen = () => {\n const { isOpen } = this.props\n\n if (isOpen !== undefined) return isOpen\n\n return this.state.isOpen || false\n }\n\n openMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: true })\n\n const { onOpen } = this.props\n\n onOpen && onOpen(e)\n }\n\n closeMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: false })\n\n const { onClose } = this.props\n\n onClose && onClose(e)\n }\n\n toggleMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n const { openMenu, closeMenu } = this\n const isOpen = this.getOpen()\n\n e.persist()\n e.preventDefault()\n e.stopPropagation()\n\n isOpen ? closeMenu(e) : openMenu(e)\n\n return false\n }\n\n render() {\n const { className, tooltipProps = {}, trigger, children, hideOverlay } = this.props\n const isOpen = this.getOpen()\n\n if (children) tooltipProps.content = children\n\n return (\n <Styled.Root className={className} isOpen={isOpen} onClick={this.toggleMenu} hideOverlay={hideOverlay}>\n <Tooltip {...tooltipProps} open={isOpen}>\n <div onClick={this.closeMenu}>{trigger && cloneElement(trigger as any, { active: isOpen })}</div>\n </Tooltip>\n </Styled.Root>\n )\n }\n}\n"],"names":["ContextMenu","PureComponent","constructor","props","super","this","getOpen","isOpen","state","openMenu","e","setState","onOpen","closeMenu","onClose","toggleMenu","persist","preventDefault","stopPropagation","render","className","tooltipProps","trigger","children","hideOverlay","content","_jsx","Styled.Root","onClick","Tooltip","_objectSpread","open","cloneElement","active","Item","ContextMenuItem","MultiLevel","ContextMenuMultiLevel","displayName","defaultProps","event","placement","offset","showCloseButton","styles","tooltipStyles"],"mappings":"kaAkCO,MAAMA,UAAoBC,EAgB/BC,YAAYC,GACVC,MAAMD,GAD6BE,KAQrCC,QAAU,KACR,IAAMC,OAAEA,GAAWF,KAAKF,MAExB,gBAAII,EAA6BA,EAE1BF,KAAKG,MAAMD,YAbiBF,KAgBrCI,SAAYC,IACVL,KAAKM,SAAS,CAAEJ,QAAAA,IAEhB,IAAMK,OAAEA,GAAWP,KAAKF,MAExBS,GAAUA,EAAOF,IArBkBL,KAwBrCQ,UAAaH,IACXL,KAAKM,SAAS,CAAEJ,YAEhB,IAAMO,QAAEA,GAAYT,KAAKF,MAEzBW,GAAWA,EAAQJ,IA7BgBL,KAgCrCU,WAAcL,IACZ,IAAMD,SAAEA,EAAFI,UAAYA,GAAcR,KAChC,IAAME,EAASF,KAAKC,UAQpB,OANAI,EAAEM,UACFN,EAAEO,iBACFP,EAAEQ,kBAEFX,EAASM,EAAUH,GAAKD,EAASC,OArCjCL,KAAKG,MAAQ,CACXD,OAAQF,KAAKF,MAAMI,SAAAA,GAyCvBY,SACE,IAAMC,UAAEA,EAAFC,aAAaA,EAAe,GAA5BC,QAAgCA,EAAhCC,SAAyCA,EAAzCC,YAAmDA,GAAgBnB,KAAKF,MAC9E,IAAMI,EAASF,KAAKC,UAIpB,OAFIiB,IAAUF,EAAaI,QAAUF,GAGnCG,EAACC,EAAD,CAAaP,UAAWA,EAAWb,OAAQA,EAAQqB,QAASvB,KAAKU,WAAYS,YAAaA,EAA1FD,SACEG,EAACG,EAADC,EAAAA,EAAA,GAAaT,GAAb,GAAA,CAA2BU,KAAMxB,EAAjCgB,SACEG,EAAA,MAAA,CAAKE,QAASvB,KAAKQ,UAAnBU,SAA+BD,GAAWU,EAAaV,EAAgB,CAAEW,OAAQ1B,YAtE9EP,EACJkC,KAAOC,EADHnC,EAEJoC,WAAaC,EAFTrC,EAGJsC,YAAc,cAHVtC,EAKJuC,aAAe,CACpBlB,aAAc,CACZmB,MAAO,QACPC,UAAW,aACXC,OAAQ,EACRC,mBACAC,OAAQC,GAEVrB,aAAAA"}
@@ -1,2 +1,2 @@
1
- import e from'@babel/runtime/helpers/esm/objectSpread2';import t from'@babel/runtime/helpers/esm/objectWithoutProperties';import{PureComponent as r}from'react';import{Spacer as i}from'../Spacer/Spacer.js';import{ContextMenu as n}from'../ContextMenu/ContextMenu.js';import{Heading as o}from'./Heading.js';import{SubHeading as s}from'./SubHeading.js';import{Controls as l}from'./Controls.js';import{MultilevelItems as a}from'./style.js';import{jsxs as m,Fragment as c,jsx as u}from'react/jsx-runtime';var p=["children","className","tooltipProps","isOpen","trigger"],d=["config","onSelectItem"];class h extends r{constructor(e){super(e),this.resetTimeout=void 0,this.onSelectItem=e=>{var{id:t,level:r}=e;var{selectedItems:i}=this.state;var n=[...i.slice(0,r),t];this.setState({selectedItems:n}),'function'==typeof this.props.onSelectItem&&this.props.onSelectItem(e,r)},this.getCurrentConfig=()=>{var{config:e}=this.props;var{selectedItems:t}=this.state;if(!e)return null;if(!t.length)return e;try{return t.reduce(((e,t)=>{var r;return e.items&&(null===(r=e.items.find((e=>e.id===t)))||void 0===r?void 0:r.config)||{}}),e)}catch(e){return null}},this.reset=()=>{this.resetTimeout=setTimeout((()=>this.setState({selectedItems:[]})),200)},this.itemOnClickHandler=e=>{var t=this.getCurrentConfig();if(!t)throw new Error('Config not found');var{items:r=[]}=t;var{currentTarget:i}=e;var{id:n=null}=i.dataset;if(null===n)throw new Error('Data-id for item not found');var o=r.find((e=>"".concat(e.id)===n));if(!o)throw new Error('Item not found');(o.config||o.preventClosing)&&(e.preventDefault(),e.stopPropagation()),o.config&&this.onSelectItem(o),'function'==typeof o.onClick&&o.onClick(o)},this.state={selectedItems:[]}}componentWillUnmount(){clearTimeout(this.resetTimeout)}render(){var r=this.props,{children:h,className:f,tooltipProps:g,isOpen:v,trigger:C}=r,I=t(r,p);var{selectedItems:S}=this.state;var j=this.getCurrentConfig();var b=t(I,d);return m(n,e(e({className:f,tooltipProps:g,isOpen:v,onClose:this.reset,trigger:C},b),{},{children:[h,m(c,{children:[u(i,{top:9}),null!=j&&j.heading?u(o,{content:j.heading}):null,null!=j&&j.subheading?u(s,{content:j.subheading}):null,null!=j&&j.items?u(a,{children:j.items.map((e=>u(n.Item,{id:e.id,content:e.content,active:e.level&&Boolean(S[e.level]===e.id)||e.active,onClick:this.itemOnClickHandler},e.id)))}):null,null!=j&&j.controls?u(l,e({},j.controls)):u(i,{top:9})]})]}))}}h.displayName='ContextMenu.MultiLevel',h.defaultProps={config:{}};export{h as ContextMenuMultiLevel};
1
+ import e from'@babel/runtime/helpers/objectSpread2';import t from'@babel/runtime/helpers/objectWithoutProperties';import{PureComponent as r}from'react';import{Spacer as i}from'../Spacer/Spacer.js';import{ContextMenu as n}from'../ContextMenu/ContextMenu.js';import{Heading as o}from'./Heading.js';import{SubHeading as s}from'./SubHeading.js';import{Controls as l}from'./Controls.js';import{MultilevelItems as a}from'./style.js';import{jsxs as c,Fragment as m,jsx as u}from'react/jsx-runtime';var p=["children","className","tooltipProps","isOpen","trigger"],d=["config","onSelectItem"];class h extends r{constructor(e){super(e),this.resetTimeout=void 0,this.onSelectItem=e=>{var{id:t,level:r}=e;var{selectedItems:i}=this.state;var n=[...i.slice(0,r),t];this.setState({selectedItems:n}),'function'==typeof this.props.onSelectItem&&this.props.onSelectItem(e,r)},this.getCurrentConfig=()=>{var{config:e}=this.props;var{selectedItems:t}=this.state;if(!e)return null;if(!t.length)return e;try{return t.reduce(((e,t)=>{var r;return e.items&&(null===(r=e.items.find((e=>e.id===t)))||void 0===r?void 0:r.config)||{}}),e)}catch(e){return null}},this.reset=()=>{this.resetTimeout=setTimeout((()=>this.setState({selectedItems:[]})),200)},this.itemOnClickHandler=e=>{var t=this.getCurrentConfig();if(!t)throw new Error('Config not found');var{items:r=[]}=t;var{currentTarget:i}=e;var{id:n=null}=i.dataset;if(null===n)throw new Error('Data-id for item not found');var o=r.find((e=>"".concat(e.id)===n));if(!o)throw new Error('Item not found');(o.config||o.preventClosing)&&(e.preventDefault(),e.stopPropagation()),o.config&&this.onSelectItem(o),'function'==typeof o.onClick&&o.onClick(o)},this.state={selectedItems:[]}}componentWillUnmount(){clearTimeout(this.resetTimeout)}render(){var r=this.props,{children:h,className:f,tooltipProps:g,isOpen:v,trigger:C}=r,I=t(r,p);var{selectedItems:S}=this.state;var j=this.getCurrentConfig();var b=t(I,d);return c(n,e(e({className:f,tooltipProps:g,isOpen:v,onClose:this.reset,trigger:C},b),{},{children:[h,c(m,{children:[u(i,{top:9}),null!=j&&j.heading?u(o,{content:j.heading}):null,null!=j&&j.subheading?u(s,{content:j.subheading}):null,null!=j&&j.items?u(a,{children:j.items.map((e=>u(n.Item,{id:e.id,content:e.content,active:e.level&&Boolean(S[e.level]===e.id)||e.active,onClick:this.itemOnClickHandler},e.id)))}):null,null!=j&&j.controls?u(l,e({},j.controls)):u(i,{top:9})]})]}))}}h.displayName='ContextMenu.MultiLevel',h.defaultProps={config:{}};export{h as ContextMenuMultiLevel};
2
2
  //# sourceMappingURL=ContextMenu.Multilevel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.Multilevel.js","sources":["../../../../src/components/ContextMenu.Multilevel/ContextMenu.Multilevel.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport { ColorNames } from '../../theme/colors'\nimport { Spacer } from '../../components/Spacer'\nimport { ContextMenu, ContextMenuProps } from '../ContextMenu/ContextMenu'\nimport { BaseProps, HEX, RGB, RGBA } from '../../shared/interfaces'\nimport { Heading } from './Heading'\nimport { SubHeading } from './SubHeading'\nimport { Controls } from './Controls'\nimport * as Styled from './style'\n\nexport interface MultiLevelControls {\n cancel?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n confirm?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n}\n\nexport interface MultiLevelItem {\n id: string | number\n heading?: string\n subheading?: string\n content?: string\n preventClosing?: boolean\n // eslint-disable-next-line no-use-before-define\n config?: MultiLevelConfig\n items?: MultiLevelItem[]\n controls?: MultiLevelControls\n level?: number\n active?: boolean\n onClick?(_item: MultiLevelItem): void\n}\n\nexport interface MultiLevelConfig {\n items?: MultiLevelItem[]\n heading?: string\n subheading?: string\n controls?: MultiLevelControls\n}\n\nexport interface ContextMenuMultiLevelProps extends ContextMenuProps, BaseProps {\n /** Menu config */\n config?: MultiLevelConfig\n /** On select item callback */\n onSelectItem?(_item: MultiLevelItem, _level: MultiLevelItem['level']): void\n}\n\ninterface ContextMenuMultiLevelState {\n selectedItems: (number | string)[]\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenuMultiLevel extends PureComponent<ContextMenuMultiLevelProps, ContextMenuMultiLevelState> {\n resetTimeout?: ReturnType<typeof setTimeout>\n static displayName = 'ContextMenu.MultiLevel'\n static defaultProps = {\n config: {},\n }\n\n constructor(props: ContextMenuMultiLevelProps) {\n super(props)\n\n this.state = {\n selectedItems: [],\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.resetTimeout)\n }\n\n onSelectItem = (selectedItem: MultiLevelItem) => {\n const { id, level } = selectedItem\n\n const { selectedItems } = this.state\n const newSelectedItems = [...selectedItems.slice(0, level), id]\n\n this.setState({ selectedItems: newSelectedItems })\n\n if (typeof this.props.onSelectItem === 'function') this.props.onSelectItem(selectedItem, level)\n }\n\n getCurrentConfig = (): MultiLevelConfig | null => {\n const { config } = this.props\n const { selectedItems } = this.state\n\n if (!config) return null\n\n if (!selectedItems.length) return config\n\n try {\n const currentConfig = selectedItems.reduce((acc, levelId) => {\n return acc.items ? acc.items.find((item) => item.id === levelId)?.config || {} : {}\n }, config)\n\n return currentConfig\n } catch (error) {\n return null\n }\n }\n\n reset = () => {\n /* Reset timeout to prevent state switch due to slow tooltip closing animation */\n this.resetTimeout = setTimeout(() => this.setState({ selectedItems: [] }), 200)\n }\n\n itemOnClickHandler: React.MouseEventHandler<HTMLDivElement> = (e) => {\n const config = this.getCurrentConfig()\n if (!config) throw new Error('Config not found')\n\n const { items = [] } = config\n const { currentTarget } = e\n\n const { id = null } = currentTarget.dataset\n\n if (id === null) throw new Error('Data-id for item not found')\n\n const item = items.find((item) => `${item.id}` === id)\n\n if (!item) throw new Error('Item not found')\n\n if (item.config || item.preventClosing) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n if (item.config) {\n /* If menu item has config - select item to show inner level */\n this.onSelectItem(item)\n }\n\n if (typeof item.onClick === 'function') {\n item.onClick(item)\n }\n }\n\n render() {\n const { children, className, tooltipProps, isOpen, trigger, ...anotherProps } = this.props\n const { selectedItems } = this.state\n const config = this.getCurrentConfig()\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { config: _config, onSelectItem: _onSelectItem, ...restProps } = anotherProps\n\n return (\n <ContextMenu\n className={className}\n tooltipProps={tooltipProps}\n isOpen={isOpen}\n onClose={this.reset}\n trigger={trigger}\n {...restProps}\n >\n {children}\n <>\n <Spacer top={9} />\n {config?.heading ? <Heading content={config.heading} /> : null}\n {config?.subheading ? <SubHeading content={config.subheading} /> : null}\n {config?.items ? (\n <Styled.MultilevelItems>\n {config.items.map((item) => (\n <ContextMenu.Item\n key={item.id}\n id={item.id}\n content={item.content}\n active={(item.level && Boolean(selectedItems[item.level] === item.id)) || item.active}\n onClick={this.itemOnClickHandler}\n />\n ))}\n </Styled.MultilevelItems>\n ) : null}\n {config?.controls ? <Controls {...config.controls} /> : <Spacer top={9} />}\n </>\n </ContextMenu>\n )\n }\n}\n"],"names":["ContextMenuMultiLevel","PureComponent","constructor","props","super","this","resetTimeout","onSelectItem","selectedItem","id","level","selectedItems","state","newSelectedItems","slice","setState","getCurrentConfig","config","length","reduce","acc","levelId","_acc$items$find","items","find","item","error","reset","setTimeout","itemOnClickHandler","e","Error","currentTarget","dataset","concat","preventClosing","preventDefault","stopPropagation","onClick","componentWillUnmount","clearTimeout","render","_this$props","children","className","tooltipProps","isOpen","trigger","anotherProps","_objectWithoutProperties","_excluded","restProps","_excluded2","_jsxs","ContextMenu","_objectSpread","onClose","_Fragment","_jsx","Spacer","top","heading","Heading","content","subheading","SubHeading","Styled.MultilevelItems","map","Item","active","Boolean","controls","Controls","displayName","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"ContextMenu.Multilevel.js","sources":["../../../../src/components/ContextMenu.Multilevel/ContextMenu.Multilevel.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport { ColorNames } from '../../theme/colors'\nimport { Spacer } from '../../components/Spacer'\nimport { ContextMenu, ContextMenuProps } from '../ContextMenu/ContextMenu'\nimport { BaseProps, HEX, RGB, RGBA } from '../../shared/interfaces'\nimport { Heading } from './Heading'\nimport { SubHeading } from './SubHeading'\nimport { Controls } from './Controls'\nimport * as Styled from './style'\n\nexport interface MultiLevelControls {\n cancel?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n confirm?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n}\n\nexport interface MultiLevelItem {\n id: string | number\n heading?: string\n subheading?: string\n content?: string\n preventClosing?: boolean\n // eslint-disable-next-line no-use-before-define\n config?: MultiLevelConfig\n items?: MultiLevelItem[]\n controls?: MultiLevelControls\n level?: number\n active?: boolean\n onClick?(_item: MultiLevelItem): void\n}\n\nexport interface MultiLevelConfig {\n items?: MultiLevelItem[]\n heading?: string\n subheading?: string\n controls?: MultiLevelControls\n}\n\nexport interface ContextMenuMultiLevelProps extends ContextMenuProps, BaseProps {\n /** Menu config */\n config?: MultiLevelConfig\n /** On select item callback */\n onSelectItem?(_item: MultiLevelItem, _level: MultiLevelItem['level']): void\n}\n\ninterface ContextMenuMultiLevelState {\n selectedItems: (number | string)[]\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenuMultiLevel extends PureComponent<ContextMenuMultiLevelProps, ContextMenuMultiLevelState> {\n resetTimeout?: ReturnType<typeof setTimeout>\n static displayName = 'ContextMenu.MultiLevel'\n static defaultProps = {\n config: {},\n }\n\n constructor(props: ContextMenuMultiLevelProps) {\n super(props)\n\n this.state = {\n selectedItems: [],\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.resetTimeout)\n }\n\n onSelectItem = (selectedItem: MultiLevelItem) => {\n const { id, level } = selectedItem\n\n const { selectedItems } = this.state\n const newSelectedItems = [...selectedItems.slice(0, level), id]\n\n this.setState({ selectedItems: newSelectedItems })\n\n if (typeof this.props.onSelectItem === 'function') this.props.onSelectItem(selectedItem, level)\n }\n\n getCurrentConfig = (): MultiLevelConfig | null => {\n const { config } = this.props\n const { selectedItems } = this.state\n\n if (!config) return null\n\n if (!selectedItems.length) return config\n\n try {\n const currentConfig = selectedItems.reduce((acc, levelId) => {\n return acc.items ? acc.items.find((item) => item.id === levelId)?.config || {} : {}\n }, config)\n\n return currentConfig\n } catch (error) {\n return null\n }\n }\n\n reset = () => {\n /* Reset timeout to prevent state switch due to slow tooltip closing animation */\n this.resetTimeout = setTimeout(() => this.setState({ selectedItems: [] }), 200)\n }\n\n itemOnClickHandler: React.MouseEventHandler<HTMLDivElement> = (e) => {\n const config = this.getCurrentConfig()\n if (!config) throw new Error('Config not found')\n\n const { items = [] } = config\n const { currentTarget } = e\n\n const { id = null } = currentTarget.dataset\n\n if (id === null) throw new Error('Data-id for item not found')\n\n const item = items.find((item) => `${item.id}` === id)\n\n if (!item) throw new Error('Item not found')\n\n if (item.config || item.preventClosing) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n if (item.config) {\n /* If menu item has config - select item to show inner level */\n this.onSelectItem(item)\n }\n\n if (typeof item.onClick === 'function') {\n item.onClick(item)\n }\n }\n\n render() {\n const { children, className, tooltipProps, isOpen, trigger, ...anotherProps } = this.props\n const { selectedItems } = this.state\n const config = this.getCurrentConfig()\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { config: _config, onSelectItem: _onSelectItem, ...restProps } = anotherProps\n\n return (\n <ContextMenu\n className={className}\n tooltipProps={tooltipProps}\n isOpen={isOpen}\n onClose={this.reset}\n trigger={trigger}\n {...restProps}\n >\n {children}\n <>\n <Spacer top={9} />\n {config?.heading ? <Heading content={config.heading} /> : null}\n {config?.subheading ? <SubHeading content={config.subheading} /> : null}\n {config?.items ? (\n <Styled.MultilevelItems>\n {config.items.map((item) => (\n <ContextMenu.Item\n key={item.id}\n id={item.id}\n content={item.content}\n active={(item.level && Boolean(selectedItems[item.level] === item.id)) || item.active}\n onClick={this.itemOnClickHandler}\n />\n ))}\n </Styled.MultilevelItems>\n ) : null}\n {config?.controls ? <Controls {...config.controls} /> : <Spacer top={9} />}\n </>\n </ContextMenu>\n )\n }\n}\n"],"names":["ContextMenuMultiLevel","PureComponent","constructor","props","super","this","resetTimeout","onSelectItem","selectedItem","id","level","selectedItems","state","newSelectedItems","slice","setState","getCurrentConfig","config","length","reduce","acc","levelId","_acc$items$find","items","find","item","error","reset","setTimeout","itemOnClickHandler","e","Error","currentTarget","dataset","concat","preventClosing","preventDefault","stopPropagation","onClick","componentWillUnmount","clearTimeout","render","_this$props","children","className","tooltipProps","isOpen","trigger","anotherProps","_objectWithoutProperties","_excluded","restProps","_excluded2","_jsxs","ContextMenu","_objectSpread","onClose","_Fragment","_jsx","Spacer","top","heading","Heading","content","subheading","SubHeading","Styled.MultilevelItems","map","Item","active","Boolean","controls","Controls","displayName","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Root as s}from'./style.js';import{defaultIcons as e}from'./icons.js';export{IconNames}from'./icons.js';import{jsxs as i,jsx as o}from'react/jsx-runtime';function l(l){var{name:n,icon:r,svg:z,pointer:t,color:a,size:c,sizeXS:m,sizeS:p,sizeM:L,sizeL:S,sizeXL:X,className:d,style:u,vAlign:y,children:f}=l;return n&&e[n]?i(s,{vAlign:y,color:a,pointer:t,className:d,size:c,sizeXS:m,sizeS:p,sizeM:L,sizeL:S,sizeXL:X,style:u,children:[o(e[n],{}),f]}):z?o(s,{vAlign:y,color:a,pointer:t,className:d,size:c,sizeXS:m,sizeS:p,sizeM:L,sizeL:S,sizeXL:X,style:u,dangerouslySetInnerHTML:{__html:z||''},children:r||null}):i(s,{vAlign:y,color:a,pointer:t,className:d,size:c,sizeXS:m,sizeS:p,sizeM:L,sizeL:S,sizeXL:X,style:u,children:[r||null,f]})}l.displayName='Icon';export{l as Icon};
1
+ import s from'clsx';import{Root as e}from'./style.js';import{defaultIcons as i}from'./icons.js';export{IconNames}from'./icons.js';import{jsxs as o,jsx as n}from'react/jsx-runtime';function r(r){var{name:l,icon:c,svg:t,pointer:z,color:a,size:m,sizeXS:f,sizeS:p,sizeM:x,sizeL:L,sizeXL:S,className:u,style:X,vAlign:d,children:v}=r;if(l&&i[l]){var y=i[l];return o(e,{vAlign:d,color:a,pointer:z,className:s('fox-icon',u),size:m,sizeXS:f,sizeS:p,sizeM:x,sizeL:L,sizeXL:S,style:X,children:[n(y,{}),v]})}return t?n(e,{vAlign:d,color:a,pointer:z,className:s('fox-icon',u),size:m,sizeXS:f,sizeS:p,sizeM:x,sizeL:L,sizeXL:S,style:X,dangerouslySetInnerHTML:{__html:t||''},children:c||null}):o(e,{vAlign:d,color:a,pointer:z,className:s('fox-icon',u),size:m,sizeXS:f,sizeS:p,sizeM:x,sizeL:L,sizeXL:S,style:X,children:[c||null,v]})}r.displayName='Icon';export{r as Icon};
2
2
  //# sourceMappingURL=Icon.js.map