@consta/uikit 4.3.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteCanary.js +1 -1
  2. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteCanary.js.map +1 -1
  3. package/__internal__/src/components/Collapse/Collapse.css +1 -1
  4. package/__internal__/src/components/Collapse/Collapse.js +1 -1
  5. package/__internal__/src/components/Collapse/Collapse.js.map +1 -1
  6. package/__internal__/src/components/Collapse/types.d.ts +1 -0
  7. package/__internal__/src/components/Collapse/types.js.map +1 -1
  8. package/__internal__/src/components/DatePicker/DatePicker.js +1 -1
  9. package/__internal__/src/components/DatePicker/DatePicker.js.map +1 -1
  10. package/__internal__/src/components/ProgressLine/ProgressLine.css +1 -1
  11. package/__internal__/src/components/ProgressLine/ProgressLine.js +1 -1
  12. package/__internal__/src/components/ProgressLine/ProgressLine.js.map +1 -1
  13. package/__internal__/src/components/ProgressLine/helpers.d.ts +9 -1
  14. package/__internal__/src/components/ProgressLine/helpers.js +1 -1
  15. package/__internal__/src/components/ProgressLine/helpers.js.map +1 -1
  16. package/__internal__/src/components/Table/Cell/TableCell.css +1 -1
  17. package/__internal__/src/components/Table/RowsCollapse/TableRowsCollapse.js +1 -1
  18. package/__internal__/src/components/Table/RowsCollapse/TableRowsCollapse.js.map +1 -1
  19. package/__internal__/src/components/Table/Table.d.ts +1 -0
  20. package/__internal__/src/components/Table/Table.js +1 -1
  21. package/__internal__/src/components/Table/Table.js.map +1 -1
  22. package/__internal__/src/components/Table/__mock__/data.mock.d.ts +19 -0
  23. package/__internal__/src/components/Table/__mock__/data.mock.js +1 -1
  24. package/__internal__/src/components/Table/__mock__/data.mock.js.map +1 -1
  25. package/__internal__/src/components/Table/helpers.d.ts +1 -0
  26. package/__internal__/src/components/Table/helpers.js +1 -1
  27. package/__internal__/src/components/Table/helpers.js.map +1 -1
  28. package/__internal__/src/hooks/useBreakpoints/getLastPoint.d.ts +1 -0
  29. package/__internal__/src/hooks/useBreakpoints/getLastPoint.js +2 -0
  30. package/__internal__/src/hooks/useBreakpoints/getLastPoint.js.map +1 -0
  31. package/__internal__/src/hooks/useBreakpoints/index.d.ts +1 -0
  32. package/__internal__/src/hooks/useBreakpoints/index.js +1 -1
  33. package/__internal__/src/hooks/useBreakpoints/index.js.map +1 -1
  34. package/__internal__/src/hooks/useBreakpoints/isEq.d.ts +2 -0
  35. package/__internal__/src/hooks/useBreakpoints/isEq.js +2 -0
  36. package/__internal__/src/hooks/useBreakpoints/isEq.js.map +1 -0
  37. package/__internal__/src/hooks/useBreakpoints/mapping.d.ts +2 -0
  38. package/__internal__/src/hooks/useBreakpoints/mapping.js +2 -0
  39. package/__internal__/src/hooks/useBreakpoints/mapping.js.map +1 -0
  40. package/__internal__/src/hooks/useBreakpoints/types.d.ts +2 -0
  41. package/__internal__/src/hooks/useBreakpoints/types.js +2 -0
  42. package/__internal__/src/hooks/useBreakpoints/types.js.map +1 -0
  43. package/__internal__/src/hooks/useBreakpoints/useBreakpoints.d.ts +2 -4
  44. package/__internal__/src/hooks/useBreakpoints/useBreakpoints.js +1 -1
  45. package/__internal__/src/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  46. package/__internal__/src/hooks/useComponentBreakpoints/index.d.ts +2 -0
  47. package/__internal__/src/hooks/useComponentBreakpoints/index.js +2 -0
  48. package/__internal__/src/hooks/useComponentBreakpoints/index.js.map +1 -0
  49. package/__internal__/src/hooks/useComponentBreakpoints/useComponentBreakpoints.d.ts +4 -0
  50. package/__internal__/src/hooks/useComponentBreakpoints/useComponentBreakpoints.js +2 -0
  51. package/__internal__/src/hooks/useComponentBreakpoints/useComponentBreakpoints.js.map +1 -0
  52. package/__internal__/src/utils/generateMask.d.ts +1 -0
  53. package/__internal__/src/utils/generateMask.js +2 -0
  54. package/__internal__/src/utils/generateMask.js.map +1 -0
  55. package/package.json +1 -1
  56. package/useComponentBreakpoints/index.d.ts +1 -0
  57. package/useComponentBreakpoints/index.js +1 -0
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","onBlur","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","inputContainerRef","style","renderItem","searchFunction","id","name","className"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import React,{useRef}from"react";import{SelectDropdown}from"../SelectComponents/SelectDropdown/SelectDropdown";import{SelectItem}from"../SelectComponents/SelectItem/SelectItem";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{TextField}from"../TextField/TextField";import{useForkRef}from"../../hooks/useForkRef";import{cnCanary}from"../../utils/bem";import{withDefaultGetters}from"./helpers";import{useAutoComplete}from"./useAutoComplete";var cnAutoComplete=cnCanary("AutoComplete"),AutoCompleteRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=withDefaultGetters(a),g=f.items,h=f.groups,i=void 0===h?[]:h,j=f.disabled,k=f.getItemLabel,l=f.getItemKey,m=f.isLoading,n=f.getItemGroupKey,o=f.getGroupKey,p=f.getGroupLabel,q=f.onBlur,r=f.inputRef,s=f.onFocus,t=f.dropdownRef,u=void 0===t?c:t,v=f.dropdownClassName,w=f.dropdownForm,x=void 0===w?"default":w,y=f.value,z=f.form,A=void 0===z?defaultPropForm:z,B=f.view,C=void 0===B?defaultPropView:B,D=f.size,E=void 0===D?defaultPropSize:D,F=f.onChange,G=f.inputContainerRef,H=f.style,I=f.renderItem,J=f.searchFunction,K=f.id,L=f.name,M=f.className,N=_objectWithoutProperties(f,_excluded),O=function(a){var b=a.e,c=a.value,d=_objectSpread({},b),e=c?k(c):c;null===F||void 0===F?void 0:F({e:d,value:e,id:K,name:L})},P=useAutoComplete({items:g,groups:i,onChange:function(a){var b=a.e,c=a.value;return O({e:b,value:Array.isArray(c)?c[0]:c})},dropdownRef:u,controlRef:d,disabled:j,searchValue:null!==y&&void 0!==y?y:"",getItemLabel:k,getItemKey:l,getItemGroupKey:n,getGroupKey:o,onBlur:q,onFocus:s,searchFunction:J}),Q=P.getOptionProps,R=P.isOpen,S=P.getKeyProps,T=P.visibleItems,U=P.handleInputFocus,V=P.handleInputBlur,W=P.inputRef;return React.createElement(React.Fragment,null,React.createElement(TextField,Object.assign({},S(),{form:A,view:C,id:K,className:cnAutoComplete(null,[M]),name:L,disabled:j,ref:useForkRef([d,b]),inputRef:useForkRef([r,W]),onBlur:V,inputContainerRef:useForkRef([e,G]),onFocus:U,onChange:F,value:y,style:H},N)),React.createElement(SelectDropdown,{isOpen:R,size:E,controlRef:e,getOptionProps:Q,dropdownRef:u,form:x,className:cnAutoComplete("List",[v]),renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter;return React.createElement(SelectItem,{label:k(b),active:c,hovered:d,multiple:!1,disabled:j,size:E,indent:"round"===x?"increased":"normal",onClick:e,onMouseEnter:f})},getGroupLabel:p,visibleItems:T,isLoading:m,hasItems:0!==g.length,style:"number"==typeof(null===H||void 0===H?void 0:H.zIndex)?{zIndex:H.zIndex+1}:void 0}))};export var AutoComplete=React.forwardRef(AutoCompleteRender);export*from"./types";
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","onBlur","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","inputContainerRef","style","renderItem","searchFunction","id","name","className"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import React,{useRef}from"react";import{SelectDropdown}from"../SelectComponents/SelectDropdown/SelectDropdown";import{SelectItem}from"../SelectComponents/SelectItem/SelectItem";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{TextField}from"../TextField/TextField";import{useForkRef}from"../../hooks/useForkRef";import{cnCanary}from"../../utils/bem";import{withDefaultGetters}from"./helpers";import{useAutoComplete}from"./useAutoComplete";var cnAutoComplete=cnCanary("AutoComplete"),AutoCompleteRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=withDefaultGetters(a),g=f.items,h=f.groups,i=void 0===h?[]:h,j=f.disabled,k=f.getItemLabel,l=f.getItemKey,m=f.isLoading,n=f.getItemGroupKey,o=f.getGroupKey,p=f.getGroupLabel,q=f.onBlur,r=f.inputRef,s=f.onFocus,t=f.dropdownRef,u=void 0===t?c:t,v=f.dropdownClassName,w=f.dropdownForm,x=void 0===w?"default":w,y=f.value,z=f.form,A=void 0===z?defaultPropForm:z,B=f.view,C=void 0===B?defaultPropView:B,D=f.size,E=void 0===D?defaultPropSize:D,F=f.onChange,G=f.inputContainerRef,H=f.style,I=f.renderItem,J=f.searchFunction,K=f.id,L=f.name,M=f.className,N=_objectWithoutProperties(f,_excluded),O=function(a){var b=a.e,c=a.value,d=_objectSpread({},b),e=c?k(c):c;null===F||void 0===F?void 0:F({e:d,value:e,id:K,name:L})},P=useAutoComplete({items:g,groups:i,onChange:function(a){var b=a.e,c=a.value;return O({e:b,value:Array.isArray(c)?c[0]:c})},dropdownRef:u,controlRef:d,disabled:j,searchValue:null!==y&&void 0!==y?y:"",getItemLabel:k,getItemKey:l,getItemGroupKey:n,getGroupKey:o,onBlur:q,onFocus:s,searchFunction:J}),Q=P.getOptionProps,R=P.isOpen,S=P.getKeyProps,T=P.visibleItems,U=P.handleInputFocus,V=P.handleInputBlur,W=P.inputRef;return React.createElement(React.Fragment,null,React.createElement(TextField,Object.assign({},S(),{form:A,view:C,id:K,className:cnAutoComplete(null,[M]),name:L,disabled:j,ref:useForkRef([d,b]),inputRef:useForkRef([r,W]),onBlur:V,inputContainerRef:useForkRef([e,G]),onFocus:U,onChange:F,value:y,style:H,size:E},N)),React.createElement(SelectDropdown,{isOpen:R,size:E,controlRef:e,getOptionProps:Q,dropdownRef:u,form:x,className:cnAutoComplete("List",[v]),renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter;return React.createElement(SelectItem,{label:k(b),active:c,hovered:d,multiple:!1,disabled:j,size:E,indent:"round"===x?"increased":"normal",onClick:e,onMouseEnter:f})},getGroupLabel:p,visibleItems:T,isLoading:m,hasItems:0!==g.length,style:"number"==typeof(null===H||void 0===H?void 0:H.zIndex)?{zIndex:H.zIndex+1}:void 0}))};export var AutoComplete=React.forwardRef(AutoCompleteRender);export*from"./types";
2
2
  //# sourceMappingURL=AutoCompleteCanary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCompleteCanary.js","names":["React","useRef","SelectDropdown","SelectItem","defaultPropForm","defaultPropSize","defaultPropView","TextField","useForkRef","cnCanary","withDefaultGetters","useAutoComplete","cnAutoComplete","AutoCompleteRender","props","ref","defaultDropdownRef","controlRef","containerRef","items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","onBlur","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","inputContainerRef","style","renderItem","searchFunction","id","name","className","otherProps","handleSelectChange","e","copyEvent","newValue","Array","isArray","searchValue","getOptionProps","isOpen","getKeyProps","visibleItems","handleInputFocus","handleInputBlur","inputControlRef","renderItemDefault","item","active","hovered","onClick","onMouseEnter","length","zIndex","AutoComplete","forwardRef"],"sources":["../../../../../src/components/AutoCompleteCanary/AutoCompleteCanary.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { SelectDropdown } from '##/components/SelectComponents/SelectDropdown/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponents/SelectItem/SelectItem';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponents/types';\nimport { TextField } from '##/components/TextField/TextField';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnCanary } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport {\n AutoCompleteComponent,\n AutoCompleteGroupDefault,\n AutoCompleteItemDefault,\n AutoCompleteProps,\n} from './types';\nimport { useAutoComplete } from './useAutoComplete';\n\nconst cnAutoComplete = cnCanary('AutoComplete');\n\nconst AutoCompleteRender = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const {\n items,\n groups = [],\n disabled,\n getItemLabel,\n getItemKey,\n isLoading,\n getItemGroupKey,\n getGroupKey,\n getGroupLabel,\n onBlur,\n inputRef,\n onFocus,\n dropdownRef = defaultDropdownRef,\n dropdownClassName,\n dropdownForm = 'default',\n value,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n onChange,\n inputContainerRef,\n style,\n renderItem,\n searchFunction,\n id,\n name,\n className,\n ...otherProps\n } = withDefaultGetters(props);\n\n const handleSelectChange = ({\n e,\n value,\n }: {\n value: ITEM | null;\n e: React.SyntheticEvent;\n }) => {\n const copyEvent = { ...e } as React.KeyboardEvent;\n const newValue = (value ? getItemLabel(value) : value) as string;\n onChange?.({ e: copyEvent, value: newValue, id, name });\n };\n\n const {\n getOptionProps,\n isOpen,\n getKeyProps,\n visibleItems,\n handleInputFocus,\n handleInputBlur,\n inputRef: inputControlRef,\n } = useAutoComplete({\n items,\n groups,\n onChange: ({ e, value }) =>\n handleSelectChange({ e, value: Array.isArray(value) ? value[0] : value }),\n dropdownRef,\n controlRef,\n disabled,\n searchValue: value ?? '',\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getGroupKey,\n onBlur,\n onFocus,\n searchFunction,\n });\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={false}\n disabled={disabled}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n />\n );\n };\n\n return (\n <>\n <TextField\n {...getKeyProps()}\n form={form}\n view={view}\n id={id}\n className={cnAutoComplete(null, [className])}\n name={name}\n disabled={disabled}\n ref={useForkRef([controlRef, ref])}\n inputRef={useForkRef([inputRef, inputControlRef])}\n onBlur={handleInputBlur}\n inputContainerRef={useForkRef([containerRef, inputContainerRef])}\n onFocus={handleInputFocus}\n onChange={onChange}\n value={value}\n style={style}\n {...otherProps}\n />\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={containerRef}\n getOptionProps={getOptionProps}\n dropdownRef={dropdownRef}\n form={dropdownForm}\n className={cnAutoComplete('List', [dropdownClassName])}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n isLoading={isLoading}\n hasItems={items.length !== 0}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const AutoComplete = React.forwardRef(\n AutoCompleteRender,\n) as AutoCompleteComponent;\n\nexport * from './types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"AutoCompleteCanary.js","names":["React","useRef","SelectDropdown","SelectItem","defaultPropForm","defaultPropSize","defaultPropView","TextField","useForkRef","cnCanary","withDefaultGetters","useAutoComplete","cnAutoComplete","AutoCompleteRender","props","ref","defaultDropdownRef","controlRef","containerRef","items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","onBlur","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","inputContainerRef","style","renderItem","searchFunction","id","name","className","otherProps","handleSelectChange","e","copyEvent","newValue","Array","isArray","searchValue","getOptionProps","isOpen","getKeyProps","visibleItems","handleInputFocus","handleInputBlur","inputControlRef","renderItemDefault","item","active","hovered","onClick","onMouseEnter","length","zIndex","AutoComplete","forwardRef"],"sources":["../../../../../src/components/AutoCompleteCanary/AutoCompleteCanary.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { SelectDropdown } from '##/components/SelectComponents/SelectDropdown/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponents/SelectItem/SelectItem';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponents/types';\nimport { TextField } from '##/components/TextField/TextField';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnCanary } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport {\n AutoCompleteComponent,\n AutoCompleteGroupDefault,\n AutoCompleteItemDefault,\n AutoCompleteProps,\n} from './types';\nimport { useAutoComplete } from './useAutoComplete';\n\nconst cnAutoComplete = cnCanary('AutoComplete');\n\nconst AutoCompleteRender = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const {\n items,\n groups = [],\n disabled,\n getItemLabel,\n getItemKey,\n isLoading,\n getItemGroupKey,\n getGroupKey,\n getGroupLabel,\n onBlur,\n inputRef,\n onFocus,\n dropdownRef = defaultDropdownRef,\n dropdownClassName,\n dropdownForm = 'default',\n value,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n onChange,\n inputContainerRef,\n style,\n renderItem,\n searchFunction,\n id,\n name,\n className,\n ...otherProps\n } = withDefaultGetters(props);\n\n const handleSelectChange = ({\n e,\n value,\n }: {\n value: ITEM | null;\n e: React.SyntheticEvent;\n }) => {\n const copyEvent = { ...e } as React.KeyboardEvent;\n const newValue = (value ? getItemLabel(value) : value) as string;\n onChange?.({ e: copyEvent, value: newValue, id, name });\n };\n\n const {\n getOptionProps,\n isOpen,\n getKeyProps,\n visibleItems,\n handleInputFocus,\n handleInputBlur,\n inputRef: inputControlRef,\n } = useAutoComplete({\n items,\n groups,\n onChange: ({ e, value }) =>\n handleSelectChange({ e, value: Array.isArray(value) ? value[0] : value }),\n dropdownRef,\n controlRef,\n disabled,\n searchValue: value ?? '',\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getGroupKey,\n onBlur,\n onFocus,\n searchFunction,\n });\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={false}\n disabled={disabled}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n />\n );\n };\n\n return (\n <>\n <TextField\n {...getKeyProps()}\n form={form}\n view={view}\n id={id}\n className={cnAutoComplete(null, [className])}\n name={name}\n disabled={disabled}\n ref={useForkRef([controlRef, ref])}\n inputRef={useForkRef([inputRef, inputControlRef])}\n onBlur={handleInputBlur}\n inputContainerRef={useForkRef([containerRef, inputContainerRef])}\n onFocus={handleInputFocus}\n onChange={onChange}\n value={value}\n style={style}\n size={size}\n {...otherProps}\n />\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={containerRef}\n getOptionProps={getOptionProps}\n dropdownRef={dropdownRef}\n form={dropdownForm}\n className={cnAutoComplete('List', [dropdownClassName])}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n isLoading={isLoading}\n hasItems={items.length !== 0}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const AutoComplete = React.forwardRef(\n AutoCompleteRender,\n) as AutoCompleteComponent;\n\nexport * from './types';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- .Collapse{--horizontal-space:0}.Collapse_size_2xs,.Collapse_size_xs{--vertical-space:var(--space-2xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-2xs);--body-offset-bottom:var(--space-xs)}.Collapse_size_s{--vertical-space:var(--space-xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-xs);--body-offset-bottom:var(--space-m)}.Collapse_size_l,.Collapse_size_m{--vertical-space:var(--space-s);--elements-offset:var(--space-s);--body-offset-up:var(--space-s);--body-offset-bottom:var(--space-xl)}.Collapse_horizontalSpace_3xs{--horizontal-space:var(--space-3xs)}.Collapse_horizontalSpace_2xs{--horizontal-space:var(--space-2xs)}.Collapse_horizontalSpace_xs{--horizontal-space:var(--space-xs)}.Collapse_horizontalSpace_s{--horizontal-space:var(--space-s)}.Collapse_horizontalSpace_m{--horizontal-space:var(--space-m)}.Collapse_horizontalSpace_l{--horizontal-space:var(--space-l)}.Collapse_horizontalSpace_xl{--horizontal-space:var(--space-xl)}.Collapse_horizontalSpace_2xl{--horizontal-space:var(--space-2xl)}.Collapse_horizontalSpace_3xl{--horizontal-space:var(--space-3xl)}.Collapse_horizontalSpace_4xl{--horizontal-space:var(--space-4xl)}.Collapse_horizontalSpace_5xl{--horizontal-space:var(--space-5xl)}.Collapse_horizontalSpace_6xl{--horizontal-space:var(--space-6xl)}.Collapse_view_secondary{color:var(--color-typo-secondary)}.Collapse-Label{align-items:center;cursor:pointer;display:flex;flex-direction:row;padding:var(--vertical-space) var(--horizontal-space);transition:background .3s}.Collapse-Label_hoverEffect:hover{background:var(--color-control-bg-clear-hover)}.Collapse-Label_iconPosition_right{flex-direction:row-reverse}.Collapse-Body{max-height:0;overflow:hidden;transition:max-height .3s;transition-timing-function:cubic-bezier(.7,0,.5,1)}.Collapse-Body_isOpen{max-height:200vh}.Collapse-Body_divider{border-bottom:1px solid var(--color-bg-border)}.Collapse-Side{line-height:0;margin-left:var(--elements-offset)}.Collapse-Content{padding:var(--body-offset-up) var(--horizontal-space) var(--body-offset-bottom) var(--horizontal-space)}.Collapse-Icon{flex:none}.Collapse-Icon_position_left{margin-right:var(--elements-offset)}.Collapse-Icon_position_right{margin-left:var(--elements-offset)}.Collapse-LabelText{flex:1}
