@foxford/ui 2.0.0-beta-e46656e-20220706 → 2.0.0-beta-cda2586-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 (83) hide show
  1. package/components/Amount/Amount.js +1 -1
  2. package/components/Amount/Amount.js.map +1 -1
  3. package/components/Anchor/Anchor.js +1 -1
  4. package/components/Anchor/Anchor.js.map +1 -1
  5. package/components/Arrow/Arrow.js +1 -1
  6. package/components/Arrow/Arrow.js.map +1 -1
  7. package/components/Avatar/Avatar.js +1 -1
  8. package/components/Avatar/Avatar.js.map +1 -1
  9. package/components/Badge/Badge.js +1 -1
  10. package/components/Badge/Badge.js.map +1 -1
  11. package/components/Button/Button.js +1 -1
  12. package/components/Button/Button.js.map +1 -1
  13. package/components/Checkbox/Checkbox.js +1 -1
  14. package/components/Checkbox/Checkbox.js.map +1 -1
  15. package/components/Checkbox/Group.js +1 -1
  16. package/components/Checkbox/Group.js.map +1 -1
  17. package/components/Checkbox/style.js +1 -1
  18. package/components/Checkbox/style.js.map +1 -1
  19. package/components/Container/Container.js +1 -1
  20. package/components/Container/Container.js.map +1 -1
  21. package/components/Container/style.js +1 -1
  22. package/components/Container/style.js.map +1 -1
  23. package/components/ContextMenu/ContextMenu.js +1 -1
  24. package/components/ContextMenu/ContextMenu.js.map +1 -1
  25. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js +1 -1
  26. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js.map +1 -1
  27. package/components/Input/Input.js +1 -1
  28. package/components/Input/Input.js.map +1 -1
  29. package/components/Input.Phone/Input.Phone.js +1 -1
  30. package/components/Input.Phone/Input.Phone.js.map +1 -1
  31. package/components/Modal/Modal.js +1 -1
  32. package/components/Modal/Modal.js.map +1 -1
  33. package/components/Modal/adapter.js +1 -1
  34. package/components/Modal/adapter.js.map +1 -1
  35. package/components/Paper/Paper.js +1 -1
  36. package/components/Paper/Paper.js.map +1 -1
  37. package/components/Radio/Group.js +1 -1
  38. package/components/Radio/Group.js.map +1 -1
  39. package/components/Radio/Radio.js +1 -1
  40. package/components/Radio/Radio.js.map +1 -1
  41. package/components/Radio/style.js +1 -1
  42. package/components/Radio/style.js.map +1 -1
  43. package/components/Scrollable/Scrollable.js +1 -1
  44. package/components/Scrollable/Scrollable.js.map +1 -1
  45. package/components/Section/Section.js +1 -1
  46. package/components/Section/Section.js.map +1 -1
  47. package/components/Select/Select.js +1 -1
  48. package/components/Select/Select.js.map +1 -1
  49. package/components/Separator/Separator.js +1 -1
  50. package/components/Separator/Separator.js.map +1 -1
  51. package/components/Separator/SeparatorText.js +1 -1
  52. package/components/Separator/SeparatorText.js.map +1 -1
  53. package/components/Spacer/Spacer.js +1 -1
  54. package/components/Spacer/Spacer.js.map +1 -1
  55. package/components/Spinner/Spinner.js +1 -1
  56. package/components/Spinner/Spinner.js.map +1 -1
  57. package/components/Switcher/Switcher.js +1 -1
  58. package/components/Switcher/Switcher.js.map +1 -1
  59. package/components/Tabs/Tab.js +1 -1
  60. package/components/Tabs/Tab.js.map +1 -1
  61. package/components/Tag/Tag.js +1 -1
  62. package/components/Tag/Tag.js.map +1 -1
  63. package/components/Text/Text.js +1 -1
  64. package/components/Text/Text.js.map +1 -1
  65. package/components/Text.Ellipse/Text.Ellipse.js +1 -1
  66. package/components/Text.Ellipse/Text.Ellipse.js.map +1 -1
  67. package/components/Text.Heading/Text.Heading.js +1 -1
  68. package/components/Text.Heading/Text.Heading.js.map +1 -1
  69. package/components/Textarea/Textarea.js +1 -1
  70. package/components/Textarea/Textarea.js.map +1 -1
  71. package/components/Tooltip/Tooltip.js +1 -1
  72. package/components/Tooltip/Tooltip.js.map +1 -1
  73. package/components/Tooltip/tooltip-styles.js +1 -1
  74. package/components/Tooltip/tooltip-styles.js.map +1 -1
  75. package/hooks/useClassname.js +2 -0
  76. package/hooks/useClassname.js.map +1 -0
  77. package/index.cjs.js +1 -1
  78. package/index.cjs.js.map +1 -1
  79. package/mixins/shared.js +1 -1
  80. package/mixins/shared.js.map +1 -1
  81. package/package.json +8 -5
  82. package/theme/index.js +1 -1
  83. package/theme/index.js.map +1 -1
