@salutejs/plasma-new-hope 0.337.0-canary.2253.18092363527.0 → 0.337.0-canary.2253.18121561531.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 (45) hide show
  1. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  2. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  3. package/cjs/components/Pagination/utils/index.js +10 -1
  4. package/cjs/components/Pagination/utils/index.js.map +1 -1
  5. package/cjs/components/Tree/Tree.js +2 -2
  6. package/cjs/components/Tree/Tree.js.map +1 -1
  7. package/cjs/components/Tree/utils/sizeToIconSize.js +2 -2
  8. package/cjs/components/Tree/utils/sizeToIconSize.js.map +1 -1
  9. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  10. package/emotion/cjs/components/Pagination/utils/index.js +36 -1
  11. package/emotion/cjs/components/Tree/Tree.js +2 -2
  12. package/emotion/cjs/components/Tree/utils/sizeToIconSize.js +2 -2
  13. package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
  14. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  15. package/emotion/es/components/Pagination/utils/index.js +36 -1
  16. package/emotion/es/components/Tree/Tree.js +2 -2
  17. package/emotion/es/components/Tree/utils/sizeToIconSize.js +2 -2
  18. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  19. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  20. package/es/components/Pagination/utils/index.js +10 -1
  21. package/es/components/Pagination/utils/index.js.map +1 -1
  22. package/es/components/Tree/Tree.js +2 -2
  23. package/es/components/Tree/Tree.js.map +1 -1
  24. package/es/components/Tree/utils/sizeToIconSize.js +2 -2
  25. package/es/components/Tree/utils/sizeToIconSize.js.map +1 -1
  26. package/package.json +2 -2
  27. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  28. package/styled-components/cjs/components/Pagination/utils/index.js +36 -1
  29. package/styled-components/cjs/components/Tree/Tree.js +2 -2
  30. package/styled-components/cjs/components/Tree/utils/sizeToIconSize.js +2 -2
  31. package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
  32. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  33. package/styled-components/es/components/Pagination/utils/index.js +36 -1
  34. package/styled-components/es/components/Tree/Tree.js +2 -2
  35. package/styled-components/es/components/Tree/utils/sizeToIconSize.js +2 -2
  36. package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
  37. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  38. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +5 -0
  39. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  40. package/types/components/Pagination/Pagination.types.d.ts +1 -1
  41. package/types/components/Pagination/utils/index.d.ts +1 -1
  42. package/types/components/Pagination/utils/index.d.ts.map +1 -1
  43. package/types/components/Tree/Tree.d.ts.map +1 -1
  44. package/types/components/Tree/utils/sizeToIconSize.d.ts +1 -1
  45. package/types/components/Tree/utils/sizeToIconSize.d.ts.map +1 -1