1
+ .Collapse{--horizontal-space:0}.Collapse_size_2xs,.Collapse_size_xs{--vertical-space:var(--space-2xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-2xs);--body-offset-bottom:var(--space-xs)}.Collapse_size_s{--vertical-space:var(--space-xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-xs);--body-offset-bottom:var(--space-m)}.Collapse_size_l,.Collapse_size_m{--vertical-space:var(--space-s);--elements-offset:var(--space-s);--body-offset-up:var(--space-s);--body-offset-bottom:var(--space-xl)}.Collapse_horizontalSpace_3xs{--horizontal-space:var(--space-3xs)}.Collapse_horizontalSpace_2xs{--horizontal-space:var(--space-2xs)}.Collapse_horizontalSpace_xs{--horizontal-space:var(--space-xs)}.Collapse_horizontalSpace_s{--horizontal-space:var(--space-s)}.Collapse_horizontalSpace_m{--horizontal-space:var(--space-m)}.Collapse_horizontalSpace_l{--horizontal-space:var(--space-l)}.Collapse_horizontalSpace_xl{--horizontal-space:var(--space-xl)}.Collapse_horizontalSpace_2xl{--horizontal-space:var(--space-2xl)}.Collapse_horizontalSpace_3xl{--horizontal-space:var(--space-3xl)}.Collapse_horizontalSpace_4xl{--horizontal-space:var(--space-4xl)}.Collapse_horizontalSpace_5xl{--horizontal-space:var(--space-5xl)}.Collapse_horizontalSpace_6xl{--horizontal-space:var(--space-6xl)}.Collapse_view_secondary{color:var(--color-typo-secondary)}.Collapse-Label{align-items:center;cursor:pointer;display:flex;flex-direction:row;padding:var(--vertical-space) var(--horizontal-space);transition:background .3s}.Collapse-Label_hoverEffect:hover{background:var(--color-control-bg-clear-hover)}.Collapse-Label_iconPosition_right{flex-direction:row-reverse}.Collapse-Body{max-height:0;overflow:hidden;transition:max-height .3s;transition-timing-function:cubic-bezier(.7,0,.5,1)}.Collapse-Body_isOpen{max-height:var(--collapse-body-max-height)}.Collapse-Body_divider{border-bottom:1px solid var(--color-bg-border)}.Collapse-Side{line-height:0;margin-left:var(--elements-offset)}.Collapse-Content{padding:var(--body-offset-up) var(--horizontal-space) var(--body-offset-bottom) var(--horizontal-space)}.Collapse-Icon{flex:none}.Collapse-Icon_position_left{margin-right:var(--elements-offset)}.Collapse-Icon_position_right{margin-left:var(--elements-offset)}.Collapse-LabelText{flex:1}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _excluded=["label","size","view","className","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style"];import"./Collapse.css";import React,{useRef}from"react";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{IconArrowDown}from"../../icons/IconArrowDown/IconArrowDown";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{Text}from"../Text/Text";import{CollapseIcon}from"./CollapseIcon/CollapseIcon";import{collapsePropCloseDirectionIconDefault,collapsePropDirectionIconDefault,collapsePropIconPositionDefault,collapsePropSizeDefault,collapsePropViewDefault}from"./types";export var COMPONENT_NAME="Collapse";export var cnCollapse=cn("Collapse");export var sizeIconMap={"2xs":"xs",xs:"xs",s:"xs",m:"s",l:"s"};function renderSide(a){var b=a?_toConsumableArray(Array.isArray(a)?a:[a]):[];return b.map(function(a,b){return React.createElement("div",{className:cnCollapse("Side"),key:b},a)})}export var Collapse=React.forwardRef(function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.label,f=d.size,g=void 0===f?collapsePropSizeDefault:f,h=d.view,i=void 0===h?collapsePropViewDefault:h,j=d.className,k=d.isOpen,l=d.children,m=d.hoverEffect,n=d.divider,o=d.icon,p=void 0===o?IconArrowDown:o,q=d.closeIcon,r=d.rightSide,s=d.horizontalSpace,t=d.iconPosition,u=void 0===t?collapsePropIconPositionDefault:t,v=d.directionIcon,w=void 0===v?collapsePropDirectionIconDefault:v,x=d.closeDirectionIcon,y=void 0===x?collapsePropCloseDirectionIconDefault:x,z=d.style,A=_objectWithoutProperties(d,_excluded);return React.createElement("div",{ref:useForkRef([b,c]),className:cnCollapse({size:g,view:i,horizontalSpace:s},[j]),style:z},React.createElement("div",Object.assign({className:cnCollapse("Label",{hoverEffect:m,iconPosition:u})},A),React.createElement(CollapseIcon,{className:cnCollapse("Icon",{position:u}),size:getByMap(sizeIconMap,g),icon:p,closeIcon:q,isOpen:k,direction:w,closeDirection:y}),"object"==typeof e?React.createElement("div",{className:cnCollapse("LabelText")},e):React.createElement(Text,{className:cnCollapse("LabelText"),view:i,size:g},e),"left"===u&&renderSide(r)),React.createElement("div",{className:cnCollapse("Body",{isOpen:k,divider:n})},React.createElement("div",{className:cnCollapse("Content")},l)))});export*from"./types";
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _excluded=["label","size","view","className","maxContentHeight","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style"];import"./Collapse.css";import React,{useRef}from"react";import{useComponentSize}from"../../hooks/useComponentSize";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{IconArrowDown}from"../../icons/IconArrowDown/IconArrowDown";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{Text}from"../Text/Text";import{CollapseIcon}from"./CollapseIcon/CollapseIcon";import{collapsePropCloseDirectionIconDefault,collapsePropDirectionIconDefault,collapsePropIconPositionDefault,collapsePropSizeDefault,collapsePropViewDefault}from"./types";export var COMPONENT_NAME="Collapse";export var cnCollapse=cn("Collapse");export var sizeIconMap={"2xs":"xs",xs:"xs",s:"xs",m:"s",l:"s"};function renderSide(a){var b=a?_toConsumableArray(Array.isArray(a)?a:[a]):[];return b.map(function(a,b){return React.createElement("div",{className:cnCollapse("Side"),key:b},a)})}var getMaxHeight=function(a,b){return b?"string"==typeof b?b:"".concat(b,"px"):"".concat(a,"px")};export var Collapse=React.forwardRef(function(a,b){var c=useRef(null),d=useRef(null),e=useComponentSize(d),f=e.height,g=usePropsHandler(COMPONENT_NAME,a,c),h=g.label,i=g.size,j=void 0===i?collapsePropSizeDefault:i,k=g.view,l=void 0===k?collapsePropViewDefault:k,m=g.className,n=g.maxContentHeight,o=g.isOpen,p=g.children,q=g.hoverEffect,r=g.divider,s=g.icon,t=void 0===s?IconArrowDown:s,u=g.closeIcon,v=g.rightSide,w=g.horizontalSpace,x=g.iconPosition,y=void 0===x?collapsePropIconPositionDefault:x,z=g.directionIcon,A=void 0===z?collapsePropDirectionIconDefault:z,B=g.closeDirectionIcon,C=void 0===B?collapsePropCloseDirectionIconDefault:B,D=g.style,E=_objectWithoutProperties(g,_excluded);return React.createElement("div",{ref:useForkRef([b,c]),className:cnCollapse({size:j,view:l,horizontalSpace:w},[m]),style:D},React.createElement("div",Object.assign({className:cnCollapse("Label",{hoverEffect:q,iconPosition:y})},E),React.createElement(CollapseIcon,{className:cnCollapse("Icon",{position:y}),size:getByMap(sizeIconMap,j),icon:t,closeIcon:u,isOpen:o,direction:A,closeDirection:C}),"object"==typeof h?React.createElement("div",{className:cnCollapse("LabelText")},h):React.createElement(Text,{className:cnCollapse("LabelText"),view:l,size:j},h),"left"===y&&renderSide(v)),React.createElement("div",{style:_defineProperty({},"--collapse-body-max-height",getMaxHeight(f,n)),className:cnCollapse("Body",{isOpen:o,divider:r})},React.createElement("div",{ref:d,className:cnCollapse("Content")},p)))});export*from"./types";
2
2
  //# sourceMappingURL=Collapse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Collapse.js","names":["React","useRef","useForkRef","IconArrowDown","cn","getByMap","usePropsHandler","Text","CollapseIcon","collapsePropCloseDirectionIconDefault","collapsePropDirectionIconDefault","collapsePropIconPositionDefault","collapsePropSizeDefault","collapsePropViewDefault","COMPONENT_NAME","cnCollapse","sizeIconMap","renderSide","side","sides","Array","isArray","map","item","index","Collapse","forwardRef","props","ref","collapseRef","label","size","view","className","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style","otherProps","position"],"sources":["../../../../../src/components/Collapse/Collapse.tsx"],"sourcesContent":["import './Collapse.css';\n\nimport React, { useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { IconPropSize } from '../../icons/Icon/Icon';\nimport { IconArrowDown } from '../../icons/IconArrowDown/IconArrowDown';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { Text } from '../Text/Text';\nimport { CollapseIcon } from './CollapseIcon/CollapseIcon';\nimport {\n CollapseComponent,\n collapsePropCloseDirectionIconDefault,\n collapsePropDirectionIconDefault,\n collapsePropIconPositionDefault,\n CollapseProps,\n CollapsePropSize,\n collapsePropSizeDefault,\n collapsePropViewDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'Collapse' as const;\n\nexport const cnCollapse = cn('Collapse');\n\nexport const sizeIconMap: Record<CollapsePropSize, IconPropSize> = {\n '2xs': 'xs',\n 'xs': 'xs',\n 's': 'xs',\n 'm': 's',\n 'l': 's',\n};\n\nfunction renderSide(side: React.ReactNode): React.ReactNode {\n const sides = side ? [...(Array.isArray(side) ? side : [side])] : [];\n\n return sides.map((item, index) => (\n <div className={cnCollapse('Side')} key={index}>\n {item}\n </div>\n ));\n}\n\nexport const Collapse: CollapseComponent = React.forwardRef<\n HTMLDivElement,\n CollapseProps\n>((props, ref) => {\n const collapseRef = useRef<HTMLDivElement>(null);\n\n const {\n label,\n size = collapsePropSizeDefault,\n view = collapsePropViewDefault,\n className,\n isOpen,\n children,\n hoverEffect,\n divider,\n icon = IconArrowDown,\n closeIcon,\n rightSide,\n horizontalSpace,\n iconPosition = collapsePropIconPositionDefault,\n directionIcon = collapsePropDirectionIconDefault,\n closeDirectionIcon = collapsePropCloseDirectionIconDefault,\n style,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, collapseRef);\n\n return (\n <div\n ref={useForkRef([ref, collapseRef])}\n className={cnCollapse({ size, view, horizontalSpace }, [className])}\n style={style}\n >\n <div\n className={cnCollapse('Label', {\n hoverEffect,\n iconPosition,\n })}\n {...otherProps}\n >\n <CollapseIcon\n className={cnCollapse('Icon', { position: iconPosition })}\n size={getByMap(sizeIconMap, size)}\n icon={icon}\n closeIcon={closeIcon}\n isOpen={isOpen}\n direction={directionIcon}\n closeDirection={closeDirectionIcon}\n />\n {typeof label === 'object' ? (\n <div className={cnCollapse('LabelText')}>{label}</div>\n ) : (\n <Text className={cnCollapse('LabelText')} view={view} size={size}>\n {label}\n </Text>\n )}\n {iconPosition === 'left' && renderSide(rightSide)}\n </div>\n <div className={cnCollapse('Body', { isOpen, divider })}>\n <div className={cnCollapse('Content')}>{children}</div>\n </div>\n </div>\n );\n});\n\nexport * from './types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"Collapse.js","names":["React","useRef","useComponentSize","useForkRef","IconArrowDown","cn","getByMap","usePropsHandler","Text","CollapseIcon","collapsePropCloseDirectionIconDefault","collapsePropDirectionIconDefault","collapsePropIconPositionDefault","collapsePropSizeDefault","collapsePropViewDefault","COMPONENT_NAME","cnCollapse","sizeIconMap","renderSide","side","sides","Array","isArray","map","item","index","getMaxHeight","height","maxHeight","Collapse","forwardRef","props","ref","collapseRef","contentRef","contentHeight","label","size","view","className","maxContentHeight","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style","otherProps","position"],"sources":["../../../../../src/components/Collapse/Collapse.tsx"],"sourcesContent":["import './Collapse.css';\n\nimport React, { useRef } from 'react';\n\nimport { useComponentSize } from '##/hooks/useComponentSize';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { IconPropSize } from '../../icons/Icon/Icon';\nimport { IconArrowDown } from '../../icons/IconArrowDown/IconArrowDown';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { Text } from '../Text/Text';\nimport { CollapseIcon } from './CollapseIcon/CollapseIcon';\nimport {\n CollapseComponent,\n collapsePropCloseDirectionIconDefault,\n collapsePropDirectionIconDefault,\n collapsePropIconPositionDefault,\n CollapseProps,\n CollapsePropSize,\n collapsePropSizeDefault,\n collapsePropViewDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'Collapse' as const;\n\nexport const cnCollapse = cn('Collapse');\n\nexport const sizeIconMap: Record<CollapsePropSize, IconPropSize> = {\n '2xs': 'xs',\n 'xs': 'xs',\n 's': 'xs',\n 'm': 's',\n 'l': 's',\n};\n\nfunction renderSide(side: React.ReactNode): React.ReactNode {\n const sides = side ? [...(Array.isArray(side) ? side : [side])] : [];\n\n return sides.map((item, index) => (\n <div className={cnCollapse('Side')} key={index}>\n {item}\n </div>\n ));\n}\n\nconst getMaxHeight = (height: number, maxHeight?: number | string) => {\n if (maxHeight) {\n return typeof maxHeight === 'string' ? maxHeight : `${maxHeight}px`;\n }\n return `${height}px`;\n};\n\nexport const Collapse: CollapseComponent = React.forwardRef<\n HTMLDivElement,\n CollapseProps\n>((props, ref) => {\n const collapseRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const { height: contentHeight } = useComponentSize(contentRef);\n\n const {\n label,\n size = collapsePropSizeDefault,\n view = collapsePropViewDefault,\n className,\n maxContentHeight,\n isOpen,\n children,\n hoverEffect,\n divider,\n icon = IconArrowDown,\n closeIcon,\n rightSide,\n horizontalSpace,\n iconPosition = collapsePropIconPositionDefault,\n directionIcon = collapsePropDirectionIconDefault,\n closeDirectionIcon = collapsePropCloseDirectionIconDefault,\n style,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, collapseRef);\n\n return (\n <div\n ref={useForkRef([ref, collapseRef])}\n className={cnCollapse({ size, view, horizontalSpace }, [className])}\n style={style}\n >\n <div\n className={cnCollapse('Label', {\n hoverEffect,\n iconPosition,\n })}\n {...otherProps}\n >\n <CollapseIcon\n className={cnCollapse('Icon', { position: iconPosition })}\n size={getByMap(sizeIconMap, size)}\n icon={icon}\n closeIcon={closeIcon}\n isOpen={isOpen}\n direction={directionIcon}\n closeDirection={closeDirectionIcon}\n />\n {typeof label === 'object' ? (\n <div className={cnCollapse('LabelText')}>{label}</div>\n ) : (\n <Text className={cnCollapse('LabelText')} view={view} size={size}>\n {label}\n </Text>\n )}\n {iconPosition === 'left' && renderSide(rightSide)}\n </div>\n <div\n style={{\n ['--collapse-body-max-height' as string]: getMaxHeight(\n contentHeight,\n maxContentHeight,\n ),\n }}\n className={cnCollapse('Body', { isOpen, divider })}\n >\n <div ref={contentRef} className={cnCollapse('Content')}>\n {children}\n </div>\n </div>\n </div>\n );\n});\n\nexport * from './types';\n"],"mappings":"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"}
