@hh.ru/magritte-ui-tree-selector 5.5.80 → 5.5.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/Action.d.ts +1 -1
  2. package/Action.js +15 -12
  3. package/Action.js.map +1 -1
  4. package/Item.d.ts +3 -3
  5. package/Item.js +106 -54
  6. package/Item.js.map +1 -1
  7. package/ItemContent.d.ts +2 -2
  8. package/ItemContent.js +69 -15
  9. package/ItemContent.js.map +1 -1
  10. package/ItemsList.d.ts +3 -3
  11. package/ItemsList.js +243 -159
  12. package/ItemsList.js.map +1 -1
  13. package/MobileDelimiter.js +1 -1
  14. package/MobileDelimiter.js.map +1 -1
  15. package/MobileItem.d.ts +2 -2
  16. package/MobileItem.js +26 -5
  17. package/MobileItem.js.map +1 -1
  18. package/MobileItemsList.d.ts +2 -2
  19. package/MobileItemsList.js +259 -132
  20. package/MobileItemsList.js.map +1 -1
  21. package/MobileParentItem.d.ts +3 -3
  22. package/MobileParentItem.js +33 -14
  23. package/MobileParentItem.js.map +1 -1
  24. package/TreeSelector.d.ts +2 -2
  25. package/TreeSelector.js +49 -20
  26. package/TreeSelector.js.map +1 -1
  27. package/TreeSelectorDummy.d.ts +2 -2
  28. package/TreeSelectorDummy.js +178 -109
  29. package/TreeSelectorDummy.js.map +1 -1
  30. package/TreeSelectorItemBase.d.ts +2 -2
  31. package/TreeSelectorItemBase.js +12 -6
  32. package/TreeSelectorItemBase.js.map +1 -1
  33. package/TreeSelectorWrapper.js +38 -24
  34. package/TreeSelectorWrapper.js.map +1 -1
  35. package/collection/treeCollection.d.ts +1 -1
  36. package/collection/treeCollection.js +178 -184
  37. package/collection/treeCollection.js.map +1 -1
  38. package/collection/treeCollectionHelper.d.ts +9 -3
  39. package/collection/treeCollectionHelper.js +68 -105
  40. package/collection/treeCollectionHelper.js.map +1 -1
  41. package/collection/types.d.ts +1 -1
  42. package/index.css +45 -45
  43. package/index.d.ts +9 -9
  44. package/index.js +1 -1
  45. package/index.mock.d.ts +6 -6
  46. package/index.mock.js +14 -6
  47. package/index.mock.js.map +1 -1
  48. package/package.json +23 -22
  49. package/strategy/createSingleValueToggler.d.ts +1 -1
  50. package/strategy/createSingleValueToggler.js +17 -41
  51. package/strategy/createSingleValueToggler.js.map +1 -1
  52. package/strategy/createTreeCollectionToggler.d.ts +3 -3
  53. package/strategy/createTreeCollectionToggler.js +42 -58
  54. package/strategy/createTreeCollectionToggler.js.map +1 -1
  55. package/strategy/dummyToggle.d.ts +1 -1
  56. package/strategy/dummyToggle.js +10 -13
  57. package/strategy/dummyToggle.js.map +1 -1
  58. package/strategy/immutableSelectionStrategy.d.ts +3 -3
  59. package/strategy/immutableSelectionStrategy.js +27 -26
  60. package/strategy/immutableSelectionStrategy.js.map +1 -1
  61. package/strategy/selectionStrategy.d.ts +3 -3
  62. package/strategy/selectionStrategy.js +47 -56
  63. package/strategy/selectionStrategy.js.map +1 -1
  64. package/strategy/types.d.ts +1 -1
  65. package/tree-selector-item-BYBFlI_G.js +5 -0
  66. package/tree-selector-item-BYBFlI_G.js.map +1 -0
  67. package/types.d.ts +2 -2
  68. package/useAnimationTimeout.js +14 -14
  69. package/useAnimationTimeout.js.map +1 -1
  70. package/useDisabled.d.ts +2 -2
  71. package/useDisabled.js +7 -10
  72. package/useDisabled.js.map +1 -1
  73. package/useExpanded.d.ts +2 -2
  74. package/useExpanded.js +65 -54
  75. package/useExpanded.js.map +1 -1
  76. package/useIndeterminate.d.ts +2 -2
  77. package/useIndeterminate.js +17 -18
  78. package/useIndeterminate.js.map +1 -1
  79. package/useRenderInput.d.ts +1 -1
  80. package/useRenderInput.js +44 -32
  81. package/useRenderInput.js.map +1 -1
  82. package/useSelected.d.ts +3 -3
  83. package/useSelected.js +36 -31
  84. package/useSelected.js.map +1 -1
  85. package/tree-selector-item-BOEDcwrO.js +0 -5
  86. package/tree-selector-item-BOEDcwrO.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useSelected.js","sources":["src/useSelected.ts"],"sourcesContent":["import { useState, useCallback } from 'react';\n\nimport { getIdsWithNoParentsInSameList } from '@hh.ru/magritte-ui-tree-selector/collection/treeCollectionHelper';\nimport { AdditionalDefault } from '@hh.ru/magritte-ui-tree-selector/collection/types';\nimport ImmutableSelectionStrategy from '@hh.ru/magritte-ui-tree-selector/strategy/immutableSelectionStrategy';\nimport { TreeSelectorProps } from '@hh.ru/magritte-ui-tree-selector/types';\n\ntype UseSelectedHookProps<Additional extends AdditionalDefault> = {\n strategy: ImmutableSelectionStrategy<Additional>;\n} & Pick<TreeSelectorProps<Additional>, 'value' | 'onChange' | 'collapseToParentId' | 'maxSelected' | 'collection'>;\n\ntype UseSelectedHookReturn = {\n selected: string[];\n setSelected: (id: string, isSelected: boolean) => void;\n};\n\ninterface UseSelectedHook {\n <Additional extends AdditionalDefault>(props: UseSelectedHookProps<Additional>): UseSelectedHookReturn;\n}\n\nexport const useSelected: UseSelectedHook = ({\n value,\n maxSelected,\n strategy,\n collection,\n collapseToParentId,\n onChange,\n}) => {\n const getSelectedFromValue = useCallback((): string[] => {\n let newValue = value.slice();\n if (maxSelected && newValue && newValue.length > maxSelected) {\n newValue = newValue.slice(0, maxSelected);\n }\n return strategy.add([], newValue);\n }, [value, maxSelected, strategy]);\n\n const [selected, setSelectedState] = useState(getSelectedFromValue);\n\n // синхронизируем selected из value прямо в рендере, а не в useEffect: ref-колбэки и layout-фаза коммита\n // выполняются раньше пассивных эффектов, и отложенная синхронизация давала им устаревший selected\n // (например, сброс expanded при маунте дерева в том же коммите, где изменился value)\n const [prevGetSelectedFromValue, setPrevGetSelectedFromValue] = useState(() => getSelectedFromValue);\n if (prevGetSelectedFromValue !== getSelectedFromValue) {\n setPrevGetSelectedFromValue(() => getSelectedFromValue);\n setSelectedState(getSelectedFromValue());\n }\n\n const setSelected = useCallback(\n (id: string, isSelected: boolean) => {\n const ids = [id];\n const updatedSelected = isSelected ? strategy.add(selected, ids) : strategy.remove(selected, ids);\n const filteredUpdatedSelected = collapseToParentId\n ? getIdsWithNoParentsInSameList(collection, updatedSelected)\n : updatedSelected;\n if (maxSelected && filteredUpdatedSelected.length > maxSelected) {\n filteredUpdatedSelected.length = maxSelected;\n }\n\n onChange(filteredUpdatedSelected, id, isSelected);\n },\n [strategy, selected, collection, collapseToParentId, onChange, maxSelected]\n );\n\n return {\n selected,\n setSelected,\n };\n};\n"],"names":[],"mappings":";;;;AAoBa,MAAA,WAAW,GAAoB,CAAC,EACzC,KAAK,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,QAAQ,GACX,KAAI;AACD,IAAA,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAe;AACpD,QAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,WAAW,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,WAAW,EAAE;YAC1D,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;SAC7C;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;KACrC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;;;;AAKpE,IAAA,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,QAAQ,CAAC,MAAM,oBAAoB,CAAC,CAAC;AACrG,IAAA,IAAI,wBAAwB,KAAK,oBAAoB,EAAE;AACnD,QAAA,2BAA2B,CAAC,MAAM,oBAAoB,CAAC,CAAC;AACxD,QAAA,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC5C;IAED,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,EAAU,EAAE,UAAmB,KAAI;AAChC,QAAA,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClG,MAAM,uBAAuB,GAAG,kBAAkB;AAC9C,cAAE,6BAA6B,CAAC,UAAU,EAAE,eAAe,CAAC;cAC1D,eAAe,CAAC;QACtB,IAAI,WAAW,IAAI,uBAAuB,CAAC,MAAM,GAAG,WAAW,EAAE;AAC7D,YAAA,uBAAuB,CAAC,MAAM,GAAG,WAAW,CAAC;SAChD;AAED,QAAA,QAAQ,CAAC,uBAAuB,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;AACtD,KAAC,EACD,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAC9E,CAAC;IAEF,OAAO;QACH,QAAQ;QACR,WAAW;KACd,CAAC;AACN;;;;"}
1
+ {"version":3,"file":"useSelected.js","sources":["src/useSelected.ts"],"sourcesContent":["import { useState, useCallback } from 'react';\n\nimport { getIdsWithNoParentsInSameList } from '@hh.ru/magritte-ui-tree-selector/collection/treeCollectionHelper';\nimport { AdditionalDefault } from '@hh.ru/magritte-ui-tree-selector/collection/types';\nimport ImmutableSelectionStrategy from '@hh.ru/magritte-ui-tree-selector/strategy/immutableSelectionStrategy';\nimport { TreeSelectorProps } from '@hh.ru/magritte-ui-tree-selector/types';\n\ntype UseSelectedHookProps<Additional extends AdditionalDefault> = {\n strategy: ImmutableSelectionStrategy<Additional>;\n} & Pick<TreeSelectorProps<Additional>, 'value' | 'onChange' | 'collapseToParentId' | 'maxSelected' | 'collection'>;\n\ntype UseSelectedHookReturn = {\n selected: string[];\n setSelected: (id: string, isSelected: boolean) => void;\n};\n\ninterface UseSelectedHook {\n <Additional extends AdditionalDefault>(props: UseSelectedHookProps<Additional>): UseSelectedHookReturn;\n}\n\nexport const useSelected: UseSelectedHook = ({\n value,\n maxSelected,\n strategy,\n collection,\n collapseToParentId,\n onChange,\n}) => {\n const getSelectedFromValue = useCallback((): string[] => {\n let newValue = value.slice();\n if (maxSelected && newValue && newValue.length > maxSelected) {\n newValue = newValue.slice(0, maxSelected);\n }\n return strategy.add([], newValue);\n }, [value, maxSelected, strategy]);\n\n const [selected, setSelectedState] = useState(getSelectedFromValue);\n\n // синхронизируем selected из value прямо в рендере, а не в useEffect: ref-колбэки и layout-фаза коммита\n // выполняются раньше пассивных эффектов, и отложенная синхронизация давала им устаревший selected\n // (например, сброс expanded при маунте дерева в том же коммите, где изменился value)\n const [prevGetSelectedFromValue, setPrevGetSelectedFromValue] = useState(() => getSelectedFromValue);\n if (prevGetSelectedFromValue !== getSelectedFromValue) {\n setPrevGetSelectedFromValue(() => getSelectedFromValue);\n setSelectedState(getSelectedFromValue());\n }\n\n const setSelected = useCallback(\n (id: string, isSelected: boolean) => {\n const ids = [id];\n const updatedSelected = isSelected ? strategy.add(selected, ids) : strategy.remove(selected, ids);\n const filteredUpdatedSelected = collapseToParentId\n ? getIdsWithNoParentsInSameList(collection, updatedSelected)\n : updatedSelected;\n if (maxSelected && filteredUpdatedSelected.length > maxSelected) {\n filteredUpdatedSelected.length = maxSelected;\n }\n\n onChange(filteredUpdatedSelected, id, isSelected);\n },\n [strategy, selected, collection, collapseToParentId, onChange, maxSelected]\n );\n\n return {\n selected,\n setSelected,\n };\n};\n"],"names":[],"mappings":";;;;AAoBO,MAAM,cAA+B,CAAC;AAAA,EACzC,KAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,kBAAA;AAAA,EACA,QAAA;AACJ,CAAM,KAAA;AACF,EAAM,MAAA,oBAAA,GAAuB,YAAY,MAAgB;AACrD,IAAI,IAAA,QAAA,GAAW,MAAM,KAAM,EAAA,CAAA;AAC3B,IAAA,IAAI,WAAe,IAAA,QAAA,IAAY,QAAS,CAAA,MAAA,GAAS,WAAa,EAAA;AAC1D,MAAW,QAAA,GAAA,QAAA,CAAS,KAAM,CAAA,CAAA,EAAG,WAAW,CAAA,CAAA;AAAA,KAC5C;AACA,IAAA,OAAO,QAAS,CAAA,GAAA,CAAI,EAAC,EAAG,QAAQ,CAAA,CAAA;AAAA,GACjC,EAAA,CAAC,KAAO,EAAA,WAAA,EAAa,QAAQ,CAAC,CAAA,CAAA;AAEjC,EAAA,MAAM,CAAC,QAAA,EAAU,gBAAgB,CAAA,GAAI,SAAS,oBAAoB,CAAA,CAAA;AAKlE,EAAA,MAAM,CAAC,wBAA0B,EAAA,2BAA2B,CAAI,GAAA,QAAA,CAAS,MAAM,oBAAoB,CAAA,CAAA;AACnG,EAAA,IAAI,6BAA6B,oBAAsB,EAAA;AACnD,IAAA,2BAAA,CAA4B,MAAM,oBAAoB,CAAA,CAAA;AACtD,IAAA,gBAAA,CAAiB,sBAAsB,CAAA,CAAA;AAAA,GAC3C;AAEA,EAAA,MAAM,WAAc,GAAA,WAAA;AAAA,IAChB,CAAC,IAAY,UAAwB,KAAA;AACjC,MAAM,MAAA,GAAA,GAAM,CAAC,EAAE,CAAA,CAAA;AACf,MAAM,MAAA,eAAA,GAAkB,UAAa,GAAA,QAAA,CAAS,GAAI,CAAA,QAAA,EAAU,GAAG,CAAI,GAAA,QAAA,CAAS,MAAO,CAAA,QAAA,EAAU,GAAG,CAAA,CAAA;AAChG,MAAA,MAAM,uBAA0B,GAAA,kBAAA,GAC1B,6BAA8B,CAAA,UAAA,EAAY,eAAe,CACzD,GAAA,eAAA,CAAA;AACN,MAAI,IAAA,WAAA,IAAe,uBAAwB,CAAA,MAAA,GAAS,WAAa,EAAA;AAC7D,QAAA,uBAAA,CAAwB,MAAS,GAAA,WAAA,CAAA;AAAA,OACrC;AAEA,MAAS,QAAA,CAAA,uBAAA,EAAyB,IAAI,UAAU,CAAA,CAAA;AAAA,KACpD;AAAA,IACA,CAAC,QAAU,EAAA,QAAA,EAAU,UAAY,EAAA,kBAAA,EAAoB,UAAU,WAAW,CAAA;AAAA,GAC9E,CAAA;AAEA,EAAO,OAAA;AAAA,IACH,QAAA;AAAA,IACA,WAAA;AAAA,GACJ,CAAA;AACJ;;;;"}
@@ -1,5 +0,0 @@
1
- import './index.css';
2
- var styles = {"item-animation-timeout":"magritte-item-animation-timeout___pbOyZ_5-5-80","itemAnimationTimeout":"magritte-item-animation-timeout___pbOyZ_5-5-80","fade-in":"magritte-fade-in___yS4Ja_5-5-80","fadeIn":"magritte-fade-in___yS4Ja_5-5-80","wrapper":"magritte-wrapper___GHKV6_5-5-80","letter":"magritte-letter___yZOCU_5-5-80","icon":"magritte-icon___kO3Fj_5-5-80","space":"magritte-space___xTO79_5-5-80","wrapperActive":"magritte-wrapperActive___Hwk8p_5-5-80","iconActive":"magritte-iconActive___4yrG5_5-5-80","iconUp":"magritte-iconUp___mpXV6_5-5-80","content":"magritte-content___ZRc6R_5-5-80","mobile-item":"magritte-mobile-item___ynALC_5-5-80","mobileItem":"magritte-mobile-item___ynALC_5-5-80","with-gap":"magritte-with-gap___gbvGO_5-5-80","withGap":"magritte-with-gap___gbvGO_5-5-80","virtualized-list":"magritte-virtualized-list___qt2E6_5-5-80","virtualizedList":"magritte-virtualized-list___qt2E6_5-5-80","virtualized-item":"magritte-virtualized-item___qAYVN_5-5-80","virtualizedItem":"magritte-virtualized-item___qAYVN_5-5-80","was-expanded":"magritte-was-expanded___uCFbW_5-5-80","wasExpanded":"magritte-was-expanded___uCFbW_5-5-80"};
3
-
4
- export { styles as s };
5
- //# sourceMappingURL=tree-selector-item-BOEDcwrO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-selector-item-BOEDcwrO.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}