@alfalab/core-components-tabs 7.7.1 → 8.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/{cssm/Component-3e68f8db.d.ts → Component-4cd3936b.d.ts} +5 -4
- package/Component-5e1b8383.d.ts +99 -3
- package/Component-63dec22f.d.ts +167 -0
- package/Component-8b2c2707.d.ts +14 -0
- package/Component-9211a437.d.ts +38 -0
- package/Component-e81c389f.d.ts +5 -0
- package/Component.desktop-2e2b2125.d.ts +6 -0
- package/Component.desktop-785df74d.d.ts +6 -0
- package/Component.mobile-755fbaa3.d.ts +6 -0
- package/Component.mobile-d7e9f69d.d.ts +6 -0
- package/Component.mobile-ebda875c.d.ts +6 -0
- package/Component.responsive-785df74d.d.ts +26 -0
- package/collapsible.d.ts +7 -0
- package/collapsible.js +40 -0
- package/components/primary-tablist/Component.collapsible.d.ts +5 -0
- package/components/primary-tablist/Component.collapsible.desktop.d.ts +5 -0
- package/components/primary-tablist/Component.collapsible.desktop.js +32 -0
- package/components/primary-tablist/Component.collapsible.js +81 -0
- package/components/primary-tablist/Component.collapsible.mobile.d.ts +6 -0
- package/components/primary-tablist/Component.collapsible.mobile.js +35 -0
- package/components/primary-tablist/Component.collapsible.responsive.d.ts +5 -0
- package/components/primary-tablist/Component.collapsible.responsive.js +36 -0
- package/components/primary-tablist/Component.d.ts +2 -1
- package/components/primary-tablist/Component.desktop.d.ts +2 -1
- package/components/primary-tablist/Component.desktop.js +2 -8
- package/components/primary-tablist/Component.js +8 -40
- package/components/primary-tablist/Component.mobile.d.ts +3 -2
- package/components/primary-tablist/Component.mobile.js +4 -12
- package/components/primary-tablist/Component.responsive.d.ts +2 -1
- package/components/primary-tablist/Component.responsive.js +7 -14
- package/components/primary-tablist/index.css +29 -29
- package/components/primary-tablist/mobile.css +40 -32
- package/components/scrollable-container/Component.d.ts +3 -2
- package/components/scrollable-container/Component.js +1 -1
- package/components/scrollable-container/index.css +5 -5
- package/components/secondary-tablist/Component.d.ts +2 -1
- package/components/secondary-tablist/Component.desktop.d.ts +3 -2
- package/components/secondary-tablist/Component.desktop.js +4 -3
- package/components/secondary-tablist/Component.js +5 -3
- package/components/secondary-tablist/Component.mobile.d.ts +2 -1
- package/components/secondary-tablist/Component.mobile.js +5 -4
- package/components/secondary-tablist/Component.responsive.d.ts +2 -1
- package/components/secondary-tablist/Component.responsive.js +8 -9
- package/components/secondary-tablist/index.css +11 -11
- package/components/secondary-tablist/mobile.css +21 -13
- package/components/tab/Component.d.ts +2 -1
- package/components/tab/Component.js +1 -1
- package/components/tab/index.css +3 -3
- package/components/tabs/Component.collabsible.desktop.d.ts +6 -0
- package/components/tabs/Component.collabsible.desktop.js +34 -0
- package/components/tabs/Component.collapsible.mobile.d.ts +6 -0
- package/components/tabs/Component.collapsible.mobile.js +35 -0
- package/components/tabs/Component.collapsible.responsive.d.ts +6 -0
- package/components/tabs/Component.collapsible.responsive.js +37 -0
- package/components/tabs/Component.d.ts +2 -1
- package/components/tabs/Component.desktop.d.ts +3 -2
- package/components/tabs/Component.desktop.js +4 -10
- package/components/tabs/Component.js +2 -2
- package/components/tabs/Component.mobile.d.ts +3 -2
- package/components/tabs/Component.mobile.js +5 -10
- package/components/tabs/Component.responsive.d.ts +3 -2
- package/components/tabs/Component.responsive.js +7 -10
- package/{esm/Component-3e68f8db.d.ts → cssm/Component-4cd3936b.d.ts} +5 -4
- package/cssm/Component-5e1b8383.d.ts +99 -3
- package/cssm/Component-63dec22f.d.ts +167 -0
- package/cssm/Component-8b2c2707.d.ts +14 -0
- package/cssm/Component-9211a437.d.ts +38 -0
- package/cssm/Component-e81c389f.d.ts +5 -0
- package/cssm/Component.desktop-2e2b2125.d.ts +6 -0
- package/cssm/Component.desktop-785df74d.d.ts +6 -0
- package/cssm/Component.mobile-755fbaa3.d.ts +6 -0
- package/cssm/Component.mobile-d7e9f69d.d.ts +6 -0
- package/cssm/Component.mobile-ebda875c.d.ts +6 -0
- package/cssm/Component.responsive-785df74d.d.ts +26 -0
- package/cssm/collapsible.d.ts +7 -0
- package/cssm/collapsible.js +41 -0
- package/cssm/components/primary-tablist/Component.collapsible.d.ts +5 -0
- package/cssm/components/primary-tablist/Component.collapsible.desktop.d.ts +5 -0
- package/cssm/components/primary-tablist/Component.collapsible.desktop.js +33 -0
- package/cssm/components/primary-tablist/Component.collapsible.js +81 -0
- package/cssm/components/primary-tablist/Component.collapsible.mobile.d.ts +6 -0
- package/cssm/components/primary-tablist/Component.collapsible.mobile.js +37 -0
- package/cssm/components/primary-tablist/Component.collapsible.responsive.d.ts +5 -0
- package/cssm/components/primary-tablist/Component.collapsible.responsive.js +36 -0
- package/cssm/components/primary-tablist/Component.d.ts +2 -1
- package/cssm/components/primary-tablist/Component.desktop.d.ts +2 -1
- package/cssm/components/primary-tablist/Component.desktop.js +1 -7
- package/cssm/components/primary-tablist/Component.js +8 -40
- package/cssm/components/primary-tablist/Component.mobile.d.ts +3 -2
- package/cssm/components/primary-tablist/Component.mobile.js +1 -7
- package/cssm/components/primary-tablist/Component.responsive.d.ts +2 -1
- package/cssm/components/primary-tablist/Component.responsive.js +5 -13
- package/cssm/components/scrollable-container/Component.d.ts +3 -2
- package/cssm/components/secondary-tablist/Component.d.ts +2 -1
- package/cssm/components/secondary-tablist/Component.desktop.d.ts +3 -2
- package/cssm/components/secondary-tablist/Component.desktop.js +3 -2
- package/cssm/components/secondary-tablist/Component.js +5 -3
- package/cssm/components/secondary-tablist/Component.mobile.d.ts +2 -1
- package/cssm/components/secondary-tablist/Component.mobile.js +3 -2
- package/cssm/components/secondary-tablist/Component.responsive.d.ts +2 -1
- package/cssm/components/secondary-tablist/Component.responsive.js +7 -8
- package/cssm/components/tab/Component.d.ts +2 -1
- package/cssm/components/tabs/Component.collabsible.desktop.d.ts +6 -0
- package/cssm/components/tabs/Component.collabsible.desktop.js +34 -0
- package/cssm/components/tabs/Component.collapsible.mobile.d.ts +6 -0
- package/cssm/components/tabs/Component.collapsible.mobile.js +35 -0
- package/cssm/components/tabs/Component.collapsible.responsive.d.ts +6 -0
- package/cssm/components/tabs/Component.collapsible.responsive.js +37 -0
- package/cssm/components/tabs/Component.d.ts +2 -1
- package/cssm/components/tabs/Component.desktop.d.ts +3 -2
- package/cssm/components/tabs/Component.desktop.js +2 -8
- package/cssm/components/tabs/Component.js +2 -2
- package/cssm/components/tabs/Component.mobile.d.ts +3 -2
- package/cssm/components/tabs/Component.mobile.js +2 -8
- package/cssm/components/tabs/Component.responsive.d.ts +3 -2
- package/cssm/components/tabs/Component.responsive.js +4 -8
- package/cssm/desktop-2e2b2125.d.ts +2 -0
- package/cssm/desktop.d.ts +0 -4
- package/cssm/desktop.js +6 -15
- package/cssm/{hook-3e68f8db.d.ts → hook-9ea9e32c.d.ts} +10 -8
- package/cssm/hooks/use-tablist-titles.d.ts +2 -1
- package/cssm/hooks/use-tablist-titles.js +7 -5
- package/cssm/hooks/use-tabs.d.ts +1 -0
- package/cssm/hooks/use-tabs.js +3 -6
- package/cssm/index-8b2c2707.d.ts +6 -0
- package/cssm/index-c44170fe.d.ts +23 -0
- package/cssm/index-e81c389f.d.ts +142 -3
- package/cssm/index-ebda875c.d.ts +86 -18
- package/cssm/index-f12ee135.d.ts +307 -3
- package/cssm/index.d.ts +1 -4
- package/cssm/index.js +9 -15
- package/cssm/mobile-755fbaa3.d.ts +2 -0
- package/cssm/mobile-96988a65.d.ts +2 -0
- package/cssm/mobile.d.ts +0 -3
- package/cssm/mobile.js +6 -14
- package/{esm/index-3e68f8db.d.ts → cssm/shared-4cd3936b.d.ts} +50 -16
- package/cssm/shared.d.ts +4 -0
- package/cssm/shared.js +21 -0
- package/cssm/types-4480ac4f.d.ts +3 -0
- package/cssm/typings-5e1b8383.d.ts +2 -1
- package/cssm/typings-9211a437.d.ts +95 -0
- package/cssm/typings.d.ts +11 -10
- package/desktop-2e2b2125.d.ts +2 -0
- package/desktop.d.ts +0 -4
- package/desktop.js +7 -16
- package/{Component-3e68f8db.d.ts → esm/Component-4cd3936b.d.ts} +5 -4
- package/esm/Component-5e1b8383.d.ts +99 -3
- package/esm/Component-63dec22f.d.ts +167 -0
- package/esm/Component-8b2c2707.d.ts +14 -0
- package/esm/Component-9211a437.d.ts +38 -0
- package/esm/Component-e81c389f.d.ts +5 -0
- package/esm/Component.desktop-2e2b2125.d.ts +6 -0
- package/esm/Component.desktop-785df74d.d.ts +6 -0
- package/esm/Component.mobile-755fbaa3.d.ts +6 -0
- package/esm/Component.mobile-d7e9f69d.d.ts +6 -0
- package/esm/Component.mobile-ebda875c.d.ts +6 -0
- package/esm/Component.responsive-785df74d.d.ts +26 -0
- package/esm/collapsible.d.ts +7 -0
- package/esm/collapsible.js +26 -0
- package/esm/components/primary-tablist/Component.collapsible.d.ts +5 -0
- package/esm/components/primary-tablist/Component.collapsible.desktop.d.ts +5 -0
- package/esm/components/primary-tablist/Component.collapsible.desktop.js +24 -0
- package/esm/components/primary-tablist/Component.collapsible.js +72 -0
- package/esm/components/primary-tablist/Component.collapsible.mobile.d.ts +6 -0
- package/esm/components/primary-tablist/Component.collapsible.mobile.js +26 -0
- package/esm/components/primary-tablist/Component.collapsible.responsive.d.ts +5 -0
- package/esm/components/primary-tablist/Component.collapsible.responsive.js +28 -0
- package/esm/components/primary-tablist/Component.d.ts +2 -1
- package/esm/components/primary-tablist/Component.desktop.d.ts +2 -1
- package/esm/components/primary-tablist/Component.desktop.js +2 -8
- package/esm/components/primary-tablist/Component.js +10 -42
- package/esm/components/primary-tablist/Component.mobile.d.ts +3 -2
- package/esm/components/primary-tablist/Component.mobile.js +3 -11
- package/esm/components/primary-tablist/Component.responsive.d.ts +2 -1
- package/esm/components/primary-tablist/Component.responsive.js +7 -14
- package/esm/components/primary-tablist/index.css +29 -29
- package/esm/components/primary-tablist/mobile.css +40 -32
- package/esm/components/scrollable-container/Component.d.ts +3 -2
- package/esm/components/scrollable-container/Component.js +1 -1
- package/esm/components/scrollable-container/index.css +5 -5
- package/esm/components/secondary-tablist/Component.d.ts +2 -1
- package/esm/components/secondary-tablist/Component.desktop.d.ts +3 -2
- package/esm/components/secondary-tablist/Component.desktop.js +4 -3
- package/esm/components/secondary-tablist/Component.js +5 -3
- package/esm/components/secondary-tablist/Component.mobile.d.ts +2 -1
- package/esm/components/secondary-tablist/Component.mobile.js +5 -4
- package/esm/components/secondary-tablist/Component.responsive.d.ts +2 -1
- package/esm/components/secondary-tablist/Component.responsive.js +8 -9
- package/esm/components/secondary-tablist/index.css +11 -11
- package/esm/components/secondary-tablist/mobile.css +21 -13
- package/esm/components/tab/Component.d.ts +2 -1
- package/esm/components/tab/Component.js +1 -1
- package/esm/components/tab/index.css +3 -3
- package/esm/components/tabs/Component.collabsible.desktop.d.ts +6 -0
- package/esm/components/tabs/Component.collabsible.desktop.js +26 -0
- package/esm/components/tabs/Component.collapsible.mobile.d.ts +6 -0
- package/esm/components/tabs/Component.collapsible.mobile.js +27 -0
- package/esm/components/tabs/Component.collapsible.responsive.d.ts +6 -0
- package/esm/components/tabs/Component.collapsible.responsive.js +29 -0
- package/esm/components/tabs/Component.d.ts +2 -1
- package/esm/components/tabs/Component.desktop.d.ts +3 -2
- package/esm/components/tabs/Component.desktop.js +4 -10
- package/esm/components/tabs/Component.js +2 -2
- package/esm/components/tabs/Component.mobile.d.ts +3 -2
- package/esm/components/tabs/Component.mobile.js +5 -10
- package/esm/components/tabs/Component.responsive.d.ts +3 -2
- package/esm/components/tabs/Component.responsive.js +7 -10
- package/esm/desktop-2e2b2125.d.ts +2 -0
- package/esm/desktop.d.ts +0 -4
- package/esm/desktop.js +7 -13
- package/{hook-3e68f8db.d.ts → esm/hook-9ea9e32c.d.ts} +10 -8
- package/esm/hooks/use-tablist-titles.d.ts +2 -1
- package/esm/hooks/use-tablist-titles.js +7 -5
- package/esm/hooks/use-tabs.d.ts +1 -0
- package/esm/hooks/use-tabs.js +2 -5
- package/esm/index-8b2c2707.d.ts +6 -0
- package/esm/index-c44170fe.d.ts +23 -0
- package/esm/index-e81c389f.d.ts +142 -3
- package/esm/index-ebda875c.d.ts +86 -18
- package/esm/index-f12ee135.d.ts +307 -3
- package/esm/index.d.ts +1 -4
- package/esm/index.js +11 -14
- package/esm/index.module-08248cf3.js +4 -0
- package/esm/index.module-2bed7b44.js +4 -0
- package/esm/mobile-755fbaa3.d.ts +2 -0
- package/esm/mobile-96988a65.d.ts +2 -0
- package/esm/mobile.d.ts +0 -3
- package/esm/mobile.js +8 -13
- package/esm/mobile.module-d8a1b124.js +4 -0
- package/{index-3e68f8db.d.ts → esm/shared-4cd3936b.d.ts} +50 -16
- package/esm/shared.d.ts +4 -0
- package/esm/shared.js +10 -0
- package/esm/types-4480ac4f.d.ts +3 -0
- package/esm/typings-5e1b8383.d.ts +2 -1
- package/esm/typings-9211a437.d.ts +95 -0
- package/esm/typings.d.ts +11 -10
- package/{modern/hook-3e68f8db.d.ts → hook-9ea9e32c.d.ts} +10 -8
- package/hooks/use-tablist-titles.d.ts +2 -1
- package/hooks/use-tablist-titles.js +7 -5
- package/hooks/use-tabs.d.ts +1 -0
- package/hooks/use-tabs.js +3 -6
- package/index-8b2c2707.d.ts +6 -0
- package/index-c44170fe.d.ts +23 -0
- package/index-e81c389f.d.ts +142 -3
- package/index-ebda875c.d.ts +86 -18
- package/index-f12ee135.d.ts +307 -3
- package/index.d.ts +1 -4
- package/index.js +11 -16
- package/index.module-0d10b544.js +6 -0
- package/index.module-49556b0f.js +6 -0
- package/mobile-755fbaa3.d.ts +2 -0
- package/mobile-96988a65.d.ts +2 -0
- package/mobile.d.ts +0 -3
- package/mobile.js +8 -15
- package/mobile.module-541101fc.js +6 -0
- package/modern/{Component-3e68f8db.d.ts → Component-4cd3936b.d.ts} +5 -4
- package/modern/Component-5e1b8383.d.ts +99 -3
- package/modern/Component-63dec22f.d.ts +167 -0
- package/modern/Component-8b2c2707.d.ts +14 -0
- package/modern/Component-9211a437.d.ts +38 -0
- package/modern/Component-e81c389f.d.ts +5 -0
- package/modern/Component.desktop-2e2b2125.d.ts +6 -0
- package/modern/Component.desktop-785df74d.d.ts +6 -0
- package/modern/Component.mobile-755fbaa3.d.ts +6 -0
- package/modern/Component.mobile-d7e9f69d.d.ts +6 -0
- package/modern/Component.mobile-ebda875c.d.ts +6 -0
- package/modern/Component.responsive-785df74d.d.ts +26 -0
- package/modern/collapsible.d.ts +7 -0
- package/modern/collapsible.js +25 -0
- package/modern/components/primary-tablist/Component.collapsible.d.ts +5 -0
- package/modern/components/primary-tablist/Component.collapsible.desktop.d.ts +5 -0
- package/modern/components/primary-tablist/Component.collapsible.desktop.js +20 -0
- package/modern/components/primary-tablist/Component.collapsible.js +61 -0
- package/modern/components/primary-tablist/Component.collapsible.mobile.d.ts +6 -0
- package/modern/components/primary-tablist/Component.collapsible.mobile.js +25 -0
- package/modern/components/primary-tablist/Component.collapsible.responsive.d.ts +5 -0
- package/modern/components/primary-tablist/Component.collapsible.responsive.js +26 -0
- package/modern/components/primary-tablist/Component.d.ts +2 -1
- package/modern/components/primary-tablist/Component.desktop.d.ts +2 -1
- package/modern/components/primary-tablist/Component.desktop.js +2 -8
- package/modern/components/primary-tablist/Component.js +8 -37
- package/modern/components/primary-tablist/Component.mobile.d.ts +3 -2
- package/modern/components/primary-tablist/Component.mobile.js +3 -11
- package/modern/components/primary-tablist/Component.responsive.d.ts +2 -1
- package/modern/components/primary-tablist/Component.responsive.js +7 -14
- package/modern/components/primary-tablist/index.css +29 -29
- package/modern/components/primary-tablist/mobile.css +40 -32
- package/modern/components/scrollable-container/Component.d.ts +3 -2
- package/modern/components/scrollable-container/Component.js +1 -1
- package/modern/components/scrollable-container/index.css +5 -5
- package/modern/components/secondary-tablist/Component.d.ts +2 -1
- package/modern/components/secondary-tablist/Component.desktop.d.ts +3 -2
- package/modern/components/secondary-tablist/Component.desktop.js +4 -3
- package/modern/components/secondary-tablist/Component.js +12 -8
- package/modern/components/secondary-tablist/Component.mobile.d.ts +2 -1
- package/modern/components/secondary-tablist/Component.mobile.js +5 -4
- package/modern/components/secondary-tablist/Component.responsive.d.ts +2 -1
- package/modern/components/secondary-tablist/Component.responsive.js +8 -9
- package/modern/components/secondary-tablist/index.css +11 -11
- package/modern/components/secondary-tablist/mobile.css +21 -13
- package/modern/components/tab/Component.d.ts +2 -1
- package/modern/components/tab/Component.js +1 -1
- package/modern/components/tab/index.css +3 -3
- package/modern/components/tabs/Component.collabsible.desktop.d.ts +6 -0
- package/modern/components/tabs/Component.collabsible.desktop.js +22 -0
- package/modern/components/tabs/Component.collapsible.mobile.d.ts +6 -0
- package/modern/components/tabs/Component.collapsible.mobile.js +23 -0
- package/modern/components/tabs/Component.collapsible.responsive.d.ts +6 -0
- package/modern/components/tabs/Component.collapsible.responsive.js +25 -0
- package/modern/components/tabs/Component.d.ts +2 -1
- package/modern/components/tabs/Component.desktop.d.ts +3 -2
- package/modern/components/tabs/Component.desktop.js +4 -10
- package/modern/components/tabs/Component.js +2 -2
- package/modern/components/tabs/Component.mobile.d.ts +3 -2
- package/modern/components/tabs/Component.mobile.js +5 -10
- package/modern/components/tabs/Component.responsive.d.ts +3 -2
- package/modern/components/tabs/Component.responsive.js +7 -10
- package/modern/desktop-2e2b2125.d.ts +2 -0
- package/modern/desktop.d.ts +0 -4
- package/modern/desktop.js +7 -13
- package/{esm/hook-3e68f8db.d.ts → modern/hook-9ea9e32c.d.ts} +10 -8
- package/modern/hooks/use-tablist-titles.d.ts +2 -1
- package/modern/hooks/use-tablist-titles.js +7 -5
- package/modern/hooks/use-tabs.d.ts +1 -0
- package/modern/hooks/use-tabs.js +2 -5
- package/modern/index-8b2c2707.d.ts +6 -0
- package/modern/index-c44170fe.d.ts +23 -0
- package/modern/index-e81c389f.d.ts +142 -3
- package/modern/index-ebda875c.d.ts +86 -18
- package/modern/index-f12ee135.d.ts +307 -3
- package/modern/index.d.ts +1 -4
- package/modern/index.js +11 -14
- package/modern/index.module-264a8450.js +4 -0
- package/modern/index.module-fede443b.js +4 -0
- package/modern/mobile-755fbaa3.d.ts +2 -0
- package/modern/mobile-96988a65.d.ts +2 -0
- package/modern/mobile.d.ts +0 -3
- package/modern/mobile.js +8 -13
- package/modern/mobile.module-9693b0a4.js +4 -0
- package/{cssm/index-3e68f8db.d.ts → modern/shared-4cd3936b.d.ts} +50 -16
- package/modern/shared.d.ts +4 -0
- package/modern/shared.js +9 -0
- package/modern/types-4480ac4f.d.ts +3 -0
- package/modern/typings-5e1b8383.d.ts +2 -1
- package/modern/typings-9211a437.d.ts +95 -0
- package/modern/typings.d.ts +11 -10
- package/package.json +36 -5
- package/{modern/index-3e68f8db.d.ts → shared-4cd3936b.d.ts} +50 -16
- package/shared.d.ts +4 -0
- package/shared.js +20 -0
- package/src/collapsible.ts +10 -0
- package/src/components/primary-tablist/Component.collapsible.desktop.tsx +11 -0
- package/src/components/primary-tablist/Component.collapsible.mobile.tsx +27 -0
- package/src/components/primary-tablist/Component.collapsible.responsive.tsx +34 -0
- package/src/components/primary-tablist/Component.collapsible.tsx +132 -0
- package/src/components/primary-tablist/Component.desktop.tsx +11 -0
- package/src/components/primary-tablist/Component.mobile.tsx +20 -0
- package/src/components/primary-tablist/Component.responsive.tsx +34 -0
- package/src/components/primary-tablist/Component.tsx +74 -0
- package/src/components/primary-tablist/index.module.css +181 -0
- package/src/components/primary-tablist/mobile.module.css +20 -0
- package/src/components/scrollable-container/Component.tsx +66 -0
- package/src/components/scrollable-container/index.module.css +26 -0
- package/src/components/scrollable-container/index.ts +1 -0
- package/src/components/secondary-tablist/Component.desktop.tsx +24 -0
- package/src/components/secondary-tablist/Component.mobile.tsx +31 -0
- package/src/components/secondary-tablist/Component.responsive.tsx +24 -0
- package/src/components/secondary-tablist/Component.tsx +70 -0
- package/src/components/secondary-tablist/index.module.css +49 -0
- package/src/components/secondary-tablist/mobile.module.css +11 -0
- package/src/components/tab/Component.tsx +25 -0
- package/src/components/tab/index.module.css +7 -0
- package/src/components/tab/index.ts +1 -0
- package/src/components/tabs/Component.collabsible.desktop.tsx +15 -0
- package/src/components/tabs/Component.collapsible.mobile.tsx +15 -0
- package/src/components/tabs/Component.collapsible.responsive.tsx +12 -0
- package/src/components/tabs/Component.desktop.tsx +26 -0
- package/src/components/tabs/Component.mobile.tsx +20 -0
- package/src/components/tabs/Component.responsive.tsx +20 -0
- package/src/components/tabs/Component.tsx +67 -0
- package/src/components/title/Component.tsx +51 -0
- package/src/components/title/index.ts +1 -0
- package/src/desktop.ts +4 -0
- package/src/hooks/use-collapsible-elements.ts +69 -0
- package/src/hooks/use-tablist-titles.ts +91 -0
- package/src/hooks/use-tabs.tsx +129 -0
- package/src/index.ts +7 -0
- package/src/mobile.ts +4 -0
- package/src/shared.ts +4 -0
- package/src/synthetic-events.ts +70 -0
- package/src/typings.ts +187 -0
- package/src/vars.css +68 -0
- package/types-4480ac4f.d.ts +3 -0
- package/typings-5e1b8383.d.ts +2 -1
- package/typings-9211a437.d.ts +95 -0
- package/typings.d.ts +11 -10
- package/Component-2aef4eba.d.ts +0 -50
- package/Component-3885b0d7.d.ts +0 -71
- package/Component-3ebe4754.d.ts +0 -176
- package/Component.mobile-b2c0420d.d.ts +0 -35
- package/Component.responsive-2aef4eba.d.ts +0 -30
- package/component-3885b0d7.d.ts +0 -43
- package/cssm/Component-2aef4eba.d.ts +0 -50
- package/cssm/Component-3885b0d7.d.ts +0 -71
- package/cssm/Component-3ebe4754.d.ts +0 -176
- package/cssm/Component.mobile-b2c0420d.d.ts +0 -35
- package/cssm/Component.responsive-2aef4eba.d.ts +0 -30
- package/cssm/component-3885b0d7.d.ts +0 -43
- package/cssm/index-2aef4eba.d.ts +0 -5
- package/cssm/index-3885b0d7.d.ts +0 -3
- package/cssm/index-3ebe4754.d.ts +0 -1
- package/cssm/index-701e77da.d.ts +0 -4
- package/cssm/responsive.d.ts +0 -8
- package/cssm/responsive.js +0 -47
- package/cssm/types-ebda875c.d.ts +0 -113
- package/cssm/types-fae20163.d.ts +0 -227
- package/cssm/utils-b64479aa.d.ts +0 -8
- package/esm/Component-2aef4eba.d.ts +0 -50
- package/esm/Component-3885b0d7.d.ts +0 -71
- package/esm/Component-3ebe4754.d.ts +0 -176
- package/esm/Component.mobile-b2c0420d.d.ts +0 -35
- package/esm/Component.responsive-2aef4eba.d.ts +0 -30
- package/esm/component-3885b0d7.d.ts +0 -43
- package/esm/index-2aef4eba.d.ts +0 -5
- package/esm/index-3885b0d7.d.ts +0 -3
- package/esm/index-3ebe4754.d.ts +0 -1
- package/esm/index-701e77da.d.ts +0 -4
- package/esm/index.module-09cc006f.js +0 -4
- package/esm/index.module-a8ec81ea.js +0 -4
- package/esm/responsive.d.ts +0 -8
- package/esm/responsive.js +0 -29
- package/esm/types-ebda875c.d.ts +0 -113
- package/esm/types-fae20163.d.ts +0 -227
- package/esm/utils-b64479aa.d.ts +0 -8
- package/index-2aef4eba.d.ts +0 -5
- package/index-3885b0d7.d.ts +0 -3
- package/index-3ebe4754.d.ts +0 -1
- package/index-701e77da.d.ts +0 -4
- package/index.module-489cc8bc.js +0 -6
- package/index.module-728b55ca.js +0 -6
- package/modern/Component-2aef4eba.d.ts +0 -50
- package/modern/Component-3885b0d7.d.ts +0 -71
- package/modern/Component-3ebe4754.d.ts +0 -176
- package/modern/Component.mobile-b2c0420d.d.ts +0 -35
- package/modern/Component.responsive-2aef4eba.d.ts +0 -30
- package/modern/component-3885b0d7.d.ts +0 -43
- package/modern/index-2aef4eba.d.ts +0 -5
- package/modern/index-3885b0d7.d.ts +0 -3
- package/modern/index-3ebe4754.d.ts +0 -1
- package/modern/index-701e77da.d.ts +0 -4
- package/modern/index.module-75cf2354.js +0 -4
- package/modern/index.module-77d8ef59.js +0 -4
- package/modern/responsive.d.ts +0 -8
- package/modern/responsive.js +0 -28
- package/modern/types-ebda875c.d.ts +0 -113
- package/modern/types-fae20163.d.ts +0 -227
- package/modern/utils-b64479aa.d.ts +0 -8
- package/responsive.d.ts +0 -8
- package/responsive.js +0 -43
- package/types-ebda875c.d.ts +0 -113
- package/types-fae20163.d.ts +0 -227
- package/utils-b64479aa.d.ts +0 -8
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { FC, ForwardRefExoticComponent, RefAttributes, HTMLAttributes } from "react";
|
|
4
|
+
declare const colors: readonly [
|
|
5
|
+
"tertiary",
|
|
6
|
+
"disabled",
|
|
7
|
+
"accent",
|
|
8
|
+
"primary",
|
|
9
|
+
"attention",
|
|
10
|
+
"positive",
|
|
11
|
+
"secondary",
|
|
12
|
+
"tertiary-inverted",
|
|
13
|
+
"primary-inverted",
|
|
14
|
+
"secondary-inverted",
|
|
15
|
+
"link",
|
|
16
|
+
"negative",
|
|
17
|
+
"static-primary-light",
|
|
18
|
+
"static-secondary-light",
|
|
19
|
+
"static-tertiary-light",
|
|
20
|
+
"static-primary-dark",
|
|
21
|
+
"static-secondary-dark",
|
|
22
|
+
"static-tertiary-dark",
|
|
23
|
+
"static-accent"
|
|
24
|
+
];
|
|
25
|
+
type Color = (typeof colors)[number];
|
|
26
|
+
type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
|
|
27
|
+
type NativeProps = HTMLAttributes<HTMLSpanElement>;
|
|
28
|
+
type TextBaseProps = {
|
|
29
|
+
/**
|
|
30
|
+
* [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/tokens-assets-типографика--docs)
|
|
31
|
+
*/
|
|
32
|
+
view?: "primary-large" | "primary-medium" | "primary-small" | "secondary-large" | "secondary-medium" | "secondary-small" | "component" | "caps";
|
|
33
|
+
/**
|
|
34
|
+
* Цвет текста
|
|
35
|
+
*/
|
|
36
|
+
color?: Color;
|
|
37
|
+
/**
|
|
38
|
+
* Толщина шрифта
|
|
39
|
+
*/
|
|
40
|
+
weight?: "regular" | "medium" | "bold";
|
|
41
|
+
/**
|
|
42
|
+
* Делает цифры моноширинными
|
|
43
|
+
*/
|
|
44
|
+
monospaceNumbers?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* HTML тег
|
|
47
|
+
*/
|
|
48
|
+
tag?: "span" | "div";
|
|
49
|
+
/**
|
|
50
|
+
* Css-класс для стилизации (native prop)
|
|
51
|
+
*/
|
|
52
|
+
className?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Id компонента для тестов
|
|
55
|
+
*/
|
|
56
|
+
dataTestId?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Контент (native prop)
|
|
59
|
+
*/
|
|
60
|
+
children?: React.ReactNode;
|
|
61
|
+
/**
|
|
62
|
+
* Добавляет отступы к тэгу 'p'
|
|
63
|
+
*/
|
|
64
|
+
defaultMargins?: never;
|
|
65
|
+
/**
|
|
66
|
+
* Количество строк (не поддерживает IE)
|
|
67
|
+
*/
|
|
68
|
+
rowLimit?: 1 | 2 | 3;
|
|
69
|
+
};
|
|
70
|
+
type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
|
|
71
|
+
tag?: "p";
|
|
72
|
+
defaultMargins?: boolean;
|
|
73
|
+
};
|
|
74
|
+
type TextProps = Omit<NativeProps, "color"> & (TextBaseProps | TextPTagProps);
|
|
75
|
+
type NativeProps$0 = HTMLAttributes<HTMLHeadingElement>;
|
|
76
|
+
type TitleProps = Omit<NativeProps$0, "color"> & {
|
|
77
|
+
/**
|
|
78
|
+
* HTML тег
|
|
79
|
+
*/
|
|
80
|
+
tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div";
|
|
81
|
+
/**
|
|
82
|
+
* [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/guidelines-typography--page)
|
|
83
|
+
*/
|
|
84
|
+
view?: "xlarge" | "large" | "medium" | "small" | "xsmall";
|
|
85
|
+
/**
|
|
86
|
+
* Цвет текста
|
|
87
|
+
*/
|
|
88
|
+
color?: Color;
|
|
89
|
+
/**
|
|
90
|
+
* Толщина шрифта
|
|
91
|
+
*/
|
|
92
|
+
weight?: "regular" | "medium" | "bold";
|
|
93
|
+
/**
|
|
94
|
+
* Шрифт текста
|
|
95
|
+
*/
|
|
96
|
+
font?: "styrene" | "system";
|
|
97
|
+
/**
|
|
98
|
+
* Добавляет отступы
|
|
99
|
+
*/
|
|
100
|
+
defaultMargins?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Css-класс для стилизации (native prop)
|
|
103
|
+
*/
|
|
104
|
+
className?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Id компонента для тестов
|
|
107
|
+
*/
|
|
108
|
+
dataTestId?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Контент (native prop)
|
|
111
|
+
*/
|
|
112
|
+
children?: React.ReactNode;
|
|
113
|
+
/**
|
|
114
|
+
* Количество строк (не поддерживает IE)
|
|
115
|
+
*/
|
|
116
|
+
rowLimit?: 1 | 2 | 3;
|
|
117
|
+
};
|
|
118
|
+
type TitleMobileProps = Omit<TitleProps, "defaultMargins">;
|
|
119
|
+
declare const Typography: {
|
|
120
|
+
Title: FC<TitleProps>;
|
|
121
|
+
Text: ForwardRefExoticComponent<TextProps & RefAttributes<TextElementType>>;
|
|
122
|
+
TitleResponsive: FC<TitleProps>;
|
|
123
|
+
TitleMobile: FC<TitleMobileProps>;
|
|
124
|
+
};
|
|
125
|
+
declare const typographyPresets: {
|
|
126
|
+
mobile: {
|
|
127
|
+
list: {
|
|
128
|
+
text: {
|
|
129
|
+
primary: {
|
|
130
|
+
tag: string;
|
|
131
|
+
view: string;
|
|
132
|
+
};
|
|
133
|
+
secondary: {
|
|
134
|
+
tag: string;
|
|
135
|
+
color: string;
|
|
136
|
+
view: string;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
declare const TitleResponsive: FC<TitleProps>;
|
|
143
|
+
interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
144
|
+
/**
|
|
145
|
+
* Текст после иконки
|
|
146
|
+
*/
|
|
147
|
+
text?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Дополнительный класс
|
|
150
|
+
*/
|
|
151
|
+
className?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Вид компонента
|
|
154
|
+
*/
|
|
155
|
+
view: 'mobile' | 'desktop';
|
|
156
|
+
/**
|
|
157
|
+
* Прозрачность текста
|
|
158
|
+
*/
|
|
159
|
+
textOpacity?: number;
|
|
160
|
+
/**
|
|
161
|
+
* Обработчик клика
|
|
162
|
+
*/
|
|
163
|
+
onClick?: () => void;
|
|
164
|
+
}
|
|
165
|
+
declare const BackArrowAddon: React.FC<BackArrowAddonProps>;
|
|
166
|
+
export { Typography, typographyPresets, TitleResponsive, BackArrowAddonProps, BackArrowAddon };
|
|
167
|
+
export type { TitleProps, TextProps, Color };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { FC, SVGProps } from "react";
|
|
4
|
+
import { PickerButtonSize, PickerButtonVariant } from "./types-4480ac4f";
|
|
5
|
+
import { ButtonProps } from "./index-8b2c2707";
|
|
6
|
+
import { FieldProps as BaseFieldProps } from "./typings-5e1b8383";
|
|
7
|
+
declare const getIcon: (variant: PickerButtonVariant, size: PickerButtonSize) => FC<SVGProps<SVGSVGElement>>;
|
|
8
|
+
type FieldProps = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> & ButtonProps & {
|
|
9
|
+
buttonSize?: PickerButtonSize;
|
|
10
|
+
buttonVariant?: PickerButtonVariant;
|
|
11
|
+
showArrow?: boolean;
|
|
12
|
+
};
|
|
13
|
+
declare const Field: ({ buttonSize, buttonVariant, view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, setSelectedItems, toggleMenu, valueRenderer, showArrow, labelView, ...restProps }: FieldProps) => React.JSX.Element;
|
|
14
|
+
export { getIcon, Field };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { FC } from "react";
|
|
4
|
+
import { BaseButtonProps } from "./typings-9211a437";
|
|
5
|
+
type SpinnerProps = {
|
|
6
|
+
/**
|
|
7
|
+
* Управление видимостью компонента
|
|
8
|
+
*/
|
|
9
|
+
visible?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Размер компонента
|
|
12
|
+
*/
|
|
13
|
+
size?: "xs" | "s" | "m";
|
|
14
|
+
/**
|
|
15
|
+
* Дополнительный класс
|
|
16
|
+
*/
|
|
17
|
+
className?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Идентификатор компонента в DOM
|
|
20
|
+
*/
|
|
21
|
+
id?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Идентификатор для систем автоматизированного тестирования
|
|
24
|
+
*/
|
|
25
|
+
dataTestId?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Палитра, в контексте которой используется спиннер
|
|
28
|
+
*/
|
|
29
|
+
colors?: "default" | "inverted";
|
|
30
|
+
};
|
|
31
|
+
declare const Spinner: FC<SpinnerProps>;
|
|
32
|
+
/**
|
|
33
|
+
* Минимальное время отображения лоадера - 500мс,
|
|
34
|
+
* чтобы при быстрых ответах от сервера кнопка не «моргала».
|
|
35
|
+
*/
|
|
36
|
+
declare const LOADER_MIN_DISPLAY_INTERVAL = 500;
|
|
37
|
+
declare const BaseButton: React.ForwardRefExoticComponent<BaseButtonProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
|
|
38
|
+
export { SpinnerProps, Spinner, LOADER_MIN_DISPLAY_INTERVAL, BaseButton };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { AnchorButtonProps, NativeButtonProps } from "./typings-9211a437";
|
|
4
|
+
type ButtonDesktopProps = Partial<AnchorButtonProps | NativeButtonProps>;
|
|
5
|
+
declare const ButtonDesktop: React.ForwardRefExoticComponent<ButtonDesktopProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
|
|
6
|
+
export { ButtonDesktopProps, ButtonDesktop };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { BaseFormControlProps } from "./index-ebda875c";
|
|
4
|
+
type FormControlDesktopProps = Omit<BaseFormControlProps, 'styles' | 'colorStyles'>;
|
|
5
|
+
declare const FormControlDesktop: React.ForwardRefExoticComponent<FormControlDesktopProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export { FormControlDesktopProps, FormControlDesktop };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { AnchorButtonProps, NativeButtonProps } from "./typings-9211a437";
|
|
4
|
+
type ButtonMobileProps = Partial<AnchorButtonProps | NativeButtonProps>;
|
|
5
|
+
declare const ButtonMobile: React.ForwardRefExoticComponent<ButtonMobileProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
|
|
6
|
+
export { ButtonMobileProps, ButtonMobile };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { BaseFormControlProps } from "./index-ebda875c";
|
|
4
|
+
type FormControlMobileProps = Omit<BaseFormControlProps, 'styles' | 'colorStyles'>;
|
|
5
|
+
declare const FormControlMobile: React.ForwardRefExoticComponent<FormControlMobileProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export { FormControlMobileProps, FormControlMobile };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { BaseTagProps } from "./index-ebda875c";
|
|
4
|
+
type TagMobileProps = Omit<BaseTagProps, 'styles'>;
|
|
5
|
+
declare const TagMobile: React.ForwardRefExoticComponent<TagMobileProps & React.RefAttributes<HTMLButtonElement>>;
|
|
6
|
+
export { TagMobileProps, TagMobile };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { BaseFormControlProps } from "./index-ebda875c";
|
|
4
|
+
type FormControlProps = Omit<BaseFormControlProps, 'styles' | 'colorStyles'> & {
|
|
5
|
+
/**
|
|
6
|
+
* Контрольная точка, с нее начинается desktop версия
|
|
7
|
+
* @default 1024
|
|
8
|
+
*/
|
|
9
|
+
breakpoint?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Значение по-умолчанию для хука useMatchMedia
|
|
12
|
+
*/
|
|
13
|
+
defaultMatchMediaValue?: boolean | (() => boolean);
|
|
14
|
+
};
|
|
15
|
+
declare const FormControl: React.ForwardRefExoticComponent<Omit<BaseFormControlProps, "styles" | "colorStyles"> & {
|
|
16
|
+
/**
|
|
17
|
+
* Контрольная точка, с нее начинается desktop версия
|
|
18
|
+
* @default 1024
|
|
19
|
+
*/
|
|
20
|
+
breakpoint?: number | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Значение по-умолчанию для хука useMatchMedia
|
|
23
|
+
*/
|
|
24
|
+
defaultMatchMediaValue?: boolean | (() => boolean) | undefined;
|
|
25
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
26
|
+
export { FormControlProps, FormControl };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { TabsCollapsibleResponsive as TabsCollapsible, TabsCollapsibleResponsiveProps as TabsCollapsibleProps } from "./components/tabs/Component.collapsible.responsive";
|
|
2
|
+
export * from "./components/tabs/Component.collabsible.desktop";
|
|
3
|
+
export * from "./components/tabs/Component.collapsible.mobile";
|
|
4
|
+
export * from "./components/primary-tablist/Component.collapsible.responsive";
|
|
5
|
+
export * from "./components/primary-tablist/Component.collapsible.desktop";
|
|
6
|
+
export * from "./components/primary-tablist/Component.collapsible.mobile";
|
|
7
|
+
export * from "./components/tab/index";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export { TabsCollapsibleResponsive as TabsCollapsible } from './components/tabs/Component.collapsible.responsive.js';
|
|
2
|
+
export { TabsCollapsibleDesktop } from './components/tabs/Component.collabsible.desktop.js';
|
|
3
|
+
export { TabsCollapsibleMobile } from './components/tabs/Component.collapsible.mobile.js';
|
|
4
|
+
export { CollapsiblePrimaryTabListResponsive } from './components/primary-tablist/Component.collapsible.responsive.js';
|
|
5
|
+
export { CollapsiblePrimaryTabListDesktop } from './components/primary-tablist/Component.collapsible.desktop.js';
|
|
6
|
+
export { CollapsiblePrimaryTabListMobile } from './components/primary-tablist/Component.collapsible.mobile.js';
|
|
7
|
+
export { Tab } from './components/tab/Component.js';
|
|
8
|
+
import 'react';
|
|
9
|
+
import './components/tabs/Component.js';
|
|
10
|
+
import '@alfalab/core-components-mq/modern';
|
|
11
|
+
import './components/primary-tablist/Component.collapsible.js';
|
|
12
|
+
import 'classnames';
|
|
13
|
+
import '@alfalab/core-components-badge/modern';
|
|
14
|
+
import '@alfalab/core-components-keyboard-focusable/modern';
|
|
15
|
+
import '@alfalab/core-components-picker-button/modern/desktop';
|
|
16
|
+
import './hooks/use-tablist-titles.js';
|
|
17
|
+
import './hooks/use-collapsible-elements.js';
|
|
18
|
+
import '@juggle/resize-observer';
|
|
19
|
+
import '@alfalab/hooks';
|
|
20
|
+
import './hooks/use-tabs.js';
|
|
21
|
+
import '@alfalab/core-components-shared/modern';
|
|
22
|
+
import './synthetic-events.js';
|
|
23
|
+
import './components/title/Component.js';
|
|
24
|
+
import './index.module-264a8450.js';
|
|
25
|
+
import './mobile.module-9693b0a4.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Styles, TabListProps } from "../../typings";
|
|
4
|
+
declare const CollapsiblePrimaryTabList: ({ size, className, containerClassName, titles, styles, selectedId, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint, defaultMatchMediaValue, }: TabListProps & Styles) => React.JSX.Element;
|
|
5
|
+
export { CollapsiblePrimaryTabList };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CollapsiblePrimaryTabList } from './Component.collapsible.js';
|
|
3
|
+
import { c as commonStyles } from '../../index.module-264a8450.js';
|
|
4
|
+
import 'classnames';
|
|
5
|
+
import '@alfalab/core-components-badge/modern';
|
|
6
|
+
import '@alfalab/core-components-keyboard-focusable/modern';
|
|
7
|
+
import '@alfalab/core-components-picker-button/modern/desktop';
|
|
8
|
+
import '../../hooks/use-tablist-titles.js';
|
|
9
|
+
import '@alfalab/core-components-mq/modern';
|
|
10
|
+
import '../../hooks/use-collapsible-elements.js';
|
|
11
|
+
import '@juggle/resize-observer';
|
|
12
|
+
import '@alfalab/hooks';
|
|
13
|
+
import '../../hooks/use-tabs.js';
|
|
14
|
+
import '@alfalab/core-components-shared/modern';
|
|
15
|
+
import '../../synthetic-events.js';
|
|
16
|
+
import '../title/Component.js';
|
|
17
|
+
|
|
18
|
+
const CollapsiblePrimaryTabListDesktop = ({ size = 'm', ...restProps }) => (React.createElement(CollapsiblePrimaryTabList, { ...restProps, size: size, styles: commonStyles }));
|
|
19
|
+
|
|
20
|
+
export { CollapsiblePrimaryTabListDesktop };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React, { useRef, useEffect, useMemo } from 'react';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { Badge } from '@alfalab/core-components-badge/modern';
|
|
4
|
+
import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable/modern';
|
|
5
|
+
import { PickerButtonDesktop } from '@alfalab/core-components-picker-button/modern/desktop';
|
|
6
|
+
import { useTablistTitles } from '../../hooks/use-tablist-titles.js';
|
|
7
|
+
import { createSyntheticMouseEvent } from '../../synthetic-events.js';
|
|
8
|
+
import { Title } from '../title/Component.js';
|
|
9
|
+
import '@alfalab/core-components-mq/modern';
|
|
10
|
+
import '../../hooks/use-collapsible-elements.js';
|
|
11
|
+
import '@juggle/resize-observer';
|
|
12
|
+
import '@alfalab/hooks';
|
|
13
|
+
import '../../hooks/use-tabs.js';
|
|
14
|
+
import '@alfalab/core-components-shared/modern';
|
|
15
|
+
|
|
16
|
+
const DEFAULT_STYLES = {};
|
|
17
|
+
const CollapsiblePrimaryTabList = ({ size, className, containerClassName, titles = [], styles = DEFAULT_STYLES, selectedId = titles.length ? titles[0].id : undefined, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint = 768, defaultMatchMediaValue, }) => {
|
|
18
|
+
const lineRef = useRef(null);
|
|
19
|
+
const { containerRef, addonRef, tablistTitles, selectedTab, getTabListItemProps } = useTablistTitles({
|
|
20
|
+
titles,
|
|
21
|
+
selectedId,
|
|
22
|
+
collapsedTabsIds,
|
|
23
|
+
breakpoint,
|
|
24
|
+
onChange,
|
|
25
|
+
defaultMatchMediaValue,
|
|
26
|
+
});
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (selectedTab && lineRef.current) {
|
|
29
|
+
lineRef.current.style.width = `${selectedTab.offsetWidth}px`;
|
|
30
|
+
lineRef.current.style.transform = `translateX(${selectedTab.offsetLeft}px)`;
|
|
31
|
+
}
|
|
32
|
+
}, [selectedTab, tablistTitles]);
|
|
33
|
+
const collapsedOptions = useMemo(() => tablistTitles.reduce((options, title) => {
|
|
34
|
+
if (title.collapsed) {
|
|
35
|
+
options.push({
|
|
36
|
+
key: title.title,
|
|
37
|
+
value: title.id,
|
|
38
|
+
content: React.createElement(Title, { ...title, styles: styles, isOption: true }),
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return options;
|
|
42
|
+
}, []), [tablistTitles, styles]);
|
|
43
|
+
const collapsedAddonsLength = tablistTitles.filter((title) => title.collapsed && title.rightAddons).length;
|
|
44
|
+
const handleOptionsChange = (payload) => {
|
|
45
|
+
if (payload.selected?.value && onChange) {
|
|
46
|
+
const nativeMouseEvent = new MouseEvent('change');
|
|
47
|
+
const syntheticMouseEvent = createSyntheticMouseEvent(nativeMouseEvent);
|
|
48
|
+
onChange(syntheticMouseEvent, { selectedId: payload.selected.value });
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const renderContent = () => (React.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn(styles.component, className, size && styles[size], {
|
|
52
|
+
[styles.fullWidthScroll]: fullWidthScroll,
|
|
53
|
+
}) },
|
|
54
|
+
tablistTitles.map(({ dataTestId: _, ...restTitleProps }, index) => (React.createElement(KeyboardFocusable, { key: restTitleProps.id }, (ref, focused) => (React.createElement(Title, { ...getTabListItemProps(index, ref), ...restTitleProps, focused: focused, styles: styles }))))),
|
|
55
|
+
collapsedOptions.length ? (React.createElement("span", { ref: addonRef, role: 'menu', className: styles.pickerWrapper },
|
|
56
|
+
React.createElement(PickerButtonDesktop, { fieldClassName: styles.title, optionClassName: cn(styles.pickerOption, size && styles[size]), options: collapsedOptions, onChange: handleOptionsChange, rightAddons: collapsedAddonsLength ? (React.createElement(Badge, { view: 'count', content: collapsedAddonsLength })) : null, size: 'l', view: 'ghost', label: '\u0415\u0449\u0451', popoverPosition: 'bottom-end' }))) : null,
|
|
57
|
+
React.createElement("div", { className: styles.line, ref: lineRef })));
|
|
58
|
+
return (React.createElement("div", { ref: containerRef, className: cn(styles.container, containerClassName) }, renderContent()));
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export { CollapsiblePrimaryTabList };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { TabListProps } from "../../typings";
|
|
4
|
+
type CollapsiblePrimaryTabListMobileProps = Omit<TabListProps, 'size'>;
|
|
5
|
+
declare const CollapsiblePrimaryTabListMobile: ({ className, ...restProps }: CollapsiblePrimaryTabListMobileProps) => React.JSX.Element;
|
|
6
|
+
export { CollapsiblePrimaryTabListMobileProps, CollapsiblePrimaryTabListMobile };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { CollapsiblePrimaryTabList } from './Component.collapsible.js';
|
|
4
|
+
import { c as commonStyles } from '../../index.module-264a8450.js';
|
|
5
|
+
import { m as mobileStyles } from '../../mobile.module-9693b0a4.js';
|
|
6
|
+
import '@alfalab/core-components-badge/modern';
|
|
7
|
+
import '@alfalab/core-components-keyboard-focusable/modern';
|
|
8
|
+
import '@alfalab/core-components-picker-button/modern/desktop';
|
|
9
|
+
import '../../hooks/use-tablist-titles.js';
|
|
10
|
+
import '@alfalab/core-components-mq/modern';
|
|
11
|
+
import '../../hooks/use-collapsible-elements.js';
|
|
12
|
+
import '@juggle/resize-observer';
|
|
13
|
+
import '@alfalab/hooks';
|
|
14
|
+
import '../../hooks/use-tabs.js';
|
|
15
|
+
import '@alfalab/core-components-shared/modern';
|
|
16
|
+
import '../../synthetic-events.js';
|
|
17
|
+
import '../title/Component.js';
|
|
18
|
+
|
|
19
|
+
const styles = {
|
|
20
|
+
...commonStyles,
|
|
21
|
+
...mobileStyles,
|
|
22
|
+
};
|
|
23
|
+
const CollapsiblePrimaryTabListMobile = ({ className, ...restProps }) => (React.createElement(CollapsiblePrimaryTabList, { ...restProps, styles: styles, className: cn(className, styles.mobile) }));
|
|
24
|
+
|
|
25
|
+
export { CollapsiblePrimaryTabListMobile };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { TabListProps } from "../../typings";
|
|
4
|
+
declare const CollapsiblePrimaryTabListResponsive: ({ size, fullWidthScroll, breakpoint, defaultMatchMediaValue, ...restProps }: TabListProps) => React.JSX.Element;
|
|
5
|
+
export { CollapsiblePrimaryTabListResponsive };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useMatchMedia } from '@alfalab/core-components-mq/modern';
|
|
3
|
+
import { CollapsiblePrimaryTabListDesktop } from './Component.collapsible.desktop.js';
|
|
4
|
+
import { CollapsiblePrimaryTabListMobile } from './Component.collapsible.mobile.js';
|
|
5
|
+
import './Component.collapsible.js';
|
|
6
|
+
import 'classnames';
|
|
7
|
+
import '@alfalab/core-components-badge/modern';
|
|
8
|
+
import '@alfalab/core-components-keyboard-focusable/modern';
|
|
9
|
+
import '@alfalab/core-components-picker-button/modern/desktop';
|
|
10
|
+
import '../../hooks/use-tablist-titles.js';
|
|
11
|
+
import '../../hooks/use-collapsible-elements.js';
|
|
12
|
+
import '@juggle/resize-observer';
|
|
13
|
+
import '@alfalab/hooks';
|
|
14
|
+
import '../../hooks/use-tabs.js';
|
|
15
|
+
import '@alfalab/core-components-shared/modern';
|
|
16
|
+
import '../../synthetic-events.js';
|
|
17
|
+
import '../title/Component.js';
|
|
18
|
+
import '../../index.module-264a8450.js';
|
|
19
|
+
import '../../mobile.module-9693b0a4.js';
|
|
20
|
+
|
|
21
|
+
const CollapsiblePrimaryTabListResponsive = ({ size, fullWidthScroll, breakpoint = 768, defaultMatchMediaValue, ...restProps }) => {
|
|
22
|
+
const [isDesktop] = useMatchMedia(`(min-width: ${breakpoint}px)`, defaultMatchMediaValue);
|
|
23
|
+
return isDesktop ? (React.createElement(CollapsiblePrimaryTabListDesktop, { size: size, defaultMatchMediaValue: defaultMatchMediaValue, breakpoint: breakpoint, ...restProps })) : (React.createElement(CollapsiblePrimaryTabListMobile, { fullWidthScroll: fullWidthScroll, defaultMatchMediaValue: defaultMatchMediaValue, breakpoint: breakpoint, ...restProps }));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { CollapsiblePrimaryTabListResponsive };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
2
3
|
import { Styles, TabListProps } from "../../typings";
|
|
3
|
-
declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable,
|
|
4
|
+
declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, fullWidthScroll, onChange, dataTestId, }: TabListProps & Styles) => React.JSX.Element;
|
|
4
5
|
export { PrimaryTabList };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
2
3
|
import { TabListProps } from "../../typings";
|
|
3
|
-
declare const PrimaryTabListDesktop: ({ size, ...restProps }: TabListProps) => JSX.Element;
|
|
4
|
+
declare const PrimaryTabListDesktop: ({ size, ...restProps }: TabListProps) => React.JSX.Element;
|
|
4
5
|
export { PrimaryTabListDesktop };
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PrimaryTabList } from './Component.js';
|
|
3
|
-
import { c as commonStyles } from '../../index.module-
|
|
3
|
+
import { c as commonStyles } from '../../index.module-264a8450.js';
|
|
4
4
|
import 'classnames';
|
|
5
|
-
import '@alfalab/core-components-badge/modern';
|
|
6
5
|
import '@alfalab/core-components-keyboard-focusable/modern';
|
|
7
|
-
import '@alfalab/core-components-picker-button/modern/desktop';
|
|
8
|
-
import '../../hooks/use-tablist-titles.js';
|
|
9
|
-
import '@alfalab/hooks';
|
|
10
|
-
import '../../hooks/use-collapsible-elements.js';
|
|
11
|
-
import '@juggle/resize-observer';
|
|
12
6
|
import '../../hooks/use-tabs.js';
|
|
13
|
-
import '
|
|
7
|
+
import '@alfalab/core-components-shared/modern';
|
|
14
8
|
import '../scrollable-container/Component.js';
|
|
15
9
|
import 'compute-scroll-into-view';
|
|
16
10
|
import '../title/Component.js';
|
|
@@ -1,26 +1,17 @@
|
|
|
1
|
-
import React, { useRef, useEffect
|
|
1
|
+
import React, { useRef, useEffect } from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
|
-
import { Badge } from '@alfalab/core-components-badge/modern';
|
|
4
3
|
import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable/modern';
|
|
5
|
-
import {
|
|
6
|
-
import { useTablistTitles } from '../../hooks/use-tablist-titles.js';
|
|
7
|
-
import { createSyntheticMouseEvent } from '../../synthetic-events.js';
|
|
4
|
+
import { useTabs } from '../../hooks/use-tabs.js';
|
|
8
5
|
import { ScrollableContainer } from '../scrollable-container/Component.js';
|
|
9
6
|
import { Title } from '../title/Component.js';
|
|
10
|
-
import '@alfalab/
|
|
11
|
-
import '../../hooks/use-collapsible-elements.js';
|
|
12
|
-
import '@juggle/resize-observer';
|
|
13
|
-
import '../../hooks/use-tabs.js';
|
|
7
|
+
import '@alfalab/core-components-shared/modern';
|
|
14
8
|
import 'compute-scroll-into-view';
|
|
15
9
|
|
|
16
|
-
const PrimaryTabList = ({ size, styles = {}, className, containerClassName, titles = [], selectedId = titles.length ? titles[0].id : undefined, scrollable = true,
|
|
10
|
+
const PrimaryTabList = ({ size, styles = {}, className, containerClassName, titles = [], selectedId = titles.length ? titles[0].id : undefined, scrollable = true, fullWidthScroll, onChange, dataTestId, }) => {
|
|
17
11
|
const lineRef = useRef(null);
|
|
18
|
-
const {
|
|
12
|
+
const { selectedTab, focusedTab, getTabListItemProps } = useTabs({
|
|
19
13
|
titles,
|
|
20
14
|
selectedId,
|
|
21
|
-
collapsible,
|
|
22
|
-
collapsedTabsIds,
|
|
23
|
-
breakpoint,
|
|
24
15
|
onChange,
|
|
25
16
|
});
|
|
26
17
|
useEffect(() => {
|
|
@@ -28,33 +19,13 @@ const PrimaryTabList = ({ size, styles = {}, className, containerClassName, titl
|
|
|
28
19
|
lineRef.current.style.width = `${selectedTab.offsetWidth}px`;
|
|
29
20
|
lineRef.current.style.transform = `translateX(${selectedTab.offsetLeft}px)`;
|
|
30
21
|
}
|
|
31
|
-
}, [selectedTab
|
|
32
|
-
const collapsedOptions = useMemo(() => tablistTitles.reduce((options, title) => {
|
|
33
|
-
if (title.collapsed) {
|
|
34
|
-
options.push({
|
|
35
|
-
key: title.title,
|
|
36
|
-
value: title.id,
|
|
37
|
-
content: React.createElement(Title, { ...title, styles: styles, isOption: true }),
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
return options;
|
|
41
|
-
}, []), [tablistTitles, styles]);
|
|
42
|
-
const collapsedAddonsLength = tablistTitles.filter((title) => title.collapsed && title.rightAddons).length;
|
|
43
|
-
const handleOptionsChange = (payload) => {
|
|
44
|
-
if (payload.selected?.value && onChange) {
|
|
45
|
-
const nativeMouseEvent = new MouseEvent('change');
|
|
46
|
-
const syntheticMouseEvent = createSyntheticMouseEvent(nativeMouseEvent);
|
|
47
|
-
onChange(syntheticMouseEvent, { selectedId: payload.selected.value });
|
|
48
|
-
}
|
|
49
|
-
};
|
|
22
|
+
}, [selectedTab]);
|
|
50
23
|
const renderContent = () => (React.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn(styles.component, className, size && styles[size], {
|
|
51
24
|
[styles.fullWidthScroll]: fullWidthScroll,
|
|
52
25
|
}) },
|
|
53
|
-
|
|
54
|
-
collapsedOptions.length ? (React.createElement("span", { ref: addonRef, role: 'menu', className: styles.pickerWrapper },
|
|
55
|
-
React.createElement(PickerButtonDesktop, { fieldClassName: styles.title, optionClassName: cn(styles.pickerOption, size && styles[size]), options: collapsedOptions, onChange: handleOptionsChange, rightAddons: collapsedAddonsLength ? (React.createElement(Badge, { view: 'count', content: collapsedAddonsLength })) : null, size: 'l', view: 'ghost', label: '\u0415\u0449\u0451', popoverPosition: 'bottom-end' }))) : null,
|
|
26
|
+
titles.map(({ dataTestId: _, ...restTitleProps }, index) => (React.createElement(KeyboardFocusable, { key: restTitleProps.id }, (ref, focused) => (React.createElement(Title, { ...getTabListItemProps(index, ref), ...restTitleProps, focused: focused, styles: styles }))))),
|
|
56
27
|
React.createElement("div", { className: styles.line, ref: lineRef })));
|
|
57
|
-
return scrollable
|
|
28
|
+
return scrollable ? (React.createElement(ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll }, renderContent())) : (React.createElement("div", { className: cn(styles.container, containerClassName) }, renderContent()));
|
|
58
29
|
};
|
|
59
30
|
|
|
60
31
|
export { PrimaryTabList };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
2
3
|
import { TabListProps } from "../../typings";
|
|
3
|
-
type PrimaryTabListMobileProps = Omit<TabListProps, 'size'>;
|
|
4
|
-
declare const PrimaryTabListMobile: ({ className, ...restProps }: PrimaryTabListMobileProps) => JSX.Element;
|
|
4
|
+
type PrimaryTabListMobileProps = Omit<TabListProps, 'size' | 'collapsedTabsIds'>;
|
|
5
|
+
declare const PrimaryTabListMobile: ({ className, ...restProps }: PrimaryTabListMobileProps) => React.JSX.Element;
|
|
5
6
|
export { PrimaryTabListMobileProps, PrimaryTabListMobile };
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import { PrimaryTabList } from './Component.js';
|
|
4
|
-
import { c as commonStyles } from '../../index.module-
|
|
5
|
-
import '
|
|
4
|
+
import { c as commonStyles } from '../../index.module-264a8450.js';
|
|
5
|
+
import { m as mobileStyles } from '../../mobile.module-9693b0a4.js';
|
|
6
6
|
import '@alfalab/core-components-keyboard-focusable/modern';
|
|
7
|
-
import '@alfalab/core-components-picker-button/modern/desktop';
|
|
8
|
-
import '../../hooks/use-tablist-titles.js';
|
|
9
|
-
import '@alfalab/hooks';
|
|
10
|
-
import '../../hooks/use-collapsible-elements.js';
|
|
11
|
-
import '@juggle/resize-observer';
|
|
12
7
|
import '../../hooks/use-tabs.js';
|
|
13
|
-
import '
|
|
8
|
+
import '@alfalab/core-components-shared/modern';
|
|
14
9
|
import '../scrollable-container/Component.js';
|
|
15
10
|
import 'compute-scroll-into-view';
|
|
16
11
|
import '../title/Component.js';
|
|
17
12
|
|
|
18
|
-
const mobileStyles = {"title":"tabs__title_122wz tabs__title_ibntg","mobile":"tabs__mobile_122wz"};
|
|
19
|
-
require('./mobile.css')
|
|
20
|
-
|
|
21
13
|
const styles = {
|
|
22
14
|
...commonStyles,
|
|
23
15
|
...mobileStyles,
|