@@ -32,6 +32,7 @@ export declare type CollapseProps = PropsWithHTMLAttributesAndRef<{
32
32
  view?: CollapsePropView;
33
33
  divider?: boolean;
34
34
  label: React.ReactNode;
35
+ maxContentHeight?: string | number;
35
36
  horizontalSpace?: CollapsePropHorizontalSpace;
36
37
  hoverEffect?: boolean;
37
38
  isOpen?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["collapsePropSize","collapsePropSizeDefault","collapsePropView","collapsePropViewDefault","collapsePropHorizontalSpace","collapsePropIconPosition","collapsePropIconPositionDefault","collapseIconPropDirection","collapsePropDirectionIcon","collapsePropDirectionIconDefault","collapsePropCloseDirectionIconDefault"],"sources":["../../../../../src/components/Collapse/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { IconComponent, IconProps, IconPropSize } from '##/icons/Icon';\nimport {\n PropsWithHTMLAttributes,\n PropsWithHTMLAttributesAndRef,\n} from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const collapsePropSize = ['m', 'l', 's', 'xs', '2xs'] as const;\nexport type CollapsePropSize = typeof collapsePropSize[number];\nexport const collapsePropSizeDefault = collapsePropSize[0];\n\nexport const collapsePropView = ['primary', 'secondary'] as const;\nexport type CollapsePropView = typeof collapsePropView[number];\nexport const collapsePropViewDefault = collapsePropView[0];\n\nexport const collapsePropHorizontalSpace = [\n '3xs',\n '6xl',\n '5xl',\n '4xl',\n '3xl',\n '2xl',\n 'xl',\n 'l',\n 'm',\n 's',\n 'xs',\n '2xs',\n] as const;\nexport type CollapsePropHorizontalSpace =\n typeof collapsePropHorizontalSpace[number];\n\nexport const collapsePropIconPosition = ['left', 'right'] as const;\nexport type CollapsePropIconPosition = typeof collapsePropIconPosition[number];\nexport const collapsePropIconPositionDefault = collapsePropIconPosition[0];\n\nexport const collapseIconPropDirection = [\n 'up',\n 'right',\n 'down',\n 'left',\n 'upRight',\n 'downRight',\n 'upLeft',\n 'downLeft',\n] as const;\nexport type CollapseIconPropDirection =\n typeof collapseIconPropDirection[number];\n\nexport type CollapseIconProps = PropsWithHTMLAttributes<\n {\n size: IconPropSize;\n icon: React.FC<IconProps>;\n isOpen?: boolean;\n cildren?: never;\n closeIcon?: React.FC<IconProps>;\n direction?: CollapseIconPropDirection;\n closeDirection?: CollapseIconPropDirection;\n },\n HTMLSpanElement\n>;\n\nexport const collapsePropDirectionIcon = collapseIconPropDirection;\nexport const collapsePropDirectionIconDefault = collapsePropDirectionIcon[0];\nexport const collapsePropCloseDirectionIconDefault =\n collapsePropDirectionIcon[2];\n\nexport type CollapseProps = PropsWithHTMLAttributesAndRef<\n {\n size?: CollapsePropSize;\n icon?: IconComponent;\n view?: CollapsePropView;\n divider?: boolean;\n label: React.ReactNode;\n horizontalSpace?: CollapsePropHorizontalSpace;\n hoverEffect?: boolean;\n isOpen?: boolean;\n } & (\n | {\n closeIcon?: IconComponent;\n directionIcon?: never;\n closeDirectionIcon?: never;\n }\n | {\n closeIcon?: never;\n directionIcon?: CollapseIconPropDirection;\n closeDirectionIcon?: CollapseIconPropDirection;\n }\n ) &\n (\n | {\n iconPosition?: 'left';\n rightSide?: React.ReactNode;\n }\n | {\n iconPosition?: 'right';\n rightSide?: never;\n }\n ),\n HTMLDivElement\n>;\n\nexport type CollapseComponent = (\n props: CollapseProps,\n) => React.ReactElement | null;\n"],"mappings":"AAQA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,GAAX,CAAgB,IAAhB,CAAsB,KAAtB,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAEP,MAAO,IAAME,iBAAgB,CAAG,CAAC,SAAD,CAAY,WAAZ,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAEP,MAAO,IAAME,4BAA2B,CAAG,CACzC,KADyC,CAEzC,KAFyC,CAGzC,KAHyC,CAIzC,KAJyC,CAKzC,KALyC,CAMzC,KANyC,CAOzC,IAPyC,CAQzC,GARyC,CASzC,GATyC,CAUzC,GAVyC,CAWzC,IAXyC,CAYzC,KAZyC,CAApC,CAiBP,MAAO,IAAMC,yBAAwB,CAAG,CAAC,MAAD,CAAS,OAAT,CAAjC,CAEP,MAAO,IAAMC,gCAA+B,CAAGD,wBAAwB,CAAC,CAAD,CAAhE,CAEP,MAAO,IAAME,0BAAyB,CAAG,CACvC,IADuC,CAEvC,OAFuC,CAGvC,MAHuC,CAIvC,MAJuC,CAKvC,SALuC,CAMvC,WANuC,CAOvC,QAPuC,CAQvC,UARuC,CAAlC,CA0BP,MAAO,IAAMC,0BAAyB,CAAGD,yBAAlC,CACP,MAAO,IAAME,iCAAgC,CAAGD,yBAAyB,CAAC,CAAD,CAAlE,CACP,MAAO,IAAME,sCAAqC,CAChDF,yBAAyB,CAAC,CAAD,CADpB"}
1
+ {"version":3,"file":"types.js","names":["collapsePropSize","collapsePropSizeDefault","collapsePropView","collapsePropViewDefault","collapsePropHorizontalSpace","collapsePropIconPosition","collapsePropIconPositionDefault","collapseIconPropDirection","collapsePropDirectionIcon","collapsePropDirectionIconDefault","collapsePropCloseDirectionIconDefault"],"sources":["../../../../../src/components/Collapse/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { IconComponent, IconProps, IconPropSize } from '##/icons/Icon';\nimport {\n PropsWithHTMLAttributes,\n PropsWithHTMLAttributesAndRef,\n} from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const collapsePropSize = ['m', 'l', 's', 'xs', '2xs'] as const;\nexport type CollapsePropSize = typeof collapsePropSize[number];\nexport const collapsePropSizeDefault = collapsePropSize[0];\n\nexport const collapsePropView = ['primary', 'secondary'] as const;\nexport type CollapsePropView = typeof collapsePropView[number];\nexport const collapsePropViewDefault = collapsePropView[0];\n\nexport const collapsePropHorizontalSpace = [\n '3xs',\n '6xl',\n '5xl',\n '4xl',\n '3xl',\n '2xl',\n 'xl',\n 'l',\n 'm',\n 's',\n 'xs',\n '2xs',\n] as const;\nexport type CollapsePropHorizontalSpace =\n typeof collapsePropHorizontalSpace[number];\n\nexport const collapsePropIconPosition = ['left', 'right'] as const;\nexport type CollapsePropIconPosition = typeof collapsePropIconPosition[number];\nexport const collapsePropIconPositionDefault = collapsePropIconPosition[0];\n\nexport const collapseIconPropDirection = [\n 'up',\n 'right',\n 'down',\n 'left',\n 'upRight',\n 'downRight',\n 'upLeft',\n 'downLeft',\n] as const;\nexport type CollapseIconPropDirection =\n typeof collapseIconPropDirection[number];\n\nexport type CollapseIconProps = PropsWithHTMLAttributes<\n {\n size: IconPropSize;\n icon: React.FC<IconProps>;\n isOpen?: boolean;\n cildren?: never;\n closeIcon?: React.FC<IconProps>;\n direction?: CollapseIconPropDirection;\n closeDirection?: CollapseIconPropDirection;\n },\n HTMLSpanElement\n>;\n\nexport const collapsePropDirectionIcon = collapseIconPropDirection;\nexport const collapsePropDirectionIconDefault = collapsePropDirectionIcon[0];\nexport const collapsePropCloseDirectionIconDefault =\n collapsePropDirectionIcon[2];\n\nexport type CollapseProps = PropsWithHTMLAttributesAndRef<\n {\n size?: CollapsePropSize;\n icon?: IconComponent;\n view?: CollapsePropView;\n divider?: boolean;\n label: React.ReactNode;\n maxContentHeight?: string | number;\n horizontalSpace?: CollapsePropHorizontalSpace;\n hoverEffect?: boolean;\n isOpen?: boolean;\n } & (\n | {\n closeIcon?: IconComponent;\n directionIcon?: never;\n closeDirectionIcon?: never;\n }\n | {\n closeIcon?: never;\n directionIcon?: CollapseIconPropDirection;\n closeDirectionIcon?: CollapseIconPropDirection;\n }\n ) &\n (\n | {\n iconPosition?: 'left';\n rightSide?: React.ReactNode;\n }\n | {\n iconPosition?: 'right';\n rightSide?: never;\n }\n ),\n HTMLDivElement\n>;\n\nexport type CollapseComponent = (\n props: CollapseProps,\n) => React.ReactElement | null;\n"],"mappings":"AAQA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,GAAX,CAAgB,IAAhB,CAAsB,KAAtB,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAEP,MAAO,IAAME,iBAAgB,CAAG,CAAC,SAAD,CAAY,WAAZ,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAEP,MAAO,IAAME,4BAA2B,CAAG,CACzC,KADyC,CAEzC,KAFyC,CAGzC,KAHyC,CAIzC,KAJyC,CAKzC,KALyC,CAMzC,KANyC,CAOzC,IAPyC,CAQzC,GARyC,CASzC,GATyC,CAUzC,GAVyC,CAWzC,IAXyC,CAYzC,KAZyC,CAApC,CAiBP,MAAO,IAAMC,yBAAwB,CAAG,CAAC,MAAD,CAAS,OAAT,CAAjC,CAEP,MAAO,IAAMC,gCAA+B,CAAGD,wBAAwB,CAAC,CAAD,CAAhE,CAEP,MAAO,IAAME,0BAAyB,CAAG,CACvC,IADuC,CAEvC,OAFuC,CAGvC,MAHuC,CAIvC,MAJuC,CAKvC,SALuC,CAMvC,WANuC,CAOvC,QAPuC,CAQvC,UARuC,CAAlC,CA0BP,MAAO,IAAMC,0BAAyB,CAAGD,yBAAlC,CACP,MAAO,IAAME,iCAAgC,CAAGD,yBAAyB,CAAC,CAAD,CAAlE,CACP,MAAO,IAAME,sCAAqC,CAChDF,yBAAyB,CAAC,CAAD,CADpB"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["type","minDate","maxDate","multiplicityMinutes","multiplicitySeconds","multiplicityHours"];import React,{forwardRef,useMemo,useRef}from"react";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{maxDateDefault,minDateDefault}from"../../utils/date";import{getByMap}from"../../utils/getByMap";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{DatePickerTypeDate}from"./DatePickerTypeDate/DatePickerTypeDate";import{DatePickerTypeDateRange}from"./DatePickerTypeDateRange/DatePickerTypeDateRange";import{DatePickerTypeDateTime}from"./DatePickerTypeDateTime/DatePickerTypeDateTime";import{DatePickerTypeDateTimeRange}from"./DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange";import{DatePickerTypeMonth}from"./DatePickerTypeMonth/DatePickerTypeMonth";import{DatePickerTypeMonthRange}from"./DatePickerTypeMonthRange/DatePickerTypeMonthRange";import{DatePickerTypeTime}from"./DatePickerTypeTime/DatePickerTypeTime";import{DatePickerTypeYear}from"./DatePickerTypeYear/DatePickerTypeYear";import{DatePickerTypeYearRange}from"./DatePickerTypeYearRange/DatePickerTypeYearRange";import{isTypeWithTime}from"./helpers";import{datePickerPropTypeDefault}from"./types";var typeMap={date:DatePickerTypeDate,"date-range":DatePickerTypeDateRange,"date-time":DatePickerTypeDateTime,"date-time-range":DatePickerTypeDateTimeRange,time:DatePickerTypeTime,year:DatePickerTypeYear,"year-range":DatePickerTypeYearRange,month:DatePickerTypeMonth,"month-range":DatePickerTypeMonthRange};export var COMPONENT_NAME="DatePicker";export var DatePicker=forwardRef(function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.type,f=void 0===e?datePickerPropTypeDefault:e,g=d.minDate,h=void 0===g?minDateDefault:g,i=d.maxDate,j=void 0===i?maxDateDefault:i,k=d.multiplicityMinutes,l=d.multiplicitySeconds,m=d.multiplicityHours,n=_objectWithoutProperties(d,_excluded),o=useMemo(function(){return isTypeWithTime(f)?{multiplicityMinutes:k,multiplicitySeconds:l,multiplicityHours:m}:void 0},[f,k,l,m]),p=getByMap(typeMap,f);return React.createElement(p,Object.assign({},n,o,{minDate:h,maxDate:j,ref:useForkRef([b,c])}))});export*from"./helpers";export*from"./types";
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["type","minDate","maxDate","labelPosition","multiplicityMinutes","multiplicitySeconds","multiplicityHours"];import React,{forwardRef,useMemo,useRef}from"react";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{maxDateDefault,minDateDefault}from"../../utils/date";import{getByMap}from"../../utils/getByMap";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{DatePickerTypeDate}from"./DatePickerTypeDate/DatePickerTypeDate";import{DatePickerTypeDateRange}from"./DatePickerTypeDateRange/DatePickerTypeDateRange";import{DatePickerTypeDateTime}from"./DatePickerTypeDateTime/DatePickerTypeDateTime";import{DatePickerTypeDateTimeRange}from"./DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange";import{DatePickerTypeMonth}from"./DatePickerTypeMonth/DatePickerTypeMonth";import{DatePickerTypeMonthRange}from"./DatePickerTypeMonthRange/DatePickerTypeMonthRange";import{DatePickerTypeTime}from"./DatePickerTypeTime/DatePickerTypeTime";import{DatePickerTypeYear}from"./DatePickerTypeYear/DatePickerTypeYear";import{DatePickerTypeYearRange}from"./DatePickerTypeYearRange/DatePickerTypeYearRange";import{isTypeWithTime}from"./helpers";import{datePickerPropTypeDefault}from"./types";var typeMap={date:DatePickerTypeDate,"date-range":DatePickerTypeDateRange,"date-time":DatePickerTypeDateTime,"date-time-range":DatePickerTypeDateTimeRange,time:DatePickerTypeTime,year:DatePickerTypeYear,"year-range":DatePickerTypeYearRange,month:DatePickerTypeMonth,"month-range":DatePickerTypeMonthRange};export var COMPONENT_NAME="DatePicker";export var DatePicker=forwardRef(function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.type,f=void 0===e?datePickerPropTypeDefault:e,g=d.minDate,h=void 0===g?minDateDefault:g,i=d.maxDate,j=void 0===i?maxDateDefault:i,k=d.labelPosition,l=void 0===k?"top":k,m=d.multiplicityMinutes,n=d.multiplicitySeconds,o=d.multiplicityHours,p=_objectWithoutProperties(d,_excluded),q=useMemo(function(){return isTypeWithTime(f)?{multiplicityMinutes:m,multiplicitySeconds:n,multiplicityHours:o}:void 0},[f,m,n,o]),r=getByMap(typeMap,f);return React.createElement(r,Object.assign({},p,q,{labelPosition:l,minDate:h,maxDate:j,ref:useForkRef([b,c])}))});export*from"./helpers";export*from"./types";
2
2
  //# sourceMappingURL=DatePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","names":["React","forwardRef","useMemo","useRef","useForkRef","maxDateDefault","minDateDefault","getByMap","usePropsHandler","DatePickerTypeDate","DatePickerTypeDateRange","DatePickerTypeDateTime","DatePickerTypeDateTimeRange","DatePickerTypeMonth","DatePickerTypeMonthRange","DatePickerTypeTime","DatePickerTypeYear","DatePickerTypeYearRange","isTypeWithTime","datePickerPropTypeDefault","typeMap","COMPONENT_NAME","DatePicker","props","ref","datePickerRef","type","minDate","maxDate","multiplicityMinutes","multiplicitySeconds","multiplicityHours","otherProps","timeProps","Component"],"sources":["../../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { maxDateDefault, minDateDefault } from '../../utils/date';\nimport { getByMap } from '../../utils/getByMap';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { DatePickerTypeDate } from './DatePickerTypeDate/DatePickerTypeDate';\nimport { DatePickerTypeDateRange } from './DatePickerTypeDateRange/DatePickerTypeDateRange';\nimport { DatePickerTypeDateTime } from './DatePickerTypeDateTime/DatePickerTypeDateTime';\nimport { DatePickerTypeDateTimeRange } from './DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange';\nimport { DatePickerTypeMonth } from './DatePickerTypeMonth/DatePickerTypeMonth';\nimport { DatePickerTypeMonthRange } from './DatePickerTypeMonthRange/DatePickerTypeMonthRange';\nimport { DatePickerTypeTime } from './DatePickerTypeTime/DatePickerTypeTime';\nimport { DatePickerTypeYear } from './DatePickerTypeYear/DatePickerTypeYear';\nimport { DatePickerTypeYearRange } from './DatePickerTypeYearRange/DatePickerTypeYearRange';\nimport { isTypeWithTime } from './helpers';\nimport {\n DatePickerComponent,\n DatePickerPropType,\n datePickerPropTypeDefault,\n DatePickerTypeComponent,\n} from './types';\n\nconst typeMap: Record<\n DatePickerPropType,\n DatePickerTypeComponent<DatePickerPropType>\n> = {\n 'date': DatePickerTypeDate,\n 'date-range': DatePickerTypeDateRange,\n 'date-time': DatePickerTypeDateTime,\n 'date-time-range': DatePickerTypeDateTimeRange,\n 'time': DatePickerTypeTime,\n 'year': DatePickerTypeYear,\n 'year-range': DatePickerTypeYearRange,\n 'month': DatePickerTypeMonth,\n 'month-range': DatePickerTypeMonthRange,\n};\n\nexport const COMPONENT_NAME = 'DatePicker' as const;\n\nexport const DatePicker: DatePickerComponent = forwardRef((props, ref) => {\n const datePickerRef = useRef<HTMLDivElement>(null);\n const {\n type = datePickerPropTypeDefault,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n multiplicityMinutes,\n multiplicitySeconds,\n multiplicityHours,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, datePickerRef);\n\n const timeProps = useMemo(\n () =>\n isTypeWithTime(type)\n ? {\n multiplicityMinutes,\n multiplicitySeconds,\n multiplicityHours,\n }\n : undefined,\n [type, multiplicityMinutes, multiplicitySeconds, multiplicityHours],\n );\n\n const Component = getByMap(typeMap, type);\n\n return (\n <Component\n {...otherProps}\n {...timeProps}\n minDate={minDate}\n maxDate={maxDate}\n ref={useForkRef([ref, datePickerRef])}\n />\n );\n});\n\nexport * from './helpers';\nexport * from './types';\n"],"mappings":"gMAAA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,OAA5B,CAAqCC,MAArC,KAAmD,OAAnD,CAEA,OAASC,UAAT,yCACA,OAASC,cAAT,CAAyBC,cAAzB,wBACA,OAASC,QAAT,4BACA,OAASC,eAAT,2CACA,OAASC,kBAAT,+CACA,OAASC,uBAAT,yDACA,OAASC,sBAAT,uDACA,OAASC,2BAAT,iEACA,OAASC,mBAAT,iDACA,OAASC,wBAAT,2DACA,OAASC,kBAAT,+CACA,OAASC,kBAAT,+CACA,OAASC,uBAAT,yDACA,OAASC,cAAT,iBACA,OAGEC,yBAHF,eAOA,GAAMC,QAGL,CAAG,CACF,KAAQX,kBADN,CAEF,aAAcC,uBAFZ,CAGF,YAAaC,sBAHX,CAIF,kBAAmBC,2BAJjB,CAKF,KAAQG,kBALN,CAMF,KAAQC,kBANN,CAOF,aAAcC,uBAPZ,CAQF,MAASJ,mBARP,CASF,cAAeC,wBATb,CAHJ,CAeA,MAAO,IAAMO,eAAc,CAAG,YAAvB,CAEP,MAAO,IAAMC,WAA+B,CAAGrB,UAAU,CAAC,SAACsB,CAAD,CAAQC,CAAR,CAAgB,IAClEC,EAAa,CAAGtB,MAAM,CAAiB,IAAjB,CAD4C,GAUpEK,eAAe,CAACa,cAAD,CAAiBE,CAAjB,CAAwBE,CAAxB,CAVqD,KAGtEC,IAHsE,CAGtEA,CAHsE,YAG/DP,yBAH+D,OAItEQ,OAJsE,CAItEA,CAJsE,YAI5DrB,cAJ4D,OAKtEsB,OALsE,CAKtEA,CALsE,YAK5DvB,cAL4D,GAMtEwB,CANsE,GAMtEA,mBANsE,CAOtEC,CAPsE,GAOtEA,mBAPsE,CAQtEC,CARsE,GAQtEA,iBARsE,CASnEC,CATmE,uCAYlEC,CAAS,CAAG/B,OAAO,CACvB,iBACEgB,eAAc,CAACQ,CAAD,CAAd,CACI,CACEG,mBAAmB,CAAnBA,CADF,CAEEC,mBAAmB,CAAnBA,CAFF,CAGEC,iBAAiB,CAAjBA,CAHF,CADJ,OADF,CADuB,CASvB,CAACL,CAAD,CAAOG,CAAP,CAA4BC,CAA5B,CAAiDC,CAAjD,CATuB,CAZ+C,CAwBlEG,CAAS,CAAG3B,QAAQ,CAACa,OAAD,CAAUM,CAAV,CAxB8C,CA0BxE,MACE,qBAAC,CAAD,kBACMM,CADN,CAEMC,CAFN,EAGE,OAAO,CAAEN,CAHX,CAIE,OAAO,CAAEC,CAJX,CAKE,GAAG,CAAExB,UAAU,CAAC,CAACoB,CAAD,CAAMC,CAAN,CAAD,CALjB,GAQH,CAnCwD,CAAlD,CAqCP,uBACA"}