@@ -66,7 +66,7 @@ var DropdownInner = function DropdownInner(_ref) {
66
66
  id: listId,
67
67
  role: "group",
68
68
  listMaxHeight: item.listMaxHeight
69
- }, item.items.map(function (innerItem, innerIndex) {
69
+ }, item.beforeList, item.items.map(function (innerItem, innerIndex) {
70
70
  return /*#__PURE__*/React__default.default.createElement(DropdownInner, {
71
71
  key: "".concat(innerIndex, "/").concat(currentLevel),
72
72
  item: innerItem,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { DropdownItem } from '../DropdownItem/DropdownItem';\nimport { Ul, ListWrapper } from '../../Dropdown.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { getPlacement } from '../../utils';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n path,\n dispatchPath,\n index,\n trigger,\n listWidth,\n portal,\n}) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <FloatingPopover\n placement={getPlacement(item?.placement || 'right')}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n trigger={item.trigger || trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n currentLevel={currentLevel}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n portal={portal}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul id={listId} role=\"group\" listMaxHeight={item.listMaxHeight}>\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <DropdownItem item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","_ref","item","currentLevel","path","dispatchPath","index","trigger","listWidth","portal","handleToggle","opened","type","value","toString","level","listWrapperRef","useRef","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","items","React","createElement","FloatingPopover","placement","getPlacement","onToggle","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","ref","Ul","id","role","listMaxHeight","map","innerItem","innerIndex","key"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { DropdownItem } from '../DropdownItem/DropdownItem';\nimport { Ul, ListWrapper } from '../../Dropdown.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { getPlacement } from '../../utils';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n path,\n dispatchPath,\n index,\n trigger,\n listWidth,\n portal,\n}) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <FloatingPopover\n placement={getPlacement(item?.placement || 'right')}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n trigger={item.trigger || trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n currentLevel={currentLevel}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n portal={portal}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul id={listId} role=\"group\" listMaxHeight={item.listMaxHeight}>\n {item.beforeList}\n\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <DropdownItem item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","_ref","item","currentLevel","path","dispatchPath","index","trigger","listWidth","portal","handleToggle","opened","type","value","toString","level","listWrapperRef","useRef","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","items","React","createElement","FloatingPopover","placement","getPlacement","onToggle","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","ref","Ul","id","role","listMaxHeight","beforeList","map","innerItem","innerIndex","key"],"mappings":";;;;;;;;;;;;;;;AAWA,IAAMA,aAAqC,GAAG,SAAxCA,aAAqCA,CAAAC,IAAA,EASrC;AAAA,EAAA,IARFC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IACZC,KAAK,GAAAL,IAAA,CAALK,KAAK;IACLC,OAAO,GAAAN,IAAA,CAAPM,OAAO;IACPC,SAAS,GAAAP,IAAA,CAATO,SAAS;IACTC,MAAM,GAAAR,IAAA,CAANQ,MAAM,CAAA;AAEN,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAe,EAAW;AAC5C,IAAA,IAAIA,MAAM,EAAE;AACRN,MAAAA,YAAY,CAAC;AAAEO,QAAAA,IAAI,EAAE,kBAAkB;AAAEC,QAAAA,KAAK,EAAEX,IAAI,CAACW,KAAK,CAACC,QAAQ,EAAE;QAAEC,KAAK,EAAEZ,YAAY,GAAG,CAAA;AAAE,OAAC,CAAC,CAAA;AACrG,KAAC,MAAM;AACHE,MAAAA,YAAY,CAAC;AAAEO,QAAAA,IAAI,EAAE,cAAc;QAAEG,KAAK,EAAEZ,YAAY,GAAG,CAAA;AAAE,OAAC,CAAC,CAAA;AACnE,KAAA;GACH,CAAA;AAED,EAAA,IAAMa,cAAc,GAAGC,YAAM,CAAiB,IAAI,CAAC,CAAA;AAEnD,EAAA,IAAMC,iBAAiB,GAAGd,IAAI,CAACD,YAAY,GAAG,CAAC,CAAC,KAAKD,IAAI,CAACW,KAAK,CAACC,QAAQ,EAAE,CAAA;AAE1E,EAAA,IAAMK,MAAM,GAAGC,eAAS,EAAE,CAAA;EAC1B,IAAMC,MAAM,GAAAC,EAAAA,CAAAA,MAAA,CAAMH,MAAM,EAAAG,cAAAA,CAAAA,CAAAA,MAAA,CAAenB,YAAY,GAAG,CAAC,CAAE,CAAA;AACzD,EAAA,IAAMoB,SAAS,GAAGpB,YAAY,GAAG,CAAC,CAAA;AAElC,EAAA,IAAID,IAAI,KAAJA,IAAAA,IAAAA,IAAI,eAAJA,IAAI,CAAEsB,KAAK,EAAE;AACb,IAAA,oBACIC,sBAAA,CAAAC,aAAA,CAACC,+BAAe,EAAA;AACZC,MAAAA,SAAS,EAAEC,yBAAY,CAAC,CAAA3B,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAE0B,SAAS,KAAI,OAAO,CAAE;AACpDjB,MAAAA,MAAM,EAAEO,iBAAkB;AAC1BY,MAAAA,QAAQ,EAAEpB,YAAa;AACvBH,MAAAA,OAAO,EAAEL,IAAI,CAACK,OAAO,IAAIA,OAAQ;AACjCwB,MAAAA,MAAM,eACFN,sBAAA,CAAAC,aAAA,CAACM,yBAAY,EAAA;AACT9B,QAAAA,IAAI,EAAEA,IAAK;AACXI,QAAAA,KAAK,EAAEA,KAAM;AACbF,QAAAA,IAAI,EAAEA,IAAK;AACXD,QAAAA,YAAY,EAAEA,YAAa;AAC3B8B,QAAAA,YAAY,EAAEZ,MAAO;AACrBa,QAAAA,YAAY,EAAEhB,iBAAkB;AAChCiB,QAAAA,SAAS,EAAEZ,SAAU;QACrBa,SAAS,EAAElC,IAAI,CAACmC,KAAAA;AAAM,OACzB,CACJ;MACDC,OAAO,EAAA,IAAA;AACP7B,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAAA,eAEfgB,sBAAA,CAAAC,aAAA,CAACa,2BAAW,EAAA;AAACC,MAAAA,GAAG,EAAExB,cAAe;AAACR,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,eACnDiB,sBAAA,CAAAC,aAAA,CAACe,kBAAE,EAAA;AAACC,MAAAA,EAAE,EAAErB,MAAO;AAACsB,MAAAA,IAAI,EAAC,OAAO;MAACC,aAAa,EAAE1C,IAAI,CAAC0C,aAAAA;AAAc,KAAA,EAC1D1C,IAAI,CAAC2C,UAAU,EAEf3C,IAAI,CAACsB,KAAK,CAACsB,GAAG,CAAC,UAACC,SAAS,EAAEC,UAAU,EAAA;AAAA,MAAA,oBAClCvB,sBAAA,CAAAC,aAAA,CAAC1B,aAAa,EAAA;QACViD,GAAG,EAAA,EAAA,CAAA3B,MAAA,CAAK0B,UAAU,OAAA1B,MAAA,CAAInB,YAAY,CAAG;AACrCD,QAAAA,IAAI,EAAE6C,SAAU;AAChB5C,QAAAA,YAAY,EAAEoB,SAAU;AACxBnB,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BC,QAAAA,KAAK,EAAE0C,UAAW;AAClBzC,QAAAA,OAAO,EAAEA,OAAQ;AACjBC,QAAAA,SAAS,EAAEA,SAAU;AACrBC,QAAAA,MAAM,EAAEO,cAAAA;AAAe,OAC1B,CAAC,CAAA;KACL,CACD,CACK,CACA,CAAC,CAAA;AAE1B,GAAA;AAEA,EAAA,oBAAOS,sBAAA,CAAAC,aAAA,CAACM,yBAAY,EAAA;AAAC9B,IAAAA,IAAI,EAAEA,IAAK;AAACE,IAAAA,IAAI,EAAEA,IAAK;AAACE,IAAAA,KAAK,EAAEA,KAAM;AAACH,IAAAA,YAAY,EAAEA,YAAa;AAACgC,IAAAA,SAAS,EAAEZ,SAAAA;AAAU,GAAE,CAAC,CAAA;AACnH;;;;"}
@@ -10,6 +10,12 @@ var generateSection = function generateSection(length, add) {
10
10
  var dType = 'default';
11
11
  var dDlots = 9;
12
12
  var sections = {
13
+ 1: [1, 0, 0],
14
+ 2: [2, 0, 0],
15
+ 3: [3, 0, 0],
16
+ 4: [4, 0, 0],
17
+ 5: [5, 0, 0],
18
+ 6: [6, 0, 0],
13
19
  7: [1, 3, 1],
14
20
  8: [1, 4, 1],
15
21
  9: [2, 3, 2],
@@ -42,12 +48,15 @@ var getSections = function getSections(value, pages, slots) {
42
48
  pages = (_pages = pages) !== null && _pages !== void 0 ? _pages : 1;
43
49
  slots = (_slots = slots) !== null && _slots !== void 0 ? _slots : defaultValues.slots;
44
50
  var pageArray = [generateSection(pages, 1)];
45
- if (slots >= pages || slots < 5) {
51
+ if (slots >= pages) {
46
52
  return pageArray;
47
53
  }
48
54
  if (!sections[slots]) {
49
55
  return pageArray;
50
56
  }
57
+ if (slots < 7) {
58
+ return [generateSection(slots, value)];
59
+ }
51
60
  var smallSection = Math.min(Math.floor((slots - 1) / 2), 6);
52
61
  var bigSection = Math.min(Math.floor(slots / 2), 6);
53
62
  var defaultSection = sections[slots][1];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Pagination/utils/index.ts"],"sourcesContent":["import { PaginationTypes } from '../Pagination.types';\nimport type { NumericRange, CreateArrayWithLengthX } from '../../../types';\n\nconst generateSection = (length: number, add: number) => {\n return Array.from(Array(length).keys()).map((el) => el + add);\n};\n\nconst dType: PaginationTypes = 'default';\nconst dDlots: NumericRange<CreateArrayWithLengthX<7>, 15> = 9;\n\nconst sections = {\n 7: [1, 3, 1],\n 8: [1, 4, 1],\n 9: [2, 3, 2],\n 10: [2, 4, 2],\n 11: [3, 3, 3],\n 12: [3, 4, 3],\n 13: [3, 5, 3],\n 14: [3, 6, 3],\n 15: [4, 5, 4],\n};\n\nexport const defaultValues = {\n value: 1,\n perPage: 20,\n slots: dDlots,\n type: dType,\n pilled: false,\n square: false,\n disabledPages: [],\n hasQuickJump: true,\n hasPerPage: true,\n perPageList: [20, 50, 100, 200],\n isCommonButtonStyles: true,\n placeholderQuickJump: '#',\n textQuickJump: 'Go to',\n textPerPage: 'Show',\n};\n\nexport const getSections = (\n value?: number,\n pages?: number,\n slots?: NumericRange<CreateArrayWithLengthX<7>, 15>,\n): number[][] => {\n value = value ?? 1;\n pages = pages ?? 1;\n slots = slots ?? defaultValues.slots;\n const pageArray = [generateSection(pages, 1)];\n\n if (slots >= pages || slots < 5) {\n return pageArray;\n }\n\n if (!sections[slots]) {\n return pageArray;\n }\n\n const smallSection = Math.min(Math.floor((slots - 1) / 2), 6);\n const bigSection = Math.min(Math.floor(slots / 2), 6);\n\n const defaultSection = sections[slots][1];\n const smallSectionLeft = sections[slots][0];\n const smallSectionRight = sections[slots][2];\n\n if (smallSection > value) {\n return [generateSection(bigSection, 1), generateSection(smallSection, pages - smallSection + 1)];\n }\n\n if (smallSection === value) {\n return [generateSection(bigSection + 1, 1), generateSection(smallSection - 1, pages - smallSection + 2)];\n }\n\n if (pages - smallSection + 1 < value) {\n return [generateSection(smallSection, 1), generateSection(bigSection, pages - bigSection + 1)];\n }\n\n if (pages - smallSection + 1 === value) {\n return [generateSection(smallSection - 1, 1), generateSection(bigSection + 1, pages - bigSection)];\n }\n\n return [\n generateSection(smallSectionLeft, 1),\n generateSection(defaultSection, value - Math.floor(defaultSection / 2)),\n generateSection(smallSectionRight, pages - smallSectionRight + 1),\n ];\n};\n"],"names":["generateSection","length","add","Array","from","keys","map","el","dType","dDlots","sections","defaultValues","value","perPage","slots","type","pilled","square","disabledPages","hasQuickJump","hasPerPage","perPageList","isCommonButtonStyles","placeholderQuickJump","textQuickJump","textPerPage","getSections","pages","_value","_pages","_slots","pageArray","smallSection","Math","min","floor","bigSection","defaultSection","smallSectionLeft","smallSectionRight"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Pagination/utils/index.ts"],"sourcesContent":["import { PaginationTypes } from '../Pagination.types';\nimport type { NumericRange, CreateArrayWithLengthX } from '../../../types';\n\nconst generateSection = (length: number, add: number) => {\n return Array.from(Array(length).keys()).map((el) => el + add);\n};\n\nconst dType: PaginationTypes = 'default';\nconst dDlots: NumericRange<CreateArrayWithLengthX<7>, 15> = 9;\n\nconst sections = {\n 1: [1, 0, 0],\n 2: [2, 0, 0],\n 3: [3, 0, 0],\n 4: [4, 0, 0],\n 5: [5, 0, 0],\n 6: [6, 0, 0],\n 7: [1, 3, 1],\n 8: [1, 4, 1],\n 9: [2, 3, 2],\n 10: [2, 4, 2],\n 11: [3, 3, 3],\n 12: [3, 4, 3],\n 13: [3, 5, 3],\n 14: [3, 6, 3],\n 15: [4, 5, 4],\n};\n\nexport const defaultValues = {\n value: 1,\n perPage: 20,\n slots: dDlots,\n type: dType,\n pilled: false,\n square: false,\n disabledPages: [],\n hasQuickJump: true,\n hasPerPage: true,\n perPageList: [20, 50, 100, 200],\n isCommonButtonStyles: true,\n placeholderQuickJump: '#',\n textQuickJump: 'Go to',\n textPerPage: 'Show',\n};\n\nexport const getSections = (\n value?: number,\n pages?: number,\n slots?: NumericRange<CreateArrayWithLengthX<1>, 15>,\n): number[][] => {\n value = value ?? 1;\n pages = pages ?? 1;\n slots = slots ?? defaultValues.slots;\n const pageArray = [generateSection(pages, 1)];\n\n if (slots >= pages) {\n return pageArray;\n }\n\n if (!sections[slots]) {\n return pageArray;\n }\n\n if (slots < 7) {\n return [generateSection(slots, value)];\n }\n\n const smallSection = Math.min(Math.floor((slots - 1) / 2), 6);\n const bigSection = Math.min(Math.floor(slots / 2), 6);\n\n const defaultSection = sections[slots][1];\n const smallSectionLeft = sections[slots][0];\n const smallSectionRight = sections[slots][2];\n\n if (smallSection > value) {\n return [generateSection(bigSection, 1), generateSection(smallSection, pages - smallSection + 1)];\n }\n\n if (smallSection === value) {\n return [generateSection(bigSection + 1, 1), generateSection(smallSection - 1, pages - smallSection + 2)];\n }\n\n if (pages - smallSection + 1 < value) {\n return [generateSection(smallSection, 1), generateSection(bigSection, pages - bigSection + 1)];\n }\n\n if (pages - smallSection + 1 === value) {\n return [generateSection(smallSection - 1, 1), generateSection(bigSection + 1, pages - bigSection)];\n }\n\n return [\n generateSection(smallSectionLeft, 1),\n generateSection(defaultSection, value - Math.floor(defaultSection / 2)),\n generateSection(smallSectionRight, pages - smallSectionRight + 1),\n ];\n};\n"],"names":["generateSection","length","add","Array","from","keys","map","el","dType","dDlots","sections","defaultValues","value","perPage","slots","type","pilled","square","disabledPages","hasQuickJump","hasPerPage","perPageList","isCommonButtonStyles","placeholderQuickJump","textQuickJump","textPerPage","getSections","pages","_value","_pages","_slots","pageArray","smallSection","Math","min","floor","bigSection","defaultSection","smallSectionLeft","smallSectionRight"],"mappings":"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"}
@@ -131,13 +131,13 @@ var treeRoot = function treeRoot(Root) {
131
131
  return null;
132
132
  }
133
133
  return /*#__PURE__*/React__default.default.createElement(Tree_styles.IconArrowWrapper, null, /*#__PURE__*/React__default.default.createElement(Tree_styles.StyledArrow, {
134
- size: sizeToIconSize.sizeToIconSize(size),
134
+ size: sizeToIconSize.sizeToIconSize(size, variant),
135
135
  color: "inherit",
136
136
  className: "arrow"
137
137
  }));
138
138
  },
139
139
  icon: hasIcon && (icon || /*#__PURE__*/React__default.default.createElement(Tree_styles.StyledFolder, {
140
- size: sizeToIconSize.sizeToIconSize(size),
140
+ size: sizeToIconSize.sizeToIconSize(size, variant),
141
141
  color: "inherit"
142
142
  })),
143
143
  titleRender: function titleRender(item) {
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","sources":["../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import React, { forwardRef, useState, useMemo } from 'react';\nimport type { Key } from 'react';\nimport Tree from 'rc-tree';\nimport { RootPropsOmitDraggable } from 'src/engines';\nimport cls from 'classnames';\n\nimport type { TreeProps, SelectInfo } from './Tree.types';\nimport {\n IconArrowWrapper,\n StyledArrow,\n base,\n StyledFolder,\n TitleWrapper,\n Title,\n ContentRight,\n Line,\n} from './Tree.styles';\nimport { sizeToIconSize, traverseTree } from './utils';\nimport { classes } from './Tree.tokens';\n\n/**\n * Многоуровневый раскрывающийся список в виде дерева.\n */\nexport const treeRoot = (Root: RootPropsOmitDraggable<HTMLDivElement, TreeProps>) =>\n forwardRef<HTMLDivElement, TreeProps>(\n (\n {\n items,\n arrowPlacement = 'left',\n virtual = true,\n height,\n itemHeight,\n size,\n view,\n variant,\n fullWidthItemSelection = false,\n multiple = false,\n defaultExpandAll = false,\n autoExpandParent = false,\n checkable = false,\n selectedKeys: outerSelectedKeys,\n checkedKeys,\n expandedKeys,\n defaultCheckedKeys,\n defaultExpandedKeys,\n defaultSelectedKeys,\n className,\n onTreeSelect,\n onTreeCheck,\n onTreeExpand,\n hasIcon = false,\n icon,\n renderTitle,\n singleLine = true,\n mode = 'default',\n draggable = false,\n onDragStart,\n onDragEnter,\n onDragOver,\n onDragLeave,\n onDragEnd,\n onDrop,\n allowDrop,\n },\n ref,\n ) => {\n const [selected, setSelected] = useState<React.Key[]>(defaultSelectedKeys || []);\n\n const selectedKeys = outerSelectedKeys ?? selected;\n\n const isRadioMode = mode === 'radio' && !multiple;\n\n const handleSelect = (updatedSelectedKeys: Key[], info: SelectInfo) => {\n if (!multiple && isRadioMode && updatedSelectedKeys.length === 0) {\n return;\n }\n\n setSelected(updatedSelectedKeys);\n\n if (onTreeSelect) {\n onTreeSelect(updatedSelectedKeys, info);\n }\n };\n\n const invertedClass = arrowPlacement === 'right' ? classes.treeInverted : undefined;\n const itemFilledClass = fullWidthItemSelection ? classes.treeItemFilled : undefined;\n const radioModeClass = isRadioMode ? classes.treeRadioMode : undefined;\n const tightVariantClass = variant === 'tight' ? classes.treeTightVariant : undefined;\n\n // Проходимся по дереву и устанавливаем соответствующие классы для узлов дерева,\n // чтобы соблюсти иерархию вложенности в UI.\n const treeData = useMemo(() => traverseTree(items, selectedKeys), [items, selectedKeys]);\n\n return (\n <Root view={view} size={size} variant={variant} ref={ref} items={items}>\n <Tree\n height={height}\n itemHeight={itemHeight}\n virtual={virtual}\n multiple={multiple}\n checkable={checkable}\n className={cls(className, invertedClass, itemFilledClass, radioModeClass, tightVariantClass)}\n defaultExpandAll={defaultExpandAll}\n autoExpandParent={autoExpandParent}\n style={{ border: '1px solid #000' }}\n treeData={treeData}\n selectedKeys={selectedKeys}\n {...(checkedKeys !== undefined ? { checkedKeys } : {})}\n {...(expandedKeys !== undefined ? { expandedKeys } : {})}\n defaultCheckedKeys={defaultCheckedKeys}\n defaultExpandedKeys={defaultExpandedKeys}\n onSelect={handleSelect}\n // Тайп кастинг для упрощения API\n onCheck={onTreeCheck as any}\n onExpand={onTreeExpand}\n switcherIcon={(node) => {\n if (node.isLeaf) {\n return null;\n }\n\n return (\n <IconArrowWrapper>\n <StyledArrow size={sizeToIconSize(size)} color=\"inherit\" className=\"arrow\" />\n </IconArrowWrapper>\n );\n }}\n icon={hasIcon && (icon || <StyledFolder size={sizeToIconSize(size)} color=\"inherit\" />)}\n titleRender={(item) => (\n <TitleWrapper\n fullWidthItemSelection={fullWidthItemSelection}\n arrowPlacement={arrowPlacement}\n singleLine={singleLine}\n >\n <Title singleLine={singleLine}>\n {/* eslint-disable-next-line no-nested-ternary */}\n {renderTitle\n ? renderTitle(item)\n : typeof item.title === 'function'\n ? item.title(item)\n : item.title}\n </Title>\n\n {item.contentRight && <ContentRight>{item.contentRight}</ContentRight>}\n </TitleWrapper>\n )}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnter={onDragEnter}\n onDragOver={onDragOver}\n onDragLeave={onDragLeave}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n allowDrop={allowDrop}\n dropIndicatorRender={(props) => {\n const offset = 0;\n const { dropPosition, dropLevelOffset, indent } = props;\n const left = -dropLevelOffset * indent + offset;\n\n const style: React.CSSProperties = {};\n\n switch (dropPosition) {\n case -1:\n style.top = 0;\n break;\n case 1:\n style.bottom = 0;\n break;\n default:\n style.bottom = 0;\n style.left = indent + offset;\n break;\n }\n return <Line style={style} left={left} />;\n }}\n />\n </Root>\n );\n },\n );\n\nexport const treeConfig = {\n name: 'Tree',\n tag: 'div',\n layout: treeRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["treeRoot","Root","forwardRef","_ref","ref","items","_ref$arrowPlacement","arrowPlacement","_ref$virtual","virtual","height","itemHeight","size","view","variant","_ref$fullWidthItemSel","fullWidthItemSelection","_ref$multiple","multiple","_ref$defaultExpandAll","defaultExpandAll","_ref$autoExpandParent","autoExpandParent","_ref$checkable","checkable","outerSelectedKeys","selectedKeys","checkedKeys","expandedKeys","defaultCheckedKeys","defaultExpandedKeys","defaultSelectedKeys","className","onTreeSelect","onTreeCheck","onTreeExpand","_ref$hasIcon","hasIcon","icon","renderTitle","_ref$singleLine","singleLine","_ref$mode","mode","_ref$draggable","draggable","onDragStart","onDragEnter","onDragOver","onDragLeave","onDragEnd","onDrop","allowDrop","_useState","useState","_useState2","_slicedToArray","selected","setSelected","isRadioMode","handleSelect","updatedSelectedKeys","info","length","invertedClass","classes","treeInverted","undefined","itemFilledClass","treeItemFilled","radioModeClass","treeRadioMode","tightVariantClass","treeTightVariant","treeData","useMemo","traverseTree","React","createElement","Tree","_extends","cls","style","border","onSelect","onCheck","onExpand","switcherIcon","node","isLeaf","IconArrowWrapper","StyledArrow","sizeToIconSize","color","StyledFolder","titleRender","item","TitleWrapper","Title","title","contentRight","ContentRight","dropIndicatorRender","props","offset","dropPosition","dropLevelOffset","indent","left","top","bottom","Line","treeConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Tree.js","sources":["../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import React, { forwardRef, useState, useMemo } from 'react';\nimport type { Key } from 'react';\nimport Tree from 'rc-tree';\nimport { RootPropsOmitDraggable } from 'src/engines';\nimport cls from 'classnames';\n\nimport type { TreeProps, SelectInfo } from './Tree.types';\nimport {\n IconArrowWrapper,\n StyledArrow,\n base,\n StyledFolder,\n TitleWrapper,\n Title,\n ContentRight,\n Line,\n} from './Tree.styles';\nimport { sizeToIconSize, traverseTree } from './utils';\nimport { classes } from './Tree.tokens';\n\n/**\n * Многоуровневый раскрывающийся список в виде дерева.\n */\nexport const treeRoot = (Root: RootPropsOmitDraggable<HTMLDivElement, TreeProps>) =>\n forwardRef<HTMLDivElement, TreeProps>(\n (\n {\n items,\n arrowPlacement = 'left',\n virtual = true,\n height,\n itemHeight,\n size,\n view,\n variant,\n fullWidthItemSelection = false,\n multiple = false,\n defaultExpandAll = false,\n autoExpandParent = false,\n checkable = false,\n selectedKeys: outerSelectedKeys,\n checkedKeys,\n expandedKeys,\n defaultCheckedKeys,\n defaultExpandedKeys,\n defaultSelectedKeys,\n className,\n onTreeSelect,\n onTreeCheck,\n onTreeExpand,\n hasIcon = false,\n icon,\n renderTitle,\n singleLine = true,\n mode = 'default',\n draggable = false,\n onDragStart,\n onDragEnter,\n onDragOver,\n onDragLeave,\n onDragEnd,\n onDrop,\n allowDrop,\n },\n ref,\n ) => {\n const [selected, setSelected] = useState<React.Key[]>(defaultSelectedKeys || []);\n\n const selectedKeys = outerSelectedKeys ?? selected;\n\n const isRadioMode = mode === 'radio' && !multiple;\n\n const handleSelect = (updatedSelectedKeys: Key[], info: SelectInfo) => {\n if (!multiple && isRadioMode && updatedSelectedKeys.length === 0) {\n return;\n }\n\n setSelected(updatedSelectedKeys);\n\n if (onTreeSelect) {\n onTreeSelect(updatedSelectedKeys, info);\n }\n };\n\n const invertedClass = arrowPlacement === 'right' ? classes.treeInverted : undefined;\n const itemFilledClass = fullWidthItemSelection ? classes.treeItemFilled : undefined;\n const radioModeClass = isRadioMode ? classes.treeRadioMode : undefined;\n const tightVariantClass = variant === 'tight' ? classes.treeTightVariant : undefined;\n\n // Проходимся по дереву и устанавливаем соответствующие классы для узлов дерева,\n // чтобы соблюсти иерархию вложенности в UI.\n const treeData = useMemo(() => traverseTree(items, selectedKeys), [items, selectedKeys]);\n\n return (\n <Root view={view} size={size} variant={variant} ref={ref} items={items}>\n <Tree\n height={height}\n itemHeight={itemHeight}\n virtual={virtual}\n multiple={multiple}\n checkable={checkable}\n className={cls(className, invertedClass, itemFilledClass, radioModeClass, tightVariantClass)}\n defaultExpandAll={defaultExpandAll}\n autoExpandParent={autoExpandParent}\n style={{ border: '1px solid #000' }}\n treeData={treeData}\n selectedKeys={selectedKeys}\n {...(checkedKeys !== undefined ? { checkedKeys } : {})}\n {...(expandedKeys !== undefined ? { expandedKeys } : {})}\n defaultCheckedKeys={defaultCheckedKeys}\n defaultExpandedKeys={defaultExpandedKeys}\n onSelect={handleSelect}\n // Тайп кастинг для упрощения API\n onCheck={onTreeCheck as any}\n onExpand={onTreeExpand}\n switcherIcon={(node) => {\n if (node.isLeaf) {\n return null;\n }\n\n return (\n <IconArrowWrapper>\n <StyledArrow\n size={sizeToIconSize(size, variant)}\n color=\"inherit\"\n className=\"arrow\"\n />\n </IconArrowWrapper>\n );\n }}\n icon={\n hasIcon && (icon || <StyledFolder size={sizeToIconSize(size, variant)} color=\"inherit\" />)\n }\n titleRender={(item) => (\n <TitleWrapper\n fullWidthItemSelection={fullWidthItemSelection}\n arrowPlacement={arrowPlacement}\n singleLine={singleLine}\n >\n <Title singleLine={singleLine}>\n {/* eslint-disable-next-line no-nested-ternary */}\n {renderTitle\n ? renderTitle(item)\n : typeof item.title === 'function'\n ? item.title(item)\n : item.title}\n </Title>\n\n {item.contentRight && <ContentRight>{item.contentRight}</ContentRight>}\n </TitleWrapper>\n )}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnter={onDragEnter}\n onDragOver={onDragOver}\n onDragLeave={onDragLeave}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n allowDrop={allowDrop}\n dropIndicatorRender={(props) => {\n const offset = 0;\n const { dropPosition, dropLevelOffset, indent } = props;\n const left = -dropLevelOffset * indent + offset;\n\n const style: React.CSSProperties = {};\n\n switch (dropPosition) {\n case -1:\n style.top = 0;\n break;\n case 1:\n style.bottom = 0;\n break;\n default:\n style.bottom = 0;\n style.left = indent + offset;\n break;\n }\n return <Line style={style} left={left} />;\n }}\n />\n </Root>\n );\n },\n );\n\nexport const treeConfig = {\n name: 'Tree',\n tag: 'div',\n layout: treeRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["treeRoot","Root","forwardRef","_ref","ref","items","_ref$arrowPlacement","arrowPlacement","_ref$virtual","virtual","height","itemHeight","size","view","variant","_ref$fullWidthItemSel","fullWidthItemSelection","_ref$multiple","multiple","_ref$defaultExpandAll","defaultExpandAll","_ref$autoExpandParent","autoExpandParent","_ref$checkable","checkable","outerSelectedKeys","selectedKeys","checkedKeys","expandedKeys","defaultCheckedKeys","defaultExpandedKeys","defaultSelectedKeys","className","onTreeSelect","onTreeCheck","onTreeExpand","_ref$hasIcon","hasIcon","icon","renderTitle","_ref$singleLine","singleLine","_ref$mode","mode","_ref$draggable","draggable","onDragStart","onDragEnter","onDragOver","onDragLeave","onDragEnd","onDrop","allowDrop","_useState","useState","_useState2","_slicedToArray","selected","setSelected","isRadioMode","handleSelect","updatedSelectedKeys","info","length","invertedClass","classes","treeInverted","undefined","itemFilledClass","treeItemFilled","radioModeClass","treeRadioMode","tightVariantClass","treeTightVariant","treeData","useMemo","traverseTree","React","createElement","Tree","_extends","cls","style","border","onSelect","onCheck","onExpand","switcherIcon","node","isLeaf","IconArrowWrapper","StyledArrow","sizeToIconSize","color","StyledFolder","titleRender","item","TitleWrapper","Title","title","contentRight","ContentRight","dropIndicatorRender","props","offset","dropPosition","dropLevelOffset","indent","left","top","bottom","Line","treeConfig","name","tag","layout","base","variations","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA;IACaA,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,IAAuD,EAAA;AAAA,EAAA,oBAC5EC,gBAAU,CACN,UAAAC,IAAA,EAuCIC,GAAG,EACF;AAAA,IAAA,IAtCGC,KAAK,GAAAF,IAAA,CAALE,KAAK;MAAAC,mBAAA,GAAAH,IAAA,CACLI,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,mBAAA;MAAAE,YAAA,GAAAL,IAAA,CACvBM,OAAO;AAAPA,MAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,YAAA;MACdE,MAAM,GAAAP,IAAA,CAANO,MAAM;MACNC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;MACVC,IAAI,GAAAT,IAAA,CAAJS,IAAI;MACJC,IAAI,GAAAV,IAAA,CAAJU,IAAI;MACJC,OAAO,GAAAX,IAAA,CAAPW,OAAO;MAAAC,qBAAA,GAAAZ,IAAA,CACPa,sBAAsB;AAAtBA,MAAAA,sBAAsB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,aAAA,GAAAd,IAAA,CAC9Be,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,qBAAA,GAAAhB,IAAA,CAChBiB,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,qBAAA,GAAAlB,IAAA,CACxBmB,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,cAAA,GAAApB,IAAA,CACxBqB,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MACHE,iBAAiB,GAAAtB,IAAA,CAA/BuB,YAAY;MACZC,WAAW,GAAAxB,IAAA,CAAXwB,WAAW;MACXC,YAAY,GAAAzB,IAAA,CAAZyB,YAAY;MACZC,kBAAkB,GAAA1B,IAAA,CAAlB0B,kBAAkB;MAClBC,mBAAmB,GAAA3B,IAAA,CAAnB2B,mBAAmB;MACnBC,mBAAmB,GAAA5B,IAAA,CAAnB4B,mBAAmB;MACnBC,SAAS,GAAA7B,IAAA,CAAT6B,SAAS;MACTC,YAAY,GAAA9B,IAAA,CAAZ8B,YAAY;MACZC,WAAW,GAAA/B,IAAA,CAAX+B,WAAW;MACXC,YAAY,GAAAhC,IAAA,CAAZgC,YAAY;MAAAC,YAAA,GAAAjC,IAAA,CACZkC,OAAO;AAAPA,MAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,YAAA;MACfE,IAAI,GAAAnC,IAAA,CAAJmC,IAAI;MACJC,WAAW,GAAApC,IAAA,CAAXoC,WAAW;MAAAC,eAAA,GAAArC,IAAA,CACXsC,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MAAAE,SAAA,GAAAvC,IAAA,CACjBwC,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,SAAA;MAAAE,cAAA,GAAAzC,IAAA,CAChB0C,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MACjBE,WAAW,GAAA3C,IAAA,CAAX2C,WAAW;MACXC,WAAW,GAAA5C,IAAA,CAAX4C,WAAW;MACXC,UAAU,GAAA7C,IAAA,CAAV6C,UAAU;MACVC,WAAW,GAAA9C,IAAA,CAAX8C,WAAW;MACXC,SAAS,GAAA/C,IAAA,CAAT+C,SAAS;MACTC,MAAM,GAAAhD,IAAA,CAANgD,MAAM;MACNC,SAAS,GAAAjD,IAAA,CAATiD,SAAS,CAAA;AAIb,IAAA,IAAAC,SAAA,GAAgCC,cAAQ,CAAcvB,mBAAmB,IAAI,EAAE,CAAC;MAAAwB,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzEI,MAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,WAAW,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;IAE5B,IAAM7B,YAAY,GAAGD,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,iBAAiB,GAAIgC,QAAQ,CAAA;AAElD,IAAA,IAAME,WAAW,GAAGhB,IAAI,KAAK,OAAO,IAAI,CAACzB,QAAQ,CAAA;IAEjD,IAAM0C,YAAY,GAAG,SAAfA,YAAYA,CAAIC,mBAA0B,EAAEC,IAAgB,EAAK;MACnE,IAAI,CAAC5C,QAAQ,IAAIyC,WAAW,IAAIE,mBAAmB,CAACE,MAAM,KAAK,CAAC,EAAE;AAC9D,QAAA,OAAA;AACJ,OAAA;MAEAL,WAAW,CAACG,mBAAmB,CAAC,CAAA;AAEhC,MAAA,IAAI5B,YAAY,EAAE;AACdA,QAAAA,YAAY,CAAC4B,mBAAmB,EAAEC,IAAI,CAAC,CAAA;AAC3C,OAAA;KACH,CAAA;IAED,IAAME,aAAa,GAAGzD,cAAc,KAAK,OAAO,GAAG0D,mBAAO,CAACC,YAAY,GAAGC,SAAS,CAAA;IACnF,IAAMC,eAAe,GAAGpD,sBAAsB,GAAGiD,mBAAO,CAACI,cAAc,GAAGF,SAAS,CAAA;IACnF,IAAMG,cAAc,GAAGX,WAAW,GAAGM,mBAAO,CAACM,aAAa,GAAGJ,SAAS,CAAA;IACtE,IAAMK,iBAAiB,GAAG1D,OAAO,KAAK,OAAO,GAAGmD,mBAAO,CAACQ,gBAAgB,GAAGN,SAAS,CAAA;;AAEpF;AACA;IACA,IAAMO,QAAQ,GAAGC,aAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,yBAAY,CAACvE,KAAK,EAAEqB,YAAY,CAAC,CAAA;AAAA,KAAA,EAAE,CAACrB,KAAK,EAAEqB,YAAY,CAAC,CAAC,CAAA;AAExF,IAAA,oBACImD,sBAAA,CAAAC,aAAA,CAAC7E,IAAI,EAAA;AAACY,MAAAA,IAAI,EAAEA,IAAK;AAACD,MAAAA,IAAI,EAAEA,IAAK;AAACE,MAAAA,OAAO,EAAEA,OAAQ;AAACV,MAAAA,GAAG,EAAEA,GAAI;AAACC,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAA,eACnEwE,sBAAA,CAAAC,aAAA,CAACC,qBAAI,EAAAC,iCAAA,CAAA;AACDtE,MAAAA,MAAM,EAAEA,MAAO;AACfC,MAAAA,UAAU,EAAEA,UAAW;AACvBF,MAAAA,OAAO,EAAEA,OAAQ;AACjBS,MAAAA,QAAQ,EAAEA,QAAS;AACnBM,MAAAA,SAAS,EAAEA,SAAU;AACrBQ,MAAAA,SAAS,EAAEiD,oBAAG,CAACjD,SAAS,EAAEgC,aAAa,EAAEI,eAAe,EAAEE,cAAc,EAAEE,iBAAiB,CAAE;AAC7FpD,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCE,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnC4D,MAAAA,KAAK,EAAE;AAAEC,QAAAA,MAAM,EAAE,gBAAA;OAAmB;AACpCT,MAAAA,QAAQ,EAAEA,QAAS;AACnBhD,MAAAA,YAAY,EAAEA,YAAAA;KACTC,EAAAA,WAAW,KAAKwC,SAAS,GAAG;AAAExC,MAAAA,WAAW,EAAXA,WAAAA;AAAY,KAAC,GAAG,EAAE,EAChDC,YAAY,KAAKuC,SAAS,GAAG;AAAEvC,MAAAA,YAAY,EAAZA,YAAAA;KAAc,GAAG,EAAE,EAAA;AACvDC,MAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCsD,MAAAA,QAAQ,EAAExB,YAAAA;AACV;AAAA;AACAyB,MAAAA,OAAO,EAAEnD,WAAmB;AAC5BoD,MAAAA,QAAQ,EAAEnD,YAAa;AACvBoD,MAAAA,YAAY,EAAE,SAAAA,YAACC,CAAAA,IAAI,EAAK;QACpB,IAAIA,IAAI,CAACC,MAAM,EAAE;AACb,UAAA,OAAO,IAAI,CAAA;AACf,SAAA;QAEA,oBACIZ,sBAAA,CAAAC,aAAA,CAACY,4BAAgB,qBACbb,sBAAA,CAAAC,aAAA,CAACa,uBAAW,EAAA;AACR/E,UAAAA,IAAI,EAAEgF,6BAAc,CAAChF,IAAI,EAAEE,OAAO,CAAE;AACpC+E,UAAAA,KAAK,EAAC,SAAS;AACf7D,UAAAA,SAAS,EAAC,OAAA;AAAO,SACpB,CACa,CAAC,CAAA;OAEzB;MACFM,IAAI,EACAD,OAAO,KAAKC,IAAI,iBAAIuC,sBAAA,CAAAC,aAAA,CAACgB,wBAAY,EAAA;AAAClF,QAAAA,IAAI,EAAEgF,6BAAc,CAAChF,IAAI,EAAEE,OAAO,CAAE;AAAC+E,QAAAA,KAAK,EAAC,SAAA;AAAS,OAAE,CAAC,CAC5F;MACDE,WAAW,EAAE,SAAAA,WAAAA,CAACC,IAAI,EAAA;AAAA,QAAA,oBACdnB,sBAAA,CAAAC,aAAA,CAACmB,wBAAY,EAAA;AACTjF,UAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CT,UAAAA,cAAc,EAAEA,cAAe;AAC/BkC,UAAAA,UAAU,EAAEA,UAAAA;AAAW,SAAA,eAEvBoC,sBAAA,CAAAC,aAAA,CAACoB,iBAAK,EAAA;AAACzD,UAAAA,UAAU,EAAEA,UAAAA;AAAW,SAAA,EAEzBF,WAAW,GACNA,WAAW,CAACyD,IAAI,CAAC,GACjB,OAAOA,IAAI,CAACG,KAAK,KAAK,UAAU,GAChCH,IAAI,CAACG,KAAK,CAACH,IAAI,CAAC,GAChBA,IAAI,CAACG,KACR,CAAC,EAEPH,IAAI,CAACI,YAAY,iBAAIvB,sBAAA,CAAAC,aAAA,CAACuB,wBAAY,EAAA,IAAA,EAAEL,IAAI,CAACI,YAA2B,CAC3D,CAAC,CAAA;OACjB;AACFvD,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,MAAM,EAAEA,MAAO;AACfC,MAAAA,SAAS,EAAEA,SAAU;AACrBkD,MAAAA,mBAAmB,EAAE,SAAAA,mBAACC,CAAAA,KAAK,EAAK;QAC5B,IAAMC,MAAM,GAAG,CAAC,CAAA;AAChB,QAAA,IAAQC,YAAY,GAA8BF,KAAK,CAA/CE,YAAY;UAAEC,eAAe,GAAaH,KAAK,CAAjCG,eAAe;UAAEC,MAAM,GAAKJ,KAAK,CAAhBI,MAAM,CAAA;AAC7C,QAAA,IAAMC,IAAI,GAAG,CAACF,eAAe,GAAGC,MAAM,GAAGH,MAAM,CAAA;QAE/C,IAAMtB,KAA0B,GAAG,EAAE,CAAA;AAErC,QAAA,QAAQuB,YAAY;AAChB,UAAA,KAAK,CAAC,CAAC;YACHvB,KAAK,CAAC2B,GAAG,GAAG,CAAC,CAAA;AACb,YAAA,MAAA;AACJ,UAAA,KAAK,CAAC;YACF3B,KAAK,CAAC4B,MAAM,GAAG,CAAC,CAAA;AAChB,YAAA,MAAA;AACJ,UAAA;YACI5B,KAAK,CAAC4B,MAAM,GAAG,CAAC,CAAA;AAChB5B,YAAAA,KAAK,CAAC0B,IAAI,GAAGD,MAAM,GAAGH,MAAM,CAAA;AAC5B,YAAA,MAAA;AACR,SAAA;AACA,QAAA,oBAAO3B,sBAAA,CAAAC,aAAA,CAACiC,gBAAI,EAAA;AAAC7B,UAAAA,KAAK,EAAEA,KAAM;AAAC0B,UAAAA,IAAI,EAAEA,IAAAA;AAAK,SAAE,CAAC,CAAA;AAC7C,OAAA;AAAE,KAAA,CACL,CACC,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMI,UAAU,GAAG;AACtBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEnH,QAAQ;AAChBoH,EAAAA,IAAI,EAAJA,gBAAI;EACJC,UAAU,EAAE,EAAE;AACdC,EAAAA,QAAQ,EAAE;AACNzG,IAAAA,IAAI,EAAE,SAAS;AACfD,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var sizeToIconSize = function sizeToIconSize(size) {
6
- if (size === 'xs') return 'xs';
5
+ var sizeToIconSize = function sizeToIconSize(size, variant) {
6
+ if (size === 'xs' || variant === 'tight' && size === 's') return 'xs';
7
7
  return 's';
8
8
  };
9
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"sizeToIconSize.js","sources":["../../../../src/components/Tree/utils/sizeToIconSize.ts"],"sourcesContent":["export const sizeToIconSize = (size?: string) => {\n if (size === 'xs') return 'xs';\n\n return 's';\n};\n"],"names":["sizeToIconSize","size"],"mappings":";;;;IAAaA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAa,EAAK;AAC7C,EAAA,IAAIA,IAAI,KAAK,IAAI,EAAE,OAAO,IAAI,CAAA;AAE9B,EAAA,OAAO,GAAG,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"sizeToIconSize.js","sources":["../../../../src/components/Tree/utils/sizeToIconSize.ts"],"sourcesContent":["export const sizeToIconSize = (size?: string, variant?: string) => {\n if (size === 'xs' || (variant === 'tight' && size === 's')) return 'xs';\n\n return 's';\n};\n"],"names":["sizeToIconSize","size","variant"],"mappings":";;;;AAAO,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAa,EAAEC,OAAgB,EAAK;AAC/D,EAAA,IAAID,IAAI,KAAK,IAAI,IAAKC,OAAO,KAAK,OAAO,IAAID,IAAI,KAAK,GAAI,EAAE,OAAO,IAAI,CAAA;AAEvE,EAAA,OAAO,GAAG,CAAA;AACd;;;;"}
@@ -101,7 +101,7 @@ var DropdownInner = function(param) {
101
101
  id: listId,
102
102
  role: "group",
103
103
  listMaxHeight: item.listMaxHeight
104
- }, item.items.map(function(innerItem, innerIndex) {
104
+ }, item.beforeList, item.items.map(function(innerItem, innerIndex) {
105
105
  return /*#__PURE__*/ _react.default.createElement(DropdownInner, {
106
106
  key: "".concat(innerIndex, "/").concat(currentLevel),
107
107
  item: innerItem,
@@ -24,6 +24,36 @@ var generateSection = function(length, add) {
24
24
  var dType = 'default';
25
25
  var dDlots = 9;
26
26
  var sections = {
27
+ 1: [
28
+ 1,
29
+ 0,
30
+ 0
31
+ ],
32
+ 2: [
33
+ 2,
34
+ 0,
35
+ 0
36
+ ],
37
+ 3: [
38
+ 3,
39
+ 0,
40
+ 0
41
+ ],
42
+ 4: [
43
+ 4,
44
+ 0,
45
+ 0
46
+ ],
47
+ 5: [
48
+ 5,
49
+ 0,
50
+ 0
51
+ ],
52
+ 6: [
53
+ 6,
54
+ 0,
55
+ 0
56
+ ],
27
57
  7: [
28
58
  1,
29
59
  3,
@@ -98,12 +128,17 @@ var getSections = function(value, pages, slots) {
98
128
  var pageArray = [
99
129
  generateSection(pages, 1)
100
130
  ];
101
- if (slots >= pages || slots < 5) {
131
+ if (slots >= pages) {
102
132
  return pageArray;
103
133
  }
104
134
  if (!sections[slots]) {
105
135
  return pageArray;
106
136
  }
137
+ if (slots < 7) {
138
+ return [
139
+ generateSection(slots, value)
140
+ ];
141
+ }
107
142
  var smallSection = Math.min(Math.floor((slots - 1) / 2), 6);
108
143
  var bigSection = Math.min(Math.floor(slots / 2), 6);
109
144
  var defaultSection = sections[slots][1];
@@ -229,13 +229,13 @@ var treeRoot = function(Root) {
229
229
  return null;
230
230
  }
231
231
  return /*#__PURE__*/ _react.default.createElement(_Treestyles.IconArrowWrapper, null, /*#__PURE__*/ _react.default.createElement(_Treestyles.StyledArrow, {
232
- size: (0, _utils.sizeToIconSize)(size),
232
+ size: (0, _utils.sizeToIconSize)(size, variant),
233
233
  color: "inherit",
234
234
  className: "arrow"
235
235
  }));
236
236
  },
237
237
  icon: hasIcon && (icon || /*#__PURE__*/ _react.default.createElement(_Treestyles.StyledFolder, {
238
- size: (0, _utils.sizeToIconSize)(size),
238
+ size: (0, _utils.sizeToIconSize)(size, variant),
239
239
  color: "inherit"
240
240
  })),
241
241
  titleRender: function(item) {
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "sizeToIconSize", {
8
8
  return sizeToIconSize;
9
9
  }
10
10
  });
11
- var sizeToIconSize = function(size) {
12
- if (size === 'xs') return 'xs';
11
+ var sizeToIconSize = function(size, variant) {
12
+ if (size === 'xs' || variant === 'tight' && size === 's') return 'xs';
13
13
  return 's';
14
14
  };
@@ -1,16 +1 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "Combobox", {
6
- enumerable: true,
7
- get: function() {
8
- return Combobox;
9
- }
10
- });
11
- var _engines = require("../../../engines");
12
- var _ = require("../../..");
13
- var _Comboboxconfig = require("./Combobox.config");
14
- var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
15
- var ComboboxComponent = (0, _engines.component)(mergedConfig);
16
- var Combobox = ComboboxComponent;
@@ -50,7 +50,7 @@ var DropdownInner = function(param) {
50
50
  id: listId,
51
51
  role: "group",
52
52
  listMaxHeight: item.listMaxHeight
53
- }, item.items.map(function(innerItem, innerIndex) {
53
+ }, item.beforeList, item.items.map(function(innerItem, innerIndex) {
54
54
  return /*#__PURE__*/ React.createElement(DropdownInner, {
55
55
  key: "".concat(innerIndex, "/").concat(currentLevel),
56
56
  item: innerItem,
@@ -6,6 +6,36 @@ var generateSection = function(length, add) {
6
6
  var dType = 'default';
7
7
  var dDlots = 9;
8
8
  var sections = {
9
+ 1: [
10
+ 1,
11
+ 0,
12
+ 0
13
+ ],
14
+ 2: [
15
+ 2,
16
+ 0,
17
+ 0
18
+ ],
19
+ 3: [
20
+ 3,
21
+ 0,
22
+ 0
23
+ ],
24
+ 4: [
25
+ 4,
26
+ 0,
27
+ 0
28
+ ],
29
+ 5: [
30
+ 5,
31
+ 0,
32
+ 0
33
+ ],
34
+ 6: [
35
+ 6,
36
+ 0,
37
+ 0
38
+ ],
9
39
  7: [
10
40
  1,
11
41
  3,
@@ -80,12 +110,17 @@ export var getSections = function(value, pages, slots) {
80
110
  var pageArray = [
81
111
  generateSection(pages, 1)
82
112
  ];
83
- if (slots >= pages || slots < 5) {
113
+ if (slots >= pages) {
84
114
  return pageArray;
85
115
  }
86
116
  if (!sections[slots]) {
87
117
  return pageArray;
88
118
  }
119
+ if (slots < 7) {
120
+ return [
121
+ generateSection(slots, value)
122
+ ];
123
+ }
89
124
  var smallSection = Math.min(Math.floor((slots - 1) / 2), 6);
90
125
  var bigSection = Math.min(Math.floor(slots / 2), 6);
91
126
  var defaultSection = sections[slots][1];
@@ -167,13 +167,13 @@ import { classes } from "./Tree.tokens";
167
167
  return null;
168
168
  }
169
169
  return /*#__PURE__*/ React.createElement(IconArrowWrapper, null, /*#__PURE__*/ React.createElement(StyledArrow, {
170
- size: sizeToIconSize(size),
170
+ size: sizeToIconSize(size, variant),
171
171
  color: "inherit",
172
172
  className: "arrow"
173
173
  }));
174
174
  },
175
175
  icon: hasIcon && (icon || /*#__PURE__*/ React.createElement(StyledFolder, {
176
- size: sizeToIconSize(size),
176
+ size: sizeToIconSize(size, variant),
177
177
  color: "inherit"
178
178
  })),
179
179
  titleRender: function(item) {
@@ -1,4 +1,4 @@
1
- export var sizeToIconSize = function(size) {
2
- if (size === 'xs') return 'xs';
1
+ export var sizeToIconSize = function(size, variant) {
2
+ if (size === 'xs' || variant === 'tight' && size === 's') return 'xs';
3
3
  return 's';
4
4
  };
@@ -58,7 +58,7 @@ var DropdownInner = function DropdownInner(_ref) {
58
58
  id: listId,
59
59
  role: "group",
60
60
  listMaxHeight: item.listMaxHeight
61
- }, item.items.map(function (innerItem, innerIndex) {
61
+ }, item.beforeList, item.items.map(function (innerItem, innerIndex) {
62
62
  return /*#__PURE__*/React.createElement(DropdownInner, {
63
63
  key: "".concat(innerIndex, "/").concat(currentLevel),
64
64
  item: innerItem,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { DropdownItem } from '../DropdownItem/DropdownItem';\nimport { Ul, ListWrapper } from '../../Dropdown.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { getPlacement } from '../../utils';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n path,\n dispatchPath,\n index,\n trigger,\n listWidth,\n portal,\n}) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <FloatingPopover\n placement={getPlacement(item?.placement || 'right')}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n trigger={item.trigger || trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n currentLevel={currentLevel}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n portal={portal}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul id={listId} role=\"group\" listMaxHeight={item.listMaxHeight}>\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <DropdownItem item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","_ref","item","currentLevel","path","dispatchPath","index","trigger","listWidth","portal","handleToggle","opened","type","value","toString","level","listWrapperRef","useRef","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","items","React","createElement","FloatingPopover","placement","getPlacement","onToggle","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","ref","Ul","id","role","listMaxHeight","map","innerItem","innerIndex","key"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { DropdownItem } from '../DropdownItem/DropdownItem';\nimport { Ul, ListWrapper } from '../../Dropdown.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { getPlacement } from '../../utils';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n path,\n dispatchPath,\n index,\n trigger,\n listWidth,\n portal,\n}) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <FloatingPopover\n placement={getPlacement(item?.placement || 'right')}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n trigger={item.trigger || trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n currentLevel={currentLevel}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n portal={portal}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul id={listId} role=\"group\" listMaxHeight={item.listMaxHeight}>\n {item.beforeList}\n\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <DropdownItem item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","_ref","item","currentLevel","path","dispatchPath","index","trigger","listWidth","portal","handleToggle","opened","type","value","toString","level","listWrapperRef","useRef","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","items","React","createElement","FloatingPopover","placement","getPlacement","onToggle","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","ref","Ul","id","role","listMaxHeight","beforeList","map","innerItem","innerIndex","key"],"mappings":"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"}
@@ -6,6 +6,12 @@ var generateSection = function generateSection(length, add) {
6
6
  var dType = 'default';
7
7
  var dDlots = 9;
8
8
  var sections = {
9
+ 1: [1, 0, 0],
10
+ 2: [2, 0, 0],
11
+ 3: [3, 0, 0],
12
+ 4: [4, 0, 0],
13
+ 5: [5, 0, 0],
14
+ 6: [6, 0, 0],
9
15
  7: [1, 3, 1],
10
16
  8: [1, 4, 1],
11
17
  9: [2, 3, 2],
@@ -38,12 +44,15 @@ var getSections = function getSections(value, pages, slots) {
38
44
  pages = (_pages = pages) !== null && _pages !== void 0 ? _pages : 1;
39
45
  slots = (_slots = slots) !== null && _slots !== void 0 ? _slots : defaultValues.slots;
40
46
  var pageArray = [generateSection(pages, 1)];
41
- if (slots >= pages || slots < 5) {
47
+ if (slots >= pages) {
42
48
  return pageArray;
43
49
  }
44
50
  if (!sections[slots]) {
45
51
  return pageArray;
46
52
  }
53
+ if (slots < 7) {
54
+ return [generateSection(slots, value)];
55
+ }
47
56
  var smallSection = Math.min(Math.floor((slots - 1) / 2), 6);
48
57
  var bigSection = Math.min(Math.floor(slots / 2), 6);
49
58
  var defaultSection = sections[slots][1];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Pagination/utils/index.ts"],"sourcesContent":["import { PaginationTypes } from '../Pagination.types';\nimport type { NumericRange, CreateArrayWithLengthX } from '../../../types';\n\nconst generateSection = (length: number, add: number) => {\n return Array.from(Array(length).keys()).map((el) => el + add);\n};\n\nconst dType: PaginationTypes = 'default';\nconst dDlots: NumericRange<CreateArrayWithLengthX<7>, 15> = 9;\n\nconst sections = {\n 7: [1, 3, 1],\n 8: [1, 4, 1],\n 9: [2, 3, 2],\n 10: [2, 4, 2],\n 11: [3, 3, 3],\n 12: [3, 4, 3],\n 13: [3, 5, 3],\n 14: [3, 6, 3],\n 15: [4, 5, 4],\n};\n\nexport const defaultValues = {\n value: 1,\n perPage: 20,\n slots: dDlots,\n type: dType,\n pilled: false,\n square: false,\n disabledPages: [],\n hasQuickJump: true,\n hasPerPage: true,\n perPageList: [20, 50, 100, 200],\n isCommonButtonStyles: true,\n placeholderQuickJump: '#',\n textQuickJump: 'Go to',\n textPerPage: 'Show',\n};\n\nexport const getSections = (\n value?: number,\n pages?: number,\n slots?: NumericRange<CreateArrayWithLengthX<7>, 15>,\n): number[][] => {\n value = value ?? 1;\n pages = pages ?? 1;\n slots = slots ?? defaultValues.slots;\n const pageArray = [generateSection(pages, 1)];\n\n if (slots >= pages || slots < 5) {\n return pageArray;\n }\n\n if (!sections[slots]) {\n return pageArray;\n }\n\n const smallSection = Math.min(Math.floor((slots - 1) / 2), 6);\n const bigSection = Math.min(Math.floor(slots / 2), 6);\n\n const defaultSection = sections[slots][1];\n const smallSectionLeft = sections[slots][0];\n const smallSectionRight = sections[slots][2];\n\n if (smallSection > value) {\n return [generateSection(bigSection, 1), generateSection(smallSection, pages - smallSection + 1)];\n }\n\n if (smallSection === value) {\n return [generateSection(bigSection + 1, 1), generateSection(smallSection - 1, pages - smallSection + 2)];\n }\n\n if (pages - smallSection + 1 < value) {\n return [generateSection(smallSection, 1), generateSection(bigSection, pages - bigSection + 1)];\n }\n\n if (pages - smallSection + 1 === value) {\n return [generateSection(smallSection - 1, 1), generateSection(bigSection + 1, pages - bigSection)];\n }\n\n return [\n generateSection(smallSectionLeft, 1),\n generateSection(defaultSection, value - Math.floor(defaultSection / 2)),\n generateSection(smallSectionRight, pages - smallSectionRight + 1),\n ];\n};\n"],"names":["generateSection","length","add","Array","from","keys","map","el","dType","dDlots","sections","defaultValues","value","perPage","slots","type","pilled","square","disabledPages","hasQuickJump","hasPerPage","perPageList","isCommonButtonStyles","placeholderQuickJump","textQuickJump","textPerPage","getSections","pages","_value","_pages","_slots","pageArray","smallSection","Math","min","floor","bigSection","defaultSection","smallSectionLeft","smallSectionRight"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Pagination/utils/index.ts"],"sourcesContent":["import { PaginationTypes } from '../Pagination.types';\nimport type { NumericRange, CreateArrayWithLengthX } from '../../../types';\n\nconst generateSection = (length: number, add: number) => {\n return Array.from(Array(length).keys()).map((el) => el + add);\n};\n\nconst dType: PaginationTypes = 'default';\nconst dDlots: NumericRange<CreateArrayWithLengthX<7>, 15> = 9;\n\nconst sections = {\n 1: [1, 0, 0],\n 2: [2, 0, 0],\n 3: [3, 0, 0],\n 4: [4, 0, 0],\n 5: [5, 0, 0],\n 6: [6, 0, 0],\n 7: [1, 3, 1],\n 8: [1, 4, 1],\n 9: [2, 3, 2],\n 10: [2, 4, 2],\n 11: [3, 3, 3],\n 12: [3, 4, 3],\n 13: [3, 5, 3],\n 14: [3, 6, 3],\n 15: [4, 5, 4],\n};\n\nexport const defaultValues = {\n value: 1,\n perPage: 20,\n slots: dDlots,\n type: dType,\n pilled: false,\n square: false,\n disabledPages: [],\n hasQuickJump: true,\n hasPerPage: true,\n perPageList: [20, 50, 100, 200],\n isCommonButtonStyles: true,\n placeholderQuickJump: '#',\n textQuickJump: 'Go to',\n textPerPage: 'Show',\n};\n\nexport const getSections = (\n value?: number,\n pages?: number,\n slots?: NumericRange<CreateArrayWithLengthX<1>, 15>,\n): number[][] => {\n value = value ?? 1;\n pages = pages ?? 1;\n slots = slots ?? defaultValues.slots;\n const pageArray = [generateSection(pages, 1)];\n\n if (slots >= pages) {\n return pageArray;\n }\n\n if (!sections[slots]) {\n return pageArray;\n }\n\n if (slots < 7) {\n return [generateSection(slots, value)];\n }\n\n const smallSection = Math.min(Math.floor((slots - 1) / 2), 6);\n const bigSection = Math.min(Math.floor(slots / 2), 6);\n\n const defaultSection = sections[slots][1];\n const smallSectionLeft = sections[slots][0];\n const smallSectionRight = sections[slots][2];\n\n if (smallSection > value) {\n return [generateSection(bigSection, 1), generateSection(smallSection, pages - smallSection + 1)];\n }\n\n if (smallSection === value) {\n return [generateSection(bigSection + 1, 1), generateSection(smallSection - 1, pages - smallSection + 2)];\n }\n\n if (pages - smallSection + 1 < value) {\n return [generateSection(smallSection, 1), generateSection(bigSection, pages - bigSection + 1)];\n }\n\n if (pages - smallSection + 1 === value) {\n return [generateSection(smallSection - 1, 1), generateSection(bigSection + 1, pages - bigSection)];\n }\n\n return [\n generateSection(smallSectionLeft, 1),\n generateSection(defaultSection, value - Math.floor(defaultSection / 2)),\n generateSection(smallSectionRight, pages - smallSectionRight + 1),\n ];\n};\n"],"names":["generateSection","length","add","Array","from","keys","map","el","dType","dDlots","sections","defaultValues","value","perPage","slots","type","pilled","square","disabledPages","hasQuickJump","hasPerPage","perPageList","isCommonButtonStyles","placeholderQuickJump","textQuickJump","textPerPage","getSections","pages","_value","_pages","_slots","pageArray","smallSection","Math","min","floor","bigSection","defaultSection","smallSectionLeft","smallSectionRight"],"mappings":"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"}
@@ -121,13 +121,13 @@ var treeRoot = function treeRoot(Root) {
121
121
  return null;
122
122
  }
123
123
  return /*#__PURE__*/React.createElement(IconArrowWrapper, null, /*#__PURE__*/React.createElement(StyledArrow, {
124
- size: sizeToIconSize(size),
124
+ size: sizeToIconSize(size, variant),
125
125
  color: "inherit",
126
126
  className: "arrow"
127
127
  }));
128
128
  },
129
129
  icon: hasIcon && (icon || /*#__PURE__*/React.createElement(StyledFolder, {
130
- size: sizeToIconSize(size),
130
+ size: sizeToIconSize(size, variant),
131
131
  color: "inherit"
132
132
  })),
133
133
  titleRender: function titleRender(item) {
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","sources":["../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import React, { forwardRef, useState, useMemo } from 'react';\nimport type { Key } from 'react';\nimport Tree from 'rc-tree';\nimport { RootPropsOmitDraggable } from 'src/engines';\nimport cls from 'classnames';\n\nimport type { TreeProps, SelectInfo } from './Tree.types';\nimport {\n IconArrowWrapper,\n StyledArrow,\n base,\n StyledFolder,\n TitleWrapper,\n Title,\n ContentRight,\n Line,\n} from './Tree.styles';\nimport { sizeToIconSize, traverseTree } from './utils';\nimport { classes } from './Tree.tokens';\n\n/**\n * Многоуровневый раскрывающийся список в виде дерева.\n */\nexport const treeRoot = (Root: RootPropsOmitDraggable<HTMLDivElement, TreeProps>) =>\n forwardRef<HTMLDivElement, TreeProps>(\n (\n {\n items,\n arrowPlacement = 'left',\n virtual = true,\n height,\n itemHeight,\n size,\n view,\n variant,\n fullWidthItemSelection = false,\n multiple = false,\n defaultExpandAll = false,\n autoExpandParent = false,\n checkable = false,\n selectedKeys: outerSelectedKeys,\n checkedKeys,\n expandedKeys,\n defaultCheckedKeys,\n defaultExpandedKeys,\n defaultSelectedKeys,\n className,\n onTreeSelect,\n onTreeCheck,\n onTreeExpand,\n hasIcon = false,\n icon,\n renderTitle,\n singleLine = true,\n mode = 'default',\n draggable = false,\n onDragStart,\n onDragEnter,\n onDragOver,\n onDragLeave,\n onDragEnd,\n onDrop,\n allowDrop,\n },\n ref,\n ) => {\n const [selected, setSelected] = useState<React.Key[]>(defaultSelectedKeys || []);\n\n const selectedKeys = outerSelectedKeys ?? selected;\n\n const isRadioMode = mode === 'radio' && !multiple;\n\n const handleSelect = (updatedSelectedKeys: Key[], info: SelectInfo) => {\n if (!multiple && isRadioMode && updatedSelectedKeys.length === 0) {\n return;\n }\n\n setSelected(updatedSelectedKeys);\n\n if (onTreeSelect) {\n onTreeSelect(updatedSelectedKeys, info);\n }\n };\n\n const invertedClass = arrowPlacement === 'right' ? classes.treeInverted : undefined;\n const itemFilledClass = fullWidthItemSelection ? classes.treeItemFilled : undefined;\n const radioModeClass = isRadioMode ? classes.treeRadioMode : undefined;\n const tightVariantClass = variant === 'tight' ? classes.treeTightVariant : undefined;\n\n // Проходимся по дереву и устанавливаем соответствующие классы для узлов дерева,\n // чтобы соблюсти иерархию вложенности в UI.\n const treeData = useMemo(() => traverseTree(items, selectedKeys), [items, selectedKeys]);\n\n return (\n <Root view={view} size={size} variant={variant} ref={ref} items={items}>\n <Tree\n height={height}\n itemHeight={itemHeight}\n virtual={virtual}\n multiple={multiple}\n checkable={checkable}\n className={cls(className, invertedClass, itemFilledClass, radioModeClass, tightVariantClass)}\n defaultExpandAll={defaultExpandAll}\n autoExpandParent={autoExpandParent}\n style={{ border: '1px solid #000' }}\n treeData={treeData}\n selectedKeys={selectedKeys}\n {...(checkedKeys !== undefined ? { checkedKeys } : {})}\n {...(expandedKeys !== undefined ? { expandedKeys } : {})}\n defaultCheckedKeys={defaultCheckedKeys}\n defaultExpandedKeys={defaultExpandedKeys}\n onSelect={handleSelect}\n // Тайп кастинг для упрощения API\n onCheck={onTreeCheck as any}\n onExpand={onTreeExpand}\n switcherIcon={(node) => {\n if (node.isLeaf) {\n return null;\n }\n\n return (\n <IconArrowWrapper>\n <StyledArrow size={sizeToIconSize(size)} color=\"inherit\" className=\"arrow\" />\n </IconArrowWrapper>\n );\n }}\n icon={hasIcon && (icon || <StyledFolder size={sizeToIconSize(size)} color=\"inherit\" />)}\n titleRender={(item) => (\n <TitleWrapper\n fullWidthItemSelection={fullWidthItemSelection}\n arrowPlacement={arrowPlacement}\n singleLine={singleLine}\n >\n <Title singleLine={singleLine}>\n {/* eslint-disable-next-line no-nested-ternary */}\n {renderTitle\n ? renderTitle(item)\n : typeof item.title === 'function'\n ? item.title(item)\n : item.title}\n </Title>\n\n {item.contentRight && <ContentRight>{item.contentRight}</ContentRight>}\n </TitleWrapper>\n )}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnter={onDragEnter}\n onDragOver={onDragOver}\n onDragLeave={onDragLeave}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n allowDrop={allowDrop}\n dropIndicatorRender={(props) => {\n const offset = 0;\n const { dropPosition, dropLevelOffset, indent } = props;\n const left = -dropLevelOffset * indent + offset;\n\n const style: React.CSSProperties = {};\n\n switch (dropPosition) {\n case -1:\n style.top = 0;\n break;\n case 1:\n style.bottom = 0;\n break;\n default:\n style.bottom = 0;\n style.left = indent + offset;\n break;\n }\n return <Line style={style} left={left} />;\n }}\n />\n </Root>\n );\n },\n );\n\nexport const treeConfig = {\n name: 'Tree',\n tag: 'div',\n layout: treeRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["treeRoot","Root","forwardRef","_ref","ref","items","_ref$arrowPlacement","arrowPlacement","_ref$virtual","virtual","height","itemHeight","size","view","variant","_ref$fullWidthItemSel","fullWidthItemSelection","_ref$multiple","multiple","_ref$defaultExpandAll","defaultExpandAll","_ref$autoExpandParent","autoExpandParent","_ref$checkable","checkable","outerSelectedKeys","selectedKeys","checkedKeys","expandedKeys","defaultCheckedKeys","defaultExpandedKeys","defaultSelectedKeys","className","onTreeSelect","onTreeCheck","onTreeExpand","_ref$hasIcon","hasIcon","icon","renderTitle","_ref$singleLine","singleLine","_ref$mode","mode","_ref$draggable","draggable","onDragStart","onDragEnter","onDragOver","onDragLeave","onDragEnd","onDrop","allowDrop","_useState","useState","_useState2","_slicedToArray","selected","setSelected","isRadioMode","handleSelect","updatedSelectedKeys","info","length","invertedClass","classes","treeInverted","undefined","itemFilledClass","treeItemFilled","radioModeClass","treeRadioMode","tightVariantClass","treeTightVariant","treeData","useMemo","traverseTree","React","createElement","Tree","_extends","cls","style","border","onSelect","onCheck","onExpand","switcherIcon","node","isLeaf","IconArrowWrapper","StyledArrow","sizeToIconSize","color","StyledFolder","titleRender","item","TitleWrapper","Title","title","contentRight","ContentRight","dropIndicatorRender","props","offset","dropPosition","dropLevelOffset","indent","left","top","bottom","Line","treeConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Tree.js","sources":["../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import React, { forwardRef, useState, useMemo } from 'react';\nimport type { Key } from 'react';\nimport Tree from 'rc-tree';\nimport { RootPropsOmitDraggable } from 'src/engines';\nimport cls from 'classnames';\n\nimport type { TreeProps, SelectInfo } from './Tree.types';\nimport {\n IconArrowWrapper,\n StyledArrow,\n base,\n StyledFolder,\n TitleWrapper,\n Title,\n ContentRight,\n Line,\n} from './Tree.styles';\nimport { sizeToIconSize, traverseTree } from './utils';\nimport { classes } from './Tree.tokens';\n\n/**\n * Многоуровневый раскрывающийся список в виде дерева.\n */\nexport const treeRoot = (Root: RootPropsOmitDraggable<HTMLDivElement, TreeProps>) =>\n forwardRef<HTMLDivElement, TreeProps>(\n (\n {\n items,\n arrowPlacement = 'left',\n virtual = true,\n height,\n itemHeight,\n size,\n view,\n variant,\n fullWidthItemSelection = false,\n multiple = false,\n defaultExpandAll = false,\n autoExpandParent = false,\n checkable = false,\n selectedKeys: outerSelectedKeys,\n checkedKeys,\n expandedKeys,\n defaultCheckedKeys,\n defaultExpandedKeys,\n defaultSelectedKeys,\n className,\n onTreeSelect,\n onTreeCheck,\n onTreeExpand,\n hasIcon = false,\n icon,\n renderTitle,\n singleLine = true,\n mode = 'default',\n draggable = false,\n onDragStart,\n onDragEnter,\n onDragOver,\n onDragLeave,\n onDragEnd,\n onDrop,\n allowDrop,\n },\n ref,\n ) => {\n const [selected, setSelected] = useState<React.Key[]>(defaultSelectedKeys || []);\n\n const selectedKeys = outerSelectedKeys ?? selected;\n\n const isRadioMode = mode === 'radio' && !multiple;\n\n const handleSelect = (updatedSelectedKeys: Key[], info: SelectInfo) => {\n if (!multiple && isRadioMode && updatedSelectedKeys.length === 0) {\n return;\n }\n\n setSelected(updatedSelectedKeys);\n\n if (onTreeSelect) {\n onTreeSelect(updatedSelectedKeys, info);\n }\n };\n\n const invertedClass = arrowPlacement === 'right' ? classes.treeInverted : undefined;\n const itemFilledClass = fullWidthItemSelection ? classes.treeItemFilled : undefined;\n const radioModeClass = isRadioMode ? classes.treeRadioMode : undefined;\n const tightVariantClass = variant === 'tight' ? classes.treeTightVariant : undefined;\n\n // Проходимся по дереву и устанавливаем соответствующие классы для узлов дерева,\n // чтобы соблюсти иерархию вложенности в UI.\n const treeData = useMemo(() => traverseTree(items, selectedKeys), [items, selectedKeys]);\n\n return (\n <Root view={view} size={size} variant={variant} ref={ref} items={items}>\n <Tree\n height={height}\n itemHeight={itemHeight}\n virtual={virtual}\n multiple={multiple}\n checkable={checkable}\n className={cls(className, invertedClass, itemFilledClass, radioModeClass, tightVariantClass)}\n defaultExpandAll={defaultExpandAll}\n autoExpandParent={autoExpandParent}\n style={{ border: '1px solid #000' }}\n treeData={treeData}\n selectedKeys={selectedKeys}\n {...(checkedKeys !== undefined ? { checkedKeys } : {})}\n {...(expandedKeys !== undefined ? { expandedKeys } : {})}\n defaultCheckedKeys={defaultCheckedKeys}\n defaultExpandedKeys={defaultExpandedKeys}\n onSelect={handleSelect}\n // Тайп кастинг для упрощения API\n onCheck={onTreeCheck as any}\n onExpand={onTreeExpand}\n switcherIcon={(node) => {\n if (node.isLeaf) {\n return null;\n }\n\n return (\n <IconArrowWrapper>\n <StyledArrow\n size={sizeToIconSize(size, variant)}\n color=\"inherit\"\n className=\"arrow\"\n />\n </IconArrowWrapper>\n );\n }}\n icon={\n hasIcon && (icon || <StyledFolder size={sizeToIconSize(size, variant)} color=\"inherit\" />)\n }\n titleRender={(item) => (\n <TitleWrapper\n fullWidthItemSelection={fullWidthItemSelection}\n arrowPlacement={arrowPlacement}\n singleLine={singleLine}\n >\n <Title singleLine={singleLine}>\n {/* eslint-disable-next-line no-nested-ternary */}\n {renderTitle\n ? renderTitle(item)\n : typeof item.title === 'function'\n ? item.title(item)\n : item.title}\n </Title>\n\n {item.contentRight && <ContentRight>{item.contentRight}</ContentRight>}\n </TitleWrapper>\n )}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnter={onDragEnter}\n onDragOver={onDragOver}\n onDragLeave={onDragLeave}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n allowDrop={allowDrop}\n dropIndicatorRender={(props) => {\n const offset = 0;\n const { dropPosition, dropLevelOffset, indent } = props;\n const left = -dropLevelOffset * indent + offset;\n\n const style: React.CSSProperties = {};\n\n switch (dropPosition) {\n case -1:\n style.top = 0;\n break;\n case 1:\n style.bottom = 0;\n break;\n default:\n style.bottom = 0;\n style.left = indent + offset;\n break;\n }\n return <Line style={style} left={left} />;\n }}\n />\n </Root>\n );\n },\n );\n\nexport const treeConfig = {\n name: 'Tree',\n tag: 'div',\n layout: treeRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["treeRoot","Root","forwardRef","_ref","ref","items","_ref$arrowPlacement","arrowPlacement","_ref$virtual","virtual","height","itemHeight","size","view","variant","_ref$fullWidthItemSel","fullWidthItemSelection","_ref$multiple","multiple","_ref$defaultExpandAll","defaultExpandAll","_ref$autoExpandParent","autoExpandParent","_ref$checkable","checkable","outerSelectedKeys","selectedKeys","checkedKeys","expandedKeys","defaultCheckedKeys","defaultExpandedKeys","defaultSelectedKeys","className","onTreeSelect","onTreeCheck","onTreeExpand","_ref$hasIcon","hasIcon","icon","renderTitle","_ref$singleLine","singleLine","_ref$mode","mode","_ref$draggable","draggable","onDragStart","onDragEnter","onDragOver","onDragLeave","onDragEnd","onDrop","allowDrop","_useState","useState","_useState2","_slicedToArray","selected","setSelected","isRadioMode","handleSelect","updatedSelectedKeys","info","length","invertedClass","classes","treeInverted","undefined","itemFilledClass","treeItemFilled","radioModeClass","treeRadioMode","tightVariantClass","treeTightVariant","treeData","useMemo","traverseTree","React","createElement","Tree","_extends","cls","style","border","onSelect","onCheck","onExpand","switcherIcon","node","isLeaf","IconArrowWrapper","StyledArrow","sizeToIconSize","color","StyledFolder","titleRender","item","TitleWrapper","Title","title","contentRight","ContentRight","dropIndicatorRender","props","offset","dropPosition","dropLevelOffset","indent","left","top","bottom","Line","treeConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- var sizeToIconSize = function sizeToIconSize(size) {
2
- if (size === 'xs') return 'xs';
1
+ var sizeToIconSize = function sizeToIconSize(size, variant) {
2
+ if (size === 'xs' || variant === 'tight' && size === 's') return 'xs';
3
3
  return 's';
4
4
  };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"sizeToIconSize.js","sources":["../../../../src/components/Tree/utils/sizeToIconSize.ts"],"sourcesContent":["export const sizeToIconSize = (size?: string) => {\n if (size === 'xs') return 'xs';\n\n return 's';\n};\n"],"names":["sizeToIconSize","size"],"mappings":"IAAaA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAa,EAAK;AAC7C,EAAA,IAAIA,IAAI,KAAK,IAAI,EAAE,OAAO,IAAI,CAAA;AAE9B,EAAA,OAAO,GAAG,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"sizeToIconSize.js","sources":["../../../../src/components/Tree/utils/sizeToIconSize.ts"],"sourcesContent":["export const sizeToIconSize = (size?: string, variant?: string) => {\n if (size === 'xs' || (variant === 'tight' && size === 's')) return 'xs';\n\n return 's';\n};\n"],"names":["sizeToIconSize","size","variant"],"mappings":"AAAO,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,IAAa,EAAEC,OAAgB,EAAK;AAC/D,EAAA,IAAID,IAAI,KAAK,IAAI,IAAKC,OAAO,KAAK,OAAO,IAAID,IAAI,KAAK,GAAI,EAAE,OAAO,IAAI,CAAA;AAEvE,EAAA,OAAO,GAAG,CAAA;AACd;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.337.0-canary.2253.18092363527.0",
3
+ "version": "0.337.0-canary.2253.18121561531.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -137,5 +137,5 @@
137
137
  "sideEffects": [
138
138
  "*.css"
139
139
  ],
140
- "gitHead": "f6a88c54c7de81876208575a0f7d53a6ff988c4b"
140
+ "gitHead": "40d3703df5272abc0fe8e467d3115a2aa517f5d7"
141
141
  }
@@ -101,7 +101,7 @@ var DropdownInner = function(param) {
101
101
  id: listId,
102
102
  role: "group",
103
103
  listMaxHeight: item.listMaxHeight
104
- }, item.items.map(function(innerItem, innerIndex) {
104
+ }, item.beforeList, item.items.map(function(innerItem, innerIndex) {
105
105
  return /*#__PURE__*/ _react.default.createElement(DropdownInner, {
106
106
  key: "".concat(innerIndex, "/").concat(currentLevel),
107
107
  item: innerItem,
@@ -24,6 +24,36 @@ var generateSection = function(length, add) {
24
24
  var dType = 'default';
25
25
  var dDlots = 9;
26
26
  var sections = {
27
+ 1: [
28
+ 1,
29
+ 0,
30
+ 0
31
+ ],
32
+ 2: [
33
+ 2,
34
+ 0,
35
+ 0
36
+ ],
37
+ 3: [
38
+ 3,
39
+ 0,
40
+ 0
41
+ ],
42
+ 4: [
43
+ 4,
44
+ 0,
45
+ 0
46
+ ],
47
+ 5: [
48
+ 5,
49
+ 0,
50
+ 0
51
+ ],
52
+ 6: [
53
+ 6,
54
+ 0,
55
+ 0
56
+ ],
27
57
  7: [
28
58
  1,
29
59
  3,
@@ -98,12 +128,17 @@ var getSections = function(value, pages, slots) {
98
128
  var pageArray = [
99
129
  generateSection(pages, 1)
100
130
  ];
101
- if (slots >= pages || slots < 5) {
131
+ if (slots >= pages) {
102
132
  return pageArray;
103
133
  }
104
134
  if (!sections[slots]) {
105
135
  return pageArray;
106
136
  }
137
+ if (slots < 7) {
138
+ return [
139
+ generateSection(slots, value)
140
+ ];
141
+ }
107
142
  var smallSection = Math.min(Math.floor((slots - 1) / 2), 6);
108
143
  var bigSection = Math.min(Math.floor(slots / 2), 6);
109
144
  var defaultSection = sections[slots][1];
@@ -229,13 +229,13 @@ var treeRoot = function(Root) {
229
229
  return null;
230
230
  }
231
231
  return /*#__PURE__*/ _react.default.createElement(_Treestyles.IconArrowWrapper, null, /*#__PURE__*/ _react.default.createElement(_Treestyles.StyledArrow, {
232
- size: (0, _utils.sizeToIconSize)(size),
232
+ size: (0, _utils.sizeToIconSize)(size, variant),
233
233
  color: "inherit",
234
234
  className: "arrow"
235
235
  }));
236
236
  },
237
237
  icon: hasIcon && (icon || /*#__PURE__*/ _react.default.createElement(_Treestyles.StyledFolder, {
238
- size: (0, _utils.sizeToIconSize)(size),
238
+ size: (0, _utils.sizeToIconSize)(size, variant),
239
239
  color: "inherit"
240
240
  })),
241
241
  titleRender: function(item) {
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "sizeToIconSize", {
8
8
  return sizeToIconSize;
9
9
  }
10
10
  });
11
- var sizeToIconSize = function(size) {
12
- if (size === 'xs') return 'xs';
11
+ var sizeToIconSize = function(size, variant) {
12
+ if (size === 'xs' || variant === 'tight' && size === 's') return 'xs';
13
13
  return 's';
14
14
  };
@@ -1 +1,16 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Combobox", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Combobox;
9
+ }
10
+ });
11
+ var _engines = require("../../../engines");
12
+ var _ = require("../../..");
13
+ var _Comboboxconfig = require("./Combobox.config");
14
+ var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
15
+ var ComboboxComponent = (0, _engines.component)(mergedConfig);
16
+ var Combobox = ComboboxComponent;
@@ -50,7 +50,7 @@ var DropdownInner = function(param) {
50
50
  id: listId,
51
51
  role: "group",
52
52
  listMaxHeight: item.listMaxHeight
53
- }, item.items.map(function(innerItem, innerIndex) {
53
+ }, item.beforeList, item.items.map(function(innerItem, innerIndex) {
54
54
  return /*#__PURE__*/ React.createElement(DropdownInner, {
55
55
  key: "".concat(innerIndex, "/").concat(currentLevel),
56
56
  item: innerItem,
@@ -6,6 +6,36 @@ var generateSection = function(length, add) {
6
6
  var dType = 'default';
7
7
  var dDlots = 9;
8
8
  var sections = {
9
+ 1: [
10
+ 1,
11
+ 0,
12
+ 0
13
+ ],
14
+ 2: [
15
+ 2,
16
+ 0,
17
+ 0
18
+ ],
19
+ 3: [
20
+ 3,
21
+ 0,
22
+ 0
23
+ ],
24
+ 4: [
25
+ 4,
26
+ 0,
27
+ 0
28
+ ],
29
+ 5: [
30
+ 5,
31
+ 0,
32
+ 0
33
+ ],
34
+ 6: [
35
+ 6,
36
+ 0,
37
+ 0
38
+ ],
9
39
  7: [
10
40
  1,
11
41
  3,
@@ -80,12 +110,17 @@ export var getSections = function(value, pages, slots) {
80
110
  var pageArray = [
81
111
  generateSection(pages, 1)
82
112
  ];
83
- if (slots >= pages || slots < 5) {
113
+ if (slots >= pages) {
84
114
  return pageArray;
85
115
  }
86
116
  if (!sections[slots]) {
87
117
  return pageArray;
88
118
  }
119
+ if (slots < 7) {
120
+ return [
121
+ generateSection(slots, value)
122
+ ];
123
+ }
89
124
  var smallSection = Math.min(Math.floor((slots - 1) / 2), 6);
90
125
  var bigSection = Math.min(Math.floor(slots / 2), 6);
91
126
  var defaultSection = sections[slots][1];
@@ -167,13 +167,13 @@ import { classes } from "./Tree.tokens";
167
167
  return null;
168
168
  }
169
169
  return /*#__PURE__*/ React.createElement(IconArrowWrapper, null, /*#__PURE__*/ React.createElement(StyledArrow, {
170
- size: sizeToIconSize(size),
170
+ size: sizeToIconSize(size, variant),
171
171
  color: "inherit",
172
172
  className: "arrow"
173
173
  }));
174
174
  },
175
175
  icon: hasIcon && (icon || /*#__PURE__*/ React.createElement(StyledFolder, {
176
- size: sizeToIconSize(size),
176
+ size: sizeToIconSize(size, variant),
177
177
  color: "inherit"
178
178
  })),
179
179
  titleRender: function(item) {
@@ -1,4 +1,4 @@
1
- export var sizeToIconSize = function(size) {
2
- if (size === 'xs') return 'xs';
1
+ export var sizeToIconSize = function(size, variant) {
2
+ if (size === 'xs' || variant === 'tight' && size === 's') return 'xs';
3
3
  return 's';
4
4
  };
@@ -1,7 +0,0 @@
1
- import { component, mergeConfig } from "../../../engines";
2
- import { comboboxNewConfig } from "../../..";
3
- import { config } from "./Combobox.config";
4
- var mergedConfig = mergeConfig(comboboxNewConfig, config);
5
- var ComboboxComponent = component(mergedConfig);
6
- var Combobox = ComboboxComponent;
7
- export { Combobox };
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownInner.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAQhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAsEzC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"DropdownInner.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAQhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAwEzC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -18,6 +18,11 @@ export type DropdownItemOption = {
18
18
  * Список дочерних items
19
19
  */
20
20
  items?: Array<DropdownItemOption>;
21
+ /**
22
+ * Ячейка для контента в начале выпадающего списка.
23
+ * Применяется только к при наличии дочерних элементов `items`
24
+ */
25
+ beforeList?: ReactNode;
21
26
  /**
22
27
  * Item не активен
23
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownItem.type.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/ui/DropdownItem/DropdownItem.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAExC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,aAAa,CAAC;IACpE,IAAI,EAAE,kBAAkB,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;CAClD"}
1
+ {"version":3,"file":"DropdownItem.type.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/ui/DropdownItem/DropdownItem.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAExC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,aAAa,CAAC;IACpE,IAAI,EAAE,kBAAkB,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;CAClD"}
@@ -66,7 +66,7 @@ export type CustomPaginationProps = {
66
66
  /**
67
67
  * Количество PageButtons
68
68
  */
69
- slots?: NumericRange<CreateArrayWithLengthX<7>, 15>;
69
+ slots?: NumericRange<CreateArrayWithLengthX<1>, 15>;
70
70
  /**
71
71
  * Скругление кнопки
72
72
  */
@@ -15,5 +15,5 @@ export declare const defaultValues: {
15
15
  textQuickJump: string;
16
16
  textPerPage: string;
17
17
  };
18
- export declare const getSections: (value?: number, pages?: number, slots?: NumericRange<CreateArrayWithLengthX<7>, 15>) => number[][];
18
+ export declare const getSections: (value?: number, pages?: number, slots?: NumericRange<CreateArrayWithLengthX<1>, 15>) => number[][];
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Pagination/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAqB3E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAezB,CAAC;AAEF,eAAO,MAAM,WAAW,WACZ,MAAM,UACN,MAAM,UACN,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KACpD,MAAM,EAAE,EA0CV,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Pagination/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AA2B3E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAezB,CAAC;AAEF,eAAO,MAAM,WAAW,WACZ,MAAM,UACN,MAAM,UACN,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KACpD,MAAM,EAAE,EA8CV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../src/components/Tree/Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,cAAc,CAAC;AAc1D;;GAEG;AACH,eAAO,MAAM,QAAQ,SAAU,sBAAsB,CAAC,cAAc,EAAE,SAAS,CAAC,qFA2J3E,CAAC;AAEN,eAAO,MAAM,UAAU;;;mBA7JQ,sBAAsB,CAAC,cAAc,EAAE,SAAS,CAAC;;;;;;;CAuK/E,CAAC"}
1
+ {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../src/components/Tree/Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,cAAc,CAAC;AAc1D;;GAEG;AACH,eAAO,MAAM,QAAQ,SAAU,sBAAsB,CAAC,cAAc,EAAE,SAAS,CAAC,qFAiK3E,CAAC;AAEN,eAAO,MAAM,UAAU;;;mBAnKQ,sBAAsB,CAAC,cAAc,EAAE,SAAS,CAAC;;;;;;;CA6K/E,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const sizeToIconSize: (size?: string) => "xs" | "s";
1
+ export declare const sizeToIconSize: (size?: string, variant?: string) => "xs" | "s";
2
2
  //# sourceMappingURL=sizeToIconSize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sizeToIconSize.d.ts","sourceRoot":"","sources":["../../../../src/components/Tree/utils/sizeToIconSize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,UAAW,MAAM,eAI3C,CAAC"}
1
+ {"version":3,"file":"sizeToIconSize.d.ts","sourceRoot":"","sources":["../../../../src/components/Tree/utils/sizeToIconSize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,UAAW,MAAM,YAAY,MAAM,eAI7D,CAAC"}