@@ -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{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};
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 { 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":"2cAgEO,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
+ {"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 s from'@babel/runtime/helpers/esm/objectWithoutProperties';import{useClassname as r}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 m(n){var{children:l,content:p,className:d,textProps:c,round:u,display:h="inline-block"}=n,x=s(n,i);var b=r(m.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:l||p}))}))}m.displayName='Badge';export{m 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 { 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":"6WA0BO,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
+ {"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 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};
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 { 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":"qeA4IO,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
+ {"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 e from'@babel/runtime/helpers/esm/objectSpread2';import{InputPhone as o}from'../Input.Phone/Input.Phone.js';import{Root as t}from'./style.js';import{jsx as r}from'react/jsx-runtime';function n(o){return r(t,e({},o))}n.defaultProps={rounded:!0,type:'text',width:'l',color:'mineShaft',mask:'',placeholderColor:'silver'},n.Phone=o,n.displayName='Input';export{n as Input};
1
+ import e from'@babel/runtime/helpers/objectSpread2';import{InputPhone as o}from'../Input.Phone/Input.Phone.js';import{Root as t}from'./style.js';import{jsx as r}from'react/jsx-runtime';function n(o){return r(t,e({},o))}n.defaultProps={rounded:!0,type:'text',width:'l',color:'mineShaft',mask:'',placeholderColor:'silver'},n.Phone=o,n.displayName='Input';export{n as Input};
2
2
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../../../src/components/Input/Input.tsx"],"sourcesContent":["import { InputState, MaskOptions } from 'react-input-mask'\nimport { InputPhone } from '../../components/Input.Phone'\nimport { BaseProps, InputField } from '../../shared/interfaces'\nimport * as Styled from './style'\n\ntype InputHTMLAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'color' | 'width'>\n\nexport interface InputProps extends BaseProps, InputField, InputHTMLAttributes {\n /**\n * Mask string. Format characters are:\n * * `9`: `0-9`\n * * `a`: `A-Z, a-z`\n * * `\\*`: `A-Z, a-z, 0-9`\n *\n * Any character can be escaped with backslash, which usually will appear as double backslash in JS strings.\n * For example, German phone mask with unremoveable prefix +49 will look like `mask=\"+4\\\\9 99 999 99\"` or `mask={\"+4\\\\\\\\9 99 999 99\"}`\n */\n mask?: string | Array<string | RegExp>\n /**\n * Character to cover unfilled editable parts of mask. Default character is \"_\". If set to null, unfilled parts will be empty, like in ordinary input.\n */\n maskChar?: string | null\n /**\n * Defines format characters with characters as keys and corresponding RegExp string as values. Default ones:\n * ```\n * {\n * \"9\": \"[0-9]\",\n * \"a\": \"[A-Za-z]\",\n * \"*\": \"[A-Za-z0-9]\"\n * }```\n */\n formatChars?: { [key: string]: string }\n /**\n * Show mask even in empty input without focus.\n */\n alwaysShowMask?: boolean\n /**\n * Use inputRef instead of ref if you need input node to manage focus, selection, etc.\n */\n inputRef?: React.Ref<HTMLInputElement>\n\n /**\n * In case you need to implement more complex masking behavior, you can provide\n * beforeMaskedValueChange function to change masked value and cursor position\n * before it will be applied to the input.\n */\n beforeMaskedValueChange?(\n _newState: InputState,\n _oldState: InputState,\n _userInput: string,\n _maskOptions: MaskOptions\n ): InputState\n /**\n * Input type\n */\n type?: string\n dataset?: Record<string, string>\n}\n\nInput.defaultProps = {\n rounded: true,\n type: 'text',\n width: 'l',\n color: 'mineShaft',\n mask: '',\n placeholderColor: 'silver',\n}\n\nInput.Phone = InputPhone\nInput.displayName = 'Input'\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`InputField`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Input(props: InputProps & typeof Input.defaultProps) {\n return <Styled.Root {...props} />\n}\n"],"names":["Input","props","_jsx","Styled.Root","_objectSpread","defaultProps","rounded","type","width","color","mask","placeholderColor","Phone","InputPhone","displayName"],"mappings":"6LA4EO,SAASA,EAAMC,GACpB,OAAOC,EAACC,EAADC,EAAA,GAAiBH,IAlB1BD,EAAMK,aAAe,CACnBC,SAAAA,EACAC,KAAM,OACNC,MAAO,IACPC,MAAO,YACPC,KAAM,GACNC,iBAAkB,UAGpBX,EAAMY,MAAQC,EACdb,EAAMc,YAAc"}
1
+ {"version":3,"file":"Input.js","sources":["../../../../src/components/Input/Input.tsx"],"sourcesContent":["import { InputState, MaskOptions } from 'react-input-mask'\nimport { InputPhone } from '../../components/Input.Phone'\nimport { BaseProps, InputField } from '../../shared/interfaces'\nimport * as Styled from './style'\n\ntype InputHTMLAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'color' | 'width'>\n\nexport interface InputProps extends BaseProps, InputField, InputHTMLAttributes {\n /**\n * Mask string. Format characters are:\n * * `9`: `0-9`\n * * `a`: `A-Z, a-z`\n * * `\\*`: `A-Z, a-z, 0-9`\n *\n * Any character can be escaped with backslash, which usually will appear as double backslash in JS strings.\n * For example, German phone mask with unremoveable prefix +49 will look like `mask=\"+4\\\\9 99 999 99\"` or `mask={\"+4\\\\\\\\9 99 999 99\"}`\n */\n mask?: string | Array<string | RegExp>\n /**\n * Character to cover unfilled editable parts of mask. Default character is \"_\". If set to null, unfilled parts will be empty, like in ordinary input.\n */\n maskChar?: string | null\n /**\n * Defines format characters with characters as keys and corresponding RegExp string as values. Default ones:\n * ```\n * {\n * \"9\": \"[0-9]\",\n * \"a\": \"[A-Za-z]\",\n * \"*\": \"[A-Za-z0-9]\"\n * }```\n */\n formatChars?: { [key: string]: string }\n /**\n * Show mask even in empty input without focus.\n */\n alwaysShowMask?: boolean\n /**\n * Use inputRef instead of ref if you need input node to manage focus, selection, etc.\n */\n inputRef?: React.Ref<HTMLInputElement>\n\n /**\n * In case you need to implement more complex masking behavior, you can provide\n * beforeMaskedValueChange function to change masked value and cursor position\n * before it will be applied to the input.\n */\n beforeMaskedValueChange?(\n _newState: InputState,\n _oldState: InputState,\n _userInput: string,\n _maskOptions: MaskOptions\n ): InputState\n /**\n * Input type\n */\n type?: string\n dataset?: Record<string, string>\n}\n\nInput.defaultProps = {\n rounded: true,\n type: 'text',\n width: 'l',\n color: 'mineShaft',\n mask: '',\n placeholderColor: 'silver',\n}\n\nInput.Phone = InputPhone\nInput.displayName = 'Input'\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`InputField`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Input(props: InputProps & typeof Input.defaultProps) {\n return <Styled.Root {...props} />\n}\n"],"names":["Input","props","_jsx","Styled.Root","_objectSpread","defaultProps","rounded","type","width","color","mask","placeholderColor","Phone","InputPhone","displayName"],"mappings":"yLA4EO,SAASA,EAAMC,GACpB,OAAOC,EAACC,EAADC,EAAA,GAAiBH,IAlB1BD,EAAMK,aAAe,CACnBC,SAAAA,EACAC,KAAM,OACNC,MAAO,IACPC,MAAO,YACPC,KAAM,GACNC,iBAAkB,UAGpBX,EAAMY,MAAQC,EACdb,EAAMc,YAAc"}
@@ -1,2 +1,2 @@
1
- import t from'@babel/runtime/helpers/esm/objectSpread2';import e from'@babel/runtime/helpers/esm/objectWithoutProperties';import{PureComponent as a}from'react';import{Input as r}from'../Input/Input.js';import{COUNTRY_DATA as s,DEFAULT_MASK as o,INITIAL_MASK as n,REGEXPS as i,RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH as u}from'./constants.js';import{jsx as l}from'react/jsx-runtime';var p=["countryData","defaultMask","initialMask","stripValue"];var h=function(t){var e=arguments.length>0&&void 0!==t?t:'';return e.replace(i.NOT_NUMBERS,'')};class c extends a{constructor(t){var e;super(t),e=this,this.autocorrectOf8=void 0,this.autocorrectOf9=void 0,this.getUpdates=function(t,a){var r=arguments.length>1&&void 0!==a?a:void 0;var{countryData:o,defaultMask:n,initialMask:l}=e.props;var p=h(t);var c=l;var v=null;var m=!1;var d=!1;if(!p)return{mask:c,numbers:p,startsFrom8:m,startsFrom9:d,regexp:v};var g=!1;for(var f=0;f<o.length;f++)p.startsWith(o[f][1])&&([,,c,v]=o[f],g=0===f||1===f);return m=g&&i.FROM_8.test(p)&&e.autocorrectOf8,d=(!c||p.length===u&&''===r)&&e.autocorrectOf9&&i.FROM_9.test(p),m&&(c=s[0][2],e.autocorrectOf8=!1),d&&(c=s[0][2],e.autocorrectOf9=!1),c||(c=n),{mask:c,numbers:p,startsFrom8:m,startsFrom9:d,regexp:v}},this.change=t=>{var{mask:e}=this.getUpdates(t);this.setState({mask:e})},this.handleChange=t=>{t.persist();var{onChange:e,stripValue:a}=this.props;if(e){var r=t;a&&(r.target.value=h(t.target.value)),e(r)}},this.beforeMaskedValueChange=(t,e)=>{var{mask:a,numbers:r,startsFrom8:s,startsFrom9:o,regexp:n}=this.getUpdates(t.value,e.value);return this.setState({mask:a,regexp:n}),o?{selection:1===r.length?{start:5,end:5}:t.selection,value:t.value.replace(i.FROM_9,'+79$1')}:s?{selection:{start:2,end:2},value:t.value.replace(i.FROM_8,'+7$1')}:i.FILLED.test(e.value)&&1===r.length?{selection:{start:2,end:2},value:t.value}:t},this.autocorrectOf8=!0,this.autocorrectOf9=!0;var{mask:a}=this.getUpdates(t.value||'');this.state={mask:a,regexp:null}}componentDidUpdate(t){var{value:e}=this.props;e!==t.value&&this.change(e)}render(){var a=e(this.props,p);var{mask:s,regexp:o}=this.state;return l(r,t(t({},a),{},{beforeMaskedValueChange:this.beforeMaskedValueChange,mask:s,dataset:{'data-regexp':"".concat(o||'')},onChange:this.handleChange}))}}c.displayName='Input.Phone',c.defaultProps=t({countryData:s,defaultMask:o,initialMask:n,placeholder:'+9 (999) 999-99-99'},r.defaultProps);export{c as InputPhone};
1
+ import t from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{PureComponent as a}from'react';import{Input as r}from'../Input/Input.js';import{COUNTRY_DATA as s,DEFAULT_MASK as o,INITIAL_MASK as n,REGEXPS as i,RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH as u}from'./constants.js';import{jsx as l}from'react/jsx-runtime';var p=["countryData","defaultMask","initialMask","stripValue"];var h=function(t){var e=arguments.length>0&&void 0!==t?t:'';return e.replace(i.NOT_NUMBERS,'')};class c extends a{constructor(t){var e;super(t),e=this,this.autocorrectOf8=void 0,this.autocorrectOf9=void 0,this.getUpdates=function(t,a){var r=arguments.length>1&&void 0!==a?a:void 0;var{countryData:o,defaultMask:n,initialMask:l}=e.props;var p=h(t);var c=l;var v=null;var m=!1;var d=!1;if(!p)return{mask:c,numbers:p,startsFrom8:m,startsFrom9:d,regexp:v};var g=!1;for(var f=0;f<o.length;f++)p.startsWith(o[f][1])&&([,,c,v]=o[f],g=0===f||1===f);return m=g&&i.FROM_8.test(p)&&e.autocorrectOf8,d=(!c||p.length===u&&''===r)&&e.autocorrectOf9&&i.FROM_9.test(p),m&&(c=s[0][2],e.autocorrectOf8=!1),d&&(c=s[0][2],e.autocorrectOf9=!1),c||(c=n),{mask:c,numbers:p,startsFrom8:m,startsFrom9:d,regexp:v}},this.change=t=>{var{mask:e}=this.getUpdates(t);this.setState({mask:e})},this.handleChange=t=>{t.persist();var{onChange:e,stripValue:a}=this.props;if(e){var r=t;a&&(r.target.value=h(t.target.value)),e(r)}},this.beforeMaskedValueChange=(t,e)=>{var{mask:a,numbers:r,startsFrom8:s,startsFrom9:o,regexp:n}=this.getUpdates(t.value,e.value);return this.setState({mask:a,regexp:n}),o?{selection:1===r.length?{start:5,end:5}:t.selection,value:t.value.replace(i.FROM_9,'+79$1')}:s?{selection:{start:2,end:2},value:t.value.replace(i.FROM_8,'+7$1')}:i.FILLED.test(e.value)&&1===r.length?{selection:{start:2,end:2},value:t.value}:t},this.autocorrectOf8=!0,this.autocorrectOf9=!0;var{mask:a}=this.getUpdates(t.value||'');this.state={mask:a,regexp:null}}componentDidUpdate(t){var{value:e}=this.props;e!==t.value&&this.change(e)}render(){var a=e(this.props,p);var{mask:s,regexp:o}=this.state;return l(r,t(t({},a),{},{beforeMaskedValueChange:this.beforeMaskedValueChange,mask:s,dataset:{'data-regexp':"".concat(o||'')},onChange:this.handleChange}))}}c.displayName='Input.Phone',c.defaultProps=t({countryData:s,defaultMask:o,initialMask:n,placeholder:'+9 (999) 999-99-99'},r.defaultProps);export{c as InputPhone};
2
2
  //# sourceMappingURL=Input.Phone.js.map