1
+ {"version":3,"file":"DatePicker.js","names":["React","forwardRef","useMemo","useRef","useForkRef","maxDateDefault","minDateDefault","getByMap","usePropsHandler","DatePickerTypeDate","DatePickerTypeDateRange","DatePickerTypeDateTime","DatePickerTypeDateTimeRange","DatePickerTypeMonth","DatePickerTypeMonthRange","DatePickerTypeTime","DatePickerTypeYear","DatePickerTypeYearRange","isTypeWithTime","datePickerPropTypeDefault","typeMap","COMPONENT_NAME","DatePicker","props","ref","datePickerRef","type","minDate","maxDate","labelPosition","multiplicityMinutes","multiplicitySeconds","multiplicityHours","otherProps","timeProps","Component"],"sources":["../../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { maxDateDefault, minDateDefault } from '../../utils/date';\nimport { getByMap } from '../../utils/getByMap';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { DatePickerTypeDate } from './DatePickerTypeDate/DatePickerTypeDate';\nimport { DatePickerTypeDateRange } from './DatePickerTypeDateRange/DatePickerTypeDateRange';\nimport { DatePickerTypeDateTime } from './DatePickerTypeDateTime/DatePickerTypeDateTime';\nimport { DatePickerTypeDateTimeRange } from './DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange';\nimport { DatePickerTypeMonth } from './DatePickerTypeMonth/DatePickerTypeMonth';\nimport { DatePickerTypeMonthRange } from './DatePickerTypeMonthRange/DatePickerTypeMonthRange';\nimport { DatePickerTypeTime } from './DatePickerTypeTime/DatePickerTypeTime';\nimport { DatePickerTypeYear } from './DatePickerTypeYear/DatePickerTypeYear';\nimport { DatePickerTypeYearRange } from './DatePickerTypeYearRange/DatePickerTypeYearRange';\nimport { isTypeWithTime } from './helpers';\nimport {\n DatePickerComponent,\n DatePickerPropType,\n datePickerPropTypeDefault,\n DatePickerTypeComponent,\n} from './types';\n\nconst typeMap: Record<\n DatePickerPropType,\n DatePickerTypeComponent<DatePickerPropType>\n> = {\n 'date': DatePickerTypeDate,\n 'date-range': DatePickerTypeDateRange,\n 'date-time': DatePickerTypeDateTime,\n 'date-time-range': DatePickerTypeDateTimeRange,\n 'time': DatePickerTypeTime,\n 'year': DatePickerTypeYear,\n 'year-range': DatePickerTypeYearRange,\n 'month': DatePickerTypeMonth,\n 'month-range': DatePickerTypeMonthRange,\n};\n\nexport const COMPONENT_NAME = 'DatePicker' as const;\n\nexport const DatePicker: DatePickerComponent = forwardRef((props, ref) => {\n const datePickerRef = useRef<HTMLDivElement>(null);\n const {\n type = datePickerPropTypeDefault,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n labelPosition = 'top',\n multiplicityMinutes,\n multiplicitySeconds,\n multiplicityHours,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, datePickerRef);\n\n const timeProps = useMemo(\n () =>\n isTypeWithTime(type)\n ? {\n multiplicityMinutes,\n multiplicitySeconds,\n multiplicityHours,\n }\n : undefined,\n [type, multiplicityMinutes, multiplicitySeconds, multiplicityHours],\n );\n\n const Component = getByMap(typeMap, type);\n\n return (\n <Component\n {...otherProps}\n {...timeProps}\n labelPosition={labelPosition}\n minDate={minDate}\n maxDate={maxDate}\n ref={useForkRef([ref, datePickerRef])}\n />\n );\n});\n\nexport * from './helpers';\nexport * from './types';\n"],"mappings":"gNAAA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,OAA5B,CAAqCC,MAArC,KAAmD,OAAnD,CAEA,OAASC,UAAT,yCACA,OAASC,cAAT,CAAyBC,cAAzB,wBACA,OAASC,QAAT,4BACA,OAASC,eAAT,2CACA,OAASC,kBAAT,+CACA,OAASC,uBAAT,yDACA,OAASC,sBAAT,uDACA,OAASC,2BAAT,iEACA,OAASC,mBAAT,iDACA,OAASC,wBAAT,2DACA,OAASC,kBAAT,+CACA,OAASC,kBAAT,+CACA,OAASC,uBAAT,yDACA,OAASC,cAAT,iBACA,OAGEC,yBAHF,eAOA,GAAMC,QAGL,CAAG,CACF,KAAQX,kBADN,CAEF,aAAcC,uBAFZ,CAGF,YAAaC,sBAHX,CAIF,kBAAmBC,2BAJjB,CAKF,KAAQG,kBALN,CAMF,KAAQC,kBANN,CAOF,aAAcC,uBAPZ,CAQF,MAASJ,mBARP,CASF,cAAeC,wBATb,CAHJ,CAeA,MAAO,IAAMO,eAAc,CAAG,YAAvB,CAEP,MAAO,IAAMC,WAA+B,CAAGrB,UAAU,CAAC,SAACsB,CAAD,CAAQC,CAAR,CAAgB,IAClEC,EAAa,CAAGtB,MAAM,CAAiB,IAAjB,CAD4C,GAWpEK,eAAe,CAACa,cAAD,CAAiBE,CAAjB,CAAwBE,CAAxB,CAXqD,KAGtEC,IAHsE,CAGtEA,CAHsE,YAG/DP,yBAH+D,OAItEQ,OAJsE,CAItEA,CAJsE,YAI5DrB,cAJ4D,OAKtEsB,OALsE,CAKtEA,CALsE,YAK5DvB,cAL4D,OAMtEwB,aANsE,CAMtEA,CANsE,YAMtD,KANsD,GAOtEC,CAPsE,GAOtEA,mBAPsE,CAQtEC,CARsE,GAQtEA,mBARsE,CAStEC,CATsE,GAStEA,iBATsE,CAUnEC,CAVmE,uCAalEC,CAAS,CAAGhC,OAAO,CACvB,iBACEgB,eAAc,CAACQ,CAAD,CAAd,CACI,CACEI,mBAAmB,CAAnBA,CADF,CAEEC,mBAAmB,CAAnBA,CAFF,CAGEC,iBAAiB,CAAjBA,CAHF,CADJ,OADF,CADuB,CASvB,CAACN,CAAD,CAAOI,CAAP,CAA4BC,CAA5B,CAAiDC,CAAjD,CATuB,CAb+C,CAyBlEG,CAAS,CAAG5B,QAAQ,CAACa,OAAD,CAAUM,CAAV,CAzB8C,CA2BxE,MACE,qBAAC,CAAD,kBACMO,CADN,CAEMC,CAFN,EAGE,aAAa,CAAEL,CAHjB,CAIE,OAAO,CAAEF,CAJX,CAKE,OAAO,CAAEC,CALX,CAME,GAAG,CAAExB,UAAU,CAAC,CAACoB,CAAD,CAAMC,CAAN,CAAD,CANjB,GASH,CArCwD,CAAlD,CAuCP,uBACA"}
@@ -1 +1 @@
1
- .ProgressLine{background:var(--color-bg-system);height:var(--progress-line-height);position:relative;width:100%}.ProgressLine:after{background-color:var(--color-bg-brand);content:"";height:100%;position:absolute;top:0;transition:transform .3s}.ProgressLine_size_s{--progress-line-height:var(--space-3xs)}.ProgressLine_size_m{--progress-line-height:var(--space-2xs)}.ProgressLine_mode_step{grid-gap:var(--space-3xs);background:transparent;display:grid;grid-template-columns:repeat(var(--progress-line-steps),calc(100%/var(--progress-line-steps)));height:auto}.ProgressLine_mode_determinate:after{transform:scaleX(var(--progress-line-value));transform-origin:left;width:100%}.ProgressLine_mode_indeterminate{overflow-x:hidden}.ProgressLine_mode_indeterminate:after{-webkit-animation:ProgressLineAnimation 2s linear infinite;animation:ProgressLineAnimation 2s linear infinite;transform-origin:left;width:80%}.ProgressLine-Step{display:inline-flex;flex-direction:column;justify-content:flex-start}.ProgressLine-Line{background:var(--color-bg-system);height:var(--progress-line-height);overflow-x:hidden;position:relative;width:100%}.ProgressLine-Line:after{background:var(--color-bg-brand);content:"";height:var(--progress-line-height);left:0;position:absolute;top:0;transition:width .3s linear;transition-delay:var(--progress-line-delay);width:0}.ProgressLine-Line_active:after{width:100%}.ProgressLine-Label{margin-top:var(--space-3xs)}@-webkit-keyframes ProgressLineAnimation{0%{transform:translateX(-100%)}to{transform:translateX(130%)}}@keyframes ProgressLineAnimation{0%{transform:translateX(-100%)}to{transform:translateX(130%)}}
1
+ .ProgressLine{position:relative;width:100%}.ProgressLine_size_s{--progress-line-height:var(--space-3xs)}.ProgressLine_size_m{--progress-line-height:var(--space-2xs)}.ProgressLine:after{content:"";position:absolute;top:0}.ProgressLine_mode_step{min-height:var(--progress-line-height)}.ProgressLine_mode_step:before{background:var(--color-bg-system);content:"";position:absolute;top:0;width:100%}.ProgressLine_mode_step:after,.ProgressLine_mode_step:before{height:var(--progress-line-height);-webkit-mask-image:var(--progress-line-mask);mask-image:var(--progress-line-mask)}.ProgressLine_mode_step:after{background:var(--color-control-bg-primary);transition:width .3s;width:var(--progress-line-background-active-width)}.ProgressLine_mode_determinate{background:var(--color-bg-system);height:var(--progress-line-height)}.ProgressLine_mode_determinate:after{background-color:var(--color-bg-brand);height:100%;transform:scaleX(var(--progress-line-value));transform-origin:left;transition:transform .3s;width:100%}.ProgressLine_mode_indeterminate{background:var(--color-bg-system);height:var(--progress-line-height);overflow-x:hidden}.ProgressLine_mode_indeterminate:after{-webkit-animation:ProgressLineAnimation 2s linear infinite;animation:ProgressLineAnimation 2s linear infinite;background-color:var(--color-bg-brand);height:100%;transform-origin:left;transition:transform .3s;width:80%}.ProgressLine-Step{display:inline-flex;flex-direction:column;justify-content:flex-start}.ProgressLine-Steps{--progress-line-width-no-gap:calc(100% - (var(--progress-line-steps) - 1)*var(--space-3xs));grid-gap:var(--space-3xs);background:transparent;display:grid;grid-template-columns:repeat(var(--progress-line-steps),calc(var(--progress-line-width-no-gap)/var(--progress-line-steps)));height:auto;margin-top:var(--progress-line-height)}.ProgressLine-Label{margin-top:var(--space-3xs)}@-webkit-keyframes ProgressLineAnimation{0%{transform:translateX(-100%)}to{transform:translateX(130%)}}@keyframes ProgressLineAnimation{0%{transform:translateX(-100%)}to{transform:translateX(130%)}}
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","value","style","steps","getItemLabel"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./ProgressLine.css";import React,{forwardRef}from"react";import{usePrevious}from"../../hooks/usePrevious/usePrevious";import{cn}from"../../utils/bem";import{isNotNil}from"../../utils/type-guards";import{Text}from"../Text/Text";import{getLineDelay,withDefaultGetters}from"./helpers";var cnProgressLine=cn("ProgressLine"),getProgress=function(a){var b=Math.ceil(a);return 100<=b?1:0>=b?0:b/100},ProgressLineRender=function(a,b){var c,d=withDefaultGetters(a),e=d.size,f=void 0===e?"m":e,g=d.value,h=d.style,i=d.steps,j=d.getItemLabel,k=_objectWithoutProperties(d,_excluded),l=isNotNil(g)?Math.min(g,null!==(c=null===i||void 0===i?void 0:i.length)&&void 0!==c?c:0):-1,m=usePrevious(l);return i?React.createElement("div",Object.assign({},k,{style:_objectSpread(_objectSpread({},h),{},_defineProperty({},"--progress-line-steps",i.length)),ref:b,className:cnProgressLine({size:f,mode:"step"})}),i.map(function(a,b){var c=j(a),d=getLineDelay(l,null!==m&&void 0!==m?m:-1,b);return React.createElement("div",{key:cnProgressLine("Step",{index:b}),className:cnProgressLine("Step")},React.createElement("div",{style:_defineProperty({},"--progress-line-delay","".concat(.3*Math.max(0,d),"s")),className:cnProgressLine("Line",{active:l>=b})}),isNotNil(c)&&React.createElement(Text,{className:cnProgressLine("Label"),size:"2xs",lineHeight:"xs",view:"secondary",align:"center"},c))})):React.createElement("div",Object.assign({},k,{ref:b,style:_objectSpread(_objectSpread({},h),{},_defineProperty({},"--progress-line-value","".concat(getProgress(null!==g&&void 0!==g?g:0)))),className:cnProgressLine({size:f,mode:isNotNil(g)?"determinate":"indeterminate"})}))};export var ProgressLine=forwardRef(ProgressLineRender);
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","value","style","steps","getItemLabel"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./ProgressLine.css";import React,{forwardRef,useMemo,useRef}from"react";import{useComponentSize}from"../../hooks/useComponentSize";import{useForkRef}from"../../hooks/useForkRef";import{cn}from"../../utils/bem";import{isNotNil}from"../../utils/type-guards";import{Text}from"../Text/Text";import{calculateLinePositions,generateMask,getProgress,withDefaultGetters}from"./helpers";var cnProgressLine=cn("ProgressLine"),ProgressLineRender=function(a,b){var c,d=withDefaultGetters(a),e=d.size,f=void 0===e?"m":e,g=d.value,h=d.style,i=d.steps,j=d.getItemLabel,k=_objectWithoutProperties(d,_excluded),l=useRef(null),m=useComponentSize(l),n=m.width,o=useMemo(function(){var a,b=calculateLinePositions(null!==(a=null===i||void 0===i?void 0:i.length)&&void 0!==a?a:0,n);return[b,generateMask(b)]},[n,i]),p=_slicedToArray(o,2),q=p[0],r=p[1],s=useMemo(function(){var a,b={mode:isNotNil(g)?"determinate":"indeterminate",activeIndex:isNotNil(g)?Math.min(g,null!==(a=null===i||void 0===i?void 0:i.length)&&void 0!==a?a:0):-1};return i&&(b.mode="step",(null!==g&&void 0!==g?g:0)>=i.length&&(b.activeIndex=i.length-1)),b},[i,g]),t=s.mode,u=s.activeIndex,v=_objectSpread(_objectSpread({},k),{},{ref:useForkRef([b,l]),className:cnProgressLine({size:f,mode:t}),style:_objectSpread(_objectSpread({},h),{},(c={},_defineProperty(c,"--progress-line-value","".concat(getProgress(null!==g&&void 0!==g?g:0))),_defineProperty(c,"--progress-line-steps",null===i||void 0===i?void 0:i.length),_defineProperty(c,"--progress-line-background-active-width","".concat(null!==q&&void 0!==q&&q[u]?q[u].x+q[u].width:0,"px")),_defineProperty(c,"--progress-line-mask",r),c))});return React.createElement("div",v,i&&React.createElement("div",{className:cnProgressLine("Steps")},null===i||void 0===i?void 0:i.map(function(a,b){var c=j(a);return React.createElement("div",{key:cnProgressLine("Step",{index:b}),className:cnProgressLine("Step")},isNotNil(c)&&React.createElement(Text,{className:cnProgressLine("Label"),size:"2xs",lineHeight:"xs",view:"secondary",align:"center"},c))})))};export var ProgressLine=forwardRef(ProgressLineRender);
2
2
  //# sourceMappingURL=ProgressLine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressLine.js","names":["React","forwardRef","usePrevious","cn","isNotNil","Text","getLineDelay","withDefaultGetters","cnProgressLine","getProgress","progress","progressNormal","Math","ceil","ProgressLineRender","props","ref","size","value","style","steps","getItemLabel","otherProps","activeIndex","min","length","prevValue","mode","map","item","index","label","delay","max","active","ProgressLine"],"sources":["../../../../../src/components/ProgressLine/ProgressLine.tsx"],"sourcesContent":["import './ProgressLine.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { usePrevious } from '../../hooks/usePrevious/usePrevious';\nimport { cn } from '../../utils/bem';\nimport { isNotNil } from '../../utils/type-guards';\nimport { Text } from '../Text/Text';\nimport { getLineDelay, withDefaultGetters } from './helpers';\nimport { ProgressLineComponent, ProgressLineProps } from './types';\n\nconst cnProgressLine = cn('ProgressLine');\n\nconst getProgress = (progress: number) => {\n const progressNormal = Math.ceil(progress);\n\n if (progressNormal >= 100) {\n return 1;\n }\n\n if (progressNormal <= 0) {\n return 0;\n }\n\n return progressNormal / 100;\n};\n\nconst ProgressLineRender = (\n props: ProgressLineProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = 'm',\n value,\n style,\n steps,\n getItemLabel,\n ...otherProps\n } = withDefaultGetters(props);\n\n const activeIndex = isNotNil(value)\n ? Math.min(value, steps?.length ?? 0)\n : -1;\n\n const prevValue = usePrevious(activeIndex);\n\n return !steps ? (\n <div\n {...otherProps}\n ref={ref}\n style={{\n ...style,\n ['--progress-line-value' as string]: `${getProgress(value ?? 0)}`,\n }}\n className={cnProgressLine({\n size,\n mode: isNotNil(value) ? 'determinate' : 'indeterminate',\n })}\n />\n ) : (\n <div\n {...otherProps}\n style={{\n ...style,\n ['--progress-line-steps' as string]: steps.length,\n }}\n ref={ref}\n className={cnProgressLine({\n size,\n mode: 'step',\n })}\n >\n {steps.map((item, index) => {\n const label = getItemLabel(item);\n const active = activeIndex >= index;\n const delay = getLineDelay(activeIndex, prevValue ?? -1, index);\n return (\n <div\n key={cnProgressLine('Step', { index })}\n className={cnProgressLine('Step')}\n >\n <div\n style={{\n ['--progress-line-delay' as string]: `${\n Math.max(0, delay) * 0.3\n }s`,\n }}\n className={cnProgressLine('Line', {\n active,\n })}\n />\n {isNotNil(label) && (\n <Text\n className={cnProgressLine('Label')}\n size=\"2xs\"\n lineHeight=\"xs\"\n view=\"secondary\"\n align=\"center\"\n >\n {label}\n </Text>\n )}\n </div>\n );\n })}\n </div>\n );\n};\n\nexport const ProgressLine = forwardRef(\n ProgressLineRender,\n) as ProgressLineComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressLine.js","names":["React","forwardRef","useMemo","useRef","useComponentSize","useForkRef","cn","isNotNil","Text","calculateLinePositions","generateMask","getProgress","withDefaultGetters","cnProgressLine","ProgressLineRender","props","ref","size","value","style","steps","getItemLabel","otherProps","containerRef","containerWidth","width","lines","length","mask","data","mode","activeIndex","Math","min","containerProps","className","x","map","item","index","label","ProgressLine"],"sources":["../../../../../src/components/ProgressLine/ProgressLine.tsx"],"sourcesContent":["import './ProgressLine.css';\n\nimport React, { forwardRef, useMemo, useRef } from 'react';\n\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { cn } from '../../utils/bem';\nimport { isNotNil } from '../../utils/type-guards';\nimport { Text } from '../Text/Text';\nimport {\n calculateLinePositions,\n generateMask,\n getProgress,\n withDefaultGetters,\n} from './helpers';\nimport { ProgressLineComponent, ProgressLineProps } from './types';\n\nconst cnProgressLine = cn('ProgressLine');\n\nconst ProgressLineRender = (\n props: ProgressLineProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = 'm',\n value,\n style,\n steps,\n getItemLabel,\n ...otherProps\n } = withDefaultGetters(props);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const { width: containerWidth } = useComponentSize(containerRef);\n\n const [lines, mask] = useMemo(() => {\n const lines = calculateLinePositions(steps?.length ?? 0, containerWidth);\n\n return [lines, generateMask(lines)];\n }, [containerWidth, steps]);\n\n const { mode, activeIndex } = useMemo(() => {\n const data = {\n mode: isNotNil(value) ? 'determinate' : 'indeterminate',\n activeIndex: isNotNil(value) ? Math.min(value, steps?.length ?? 0) : -1,\n };\n if (steps) {\n data.mode = 'step';\n if ((value ?? 0) >= steps.length) {\n data.activeIndex = steps.length - 1;\n }\n }\n return data;\n }, [steps, value]);\n\n const containerProps = {\n ...otherProps,\n ref: useForkRef([ref, containerRef]),\n className: cnProgressLine({\n size,\n mode,\n }),\n style: {\n ...style,\n ['--progress-line-value' as string]: `${getProgress(value ?? 0)}`,\n ['--progress-line-steps' as string]: steps?.length,\n ['--progress-line-background-active-width' as string]: `${\n lines?.[activeIndex]\n ? lines[activeIndex].x + lines[activeIndex].width\n : 0\n }px`,\n ['--progress-line-mask' as string]: mask,\n },\n };\n\n return (\n <div {...containerProps}>\n {steps && (\n <div className={cnProgressLine('Steps')}>\n {steps?.map((item, index) => {\n const label = getItemLabel(item);\n return (\n <div\n key={cnProgressLine('Step', { index })}\n className={cnProgressLine('Step')}\n >\n {isNotNil(label) && (\n <Text\n className={cnProgressLine('Label')}\n size=\"2xs\"\n lineHeight=\"xs\"\n view=\"secondary\"\n align=\"center\"\n >\n {label}\n </Text>\n )}\n </div>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport const ProgressLine = forwardRef(\n ProgressLineRender,\n) as ProgressLineComponent;\n"],"mappings":"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"}
