@cloud-ru/ds-list 1.0.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.
- package/CHANGELOG.md +8 -0
- package/LICENSE +201 -0
- package/README.md +1413 -0
- package/dist/cjs/components/Items/AccordionItem/AccordionItem.d.ts +4 -0
- package/dist/cjs/components/Items/AccordionItem/AccordionItem.js +37 -0
- package/dist/cjs/components/Items/AccordionItem/index.d.ts +1 -0
- package/dist/cjs/components/Items/AccordionItem/index.js +17 -0
- package/dist/cjs/components/Items/BaseItem/BaseItem.d.ts +24 -0
- package/dist/cjs/components/Items/BaseItem/BaseItem.js +118 -0
- package/dist/cjs/components/Items/BaseItem/constants.d.ts +3 -0
- package/dist/cjs/components/Items/BaseItem/constants.js +8 -0
- package/dist/cjs/components/Items/BaseItem/index.d.ts +1 -0
- package/dist/cjs/components/Items/BaseItem/index.js +17 -0
- package/dist/cjs/components/Items/BaseItem/styles.module.css +312 -0
- package/dist/cjs/components/Items/GroupSelectItem/GroupSelectItem.d.ts +4 -0
- package/dist/cjs/components/Items/GroupSelectItem/GroupSelectItem.js +22 -0
- package/dist/cjs/components/Items/GroupSelectItem/index.d.ts +1 -0
- package/dist/cjs/components/Items/GroupSelectItem/index.js +17 -0
- package/dist/cjs/components/Items/NextListItem/NextListItem.d.ts +2 -0
- package/dist/cjs/components/Items/NextListItem/NextListItem.js +71 -0
- package/dist/cjs/components/Items/NextListItem/constants.d.ts +2 -0
- package/dist/cjs/components/Items/NextListItem/constants.js +13 -0
- package/dist/cjs/components/Items/NextListItem/index.d.ts +1 -0
- package/dist/cjs/components/Items/NextListItem/index.js +17 -0
- package/dist/cjs/components/Items/NextListItem/types.d.ts +4 -0
- package/dist/cjs/components/Items/NextListItem/types.js +2 -0
- package/dist/cjs/components/Items/PinGroupItem/PinGroupItem.d.ts +7 -0
- package/dist/cjs/components/Items/PinGroupItem/PinGroupItem.js +27 -0
- package/dist/cjs/components/Items/PinGroupItem/index.d.ts +1 -0
- package/dist/cjs/components/Items/PinGroupItem/index.js +17 -0
- package/dist/cjs/components/Items/PinGroupItem/styles.module.css +12 -0
- package/dist/cjs/components/Items/SearchItem/SearchItem.d.ts +17 -0
- package/dist/cjs/components/Items/SearchItem/SearchItem.js +28 -0
- package/dist/cjs/components/Items/SearchItem/index.d.ts +1 -0
- package/dist/cjs/components/Items/SearchItem/index.js +17 -0
- package/dist/cjs/components/Items/SearchItem/styles.module.css +13 -0
- package/dist/cjs/components/Items/SimpleItem/components/DragHandle/DragHandle.d.ts +7 -0
- package/dist/cjs/components/Items/SimpleItem/components/DragHandle/DragHandle.js +20 -0
- package/dist/cjs/components/Items/SimpleItem/components/DragHandle/index.d.ts +1 -0
- package/dist/cjs/components/Items/SimpleItem/components/DragHandle/index.js +17 -0
- package/dist/cjs/components/Items/SimpleItem/components/OverlayDragHandle/OverlayDragHandle.d.ts +2 -0
- package/dist/cjs/components/Items/SimpleItem/components/OverlayDragHandle/OverlayDragHandle.js +9 -0
- package/dist/cjs/components/Items/SimpleItem/components/OverlayDragHandle/index.d.ts +1 -0
- package/dist/cjs/components/Items/SimpleItem/components/OverlayDragHandle/index.js +17 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleGroupBlock/SimpleGroupBlock.d.ts +19 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleGroupBlock/SimpleGroupBlock.js +52 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleGroupBlock/index.d.ts +1 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleGroupBlock/index.js +17 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleGroupBlockOverlay/SimpleGroupBlockOverlay.d.ts +15 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleGroupBlockOverlay/SimpleGroupBlockOverlay.js +19 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleGroupBlockOverlay/index.d.ts +1 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleGroupBlockOverlay/index.js +17 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleItem/SimpleItem.d.ts +11 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleItem/SimpleItem.js +48 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleItem/index.d.ts +1 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleItem/index.js +17 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleItemOverlay/SimpleItemOverlay.d.ts +15 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleItemOverlay/SimpleItemOverlay.js +19 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleItemOverlay/index.d.ts +1 -0
- package/dist/cjs/components/Items/SimpleItem/components/SimpleItemOverlay/index.js +17 -0
- package/dist/cjs/components/Items/SimpleItem/components/index.d.ts +4 -0
- package/dist/cjs/components/Items/SimpleItem/components/index.js +20 -0
- package/dist/cjs/components/Items/SimpleItem/constants.d.ts +7 -0
- package/dist/cjs/components/Items/SimpleItem/constants.js +9 -0
- package/dist/cjs/components/Items/SimpleItem/index.d.ts +2 -0
- package/dist/cjs/components/Items/SimpleItem/index.js +18 -0
- package/dist/cjs/components/Items/SimpleItem/styles.module.css +96 -0
- package/dist/cjs/components/Items/SimpleItem/types.d.ts +3 -0
- package/dist/cjs/components/Items/SimpleItem/types.js +2 -0
- package/dist/cjs/components/Items/SimpleItem/utils.d.ts +6 -0
- package/dist/cjs/components/Items/SimpleItem/utils.js +11 -0
- package/dist/cjs/components/Items/hooks.d.ts +23 -0
- package/dist/cjs/components/Items/hooks.js +130 -0
- package/dist/cjs/components/Items/index.d.ts +5 -0
- package/dist/cjs/components/Items/index.js +21 -0
- package/dist/cjs/components/Items/styles.module.css +168 -0
- package/dist/cjs/components/Items/types.d.ts +168 -0
- package/dist/cjs/components/Items/types.js +2 -0
- package/dist/cjs/components/Items/utils.d.ts +52 -0
- package/dist/cjs/components/Items/utils.js +218 -0
- package/dist/cjs/components/Lists/Droplist/DropList.d.ts +21 -0
- package/dist/cjs/components/Lists/Droplist/DropList.js +36 -0
- package/dist/cjs/components/Lists/Droplist/constants.d.ts +8 -0
- package/dist/cjs/components/Lists/Droplist/constants.js +10 -0
- package/dist/cjs/components/Lists/Droplist/index.d.ts +1 -0
- package/dist/cjs/components/Lists/Droplist/index.js +17 -0
- package/dist/cjs/components/Lists/List/List.d.ts +61 -0
- package/dist/cjs/components/Lists/List/List.js +62 -0
- package/dist/cjs/components/Lists/List/index.d.ts +1 -0
- package/dist/cjs/components/Lists/List/index.js +17 -0
- package/dist/cjs/components/Lists/ListPrivate/ListPrivate.d.ts +18 -0
- package/dist/cjs/components/Lists/ListPrivate/ListPrivate.js +301 -0
- package/dist/cjs/components/Lists/ListPrivate/constants.d.ts +7 -0
- package/dist/cjs/components/Lists/ListPrivate/constants.js +19 -0
- package/dist/cjs/components/Lists/ListPrivate/index.d.ts +1 -0
- package/dist/cjs/components/Lists/ListPrivate/index.js +17 -0
- package/dist/cjs/components/Lists/ListPrivate/styles.module.css +80 -0
- package/dist/cjs/components/Lists/contexts/CollapseProvider.d.ts +17 -0
- package/dist/cjs/components/Lists/contexts/CollapseProvider.js +10 -0
- package/dist/cjs/components/Lists/contexts/FocusListProvider.d.ts +9 -0
- package/dist/cjs/components/Lists/contexts/FocusListProvider.js +9 -0
- package/dist/cjs/components/Lists/contexts/NewListProvider.d.ts +33 -0
- package/dist/cjs/components/Lists/contexts/NewListProvider.js +23 -0
- package/dist/cjs/components/Lists/contexts/OpenListProvider.d.ts +6 -0
- package/dist/cjs/components/Lists/contexts/OpenListProvider.js +10 -0
- package/dist/cjs/components/Lists/contexts/SelectionProvider.d.ts +74 -0
- package/dist/cjs/components/Lists/contexts/SelectionProvider.js +90 -0
- package/dist/cjs/components/Lists/contexts/index.d.ts +5 -0
- package/dist/cjs/components/Lists/contexts/index.js +21 -0
- package/dist/cjs/components/Lists/hooks.d.ts +83 -0
- package/dist/cjs/components/Lists/hooks.js +242 -0
- package/dist/cjs/components/Lists/index.d.ts +5 -0
- package/dist/cjs/components/Lists/index.js +21 -0
- package/dist/cjs/components/Lists/styles.module.css +65 -0
- package/dist/cjs/components/Lists/types.d.ts +200 -0
- package/dist/cjs/components/Lists/types.js +2 -0
- package/dist/cjs/components/Lists/utils.d.ts +8 -0
- package/dist/cjs/components/Lists/utils.js +31 -0
- package/dist/cjs/components/index.d.ts +2 -0
- package/dist/cjs/components/index.js +18 -0
- package/dist/cjs/constants.d.ts +48 -0
- package/dist/cjs/constants.js +51 -0
- package/dist/cjs/helperComponents/CollapseBlockPrivate/CollapseBlockPrivate.d.ts +9 -0
- package/dist/cjs/helperComponents/CollapseBlockPrivate/CollapseBlockPrivate.js +15 -0
- package/dist/cjs/helperComponents/CollapseBlockPrivate/index.d.ts +1 -0
- package/dist/cjs/helperComponents/CollapseBlockPrivate/index.js +17 -0
- package/dist/cjs/helperComponents/CollapseBlockPrivate/styles.module.css +27 -0
- package/dist/cjs/helperComponents/DesktopDroplist/DesktopDroplist.d.ts +7 -0
- package/dist/cjs/helperComponents/DesktopDroplist/DesktopDroplist.js +142 -0
- package/dist/cjs/helperComponents/DesktopDroplist/index.d.ts +1 -0
- package/dist/cjs/helperComponents/DesktopDroplist/index.js +17 -0
- package/dist/cjs/helperComponents/HiddenTabButton/HiddenTabButton.d.ts +7 -0
- package/dist/cjs/helperComponents/HiddenTabButton/HiddenTabButton.js +20 -0
- package/dist/cjs/helperComponents/HiddenTabButton/index.d.ts +1 -0
- package/dist/cjs/helperComponents/HiddenTabButton/index.js +17 -0
- package/dist/cjs/helperComponents/HiddenTabButton/styles.module.css +9 -0
- package/dist/cjs/helperComponents/ItemContent/ItemContent.d.ts +17 -0
- package/dist/cjs/helperComponents/ItemContent/ItemContent.js +27 -0
- package/dist/cjs/helperComponents/ItemContent/index.d.ts +1 -0
- package/dist/cjs/helperComponents/ItemContent/index.js +17 -0
- package/dist/cjs/helperComponents/ItemContent/styles.module.css +139 -0
- package/dist/cjs/helperComponents/ListEmptyState/ListEmptyState.d.ts +16 -0
- package/dist/cjs/helperComponents/ListEmptyState/ListEmptyState.js +25 -0
- package/dist/cjs/helperComponents/ListEmptyState/hooks.d.ts +10 -0
- package/dist/cjs/helperComponents/ListEmptyState/hooks.js +30 -0
- package/dist/cjs/helperComponents/ListEmptyState/index.d.ts +2 -0
- package/dist/cjs/helperComponents/ListEmptyState/index.js +20 -0
- package/dist/cjs/helperComponents/ListEmptyState/styles.module.css +8 -0
- package/dist/cjs/helperComponents/MobileDroplist/MobileDroplist.d.ts +9 -0
- package/dist/cjs/helperComponents/MobileDroplist/MobileDroplist.js +143 -0
- package/dist/cjs/helperComponents/MobileDroplist/MobileDroplist.module.css +16 -0
- package/dist/cjs/helperComponents/MobileDroplist/index.d.ts +1 -0
- package/dist/cjs/helperComponents/MobileDroplist/index.js +17 -0
- package/dist/cjs/helperComponents/MobileDroplist/utils.d.ts +11 -0
- package/dist/cjs/helperComponents/MobileDroplist/utils.js +65 -0
- package/dist/cjs/helperComponents/Separator/Separator.d.ts +20 -0
- package/dist/cjs/helperComponents/Separator/Separator.js +40 -0
- package/dist/cjs/helperComponents/Separator/constants.d.ts +3 -0
- package/dist/cjs/helperComponents/Separator/constants.js +10 -0
- package/dist/cjs/helperComponents/Separator/index.d.ts +1 -0
- package/dist/cjs/helperComponents/Separator/index.js +17 -0
- package/dist/cjs/helperComponents/Separator/styles.module.css +168 -0
- package/dist/cjs/helperComponents/index.d.ts +5 -0
- package/dist/cjs/helperComponents/index.js +21 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/locale/index.d.ts +79 -0
- package/dist/cjs/locale/index.js +44 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/style.css +1113 -0
- package/dist/cjs/types.d.ts +38 -0
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/utils.d.ts +18 -0
- package/dist/cjs/utils.js +26 -0
- package/dist/esm/components/Items/AccordionItem/AccordionItem.d.ts +4 -0
- package/dist/esm/components/Items/AccordionItem/AccordionItem.js +34 -0
- package/dist/esm/components/Items/AccordionItem/index.d.ts +1 -0
- package/dist/esm/components/Items/AccordionItem/index.js +1 -0
- package/dist/esm/components/Items/BaseItem/BaseItem.d.ts +24 -0
- package/dist/esm/components/Items/BaseItem/BaseItem.js +112 -0
- package/dist/esm/components/Items/BaseItem/constants.d.ts +3 -0
- package/dist/esm/components/Items/BaseItem/constants.js +5 -0
- package/dist/esm/components/Items/BaseItem/index.d.ts +1 -0
- package/dist/esm/components/Items/BaseItem/index.js +1 -0
- package/dist/esm/components/Items/BaseItem/styles.module.css +312 -0
- package/dist/esm/components/Items/GroupSelectItem/GroupSelectItem.d.ts +4 -0
- package/dist/esm/components/Items/GroupSelectItem/GroupSelectItem.js +19 -0
- package/dist/esm/components/Items/GroupSelectItem/index.d.ts +1 -0
- package/dist/esm/components/Items/GroupSelectItem/index.js +1 -0
- package/dist/esm/components/Items/NextListItem/NextListItem.d.ts +2 -0
- package/dist/esm/components/Items/NextListItem/NextListItem.js +68 -0
- package/dist/esm/components/Items/NextListItem/constants.d.ts +2 -0
- package/dist/esm/components/Items/NextListItem/constants.js +10 -0
- package/dist/esm/components/Items/NextListItem/index.d.ts +1 -0
- package/dist/esm/components/Items/NextListItem/index.js +1 -0
- package/dist/esm/components/Items/NextListItem/types.d.ts +4 -0
- package/dist/esm/components/Items/NextListItem/types.js +1 -0
- package/dist/esm/components/Items/PinGroupItem/PinGroupItem.d.ts +7 -0
- package/dist/esm/components/Items/PinGroupItem/PinGroupItem.js +20 -0
- package/dist/esm/components/Items/PinGroupItem/index.d.ts +1 -0
- package/dist/esm/components/Items/PinGroupItem/index.js +1 -0
- package/dist/esm/components/Items/PinGroupItem/styles.module.css +12 -0
- package/dist/esm/components/Items/SearchItem/SearchItem.d.ts +17 -0
- package/dist/esm/components/Items/SearchItem/SearchItem.js +22 -0
- package/dist/esm/components/Items/SearchItem/index.d.ts +1 -0
- package/dist/esm/components/Items/SearchItem/index.js +1 -0
- package/dist/esm/components/Items/SearchItem/styles.module.css +13 -0
- package/dist/esm/components/Items/SimpleItem/components/DragHandle/DragHandle.d.ts +7 -0
- package/dist/esm/components/Items/SimpleItem/components/DragHandle/DragHandle.js +14 -0
- package/dist/esm/components/Items/SimpleItem/components/DragHandle/index.d.ts +1 -0
- package/dist/esm/components/Items/SimpleItem/components/DragHandle/index.js +1 -0
- package/dist/esm/components/Items/SimpleItem/components/OverlayDragHandle/OverlayDragHandle.d.ts +2 -0
- package/dist/esm/components/Items/SimpleItem/components/OverlayDragHandle/OverlayDragHandle.js +6 -0
- package/dist/esm/components/Items/SimpleItem/components/OverlayDragHandle/index.d.ts +1 -0
- package/dist/esm/components/Items/SimpleItem/components/OverlayDragHandle/index.js +1 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleGroupBlock/SimpleGroupBlock.d.ts +19 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleGroupBlock/SimpleGroupBlock.js +46 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleGroupBlock/index.d.ts +1 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleGroupBlock/index.js +1 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleGroupBlockOverlay/SimpleGroupBlockOverlay.d.ts +15 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleGroupBlockOverlay/SimpleGroupBlockOverlay.js +13 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleGroupBlockOverlay/index.d.ts +1 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleGroupBlockOverlay/index.js +1 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleItem/SimpleItem.d.ts +11 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleItem/SimpleItem.js +42 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleItem/index.d.ts +1 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleItem/index.js +1 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleItemOverlay/SimpleItemOverlay.d.ts +15 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleItemOverlay/SimpleItemOverlay.js +13 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleItemOverlay/index.d.ts +1 -0
- package/dist/esm/components/Items/SimpleItem/components/SimpleItemOverlay/index.js +1 -0
- package/dist/esm/components/Items/SimpleItem/components/index.d.ts +4 -0
- package/dist/esm/components/Items/SimpleItem/components/index.js +4 -0
- package/dist/esm/components/Items/SimpleItem/constants.d.ts +7 -0
- package/dist/esm/components/Items/SimpleItem/constants.js +6 -0
- package/dist/esm/components/Items/SimpleItem/index.d.ts +2 -0
- package/dist/esm/components/Items/SimpleItem/index.js +2 -0
- package/dist/esm/components/Items/SimpleItem/styles.module.css +96 -0
- package/dist/esm/components/Items/SimpleItem/types.d.ts +3 -0
- package/dist/esm/components/Items/SimpleItem/types.js +1 -0
- package/dist/esm/components/Items/SimpleItem/utils.d.ts +6 -0
- package/dist/esm/components/Items/SimpleItem/utils.js +8 -0
- package/dist/esm/components/Items/hooks.d.ts +23 -0
- package/dist/esm/components/Items/hooks.js +125 -0
- package/dist/esm/components/Items/index.d.ts +5 -0
- package/dist/esm/components/Items/index.js +5 -0
- package/dist/esm/components/Items/styles.module.css +168 -0
- package/dist/esm/components/Items/types.d.ts +168 -0
- package/dist/esm/components/Items/types.js +1 -0
- package/dist/esm/components/Items/utils.d.ts +52 -0
- package/dist/esm/components/Items/utils.js +203 -0
- package/dist/esm/components/Lists/Droplist/DropList.d.ts +21 -0
- package/dist/esm/components/Lists/Droplist/DropList.js +32 -0
- package/dist/esm/components/Lists/Droplist/constants.d.ts +8 -0
- package/dist/esm/components/Lists/Droplist/constants.js +7 -0
- package/dist/esm/components/Lists/Droplist/index.d.ts +1 -0
- package/dist/esm/components/Lists/Droplist/index.js +1 -0
- package/dist/esm/components/Lists/List/List.d.ts +61 -0
- package/dist/esm/components/Lists/List/List.js +56 -0
- package/dist/esm/components/Lists/List/index.d.ts +1 -0
- package/dist/esm/components/Lists/List/index.js +1 -0
- package/dist/esm/components/Lists/ListPrivate/ListPrivate.d.ts +18 -0
- package/dist/esm/components/Lists/ListPrivate/ListPrivate.js +295 -0
- package/dist/esm/components/Lists/ListPrivate/constants.d.ts +7 -0
- package/dist/esm/components/Lists/ListPrivate/constants.js +16 -0
- package/dist/esm/components/Lists/ListPrivate/index.d.ts +1 -0
- package/dist/esm/components/Lists/ListPrivate/index.js +1 -0
- package/dist/esm/components/Lists/ListPrivate/styles.module.css +80 -0
- package/dist/esm/components/Lists/contexts/CollapseProvider.d.ts +17 -0
- package/dist/esm/components/Lists/contexts/CollapseProvider.js +5 -0
- package/dist/esm/components/Lists/contexts/FocusListProvider.d.ts +9 -0
- package/dist/esm/components/Lists/contexts/FocusListProvider.js +5 -0
- package/dist/esm/components/Lists/contexts/NewListProvider.d.ts +33 -0
- package/dist/esm/components/Lists/contexts/NewListProvider.js +18 -0
- package/dist/esm/components/Lists/contexts/OpenListProvider.d.ts +6 -0
- package/dist/esm/components/Lists/contexts/OpenListProvider.js +6 -0
- package/dist/esm/components/Lists/contexts/SelectionProvider.d.ts +74 -0
- package/dist/esm/components/Lists/contexts/SelectionProvider.js +83 -0
- package/dist/esm/components/Lists/contexts/index.d.ts +5 -0
- package/dist/esm/components/Lists/contexts/index.js +5 -0
- package/dist/esm/components/Lists/hooks.d.ts +83 -0
- package/dist/esm/components/Lists/hooks.js +238 -0
- package/dist/esm/components/Lists/index.d.ts +5 -0
- package/dist/esm/components/Lists/index.js +5 -0
- package/dist/esm/components/Lists/styles.module.css +65 -0
- package/dist/esm/components/Lists/types.d.ts +200 -0
- package/dist/esm/components/Lists/types.js +1 -0
- package/dist/esm/components/Lists/utils.d.ts +8 -0
- package/dist/esm/components/Lists/utils.js +28 -0
- package/dist/esm/components/index.d.ts +2 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/constants.d.ts +48 -0
- package/dist/esm/constants.js +48 -0
- package/dist/esm/helperComponents/CollapseBlockPrivate/CollapseBlockPrivate.d.ts +9 -0
- package/dist/esm/helperComponents/CollapseBlockPrivate/CollapseBlockPrivate.js +9 -0
- package/dist/esm/helperComponents/CollapseBlockPrivate/index.d.ts +1 -0
- package/dist/esm/helperComponents/CollapseBlockPrivate/index.js +1 -0
- package/dist/esm/helperComponents/CollapseBlockPrivate/styles.module.css +27 -0
- package/dist/esm/helperComponents/DesktopDroplist/DesktopDroplist.d.ts +7 -0
- package/dist/esm/helperComponents/DesktopDroplist/DesktopDroplist.js +136 -0
- package/dist/esm/helperComponents/DesktopDroplist/index.d.ts +1 -0
- package/dist/esm/helperComponents/DesktopDroplist/index.js +1 -0
- package/dist/esm/helperComponents/HiddenTabButton/HiddenTabButton.d.ts +7 -0
- package/dist/esm/helperComponents/HiddenTabButton/HiddenTabButton.js +14 -0
- package/dist/esm/helperComponents/HiddenTabButton/index.d.ts +1 -0
- package/dist/esm/helperComponents/HiddenTabButton/index.js +1 -0
- package/dist/esm/helperComponents/HiddenTabButton/styles.module.css +9 -0
- package/dist/esm/helperComponents/ItemContent/ItemContent.d.ts +17 -0
- package/dist/esm/helperComponents/ItemContent/ItemContent.js +21 -0
- package/dist/esm/helperComponents/ItemContent/index.d.ts +1 -0
- package/dist/esm/helperComponents/ItemContent/index.js +1 -0
- package/dist/esm/helperComponents/ItemContent/styles.module.css +139 -0
- package/dist/esm/helperComponents/ListEmptyState/ListEmptyState.d.ts +16 -0
- package/dist/esm/helperComponents/ListEmptyState/ListEmptyState.js +19 -0
- package/dist/esm/helperComponents/ListEmptyState/hooks.d.ts +10 -0
- package/dist/esm/helperComponents/ListEmptyState/hooks.js +27 -0
- package/dist/esm/helperComponents/ListEmptyState/index.d.ts +2 -0
- package/dist/esm/helperComponents/ListEmptyState/index.js +2 -0
- package/dist/esm/helperComponents/ListEmptyState/styles.module.css +8 -0
- package/dist/esm/helperComponents/MobileDroplist/MobileDroplist.d.ts +9 -0
- package/dist/esm/helperComponents/MobileDroplist/MobileDroplist.js +137 -0
- package/dist/esm/helperComponents/MobileDroplist/MobileDroplist.module.css +16 -0
- package/dist/esm/helperComponents/MobileDroplist/index.d.ts +1 -0
- package/dist/esm/helperComponents/MobileDroplist/index.js +1 -0
- package/dist/esm/helperComponents/MobileDroplist/utils.d.ts +11 -0
- package/dist/esm/helperComponents/MobileDroplist/utils.js +61 -0
- package/dist/esm/helperComponents/Separator/Separator.d.ts +20 -0
- package/dist/esm/helperComponents/Separator/Separator.js +34 -0
- package/dist/esm/helperComponents/Separator/constants.d.ts +3 -0
- package/dist/esm/helperComponents/Separator/constants.js +7 -0
- package/dist/esm/helperComponents/Separator/index.d.ts +1 -0
- package/dist/esm/helperComponents/Separator/index.js +1 -0
- package/dist/esm/helperComponents/Separator/styles.module.css +168 -0
- package/dist/esm/helperComponents/index.d.ts +5 -0
- package/dist/esm/helperComponents/index.js +5 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.js +14 -0
- package/dist/esm/locale/index.d.ts +79 -0
- package/dist/esm/locale/index.js +41 -0
- package/dist/esm/style.css +1113 -0
- package/dist/esm/types.d.ts +38 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/utils.d.ts +18 -0
- package/dist/esm/utils.js +19 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/package.json +70 -0
- package/src/_iconSizes.scss +7 -0
- package/src/components/Items/AccordionItem/AccordionItem.tsx +79 -0
- package/src/components/Items/AccordionItem/index.ts +1 -0
- package/src/components/Items/BaseItem/BaseItem.tsx +274 -0
- package/src/components/Items/BaseItem/constants.ts +9 -0
- package/src/components/Items/BaseItem/index.ts +1 -0
- package/src/components/Items/BaseItem/styles.module.scss +330 -0
- package/src/components/Items/GroupSelectItem/GroupSelectItem.tsx +48 -0
- package/src/components/Items/GroupSelectItem/index.ts +1 -0
- package/src/components/Items/NextListItem/NextListItem.tsx +157 -0
- package/src/components/Items/NextListItem/constants.ts +12 -0
- package/src/components/Items/NextListItem/index.ts +1 -0
- package/src/components/Items/NextListItem/types.ts +3 -0
- package/src/components/Items/PinGroupItem/PinGroupItem.tsx +38 -0
- package/src/components/Items/PinGroupItem/index.ts +1 -0
- package/src/components/Items/PinGroupItem/styles.module.scss +14 -0
- package/src/components/Items/SearchItem/SearchItem.tsx +55 -0
- package/src/components/Items/SearchItem/index.ts +1 -0
- package/src/components/Items/SearchItem/styles.module.scss +26 -0
- package/src/components/Items/SimpleItem/components/DragHandle/DragHandle.tsx +27 -0
- package/src/components/Items/SimpleItem/components/DragHandle/index.ts +1 -0
- package/src/components/Items/SimpleItem/components/OverlayDragHandle/OverlayDragHandle.tsx +6 -0
- package/src/components/Items/SimpleItem/components/OverlayDragHandle/index.ts +1 -0
- package/src/components/Items/SimpleItem/components/SimpleGroupBlock/SimpleGroupBlock.tsx +87 -0
- package/src/components/Items/SimpleItem/components/SimpleGroupBlock/index.ts +1 -0
- package/src/components/Items/SimpleItem/components/SimpleGroupBlockOverlay/SimpleGroupBlockOverlay.tsx +33 -0
- package/src/components/Items/SimpleItem/components/SimpleGroupBlockOverlay/index.ts +1 -0
- package/src/components/Items/SimpleItem/components/SimpleItem/SimpleItem.tsx +70 -0
- package/src/components/Items/SimpleItem/components/SimpleItem/index.ts +1 -0
- package/src/components/Items/SimpleItem/components/SimpleItemOverlay/SimpleItemOverlay.tsx +26 -0
- package/src/components/Items/SimpleItem/components/SimpleItemOverlay/index.ts +1 -0
- package/src/components/Items/SimpleItem/components/index.ts +4 -0
- package/src/components/Items/SimpleItem/constants.ts +8 -0
- package/src/components/Items/SimpleItem/index.ts +2 -0
- package/src/components/Items/SimpleItem/styles.module.scss +149 -0
- package/src/components/Items/SimpleItem/types.ts +7 -0
- package/src/components/Items/SimpleItem/utils.ts +8 -0
- package/src/components/Items/hooks.tsx +233 -0
- package/src/components/Items/index.ts +5 -0
- package/src/components/Items/styles.module.scss +107 -0
- package/src/components/Items/types.ts +203 -0
- package/src/components/Items/utils.ts +302 -0
- package/src/components/Lists/Droplist/DropList.tsx +62 -0
- package/src/components/Lists/Droplist/constants.ts +11 -0
- package/src/components/Lists/Droplist/index.ts +1 -0
- package/src/components/Lists/List/List.tsx +155 -0
- package/src/components/Lists/List/index.ts +1 -0
- package/src/components/Lists/ListPrivate/ListPrivate.tsx +560 -0
- package/src/components/Lists/ListPrivate/constants.ts +22 -0
- package/src/components/Lists/ListPrivate/index.ts +1 -0
- package/src/components/Lists/ListPrivate/styles.module.scss +90 -0
- package/src/components/Lists/contexts/CollapseProvider.tsx +22 -0
- package/src/components/Lists/contexts/FocusListProvider.tsx +15 -0
- package/src/components/Lists/contexts/NewListProvider.tsx +76 -0
- package/src/components/Lists/contexts/OpenListProvider.tsx +13 -0
- package/src/components/Lists/contexts/SelectionProvider.tsx +214 -0
- package/src/components/Lists/contexts/index.ts +5 -0
- package/src/components/Lists/hooks.ts +351 -0
- package/src/components/Lists/index.ts +5 -0
- package/src/components/Lists/styles.module.scss +95 -0
- package/src/components/Lists/types.ts +231 -0
- package/src/components/Lists/utils.ts +32 -0
- package/src/components/index.ts +2 -0
- package/src/constants.ts +53 -0
- package/src/helperComponents/CollapseBlockPrivate/CollapseBlockPrivate.tsx +32 -0
- package/src/helperComponents/CollapseBlockPrivate/index.ts +1 -0
- package/src/helperComponents/CollapseBlockPrivate/styles.module.scss +32 -0
- package/src/helperComponents/DesktopDroplist/DesktopDroplist.tsx +313 -0
- package/src/helperComponents/DesktopDroplist/index.ts +1 -0
- package/src/helperComponents/HiddenTabButton/HiddenTabButton.tsx +35 -0
- package/src/helperComponents/HiddenTabButton/index.ts +1 -0
- package/src/helperComponents/HiddenTabButton/styles.module.scss +11 -0
- package/src/helperComponents/ItemContent/ItemContent.tsx +80 -0
- package/src/helperComponents/ItemContent/index.ts +1 -0
- package/src/helperComponents/ItemContent/styles.module.scss +100 -0
- package/src/helperComponents/ListEmptyState/ListEmptyState.tsx +52 -0
- package/src/helperComponents/ListEmptyState/hooks.ts +42 -0
- package/src/helperComponents/ListEmptyState/index.ts +2 -0
- package/src/helperComponents/ListEmptyState/styles.module.scss +11 -0
- package/src/helperComponents/MobileDroplist/MobileDroplist.module.scss +25 -0
- package/src/helperComponents/MobileDroplist/MobileDroplist.tsx +230 -0
- package/src/helperComponents/MobileDroplist/index.ts +1 -0
- package/src/helperComponents/MobileDroplist/utils.tsx +76 -0
- package/src/helperComponents/Separator/Separator.tsx +115 -0
- package/src/helperComponents/Separator/constants.ts +11 -0
- package/src/helperComponents/Separator/index.ts +1 -0
- package/src/helperComponents/Separator/styles.module.scss +255 -0
- package/src/helperComponents/index.ts +5 -0
- package/src/index.ts +19 -0
- package/src/locale/index.ts +45 -0
- package/src/types.ts +44 -0
- package/src/utils.ts +26 -0
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
@use '@cloud-ru/ds-figma-variables/build/scss/components/list.module' as list;
|
|
2
|
+
@use '@cloud-ru/ds-figma-variables/build/scss/styles/styles.module' as base;
|
|
3
|
+
@use '../../iconSizes' as icons;
|
|
4
|
+
|
|
5
|
+
$sizes: 's', 'm', 'l';
|
|
6
|
+
|
|
7
|
+
// Typography map (legacy separator primary = sans-label/title, secondary = light-label/title)
|
|
8
|
+
$subtitle-typography-map: (
|
|
9
|
+
's': (
|
|
10
|
+
'weight': 'regular',
|
|
11
|
+
'role': 'label',
|
|
12
|
+
'size': 'm',
|
|
13
|
+
),
|
|
14
|
+
'm': (
|
|
15
|
+
'weight': 'regular',
|
|
16
|
+
'role': 'label',
|
|
17
|
+
'size': 'l',
|
|
18
|
+
),
|
|
19
|
+
'l': (
|
|
20
|
+
'weight': 'regular',
|
|
21
|
+
'role': 'title',
|
|
22
|
+
'size': 'm',
|
|
23
|
+
),
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
// 'light' weight в base-styles отсутствует — используем 'regular', subtitleTertiary
|
|
27
|
+
// отличаем цветом (см. .label[data-group-variant='subtitleTertiary']).
|
|
28
|
+
$subtitle-tertiary-typography-map: (
|
|
29
|
+
's': (
|
|
30
|
+
'weight': 'regular',
|
|
31
|
+
'role': 'label',
|
|
32
|
+
'size': 'm',
|
|
33
|
+
),
|
|
34
|
+
'm': (
|
|
35
|
+
'weight': 'regular',
|
|
36
|
+
'role': 'label',
|
|
37
|
+
'size': 'l',
|
|
38
|
+
),
|
|
39
|
+
'l': (
|
|
40
|
+
'weight': 'regular',
|
|
41
|
+
'role': 'title',
|
|
42
|
+
'size': 'm',
|
|
43
|
+
),
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
$level: var(--level, 0);
|
|
47
|
+
|
|
48
|
+
// Composites dropList item.<size>.container-separator(-subheader) в токен-наборе отсутствуют —
|
|
49
|
+
// приближаем через list anatomy.size.<size>.listItem.padding-*.
|
|
50
|
+
// Figma listItemGroup: root flex, align-items: flex-start, gap=listItem.gap,
|
|
51
|
+
// padding-top=subtitle.paddingTop, padding-bottom=listItem.paddingVertical,
|
|
52
|
+
// padding-horizontal=listItem.paddingHorizontal. Иконка и label — на одной линии по центру (textWrapper).
|
|
53
|
+
|
|
54
|
+
// Figma centeredWrapper (list.listItem.centeredWrapper): padding-vertical вокруг иконки.
|
|
55
|
+
// Размер иконочного слота — общий с listItem (см. icons.$iconSizeMap).
|
|
56
|
+
// Используем content-box, чтобы padding не зажимал SVG.
|
|
57
|
+
.beforeContent {
|
|
58
|
+
display: inline-flex;
|
|
59
|
+
flex-grow: 0;
|
|
60
|
+
flex-shrink: 0;
|
|
61
|
+
align-items: center;
|
|
62
|
+
justify-content: center;
|
|
63
|
+
|
|
64
|
+
box-sizing: content-box;
|
|
65
|
+
|
|
66
|
+
color: base.$sn-theme-color-available-version-textTertiary;
|
|
67
|
+
|
|
68
|
+
svg {
|
|
69
|
+
width: 100%;
|
|
70
|
+
height: 100%;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Figma listItemGroup (0:5323): nestingLevel (16×29 indicator scale per level) + focusedFrameRegular/inside (outline при focus-visible).
|
|
75
|
+
// nestingLevel рендерится тем же механизмом, что и в BaseItem: padding-left на родительском узле, шаг —
|
|
76
|
+
// list.anatomy.size.<size>.listItem.nestingLevel.levelWrapper.padding-left (для s — `levellWrapper`, опечатка в Figma).
|
|
77
|
+
.separatorWithLabel {
|
|
78
|
+
position: relative;
|
|
79
|
+
|
|
80
|
+
display: flex;
|
|
81
|
+
align-items: center;
|
|
82
|
+
|
|
83
|
+
box-sizing: border-box;
|
|
84
|
+
width: 100%;
|
|
85
|
+
min-width: 100%;
|
|
86
|
+
|
|
87
|
+
// focusedFrameRegular/inside — клавиатурный focus на group-заголовке (через bulkSelectButton).
|
|
88
|
+
&:focus-visible {
|
|
89
|
+
outline: base.$sn-theme-color-available-complementary solid base.$sn-primitive-strokeWeight-strokeSemiBold;
|
|
90
|
+
outline-offset: calc(0px - base.$sn-primitive-strokeWeight-strokeSemiBold);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@each $size in $sizes {
|
|
94
|
+
&[data-size='#{$size}'] {
|
|
95
|
+
$subtitle: base.simple-var($subtitle-typography-map, $size);
|
|
96
|
+
$subtitleTertiary: base.simple-var($subtitle-tertiary-typography-map, $size);
|
|
97
|
+
$itemPaddingLeft: base.simple-var(list.$list, 'anatomy', 'size', $size, 'listItem', 'padding-left');
|
|
98
|
+
$itemGap: base.simple-var(list.$list, 'anatomy', 'size', $size, 'listItem', 'gap');
|
|
99
|
+
|
|
100
|
+
gap: $itemGap;
|
|
101
|
+
padding: base.simple-var(list.$list, 'anatomy', 'size', $size, 'subtitle', 'padding-top')
|
|
102
|
+
base.simple-var(list.$list, 'anatomy', 'size', $size, 'listItem', 'padding-right')
|
|
103
|
+
base.simple-var(list.$list, 'anatomy', 'size', $size, 'listItem', 'padding-bottom')
|
|
104
|
+
base.simple-var(list.$list, 'anatomy', 'size', $size, 'listItem', 'padding-left');
|
|
105
|
+
|
|
106
|
+
// nestingLevel — индентация заголовка группы, если она вложена внутрь другой группы.
|
|
107
|
+
// Шаг тот же, что у строки: слот иконки плюс зазор (см. BaseItem/styles.module.scss).
|
|
108
|
+
&[data-level-one],
|
|
109
|
+
&[data-level-more-one] {
|
|
110
|
+
padding-left: calc(
|
|
111
|
+
$itemPaddingLeft + $level * calc(#{base.simple-var(icons.$iconSizeMap, $size)} + #{$itemGap})
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.beforeContent {
|
|
116
|
+
width: base.simple-var(icons.$iconSizeMap, $size);
|
|
117
|
+
height: base.simple-var(icons.$iconSizeMap, $size);
|
|
118
|
+
padding-top: base.simple-var(
|
|
119
|
+
list.$list,
|
|
120
|
+
'anatomy',
|
|
121
|
+
'size',
|
|
122
|
+
$size,
|
|
123
|
+
'listItem',
|
|
124
|
+
'centeredWrapper',
|
|
125
|
+
'padding-top'
|
|
126
|
+
);
|
|
127
|
+
padding-bottom: base.simple-var(
|
|
128
|
+
list.$list,
|
|
129
|
+
'anatomy',
|
|
130
|
+
'size',
|
|
131
|
+
$size,
|
|
132
|
+
'listItem',
|
|
133
|
+
'centeredWrapper',
|
|
134
|
+
'padding-bottom'
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.label {
|
|
139
|
+
padding: base.simple-var(
|
|
140
|
+
list.$list,
|
|
141
|
+
'anatomy',
|
|
142
|
+
'size',
|
|
143
|
+
$size,
|
|
144
|
+
'listItem',
|
|
145
|
+
'contentWrapper',
|
|
146
|
+
'textWrapper',
|
|
147
|
+
'padding-top'
|
|
148
|
+
)
|
|
149
|
+
base.simple-var(
|
|
150
|
+
list.$list,
|
|
151
|
+
'anatomy',
|
|
152
|
+
'size',
|
|
153
|
+
$size,
|
|
154
|
+
'listItem',
|
|
155
|
+
'contentWrapper',
|
|
156
|
+
'textWrapper',
|
|
157
|
+
'textContent',
|
|
158
|
+
'padding-right'
|
|
159
|
+
)
|
|
160
|
+
base.simple-var(
|
|
161
|
+
list.$list,
|
|
162
|
+
'anatomy',
|
|
163
|
+
'size',
|
|
164
|
+
$size,
|
|
165
|
+
'listItem',
|
|
166
|
+
'contentWrapper',
|
|
167
|
+
'textWrapper',
|
|
168
|
+
'padding-bottom'
|
|
169
|
+
)
|
|
170
|
+
base.simple-var(
|
|
171
|
+
list.$list,
|
|
172
|
+
'anatomy',
|
|
173
|
+
'size',
|
|
174
|
+
$size,
|
|
175
|
+
'listItem',
|
|
176
|
+
'contentWrapper',
|
|
177
|
+
'textWrapper',
|
|
178
|
+
'textContent',
|
|
179
|
+
'padding-left'
|
|
180
|
+
);
|
|
181
|
+
|
|
182
|
+
&[data-group-variant='subtitle'] {
|
|
183
|
+
@include base.composite-var(
|
|
184
|
+
base.$base-styles,
|
|
185
|
+
'sn',
|
|
186
|
+
base.simple-var($subtitle, 'weight'),
|
|
187
|
+
base.simple-var($subtitle, 'role'),
|
|
188
|
+
base.simple-var($subtitle, 'size')
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
&[data-group-variant='subtitleTertiary'] {
|
|
193
|
+
@include base.composite-var(
|
|
194
|
+
base.$base-styles,
|
|
195
|
+
'sn',
|
|
196
|
+
base.simple-var($subtitleTertiary, 'weight'),
|
|
197
|
+
base.simple-var($subtitleTertiary, 'role'),
|
|
198
|
+
base.simple-var($subtitleTertiary, 'size')
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// Группа-разделитель в макете не голая линия: у неё те же поля, что у строки списка
|
|
207
|
+
// (`listItem` padding — 2/4 у s и m, 4/8 у l), поэтому вариант занимает 5 / 5 / 9 по высоте.
|
|
208
|
+
.separatorWithoutLabel {
|
|
209
|
+
display: flex;
|
|
210
|
+
align-items: flex-end;
|
|
211
|
+
box-sizing: border-box;
|
|
212
|
+
|
|
213
|
+
@each $size in $sizes {
|
|
214
|
+
&[data-size='#{$size}'] {
|
|
215
|
+
padding: base.simple-var(list.$list, 'anatomy', 'size', $size, 'listItem', 'padding-top')
|
|
216
|
+
base.simple-var(list.$list, 'anatomy', 'size', $size, 'listItem', 'padding-right')
|
|
217
|
+
base.simple-var(list.$list, 'anatomy', 'size', $size, 'listItem', 'padding-bottom')
|
|
218
|
+
base.simple-var(list.$list, 'anatomy', 'size', $size, 'listItem', 'padding-left');
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.label {
|
|
224
|
+
overflow: hidden;
|
|
225
|
+
flex-shrink: 1;
|
|
226
|
+
|
|
227
|
+
&[data-group-variant='subtitle'] {
|
|
228
|
+
color: base.$sn-theme-color-available-version-textMain;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
&[data-group-variant='subtitleTertiary'] {
|
|
232
|
+
color: base.$sn-theme-color-available-version-textTertiary;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.divider {
|
|
237
|
+
flex: 1;
|
|
238
|
+
width: auto;
|
|
239
|
+
min-width: 0;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.labelEnd {
|
|
243
|
+
display: flex;
|
|
244
|
+
flex: 1 0 0;
|
|
245
|
+
flex-direction: column;
|
|
246
|
+
align-items: flex-end;
|
|
247
|
+
justify-content: center;
|
|
248
|
+
|
|
249
|
+
min-width: 0;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.selectButton {
|
|
253
|
+
display: flex;
|
|
254
|
+
justify-content: flex-end;
|
|
255
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export * from './components';
|
|
2
|
+
|
|
3
|
+
export * from './types';
|
|
4
|
+
export { kindFlattenItems } from './components/Items';
|
|
5
|
+
|
|
6
|
+
// helperComponents — публичные вспомогательные компоненты для построения
|
|
7
|
+
// собственных раскладок без полного List (Figma-reference в stories,
|
|
8
|
+
// custom layouts в потребительских пакетах).
|
|
9
|
+
export * from './helperComponents';
|
|
10
|
+
|
|
11
|
+
// Context-провайдер размера: нужен, чтобы Separator/ListEmptyState и др.
|
|
12
|
+
// подхватывали size при рендере вне List (читают useNewListContext()).
|
|
13
|
+
export { NewListContextProvider } from './components/Lists/contexts';
|
|
14
|
+
|
|
15
|
+
export { getDefaultItemId, getFooterItemId, getItemAutoId } from './utils';
|
|
16
|
+
export * from './constants';
|
|
17
|
+
|
|
18
|
+
export { setNonce } from '@cloud-ru/ds-scroll';
|
|
19
|
+
export * from './locale';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { defineLocale, defineMessages } from '@cloud-ru/ds-locale';
|
|
2
|
+
|
|
3
|
+
const LIST_MESSAGES = defineMessages({
|
|
4
|
+
'en-GB': {
|
|
5
|
+
noData: {
|
|
6
|
+
description: 'No data',
|
|
7
|
+
},
|
|
8
|
+
noResults: {
|
|
9
|
+
description: 'Nothing found',
|
|
10
|
+
},
|
|
11
|
+
errorData: {
|
|
12
|
+
description: 'Error loading data',
|
|
13
|
+
},
|
|
14
|
+
groupSelectButton: {
|
|
15
|
+
reset: 'Reset all',
|
|
16
|
+
select: 'Select all',
|
|
17
|
+
},
|
|
18
|
+
list: {
|
|
19
|
+
dragHandle: 'Drag to reorder',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
'ru-RU': {
|
|
23
|
+
noData: {
|
|
24
|
+
description: 'Нет данных',
|
|
25
|
+
},
|
|
26
|
+
noResults: {
|
|
27
|
+
description: 'Не найдено',
|
|
28
|
+
},
|
|
29
|
+
errorData: {
|
|
30
|
+
description: 'Ошибка загрузки данных',
|
|
31
|
+
},
|
|
32
|
+
groupSelectButton: {
|
|
33
|
+
reset: 'Сбросить все',
|
|
34
|
+
select: 'Выбрать все',
|
|
35
|
+
},
|
|
36
|
+
list: {
|
|
37
|
+
dragHandle: 'Перетащить для изменения порядка',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
export type ListMessages = (typeof LIST_MESSAGES)['en-GB'];
|
|
43
|
+
|
|
44
|
+
/** locale компонента List: `listLocale.useTranslations()` в коде, `listLocale.extend(...)` в сервисе. */
|
|
45
|
+
export const listLocale = defineLocale('@cloud-ru/ds-list', LIST_MESSAGES);
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ScrollProps as OriginalScrollProps } from '@cloud-ru/ds-scroll';
|
|
2
|
+
import { ValueOf } from '@cloud-ru/ds-utils';
|
|
3
|
+
import { ChangeEvent, KeyboardEvent, Ref } from 'react';
|
|
4
|
+
|
|
5
|
+
import { ITEM_TYPE, MODE, SIZE } from './constants';
|
|
6
|
+
|
|
7
|
+
/** Размер списка и его элементов */
|
|
8
|
+
export type Size = ValueOf<typeof SIZE>;
|
|
9
|
+
|
|
10
|
+
/** Режим выбора элементов списка */
|
|
11
|
+
export type Mode = ValueOf<typeof MODE>;
|
|
12
|
+
|
|
13
|
+
/** Тип группового / составного элемента списка */
|
|
14
|
+
export type ItemType = ValueOf<typeof ITEM_TYPE>;
|
|
15
|
+
|
|
16
|
+
/** Настройки поисковой строки списка */
|
|
17
|
+
export type SearchState = {
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
loading?: boolean;
|
|
20
|
+
value?: string;
|
|
21
|
+
onChange(value: string, e?: ChangeEvent<HTMLInputElement>): void;
|
|
22
|
+
onKeyDown?(e: KeyboardEvent<HTMLElement>): void;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export type ScrollProps = {
|
|
26
|
+
/** Включить ли скролл для основной части списка */
|
|
27
|
+
scroll?: boolean;
|
|
28
|
+
/** Ссылка на элемент, обозначающий самый конец прокручиваемого списка */
|
|
29
|
+
scrollRef?: Ref<HTMLElement>;
|
|
30
|
+
/** Ссылка на контейнер, который скроллится */
|
|
31
|
+
scrollContainerRef?: Ref<HTMLElement>;
|
|
32
|
+
/** Отключает возможность взаимодействовать со скролбарами мышью. */
|
|
33
|
+
untouchableScrollbars?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Управление скрытием скролл баров:
|
|
36
|
+
* <br> - `Never` - показывать всегда
|
|
37
|
+
* <br> - `Leave` - скрывать когда курсор покидает компонент
|
|
38
|
+
* <br> - `Scroll` - показывать только когда происходит скроллинг
|
|
39
|
+
* <br> - `Move` - показывать при движении курсора над компонентом
|
|
40
|
+
*/
|
|
41
|
+
barHideStrategy?: OriginalScrollProps['barHideStrategy'];
|
|
42
|
+
/** Колбек на скролл прокручиваемого списка */
|
|
43
|
+
onScroll?: OriginalScrollProps['onScroll'];
|
|
44
|
+
};
|
package/src/utils.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ReactEventHandler } from 'react';
|
|
2
|
+
|
|
3
|
+
import { ItemId } from './components';
|
|
4
|
+
import { ITEM_PREFIXES } from './constants';
|
|
5
|
+
|
|
6
|
+
export const stopPropagation: ReactEventHandler = e => {
|
|
7
|
+
e.stopPropagation();
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Возвращает id для элемента футера
|
|
12
|
+
* @function helper
|
|
13
|
+
*/
|
|
14
|
+
export const getFooterItemId = (id: ItemId) => `${ITEM_PREFIXES.footer}__${id}`;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Возвращает id для элемента, подставляя префикс
|
|
18
|
+
* @function helper
|
|
19
|
+
*/
|
|
20
|
+
export const getItemAutoId = (prefix: ItemId, id: ItemId) => [prefix, id].join('-');
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Возвращает id для дефолтного элемента
|
|
24
|
+
* @function helper
|
|
25
|
+
*/
|
|
26
|
+
export const getDefaultItemId = (id: ItemId) => getItemAutoId(ITEM_PREFIXES.default, id);
|