@@ -264,4 +264,12 @@ export declare function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>)
264
264
  ref?: import("react").Ref<HTMLDivElement> | undefined;
265
265
  key?: import("react").Key | null | undefined;
266
266
  };
267
- export declare const getLineDelay: (value: number, prevValue: number, index: number) => number;
267
+ export declare const getProgress: (progress: number) => number;
268
+ declare type ProgressLineSvgItem = {
269
+ width: number;
270
+ x: number;
271
+ y: number;
272
+ };
273
+ export declare const calculateLinePositions: (steps: number, containerWidth: number) => ProgressLineSvgItem[];
274
+ export declare const generateMask: (lines: ProgressLineSvgItem[]) => string;
275
+ export {};
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var defaultGetItemLabel=function(a){return a.label};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel})}export var getLineDelay=function(a,b,c){return b<a?Math.max(a<c?0:c-b-1,0):Math.max(b-c,0)};
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var defaultGetItemLabel=function(a){return a.label};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel})}export var getProgress=function(a){var b=Math.ceil(a);return 100<=b?1:0>=b?0:b/100};export var calculateLinePositions=function(a,b){for(var c=[],d=2,e=Math.max(b-(a-1)*d,0),f=e/a,g=0,h=0;h<a;h++)c.push({width:f,y:0,x:g}),g+=f+d;return c};export var generateMask=function(a){var b=a.length;if(0<b){for(var c=a[b-1].x+a[b-1].width,d="%3csvg width='".concat(c,"px' height='4px' xmlns='http://www.w3.org/2000/svg'%3e"),e=0;e<b;e++){var f=a[e],g=f.x,h=f.width,i=f.y;d+="%3crect x='".concat(g,"px' y='").concat(i,"px' height='4px' width='").concat(h,"px' /%3e")}return d+="%3c/svg%3e","url(\"data:image/svg+xml;charset=UTF-8,".concat(d,"\")")}return""};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemLabel","item","label","withDefaultGetters","props","getItemLabel","getLineDelay","value","prevValue","index","Math","max"],"sources":["../../../../../src/components/ProgressLine/helpers.ts"],"sourcesContent":["import {\n ProgressLineItemDefault,\n ProgressLinePropGetItemLabel,\n ProgressLineProps,\n} from './types';\n\nconst defaultGetItemLabel: ProgressLinePropGetItemLabel<\n ProgressLineItemDefault\n> = (item) => item.label;\n\nexport function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n };\n}\n\nexport const getLineDelay = (\n value: number,\n prevValue: number,\n index: number,\n) => {\n if (prevValue < value) {\n return Math.max(value < index ? 0 : index - prevValue - 1, 0);\n }\n return Math.max(prevValue - index, 0);\n};\n"],"mappings":"qqBAMA,GAAMA,oBAEL,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,KAAf,CAFJ,CAIA,MAAO,SAASC,mBAAT,CAAkCC,CAAlC,CAAkE,CACvE,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBL,mBAFtC,EAID,CAED,MAAO,IAAMM,aAAY,CAAG,SAC1BC,CAD0B,CAE1BC,CAF0B,CAG1BC,CAH0B,CAIvB,OACCD,EAAS,CAAGD,CADb,CAEMG,IAAI,CAACC,GAAL,CAASJ,CAAK,CAAGE,CAAR,CAAgB,CAAhB,CAAoBA,CAAK,CAAGD,CAAR,CAAoB,CAAjD,CAAoD,CAApD,CAFN,CAIIE,IAAI,CAACC,GAAL,CAASH,CAAS,CAAGC,CAArB,CAA4B,CAA5B,CACR,CATM"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemLabel","item","label","withDefaultGetters","props","getItemLabel","getProgress","progress","progressNormal","Math","ceil","calculateLinePositions","steps","containerWidth","lines","gap","widthWithoutGap","max","lineWidth","padding","i","push","width","y","x","generateMask","length","svg","index"],"sources":["../../../../../src/components/ProgressLine/helpers.ts"],"sourcesContent":["import {\n ProgressLineItemDefault,\n ProgressLinePropGetItemLabel,\n ProgressLineProps,\n} from './types';\n\nconst defaultGetItemLabel: ProgressLinePropGetItemLabel<\n ProgressLineItemDefault\n> = (item) => item.label;\n\nexport function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n };\n}\n\nexport const getProgress = (progress: number) => {\n const progressNormal = Math.ceil(progress);\n\n if (progressNormal >= 100) {\n return 1;\n }\n\n if (progressNormal <= 0) {\n return 0;\n }\n\n return progressNormal / 100;\n};\n\ntype ProgressLineSvgItem = {\n width: number;\n x: number;\n y: number;\n};\n\nexport const calculateLinePositions = (\n steps: number,\n containerWidth: number,\n): ProgressLineSvgItem[] => {\n const lines: ProgressLineSvgItem[] = [];\n const gap = 2;\n const widthWithoutGap = Math.max(containerWidth - (steps - 1) * gap, 0);\n const lineWidth = widthWithoutGap / steps;\n let padding = 0;\n for (let i = 0; i < steps; i++) {\n lines.push({\n width: lineWidth,\n y: 0,\n x: padding,\n });\n padding += lineWidth + gap;\n }\n return lines;\n};\n\nexport const generateMask = (lines: ProgressLineSvgItem[]): string => {\n const { length } = lines;\n if (length > 0) {\n const width = lines[length - 1].x + lines[length - 1].width;\n let svg = `%3csvg width='${width}px' height='4px' xmlns='http://www.w3.org/2000/svg'%3e`;\n for (let index = 0; index < length; index++) {\n const { x, width, y } = lines[index];\n svg += `%3crect x='${x}px' y='${y}px' height='4px' width='${width}px' /%3e`;\n }\n svg += '%3c/svg%3e';\n return `url(\"data:image/svg+xml;charset=UTF-8,${svg}\")`;\n }\n return '';\n};\n"],"mappings":"qqBAMA,GAAMA,oBAEL,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,KAAf,CAFJ,CAIA,MAAO,SAASC,mBAAT,CAAkCC,CAAlC,CAAkE,CACvE,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBL,mBAFtC,EAID,CAED,MAAO,IAAMM,YAAW,CAAG,SAACC,CAAD,CAAsB,CAC/C,GAAMC,EAAc,CAAGC,IAAI,CAACC,IAAL,CAAUH,CAAV,CAAvB,CAD+C,MAGzB,IAAlB,EAAAC,CAH2C,CAItC,CAJsC,CAOzB,CAAlB,EAAAA,CAP2C,CAQtC,CARsC,CAWxCA,CAAc,CAAG,GACzB,CAZM,CAoBP,MAAO,IAAMG,uBAAsB,CAAG,SACpCC,CADoC,CAEpCC,CAFoC,CAGV,CAM1B,OALMC,EAA4B,CAAG,EAKrC,CAJMC,CAAG,CAAG,CAIZ,CAHMC,CAAe,CAAGP,IAAI,CAACQ,GAAL,CAASJ,CAAc,CAAG,CAACD,CAAK,CAAG,CAAT,EAAcG,CAAxC,CAA6C,CAA7C,CAGxB,CAFMG,CAAS,CAAGF,CAAe,CAAGJ,CAEpC,CADIO,CAAO,CAAG,CACd,CAASC,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAGR,CAApB,CAA2BQ,CAAC,EAA5B,CACEN,CAAK,CAACO,IAAN,CAAW,CACTC,KAAK,CAAEJ,CADE,CAETK,CAAC,CAAE,CAFM,CAGTC,CAAC,CAAEL,CAHM,CAAX,CADF,CAMEA,CAAO,EAAID,CAAS,CAAGH,CANzB,CAQA,MAAOD,EACR,CAlBM,CAoBP,MAAO,IAAMW,aAAY,CAAG,SAACX,CAAD,CAA0C,CACpE,GAAQY,EAAR,CAAmBZ,CAAnB,CAAQY,MAAR,CACA,GAAa,CAAT,CAAAA,CAAJ,CAAgB,CAGd,OAFMJ,EAAK,CAAGR,CAAK,CAACY,CAAM,CAAG,CAAV,CAAL,CAAkBF,CAAlB,CAAsBV,CAAK,CAACY,CAAM,CAAG,CAAV,CAAL,CAAkBJ,KAEtD,CADIK,CAAG,yBAAoBL,CAApB,0DACP,CAASM,CAAK,CAAG,CAAjB,CAAoBA,CAAK,CAAGF,CAA5B,CAAoCE,CAAK,EAAzC,CAA6C,CAC3C,MAAwBd,CAAK,CAACc,CAAD,CAA7B,CAAQJ,CAAR,GAAQA,CAAR,CAAWF,CAAX,GAAWA,KAAX,CAAkBC,CAAlB,GAAkBA,CAAlB,CACAI,CAAG,uBAAkBH,CAAlB,mBAA6BD,CAA7B,oCAAyDD,CAAzD,YACJ,CAED,MADAK,EAAG,EAAI,YACP,kDAAgDA,CAAhD,OACD,CACD,MAAO,EACR,CAbM"}
@@ -1 +1 @@
1
- .TableCell{--buttons-wrapper-size:0px;background-color:var(--color-bg-default);box-sizing:border-box;color:var(--color-typo-primary);grid-row-end:var(--row-span);z-index:var(--table-z)}.TableCell_withoutBorder{border:none}.TableCell_isHeader{border-bottom:1px solid var(--color-bg-border);font-size:var(--size-text-xs);font-weight:var(--font-weight-text-bold);letter-spacing:.05em;line-height:var(--line-height-text-s);position:relative;text-transform:uppercase}.TableCell:not(.TableCell_isHeader){font-size:var(--size-text-s);line-height:var(--line-height-text-s)}.TableCell_isResized{word-break:break-word}.TableCell_isClickable{cursor:pointer}.TableCell_isControl,.TableCell_isFilterable,.TableCell_isSortable{--buttons-wrapper-size:var(--space-xl)}.TableCell_isFilterable.TableCell_isControl,.TableCell_isSortable.TableCell_isControl,.TableCell_isSortable.TableCell_isFilterable{--buttons-wrapper-size:var(--space-4xl)}.TableCell_isSortable.TableCell_isFilterable.TableCell_isControl{--buttons-wrapper-size:var(--space-5xl)}.TableCell_stickyOnLeft,.TableCell_stickyOnTop{position:-webkit-sticky;position:sticky}.TableCell_stickyOnLeft.TableCell_isResizer,.TableCell_stickyOnTop.TableCell_isResizer{z-index:calc(var(--sticky-top-and-left-z) + 1)}.TableCell_stickyOnTop{top:0;z-index:var(--sticky-top-z)}.TableCell_stickyOnLeft{left:0;z-index:var(--sticky-left-z)}.TableCell_stickyOnLeft.TableCell_isHeader{z-index:var(--sticky-top-and-left-z)}.TableCell_isBorderTop{border-top:var(--table-border)}.TableCell_isBorderLeft{border-left:var(--table-border)}.TableCell-Wrapper{box-sizing:border-box;display:flex;height:100%;padding:var(--cell-padding-vertical) var(--cell-padding-horizontal);padding-right:calc(var(--cell-padding-horizontal) + var(--resizer-width) + var(--buttons-wrapper-size));position:relative}.TableCell-Wrapper_wrap_truncate{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.TableCell-Wrapper_wrap_break{max-width:100%;white-space:pre-wrap;word-break:break-word}.TableCell-Wrapper_withoutPadding{padding:0}.TableCell-Wrapper_verticalAlign_top{align-items:flex-start}.TableCell-Wrapper_verticalAlign_center{align-items:center}.TableCell-Wrapper_verticalAlign_bottom{align-items:flex-end}.TableCell-Wrapper_horizontalAlign_left{justify-content:flex-start}.TableCell-Wrapper_horizontalAlign_center{justify-content:center;text-align:center}.TableCell-Wrapper_horizontalAlign_right{justify-content:flex-end;text-align:right}.TableCell_stickyOnLeft .TableCell-Wrapper:after{background:linear-gradient(90deg,var(--shadow-color),transparent);bottom:0;content:"";opacity:0;pointer-events:none;position:absolute;right:0;top:0;transform:translateX(100%);transition:opacity var(--fast-transition);width:var(--space-s)}.TableCell_stickyOnLeft.TableCell_showVerticalShadow .TableCell-Wrapper:after{opacity:1}.TableCell_isHeader:hover .TableCell-Wrapper{background:var(--color-bg-stripe)}
1
+ .TableCell{--buttons-wrapper-size:0px;background-color:var(--color-bg-default);box-sizing:border-box;color:var(--color-typo-primary);grid-column-end:var(--table-cell-col-end);grid-column-start:var(--table-cell-col-start);grid-row-end:var(--row-span);z-index:var(--table-z)}.TableCell_withoutBorder{border:none}.TableCell_isHeader{border-bottom:1px solid var(--color-bg-border);font-size:var(--size-text-xs);font-weight:var(--font-weight-text-bold);letter-spacing:.05em;line-height:var(--line-height-text-s);position:relative;text-transform:uppercase}.TableCell:not(.TableCell_isHeader){font-size:var(--size-text-s);line-height:var(--line-height-text-s)}.TableCell_isResized{word-break:break-word}.TableCell_isClickable{cursor:pointer}.TableCell_isControl,.TableCell_isFilterable,.TableCell_isSortable{--buttons-wrapper-size:var(--space-xl)}.TableCell_isFilterable.TableCell_isControl,.TableCell_isSortable.TableCell_isControl,.TableCell_isSortable.TableCell_isFilterable{--buttons-wrapper-size:var(--space-4xl)}.TableCell_isSortable.TableCell_isFilterable.TableCell_isControl{--buttons-wrapper-size:var(--space-5xl)}.TableCell_stickyOnLeft,.TableCell_stickyOnTop{position:-webkit-sticky;position:sticky}.TableCell_stickyOnLeft.TableCell_isResizer,.TableCell_stickyOnTop.TableCell_isResizer{z-index:calc(var(--sticky-top-and-left-z) + 1)}.TableCell_stickyOnTop{top:0;z-index:var(--sticky-top-z)}.TableCell_stickyOnLeft{left:0;z-index:var(--sticky-left-z)}.TableCell_stickyOnLeft.TableCell_isHeader{z-index:var(--sticky-top-and-left-z)}.TableCell_isBorderTop{border-top:var(--table-border)}.TableCell_isBorderLeft{border-left:var(--table-border)}.TableCell-Wrapper{box-sizing:border-box;display:flex;height:100%;padding:var(--cell-padding-vertical) var(--cell-padding-horizontal);padding-right:calc(var(--cell-padding-horizontal) + var(--resizer-width) + var(--buttons-wrapper-size));position:relative}.TableCell-Wrapper_wrap_truncate{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.TableCell-Wrapper_wrap_break{max-width:100%;white-space:pre-wrap;word-break:break-word}.TableCell-Wrapper_withoutPadding{padding:0}.TableCell-Wrapper_verticalAlign_top{align-items:flex-start}.TableCell-Wrapper_verticalAlign_center{align-items:center}.TableCell-Wrapper_verticalAlign_bottom{align-items:flex-end}.TableCell-Wrapper_horizontalAlign_left{justify-content:flex-start}.TableCell-Wrapper_horizontalAlign_center{justify-content:center;text-align:center}.TableCell-Wrapper_horizontalAlign_right{justify-content:flex-end;text-align:right}.TableCell_stickyOnLeft .TableCell-Wrapper:after{background:linear-gradient(90deg,var(--shadow-color),transparent);bottom:0;content:"";opacity:0;pointer-events:none;position:absolute;right:0;top:0;transform:translateX(100%);transition:opacity var(--fast-transition);width:var(--space-s)}.TableCell_stickyOnLeft.TableCell_showVerticalShadow .TableCell-Wrapper:after{opacity:1}.TableCell_isHeader:hover .TableCell-Wrapper{background:var(--color-bg-stripe)}
@@ -1,2 +1,2 @@
1
- import"./TableRowsCollapse.css";import React from"react";import{IconArrowDown}from"../../../icons/IconArrowDown/IconArrowDown";import{IconArrowUp}from"../../../icons/IconArrowUp/IconArrowUp";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";export var cnTableRowsCollapse=cn("TableRowsCollapse");export var TableRowsCollapse=function(a){var b=a.level,c=a.children,d=a.isExpanded,e=a.toggleCollapse,f=a.withCollapseButton,g=a.isExpandedByDefault;return React.createElement("div",{style:{"--nesting-level":b},className:cnTableRowsCollapse(),onClick:e},!g&&f&&React.createElement("div",{className:cnTableRowsCollapse("buttonContainer")},React.createElement(Button,{"aria-expanded":d,iconLeft:d?IconArrowUp:IconArrowDown,iconSize:"s",size:"xs",onlyIcon:!0,view:"clear"})),React.createElement("div",{className:cnTableRowsCollapse("cellContainer",{withExpanderPadding:!g})},c))};
1
+ import"./TableRowsCollapse.css";import React from"react";import{IconArrowDown}from"../../../icons/IconArrowDown/IconArrowDown";import{IconArrowUp}from"../../../icons/IconArrowUp/IconArrowUp";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";export var cnTableRowsCollapse=cn("TableRowsCollapse");export var TableRowsCollapse=function(a){var b=a.level,c=a.children,d=a.isExpanded,e=a.toggleCollapse,f=a.withCollapseButton,g=a.isExpandedByDefault;return React.createElement("div",{style:{"--nesting-level":b},className:cnTableRowsCollapse()},!g&&f&&React.createElement("div",{className:cnTableRowsCollapse("buttonContainer")},React.createElement(Button,{"aria-expanded":d,iconLeft:d?IconArrowUp:IconArrowDown,iconSize:"s",onClick:e,size:"xs",onlyIcon:!0,view:"clear"})),React.createElement("div",{className:cnTableRowsCollapse("cellContainer",{withExpanderPadding:!g})},c))};
2
2
  //# sourceMappingURL=TableRowsCollapse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowsCollapse.js","names":["React","IconArrowDown","IconArrowUp","cn","Button","cnTableRowsCollapse","TableRowsCollapse","props","level","children","isExpanded","toggleCollapse","withCollapseButton","isExpandedByDefault","withExpanderPadding"],"sources":["../../../../../../src/components/Table/RowsCollapse/TableRowsCollapse.tsx"],"sourcesContent":["import './TableRowsCollapse.css';\n\nimport React from 'react';\n\nimport { IconArrowDown } from '../../../icons/IconArrowDown/IconArrowDown';\nimport { IconArrowUp } from '../../../icons/IconArrowUp/IconArrowUp';\nimport { cn } from '../../../utils/bem';\nimport { Button } from '../../Button/Button';\n\nexport type Props = {\n level: number;\n isExpandedByDefault?: boolean;\n toggleCollapse?: (e: React.SyntheticEvent) => void;\n isExpanded?: boolean;\n withCollapseButton?: boolean;\n children?: React.ReactNode;\n};\n\nexport const cnTableRowsCollapse = cn('TableRowsCollapse');\n\nexport const TableRowsCollapse: React.FC<Props> = (props) => {\n const {\n level,\n children,\n isExpanded,\n toggleCollapse,\n withCollapseButton,\n isExpandedByDefault,\n } = props;\n\n const style: React.CSSProperties & {\n '--nesting-level': number;\n } = { '--nesting-level': level };\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events\n <div\n style={style}\n className={cnTableRowsCollapse()}\n onClick={toggleCollapse}\n >\n {!isExpandedByDefault && withCollapseButton && (\n <div className={cnTableRowsCollapse('buttonContainer')}>\n <Button\n aria-expanded={isExpanded}\n iconLeft={isExpanded ? IconArrowUp : IconArrowDown}\n iconSize=\"s\"\n size=\"xs\"\n onlyIcon\n view=\"clear\"\n />\n </div>\n )}\n <div\n className={cnTableRowsCollapse('cellContainer', {\n withExpanderPadding: !isExpandedByDefault,\n })}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"mappings":"AAAA,gCAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,aAAT,kDACA,OAASC,WAAT,8CACA,OAASC,EAAT,0BACA,OAASC,MAAT,2BAWA,MAAO,IAAMC,oBAAmB,CAAGF,EAAE,CAAC,mBAAD,CAA9B,CAEP,MAAO,IAAMG,kBAAkC,CAAG,SAACC,CAAD,CAAW,IAEzDC,EAFyD,CAQvDD,CARuD,CAEzDC,KAFyD,CAGzDC,CAHyD,CAQvDF,CARuD,CAGzDE,QAHyD,CAIzDC,CAJyD,CAQvDH,CARuD,CAIzDG,UAJyD,CAKzDC,CALyD,CAQvDJ,CARuD,CAKzDI,cALyD,CAMzDC,CANyD,CAQvDL,CARuD,CAMzDK,kBANyD,CAOzDC,CAPyD,CAQvDN,CARuD,CAOzDM,mBAPyD,CAc3D,MAEE,4BACE,KAAK,CALL,CAAE,kBAAmBL,CAArB,CAIF,CAEE,SAAS,CAAEH,mBAAmB,EAFhC,CAGE,OAAO,CAAEM,CAHX,EAKG,CAACE,CAAD,EAAwBD,CAAxB,EACC,2BAAK,SAAS,CAAEP,mBAAmB,CAAC,iBAAD,CAAnC,EACE,oBAAC,MAAD,EACE,gBAAeK,CADjB,CAEE,QAAQ,CAAEA,CAAU,CAAGR,WAAH,CAAiBD,aAFvC,CAGE,QAAQ,CAAC,GAHX,CAIE,IAAI,CAAC,IAJP,CAKE,QAAQ,GALV,CAME,IAAI,CAAC,OANP,EADF,CANJ,CAiBE,2BACE,SAAS,CAAEI,mBAAmB,CAAC,eAAD,CAAkB,CAC9CS,mBAAmB,CAAE,CAACD,CADwB,CAAlB,CADhC,EAKGJ,CALH,CAjBF,CA0BH,CA1CM"}
1
+ {"version":3,"file":"TableRowsCollapse.js","names":["React","IconArrowDown","IconArrowUp","cn","Button","cnTableRowsCollapse","TableRowsCollapse","props","level","children","isExpanded","toggleCollapse","withCollapseButton","isExpandedByDefault","withExpanderPadding"],"sources":["../../../../../../src/components/Table/RowsCollapse/TableRowsCollapse.tsx"],"sourcesContent":["import './TableRowsCollapse.css';\n\nimport React from 'react';\n\nimport { IconArrowDown } from '../../../icons/IconArrowDown/IconArrowDown';\nimport { IconArrowUp } from '../../../icons/IconArrowUp/IconArrowUp';\nimport { cn } from '../../../utils/bem';\nimport { Button } from '../../Button/Button';\n\nexport type Props = {\n level: number;\n isExpandedByDefault?: boolean;\n toggleCollapse?: (e: React.SyntheticEvent) => void;\n isExpanded?: boolean;\n withCollapseButton?: boolean;\n children?: React.ReactNode;\n};\n\nexport const cnTableRowsCollapse = cn('TableRowsCollapse');\n\nexport const TableRowsCollapse: React.FC<Props> = (props) => {\n const {\n level,\n children,\n isExpanded,\n toggleCollapse,\n withCollapseButton,\n isExpandedByDefault,\n } = props;\n\n const style: React.CSSProperties & {\n '--nesting-level': number;\n } = { '--nesting-level': level };\n\n return (\n <div style={style} className={cnTableRowsCollapse()}>\n {!isExpandedByDefault && withCollapseButton && (\n <div className={cnTableRowsCollapse('buttonContainer')}>\n <Button\n aria-expanded={isExpanded}\n iconLeft={isExpanded ? IconArrowUp : IconArrowDown}\n iconSize=\"s\"\n onClick={toggleCollapse}\n size=\"xs\"\n onlyIcon\n view=\"clear\"\n />\n </div>\n )}\n <div\n className={cnTableRowsCollapse('cellContainer', {\n withExpanderPadding: !isExpandedByDefault,\n })}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"mappings":"AAAA,gCAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,aAAT,kDACA,OAASC,WAAT,8CACA,OAASC,EAAT,0BACA,OAASC,MAAT,2BAWA,MAAO,IAAMC,oBAAmB,CAAGF,EAAE,CAAC,mBAAD,CAA9B,CAEP,MAAO,IAAMG,kBAAkC,CAAG,SAACC,CAAD,CAAW,IAEzDC,EAFyD,CAQvDD,CARuD,CAEzDC,KAFyD,CAGzDC,CAHyD,CAQvDF,CARuD,CAGzDE,QAHyD,CAIzDC,CAJyD,CAQvDH,CARuD,CAIzDG,UAJyD,CAKzDC,CALyD,CAQvDJ,CARuD,CAKzDI,cALyD,CAMzDC,CANyD,CAQvDL,CARuD,CAMzDK,kBANyD,CAOzDC,CAPyD,CAQvDN,CARuD,CAOzDM,mBAPyD,CAc3D,MACE,4BAAK,KAAK,CAHR,CAAE,kBAAmBL,CAArB,CAGF,CAAmB,SAAS,CAAEH,mBAAmB,EAAjD,EACG,CAACQ,CAAD,EAAwBD,CAAxB,EACC,2BAAK,SAAS,CAAEP,mBAAmB,CAAC,iBAAD,CAAnC,EACE,oBAAC,MAAD,EACE,gBAAeK,CADjB,CAEE,QAAQ,CAAEA,CAAU,CAAGR,WAAH,CAAiBD,aAFvC,CAGE,QAAQ,CAAC,GAHX,CAIE,OAAO,CAAEU,CAJX,CAKE,IAAI,CAAC,IALP,CAME,QAAQ,GANV,CAOE,IAAI,CAAC,OAPP,EADF,CAFJ,CAcE,2BACE,SAAS,CAAEN,mBAAmB,CAAC,eAAD,CAAkB,CAC9CS,mBAAmB,CAAE,CAACD,CADwB,CAAlB,CADhC,EAKGJ,CALH,CAdF,CAuBH,CAtCM"}
@@ -64,6 +64,7 @@ declare type ColumnBase<T extends TableRow> = ValueOf<{
64
64
  [K in keyof T]: {
65
65
  accessor: K extends string ? K : never;
66
66
  sortable?: boolean;
67
+ colSpan?: number | ((row: T) => number);
67
68
  sortByField?: keyof T;
68
69
  order?: OrderType;
69
70
  sortFn?(a: T[K], b: T[K]): number;
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _excluded=["columns","rows","size","filters","isResizable","stickyHeader","stickyColumns","minColumnWidth","activeRow","verticalAlign","headerVerticalAlign","zebraStriped","borderBetweenRows","borderBetweenColumns","emptyRowsPlaceholder","defaultExpandAll","className","onRowHover","onRowClick","onRowCreate","onCellClick","getAdditionalClassName","rowCreateText","lazyLoad","onSortBy","onFiltersUpdated","getTagLabel","getCellWrap","isExpandedRowsByDefault"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Table.css";import React,{useEffect,useMemo}from"react";import{useComponentSize}from"../../hooks/useComponentSize/useComponentSize";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{IconSortDown}from"../../icons/IconSortDown/IconSortDown";import{IconSortUp}from"../../icons/IconSortUp/IconSortUp";import{IconUnsort}from"../../icons/IconUnsort/IconUnsort";import{sortBy as sortByDefault,updateAt}from"../../utils/array";import{cn}from"../../utils/bem";import{setRef}from"../../utils/setRef";import{isNotNil,isString}from"../../utils/type-guards";import{Button}from"../Button/Button";import{Text}from"../Text/Text";import{TableCell}from"./Cell/TableCell";import{fieldFiltersPresent,filterTableData,getSelectedFiltersList,isSelectedFiltersPresent,useSelectedFilters}from"./filtering";import{TableHeader}from"./Header/TableHeader";import{createSortingState,getColumnLeftOffset,getColumnsSize,getMergedArray,getNewSorting,Order,transformRows,useHeaderData,useLazyLoadData}from"./helpers";import{TableResizer}from"./Resizer/TableResizer";import{TableRowsCollapse}from"./RowsCollapse/TableRowsCollapse";import{TableSelectedOptionsList}from"./SelectedOptionsList/TableSelectedOptionsList";export{TableTextFilter}from"./TextFilter/TableTextFilter";export{TableFilterContainer}from"./FilterContainer/TableFilterContainer";export{TableNumberFilter}from"./NumberFilter/TableNumberFilter";export{TableChoiceGroupFilter}from"./ChoiceGroupFilter/TableChoiceGroupFilter";var cnTable=cn("Table");export var sizes=["s","m","l"];export var zebraStriped=["odd","even"];export var headerVerticalAligns=["center","bottom"];var createButtonSizeMap={s:"xs",m:"s",l:"m"},getColumnSortByField=function(a){return a.sortable&&a.sortByField||a.accessor},sortingData=function(a,b,c){if(c)return a;if(!b)return a;var d=sortByDefault(a,b.by,b.order,b.sortFn);return d.some(function(a){var b;return null===(b=a.rows)||void 0===b?void 0:b.length})?d.map(function(a){return a.rows?_objectSpread(_objectSpread({},a),{},{rows:sortingData(a.rows,b,c)}):a}):d},defaultEmptyRowsPlaceholder=React.createElement(Text,{as:"span",view:"primary",size:"s",lineHeight:"s"},"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445"),InternalTable=function(a,b){var c,d,e,f,g=a.columns,h=a.rows,i=a.size,j=void 0===i?"l":i,k=a.filters,l=a.isResizable,m=void 0!==l&&l,n=a.stickyHeader,o=a.stickyColumns,p=void 0===o?0:o,q=a.minColumnWidth,r=void 0===q?150:q,s=a.activeRow,t=a.verticalAlign,u=void 0===t?"top":t,v=a.headerVerticalAlign,w=void 0===v?"center":v,x=a.zebraStriped,y=a.borderBetweenRows,z=a.borderBetweenColumns,A=void 0!==z&&z,B=a.emptyRowsPlaceholder,C=void 0===B?defaultEmptyRowsPlaceholder:B,D=a.defaultExpandAll,E=a.className,F=a.onRowHover,G=a.onRowClick,H=a.onRowCreate,I=a.onCellClick,J=a.getAdditionalClassName,K=a.rowCreateText,L=void 0===K?"+ \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443":K,M=a.lazyLoad,N=a.onSortBy,O=a.onFiltersUpdated,P=a.getTagLabel,Q=a.getCellWrap,R=a.isExpandedRowsByDefault,S=void 0!==R&&R,T=_objectWithoutProperties(a,_excluded),U=useHeaderData(g),V=U.headers,W=U.flattenedHeaders,X=U.lowHeaders,Y=U.headerRowsRefs,Z=U.headerRowsHeights,$=U.resizerTopOffsets,_=(null===(c=V[0][p-1])||void 0===c?void 0:c.position.gridIndex)+((null===(d=V[0][p-1])||void 0===d?void 0:d.position.colSpan)||1),aa=function(){return X.map(function(a){return a.width})},ba=React.useState(aa()),ca=_slicedToArray(ba,2),da=ca[0],ea=ca[1],fa=React.useMemo(function(){return k&&k.filter(function(a){return a.id&&a.field})},[k]);React.useEffect(function(){ea(aa())},[X.length]);var ga=React.useState([]),ha=_slicedToArray(ga,2),ia=ha[0],ja=ha[1],ka=React.useState(null),la=_slicedToArray(ka,2),ma=la[0],na=la[1],oa=React.useState(null),pa=_slicedToArray(oa,2),qa=pa[0],ra=pa[1],sa=React.useState({top:0,left:0}),ta=_slicedToArray(sa,2),ua=ta[0],va=ta[1],wa=React.useRef(null),xa=React.useRef({}),ya=React.useRef({}),za=useSelectedFilters(fa,O),Aa=za.selectedFilters,Ba=za.updateSelectedFilters,Ca=za.removeOneSelectedFilter,Da=za.removeAllSelectedFilters,Ea=React.useState([]),Fa=_slicedToArray(Ea,2),Ga=Fa[0],Ha=Fa[1];React.useEffect(function(){var a=g.find(function(a){return isString(a.order)&&Object.prototype.hasOwnProperty.call(Order,a.order)});if(a){var b=createSortingState(getColumnSortByField(a),a.order,a.sortFn);na(b)}},[g]),useComponentSize(wa);var Ia=(null===(e=wa.current)||void 0===e?void 0:e.clientHeight)||0,Ja=(null===(f=wa.current)||void 0===f?void 0:f.clientWidth)||0,Ka=0<ua.left,La=0<ua.top,Ma=s&&s.onChange,Na=function(a,b){ea(updateAt(da,a,b))},Oa=useMemo(function(){var a=Object.values(xa.current).filter(isNotNil),b=a.map(function(a){return a.getBoundingClientRect().width}),c=getMergedArray(b,da);return c.reduce(function(c,a){return(null!==c&&void 0!==c?c:0)+(null!==a&&void 0!==a?a:0)})},[da,m]);React.useLayoutEffect(function(){var a=Object.values(xa.current).filter(isNotNil);if(0!==a.length){var b=a.map(function(a){return a.getBoundingClientRect().width});if(ja(b),a[0].getBoundingClientRect().left!==a[a.length-1].getBoundingClientRect().left){var c=getMergedArray(b,da);return(null!==Oa&&void 0!==Oa?Oa:Ja)<Ja&&(c[c.length-1]=void 0),ea(c)}return 0<Ja&&!m?ea(aa()):void 0}},[Ja,Oa]);var Pa=function(a){return getColumnSortByField(a)===(null===ma||void 0===ma?void 0:ma.by)},Qa=function(a,b){return b>=p?void 0:getColumnLeftOffset({columnIndex:a,resizedColumnWidths:da,initialColumnWidths:ia})},Ra=function(a){var b=a.id,c=a.e;s&&s.onChange&&s.onChange({id:s.id===b?void 0:b,e:c})},Sa=function(a){return function(b){return F&&F({id:a,e:b})}},Ta=function(a,b){return function(c){return H&&H({e:c,id:b,index:a})}},Ua=function(a,b){var c=Math.min(r,ia[a]),d=da[a]||ia[a],e=Math.max(c,d+b);Na(a,e);var f=wa.current;a===da.length-1&&0<b&&f&&f.scrollBy(b,0)},Va=getColumnLeftOffset({columnIndex:p,resizedColumnWidths:da,initialColumnWidths:ia}),Wa=function(a){return a.map(function(a){var b,c=a.position.gridIndex,d=da[c],e=ia[c],f=d||e,g=getColumnLeftOffset({columnIndex:c,resizedColumnWidths:da,initialColumnWidths:ia}),h=p>a.position.topHeaderGridIndex,i=p>c||Va+ua.left<g+f,j=0<((null===(b=Aa[a.accessor])||void 0===b?void 0:b.selected)||[]).length;return _objectSpread(_objectSpread({},a),{},{filterable:!!(fa&&fieldFiltersPresent(fa,a.accessor)),isSortingActive:Pa(a),isFilterActive:j,isResized:!!f&&f!==e,isSticky:h,showResizer:i,columnWidth:f,columnLeftOffset:g})})},Xa=Wa(W),Ya=React.useMemo(function(){return h.some(function(a){var b;return!(!(null!==(b=a.rows)&&void 0!==b)||!b.length)})},[h]),Za=sortingData(h,ma,N),$a=fa&&isSelectedFiltersPresent(Aa)?filterTableData({data:Za,filters:fa||[],selectedFilters:Aa}):Za,_a=M||{},ab=_a.maxVisibleRows,bb=void 0===ab?210:ab,cb=_a.scrollableEl,db=void 0===cb?wa.current:cb,eb=useLazyLoadData(bb,db,!!M),fb=eb.getSlicedRows,gb=eb.setBoundaryRef,hb=transformRows($a,Ga,S),ib=fb(hb),jb={"--table-grid-template-columns":getColumnsSize(da),"--table-width":"".concat(Ja,"px")},kb=Wa(X).some(function(a){return a.mergeCells}),lb=function(a){return function(){return Ga.includes(a)?void Ha(function(b){return b.filter(function(b){return b!==a})}):void Ha(function(b){return[].concat(_toConsumableArray(b),[a])})}},mb=function(a,b){var c,d=!(!(null!==(c=a.rows)&&void 0!==c)||!c.length)&&0===b,e={level:a.options.level,isExpandedByDefault:S};if(!d||S)return e;var f=Ga.includes(a.id),g=lb(a.id);return _objectSpread(_objectSpread({},e),{},{withCollapseButton:d,isExpanded:f,toggleCollapse:g})},nb=function(a,b){var c=[];return a.forEach(function(a){var d,e;if((a.defaultExpand||0<(null!==(d=null===(e=a.rows)||void 0===e?void 0:e.length)&&void 0!==d?d:0)&&b)&&c.push(a.id),a.rows){var f=nb(a.rows,b);c=[].concat(_toConsumableArray(c),_toConsumableArray(f)),0<f.length&&-1===c.indexOf(a.id)&&c.push(a.id)}}),c};useEffect(function(){h&&Ha(nb(h,D))},[h,D]);var ob=function(a,b,c){var d=a.renderCell?a.renderCell(b):b[a.accessor];if(!Ya||0!==c)return d;var e=mb(b,c);return React.createElement(TableRowsCollapse,e,d)},pb=useMemo(function(){var a,b=ib.length,c=null!==(a=ib.slice(-1).pop())&&void 0!==a?a:{},d=c.id;return H?React.createElement("div",{className:cnTable(b?"CreatRowCell":"RowWithoutCells")},React.createElement(Button,{size:createButtonSizeMap[j],form:"brick",label:L,view:"clear",className:cnTable("CreateRowButton"),onClick:Ta(b,d),width:"full"})):null},[L,ib.length,H]),qb=function(a,b,c,d){var e=c.mergeCells,f=c.accessor,g=c.position,h=c.getComparisonValue,j=void 0===h?function(a){return a}:h,k=ib[b-1]&&j(ib[b-1][f]),l=j(a[f]),m={rowSpan:1,show:!1,style:{left:Qa(d,g.topHeaderGridIndex)}};if(e&&(ib[b-1]&&k!==l||0===b)){for(var n,o=b;o<ib.length&&ib[o+1]&&(n=j(ib[o+1][f]),l===n);o++)m.rowSpan++;1<m.rowSpan&&(m.style["--row-span"]="span ".concat(m.rowSpan)),m.show=!0}return e||(m.show=!0),m},rb=function(a){null===I||void 0===I?void 0:I(a)};return React.createElement("div",Object.assign({},T,{ref:useForkRef([wa,b]),className:cnTable({size:j,isResizable:m,zebraStriped:x,withBorderBottom:!$a.length},[E]),style:jb,onScroll:function handleScroll(a){a.target instanceof HTMLElement&&a.target===wa.current&&va({top:a.target.scrollTop,left:a.target.scrollLeft})}}),Wa(X).map(function(a,b){return React.createElement(TableCell,{type:"resizer",key:b,ref:function(a){xa.current[b]=a},style:{left:Qa(b,b)},onContextMenu:function onContextMenu(a){return rb({e:a,type:"contextMenu",columnIdx:b,ref:{current:xa.current[b]}})},onClick:function onClick(a){return rb({e:a,type:"click",columnIdx:b,ref:{current:xa.current[b]}})},column:a,showVerticalShadow:Ka},m&&React.createElement(TableResizer,{height:Ia-$[b],top:$[b],isVisible:a.showResizer,onResize:function onResize(a){return Ua(b,a)},onDoubleClick:function onDoubleClick(){return Na(b,ia[b])}}))}),React.createElement(TableHeader,{isStickyHeader:void 0!==n&&n,headersWithMetaData:Xa,headerRowsHeights:Z,headerRowsRefs:Y,getStickyLeftOffset:Qa,stickyColumnsGrid:_,showVerticalCellShadow:Ka,headerVerticalAlign:w,getSortIcon:function getSortIcon(a){return Pa(a)&&("desc"===(null===ma||void 0===ma?void 0:ma.order)?IconSortDown:IconSortUp)||IconUnsort},handleSortClick:function handleSortClick(a){var b=getNewSorting(ma,getColumnSortByField(a),a.sortable&&(null===a||void 0===a?void 0:a.sortFn)||void 0),c=b?{sortingBy:b.by,sortOrder:b.order}:null;N&&N(c),na(b)},handleFilterTogglerClick:function handleFilterTogglerClick(a){return function(){ra(qa===a?null:a)}},handleCellClick:rb,handleTooltipSave:function handleTooltipSave(a,b,c){Ba(a,b,c)},filters:fa,visibleFilter:qa,selectedFilters:Aa,showHorizontalCellShadow:La,borderBetweenColumns:A}),fa&&isSelectedFiltersPresent(Aa)&&React.createElement("div",{className:cnTable("RowWithoutCells")},React.createElement(TableSelectedOptionsList,{values:getSelectedFiltersList({filters:fa,selectedFilters:Aa,columns:X}),getTagLabel:P,onRemove:function removeSelectedFilter(a){return function(b){Ca(a,b)}}(fa),onReset:function resetSelectedFilters(){fa&&fa.length&&Da(fa)}})),0<ib.length?ib.map(function(a,b){var c=0==(b+1)%2?"even":"odd";return React.createElement("div",{key:a.id,role:"presentation",className:cnTable("CellsRow",{nth:c,withMergedCells:kb}),onMouseEnter:Sa(a.id),onMouseLeave:Sa(void 0),onClick:function onClick(b){return G&&G({id:a.id,e:b})}},Wa(X).map(function(c,d){var e=qb(a,b,c,d),f=e.show,g=e.style,h=e.rowSpan;return f?React.createElement(TableCell,{type:"content",key:c.accessor,ref:function(c){ya.current["".concat(d,"-").concat(a.id)]=c,setRef(gb(d,b),c)},style:g,wrapperClassName:cnTable("ContentCell",{isActive:!!s&&s.id===a.id,isDarkned:!!s&&void 0!==s.id&&s.id!==a.id,isMerged:c.mergeCells&&1<h}),className:null===J||void 0===J?void 0:J({column:c,row:a,isActive:!!s&&s.id===a.id}),wrap:null===Q||void 0===Q?void 0:Q(a),onContextMenu:function onContextMenu(b){return rb({e:b,type:"contextMenu",columnIdx:d,rowId:a.id,ref:{current:ya.current["".concat(d,"-").concat(a.id)]}})},onClick:function onClick(b){Ra({id:a.id,e:b}),rb({e:b,type:"click",columnIdx:d,rowId:a.id,ref:{current:ya.current["".concat(d,"-").concat(a.id)]}})},column:c,verticalAlign:u,isClickable:!!Ma,showVerticalShadow:Ka&&(null===c||void 0===c?void 0:c.position.gridIndex)+((null===c||void 0===c?void 0:c.position.colSpan)||1)===_,isBorderTop:0<b&&void 0!==y&&y,isBorderLeft:0<d&&A},ob(c,a,d)):null}))}):React.createElement("div",{className:cnTable("RowWithoutCells")},React.createElement("div",{className:cnTable("EmptyCell")},function renderEmptyRowsPlaceholder(a){return"string"==typeof a?React.createElement(Text,{size:"s"},a):a}(C))),pb)};export var Table=React.forwardRef(InternalTable);
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _excluded=["columns","rows","size","filters","isResizable","stickyHeader","stickyColumns","minColumnWidth","activeRow","verticalAlign","headerVerticalAlign","zebraStriped","borderBetweenRows","borderBetweenColumns","emptyRowsPlaceholder","defaultExpandAll","className","onRowHover","onRowClick","onRowCreate","onCellClick","getAdditionalClassName","rowCreateText","lazyLoad","onSortBy","onFiltersUpdated","getTagLabel","getCellWrap","isExpandedRowsByDefault"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Table.css";import React,{useEffect,useMemo}from"react";import{useComponentSize}from"../../hooks/useComponentSize/useComponentSize";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{IconSortDown}from"../../icons/IconSortDown/IconSortDown";import{IconSortUp}from"../../icons/IconSortUp/IconSortUp";import{IconUnsort}from"../../icons/IconUnsort/IconUnsort";import{sortBy as sortByDefault,updateAt}from"../../utils/array";import{cn}from"../../utils/bem";import{setRef}from"../../utils/setRef";import{isNotNil,isString}from"../../utils/type-guards";import{Button}from"../Button/Button";import{Text}from"../Text/Text";import{TableCell}from"./Cell/TableCell";import{fieldFiltersPresent,filterTableData,getSelectedFiltersList,isSelectedFiltersPresent,useSelectedFilters}from"./filtering";import{TableHeader}from"./Header/TableHeader";import{calulateColSpans,createSortingState,getColumnLeftOffset,getColumnsSize,getMergedArray,getNewSorting,Order,transformRows,useHeaderData,useLazyLoadData}from"./helpers";import{TableResizer}from"./Resizer/TableResizer";import{TableRowsCollapse}from"./RowsCollapse/TableRowsCollapse";import{TableSelectedOptionsList}from"./SelectedOptionsList/TableSelectedOptionsList";export{TableTextFilter}from"./TextFilter/TableTextFilter";export{TableFilterContainer}from"./FilterContainer/TableFilterContainer";export{TableNumberFilter}from"./NumberFilter/TableNumberFilter";export{TableChoiceGroupFilter}from"./ChoiceGroupFilter/TableChoiceGroupFilter";var cnTable=cn("Table");export var sizes=["s","m","l"];export var zebraStriped=["odd","even"];export var headerVerticalAligns=["center","bottom"];var createButtonSizeMap={s:"xs",m:"s",l:"m"},getColumnSortByField=function(a){return a.sortable&&a.sortByField||a.accessor},sortingData=function(a,b,c){if(c)return a;if(!b)return a;var d=sortByDefault(a,b.by,b.order,b.sortFn);return d.some(function(a){var b;return null===(b=a.rows)||void 0===b?void 0:b.length})?d.map(function(a){return a.rows?_objectSpread(_objectSpread({},a),{},{rows:sortingData(a.rows,b,c)}):a}):d},defaultEmptyRowsPlaceholder=React.createElement(Text,{as:"span",view:"primary",size:"s",lineHeight:"s"},"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445"),InternalTable=function(a,b){var c,d,e,f,g=a.columns,h=a.rows,i=a.size,j=void 0===i?"l":i,k=a.filters,l=a.isResizable,m=void 0!==l&&l,n=a.stickyHeader,o=a.stickyColumns,p=void 0===o?0:o,q=a.minColumnWidth,r=void 0===q?150:q,s=a.activeRow,t=a.verticalAlign,u=void 0===t?"top":t,v=a.headerVerticalAlign,w=void 0===v?"center":v,x=a.zebraStriped,y=a.borderBetweenRows,z=a.borderBetweenColumns,A=void 0!==z&&z,B=a.emptyRowsPlaceholder,C=void 0===B?defaultEmptyRowsPlaceholder:B,D=a.defaultExpandAll,E=a.className,F=a.onRowHover,G=a.onRowClick,H=a.onRowCreate,I=a.onCellClick,J=a.getAdditionalClassName,K=a.rowCreateText,L=void 0===K?"+ \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443":K,M=a.lazyLoad,N=a.onSortBy,O=a.onFiltersUpdated,P=a.getTagLabel,Q=a.getCellWrap,R=a.isExpandedRowsByDefault,S=void 0!==R&&R,T=_objectWithoutProperties(a,_excluded),U=useHeaderData(g),V=U.headers,W=U.flattenedHeaders,X=U.lowHeaders,Y=U.headerRowsRefs,Z=U.headerRowsHeights,$=U.resizerTopOffsets,_=(null===(c=V[0][p-1])||void 0===c?void 0:c.position.gridIndex)+((null===(d=V[0][p-1])||void 0===d?void 0:d.position.colSpan)||1),aa=function(){return X.map(function(a){return a.width})},ba=React.useState(aa()),ca=_slicedToArray(ba,2),da=ca[0],ea=ca[1],fa=React.useMemo(function(){return k&&k.filter(function(a){return a.id&&a.field})},[k]);React.useEffect(function(){ea(aa())},[X.length]);var ga=React.useState([]),ha=_slicedToArray(ga,2),ia=ha[0],ja=ha[1],ka=React.useState(null),la=_slicedToArray(ka,2),ma=la[0],na=la[1],oa=React.useState(null),pa=_slicedToArray(oa,2),qa=pa[0],ra=pa[1],sa=React.useState({top:0,left:0}),ta=_slicedToArray(sa,2),ua=ta[0],va=ta[1],wa=React.useRef(null),xa=React.useRef({}),ya=React.useRef({}),za=useSelectedFilters(fa,O),Aa=za.selectedFilters,Ba=za.updateSelectedFilters,Ca=za.removeOneSelectedFilter,Da=za.removeAllSelectedFilters,Ea=React.useState([]),Fa=_slicedToArray(Ea,2),Ga=Fa[0],Ha=Fa[1];React.useEffect(function(){var a=g.find(function(a){return isString(a.order)&&Object.prototype.hasOwnProperty.call(Order,a.order)});if(a){var b=createSortingState(getColumnSortByField(a),a.order,a.sortFn);na(b)}},[g]),useComponentSize(wa);var Ia=(null===(e=wa.current)||void 0===e?void 0:e.clientHeight)||0,Ja=(null===(f=wa.current)||void 0===f?void 0:f.clientWidth)||0,Ka=0<ua.left,La=0<ua.top,Ma=s&&s.onChange,Na=function(a,b){ea(updateAt(da,a,b))},Oa=useMemo(function(){var a=Object.values(xa.current).filter(isNotNil),b=a.map(function(a){return a.getBoundingClientRect().width}),c=getMergedArray(b,da);return c.reduce(function(c,a){return(null!==c&&void 0!==c?c:0)+(null!==a&&void 0!==a?a:0)})},[da,m]);React.useLayoutEffect(function(){var a=Object.values(xa.current).filter(isNotNil);if(0!==a.length){var b=a.map(function(a){return a.getBoundingClientRect().width});if(ja(b),a[0].getBoundingClientRect().left!==a[a.length-1].getBoundingClientRect().left){var c=getMergedArray(b,da);return(null!==Oa&&void 0!==Oa?Oa:Ja)<Ja&&(c[c.length-1]=void 0),ea(c)}return 0<Ja&&!m?ea(aa()):void 0}},[Ja,Oa]);var Pa=function(a){return getColumnSortByField(a)===(null===ma||void 0===ma?void 0:ma.by)},Qa=function(a,b){return b>=p?void 0:getColumnLeftOffset({columnIndex:a,resizedColumnWidths:da,initialColumnWidths:ia})},Ra=function(a){var b=a.id,c=a.e;s&&s.onChange&&s.onChange({id:s.id===b?void 0:b,e:c})},Sa=function(a){return function(b){return F&&F({id:a,e:b})}},Ta=function(a,b){return function(c){return H&&H({e:c,id:b,index:a})}},Ua=function(a,b){var c=Math.min(r,ia[a]),d=da[a]||ia[a],e=Math.max(c,d+b);Na(a,e);var f=wa.current;a===da.length-1&&0<b&&f&&f.scrollBy(b,0)},Va=getColumnLeftOffset({columnIndex:p,resizedColumnWidths:da,initialColumnWidths:ia}),Wa=function(a){return a.map(function(a){var b,c=a.position.gridIndex,d=da[c],e=ia[c],f=d||e,g=getColumnLeftOffset({columnIndex:c,resizedColumnWidths:da,initialColumnWidths:ia}),h=p>a.position.topHeaderGridIndex,i=p>c||Va+ua.left<g+f,j=0<((null===(b=Aa[a.accessor])||void 0===b?void 0:b.selected)||[]).length;return _objectSpread(_objectSpread({},a),{},{filterable:!!(fa&&fieldFiltersPresent(fa,a.accessor)),isSortingActive:Pa(a),isFilterActive:j,isResized:!!f&&f!==e,isSticky:h,showResizer:i,columnWidth:f,columnLeftOffset:g})})},Xa=Wa(W),Ya=React.useMemo(function(){return h.some(function(a){var b;return!(!(null!==(b=a.rows)&&void 0!==b)||!b.length)})},[h]),Za=sortingData(h,ma,N),$a=fa&&isSelectedFiltersPresent(Aa)?filterTableData({data:Za,filters:fa||[],selectedFilters:Aa}):Za,_a=M||{},ab=_a.maxVisibleRows,bb=void 0===ab?210:ab,cb=_a.scrollableEl,db=void 0===cb?wa.current:cb,eb=useLazyLoadData(bb,db,!!M),fb=eb.getSlicedRows,gb=eb.setBoundaryRef,hb=transformRows($a,Ga,S),ib=fb(hb),jb={"--table-grid-template-columns":getColumnsSize(da),"--table-width":"".concat(Ja,"px")},kb=Wa(X).some(function(a){return a.mergeCells}),lb=function(a){return function(){return Ga.includes(a)?void Ha(function(b){return b.filter(function(b){return b!==a})}):void Ha(function(b){return[].concat(_toConsumableArray(b),[a])})}},mb=function(a,b){var c,d=!(!(null!==(c=a.rows)&&void 0!==c)||!c.length)&&0===b,e={level:a.options.level,isExpandedByDefault:S};if(!d||S)return e;var f=Ga.includes(a.id),g=lb(a.id);return _objectSpread(_objectSpread({},e),{},{withCollapseButton:d,isExpanded:f,toggleCollapse:g})},nb=function(a,b){var c=[];return a.forEach(function(a){var d,e;if((a.defaultExpand||0<(null!==(d=null===(e=a.rows)||void 0===e?void 0:e.length)&&void 0!==d?d:0)&&b)&&c.push(a.id),a.rows){var f=nb(a.rows,b);c=[].concat(_toConsumableArray(c),_toConsumableArray(f)),0<f.length&&-1===c.indexOf(a.id)&&c.push(a.id)}}),c};useEffect(function(){h&&Ha(nb(h,D))},[h,D]);var ob=function(a,b,c){var d=a.renderCell?a.renderCell(b):b[a.accessor];if(!Ya||0!==c)return d;var e=mb(b,c);return React.createElement(TableRowsCollapse,e,d)},pb=useMemo(function(){var a,b=ib.length,c=null!==(a=ib.slice(-1).pop())&&void 0!==a?a:{},d=c.id;return H?React.createElement("div",{className:cnTable(b?"CreatRowCell":"RowWithoutCells")},React.createElement(Button,{size:createButtonSizeMap[j],form:"brick",label:L,view:"clear",className:cnTable("CreateRowButton"),onClick:Ta(b,d),width:"full"})):null},[L,ib.length,H]),qb=function(a,b,c,d){var e=c.mergeCells,f=c.accessor,g=c.position,h=c.getComparisonValue,j=void 0===h?function(a){return a}:h,k=ib[b-1]&&j(ib[b-1][f]),l=j(a[f]),m={rowSpan:1,show:!1,style:{left:Qa(d,g.topHeaderGridIndex)}};if(e&&(ib[b-1]&&k!==l||0===b)){for(var n,o=b;o<ib.length&&ib[o+1]&&(n=j(ib[o+1][f]),l===n);o++)m.rowSpan++;1<m.rowSpan&&(m.style["--row-span"]="span ".concat(m.rowSpan)),m.show=!0}return e||(m.show=!0),m},rb=function(a){null===I||void 0===I?void 0:I(a)};return React.createElement("div",Object.assign({},T,{ref:useForkRef([wa,b]),className:cnTable({size:j,isResizable:m,zebraStriped:x,withBorderBottom:!$a.length},[E]),style:jb,onScroll:function handleScroll(a){a.target instanceof HTMLElement&&a.target===wa.current&&va({top:a.target.scrollTop,left:a.target.scrollLeft})}}),Wa(X).map(function(a,b){return React.createElement(TableCell,{type:"resizer",key:b,ref:function(a){xa.current[b]=a},style:{left:Qa(b,b)},onContextMenu:function onContextMenu(a){return rb({e:a,type:"contextMenu",columnIdx:b,ref:{current:xa.current[b]}})},onClick:function onClick(a){return rb({e:a,type:"click",columnIdx:b,ref:{current:xa.current[b]}})},column:a,showVerticalShadow:Ka},m&&React.createElement(TableResizer,{height:Ia-$[b],top:$[b],isVisible:a.showResizer,onResize:function onResize(a){return Ua(b,a)},onDoubleClick:function onDoubleClick(){return Na(b,ia[b])}}))}),React.createElement(TableHeader,{isStickyHeader:void 0!==n&&n,headersWithMetaData:Xa,headerRowsHeights:Z,headerRowsRefs:Y,getStickyLeftOffset:Qa,stickyColumnsGrid:_,showVerticalCellShadow:Ka,headerVerticalAlign:w,getSortIcon:function getSortIcon(a){return Pa(a)&&("desc"===(null===ma||void 0===ma?void 0:ma.order)?IconSortDown:IconSortUp)||IconUnsort},handleSortClick:function handleSortClick(a){var b=getNewSorting(ma,getColumnSortByField(a),a.sortable&&(null===a||void 0===a?void 0:a.sortFn)||void 0),c=b?{sortingBy:b.by,sortOrder:b.order}:null;N&&N(c),na(b)},handleFilterTogglerClick:function handleFilterTogglerClick(a){return function(){ra(qa===a?null:a)}},handleCellClick:rb,handleTooltipSave:function handleTooltipSave(a,b,c){Ba(a,b,c)},filters:fa,visibleFilter:qa,selectedFilters:Aa,showHorizontalCellShadow:La,borderBetweenColumns:A}),fa&&isSelectedFiltersPresent(Aa)&&React.createElement("div",{className:cnTable("RowWithoutCells")},React.createElement(TableSelectedOptionsList,{values:getSelectedFiltersList({filters:fa,selectedFilters:Aa,columns:X}),getTagLabel:P,onRemove:function removeSelectedFilter(a){return function(b){Ca(a,b)}}(fa),onReset:function resetSelectedFilters(){fa&&fa.length&&Da(fa)}})),0<ib.length?ib.map(function(a,b){var c=0==(b+1)%2?"even":"odd",d=Wa(X),e=calulateColSpans(d,a);return React.createElement("div",{key:a.id,role:"presentation",className:cnTable("CellsRow",{nth:c,withMergedCells:kb}),onMouseEnter:Sa(a.id),onMouseLeave:Sa(void 0),onClick:function onClick(b){return G&&G({id:a.id,e:b})}},d.map(function(c,d){var f=qb(a,b,c,d),g=f.show,h=f.style,i=f.rowSpan,j=e[d],k=0<d?e.slice(0,d).reduce(function(c,a){return c+a})+1:1;if(g&&0<j){var l;return React.createElement(TableCell,{type:"content",key:c.accessor,ref:function(c){ya.current["".concat(d,"-").concat(a.id)]=c,setRef(gb(d,b),c)},style:_objectSpread(_objectSpread({},h),{},(l={},_defineProperty(l,"--table-cell-col-start",k),_defineProperty(l,"--table-cell-col-end",k+j),l)),wrapperClassName:cnTable("ContentCell",{isActive:!!s&&s.id===a.id,isDarkned:!!s&&s.id!==void 0&&s.id!==a.id,isMerged:c.mergeCells&&1<i}),className:null===J||void 0===J?void 0:J({column:c,row:a,isActive:!!s&&s.id===a.id}),wrap:null===Q||void 0===Q?void 0:Q(a),onContextMenu:function onContextMenu(b){return rb({e:b,type:"contextMenu",columnIdx:d,rowId:a.id,ref:{current:ya.current["".concat(d,"-").concat(a.id)]}})},onClick:function onClick(b){Ra({id:a.id,e:b}),rb({e:b,type:"click",columnIdx:d,rowId:a.id,ref:{current:ya.current["".concat(d,"-").concat(a.id)]}})},column:c,verticalAlign:u,isClickable:!!Ma,showVerticalShadow:Ka&&(null===c||void 0===c?void 0:c.position.gridIndex)+((null===c||void 0===c?void 0:c.position.colSpan)||1)===_,isBorderTop:0<b&&void 0!==y&&y,isBorderLeft:0<d&&A},ob(c,a,d))}return null}))}):React.createElement("div",{className:cnTable("RowWithoutCells")},React.createElement("div",{className:cnTable("EmptyCell")},function renderEmptyRowsPlaceholder(a){return"string"==typeof a?React.createElement(Text,{size:"s"},a):a}(C))),pb)};export var Table=React.forwardRef(InternalTable);
2
2
  //# sourceMappingURL=Table.js.map