@logora/debate 0.3.6 → 0.3.7
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/dist/assets/components/navigation/tabs/Tabs.module-D0w5qSU_.css +1 -0
- package/dist/components/navigation/tabs/Tab.js +23 -0
- package/dist/components/navigation/tabs/TabPanel.js +16 -0
- package/dist/components/navigation/tabs/Tabs.js +30 -0
- package/dist/components/navigation/tabs/Tabs.module.scss.js +13 -0
- package/dist/index.js +157 -151
- package/package.json +1 -1
- package/src/components/styles/tabs/Tabs.stories.jsx +0 -66
- package/src/components/styles/tabs/_tabs.scss +0 -161
- package/src/components/styles/tabs/index.scss +0 -1
- package/src/components/styles/tabs/tabs.docs.mdx +0 -8
- package/src/components/styles/tabs/tabs.stories.module.scss +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._navTabs_ahca6_3{display:flex;flex-wrap:nowrap;gap:var(--spacer-lg, calc(var(--space-unit, 1em) * 1.5));white-space:nowrap;padding-left:0;margin-bottom:0;border-bottom:none!important;list-style:none}@container (max-width: 575.98px){._navTabs_ahca6_3{font-size:var(--font-size-normal, 16px);gap:var(--space-unit, 1em)}}._navTabs_ahca6_3{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}._navTabs_ahca6_3::-webkit-scrollbar{display:none}._navItem_ahca6_28{cursor:pointer;position:relative}._navLink_ahca6_33{display:block;padding-bottom:var(--spacer-sm, calc(var(--space-unit, 1em) * .5));border:none!important;color:var(--text-primary, #222222);outline:0}._navLink_ahca6_33:hover,._navLink_ahca6_33:focus{text-decoration:none;color:var(--text-primary, #222222)!important;background:transparent}._navLink_ahca6_33._disabled_ahca6_45{color:var(--darkest-text-tertiary, #c7c7c7);pointer-events:none;cursor:default}._navLink_ahca6_33:after{content:"";background-color:var(--text-primary, #222222);height:2px;position:absolute;width:100%;left:0;bottom:-1px;z-index:1;transition:transform .25s ease 0s;transform:scale(0)}._navLink_ahca6_33._active_ahca6_62{color:var(--text-primary, #222222)!important;background:transparent;font-weight:var(--font-weight-bold, 700)}._navLink_ahca6_33._active_ahca6_62:after{transform:scale(1)}@media(hover:hover){._navItem_ahca6_28:hover>._navLink_ahca6_33:after{transform:scale(1)}}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as n } from "react";
|
|
3
|
+
import c from "classnames";
|
|
4
|
+
import a from "./Tabs.module.scss.js";
|
|
5
|
+
const d = n(({ label: o, active: r, id: t, panelId: i, onClick: m, onKeyDown: s }, l) => /* @__PURE__ */ e("li", { className: a.navItem, role: "presentation", children: /* @__PURE__ */ e(
|
|
6
|
+
"div",
|
|
7
|
+
{
|
|
8
|
+
ref: l,
|
|
9
|
+
id: t,
|
|
10
|
+
role: "tab",
|
|
11
|
+
"aria-selected": r,
|
|
12
|
+
"aria-controls": i,
|
|
13
|
+
tabIndex: r ? 0 : -1,
|
|
14
|
+
className: c(a.navLink, { [a.active]: r }),
|
|
15
|
+
onClick: m,
|
|
16
|
+
onKeyDown: s,
|
|
17
|
+
children: o
|
|
18
|
+
}
|
|
19
|
+
) }));
|
|
20
|
+
d.displayName = "Tab";
|
|
21
|
+
export {
|
|
22
|
+
d as Tab
|
|
23
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
const b = ({ children: e, id: a, tabId: r, active: t }) => /* @__PURE__ */ l(
|
|
4
|
+
"div",
|
|
5
|
+
{
|
|
6
|
+
role: "tabpanel",
|
|
7
|
+
id: a,
|
|
8
|
+
"aria-labelledby": r,
|
|
9
|
+
tabIndex: 0,
|
|
10
|
+
hidden: !t,
|
|
11
|
+
children: e
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
export {
|
|
15
|
+
b as TabPanel
|
|
16
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import l, { useId as p, useRef as y } from "react";
|
|
3
|
+
import b from "./Tabs.module.scss.js";
|
|
4
|
+
const $ = ({ value: f, onChange: s, children: n, label: u }) => {
|
|
5
|
+
const a = p(), c = y([]), o = l.Children.count(n), i = (r, t) => {
|
|
6
|
+
let e;
|
|
7
|
+
if (r.key === "ArrowRight") e = (t + 1) % o;
|
|
8
|
+
else if (r.key === "ArrowLeft") e = (t - 1 + o) % o;
|
|
9
|
+
else if (r.key === "Home") e = 0;
|
|
10
|
+
else if (r.key === "End") e = o - 1;
|
|
11
|
+
else return;
|
|
12
|
+
r.preventDefault(), s(r, e), c.current[e]?.focus();
|
|
13
|
+
};
|
|
14
|
+
return /* @__PURE__ */ m("ul", { role: "tablist", "aria-label": u, className: b.navTabs, children: l.Children.map(
|
|
15
|
+
n,
|
|
16
|
+
(r, t) => l.cloneElement(r, {
|
|
17
|
+
active: f === t,
|
|
18
|
+
id: `${a}-tab-${t}`,
|
|
19
|
+
panelId: `${a}-panel-${t}`,
|
|
20
|
+
onClick: (e) => s(e, t),
|
|
21
|
+
onKeyDown: (e) => i(e, t),
|
|
22
|
+
ref: (e) => {
|
|
23
|
+
c.current[t] = e;
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
) });
|
|
27
|
+
};
|
|
28
|
+
export {
|
|
29
|
+
$ as Tabs
|
|
30
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import '../../../assets/components/navigation/tabs/Tabs.module-D0w5qSU_.css';const a = "_navTabs_ahca6_3", n = "_navItem_ahca6_28", t = "_navLink_ahca6_33", c = "_active_ahca6_62", v = {
|
|
2
|
+
navTabs: a,
|
|
3
|
+
navItem: n,
|
|
4
|
+
navLink: t,
|
|
5
|
+
active: c
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
c as active,
|
|
9
|
+
v as default,
|
|
10
|
+
n as navItem,
|
|
11
|
+
t as navLink,
|
|
12
|
+
a as navTabs
|
|
13
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -14,10 +14,10 @@ import { AuthInitializer as h } from "./components/auth/auth_initializer/AuthIni
|
|
|
14
14
|
import { AuthModal as T } from "./components/auth/auth_modal/AuthModal.js";
|
|
15
15
|
import { AuthProvider as v, withAuth as L } from "./components/auth/use_auth/AuthProvider.js";
|
|
16
16
|
import { AuthProviderFactory as F } from "./components/auth/providers/AuthProviderFactory.js";
|
|
17
|
-
import { AuthorBox as
|
|
18
|
-
import { Avatar as
|
|
19
|
-
import { AvatarSelector as
|
|
20
|
-
import { BackLink as
|
|
17
|
+
import { AuthorBox as k } from "./components/user/author_box/AuthorBox.js";
|
|
18
|
+
import { Avatar as R } from "./components/user/avatar/Avatar.js";
|
|
19
|
+
import { AvatarSelector as w } from "./components/user/avatar_selector/AvatarSelector.js";
|
|
20
|
+
import { BackLink as V } from "./components/action/back_link/BackLink.js";
|
|
21
21
|
import { BadgeBox as N } from "./components/gamification/badge_box/BadgeBox.js";
|
|
22
22
|
import { BoxSkeleton as G } from "./components/skeleton/box_skeleton/BoxSkeleton.js";
|
|
23
23
|
import { Button as $ } from "./components/action/button/Button.js";
|
|
@@ -39,10 +39,10 @@ import { EmbedHeader as ho } from "./components/embed/embed_header/EmbedHeader.j
|
|
|
39
39
|
import { ExpandableText as To } from "./components/text/expandable_text/ExpandableText.js";
|
|
40
40
|
import { FacebookLoginButton as vo } from "./components/auth/facebook_login_button/FacebookLoginButton.js";
|
|
41
41
|
import { FollowButton as Mo } from "./components/follow/follow_button/FollowButton.js";
|
|
42
|
-
import { Form as
|
|
43
|
-
import { FormContext as
|
|
44
|
-
import { GoogleLoginButton as
|
|
45
|
-
import { HashScroll as
|
|
42
|
+
import { Form as bo } from "./components/forms/form/form.js";
|
|
43
|
+
import { FormContext as Do } from "./components/forms/form/form-context.js";
|
|
44
|
+
import { GoogleLoginButton as Uo } from "./components/auth/google_login_button/GoogleLoginButton.js";
|
|
45
|
+
import { HashScroll as Eo } from "./components/tools/hash_scroll/HashScroll.js";
|
|
46
46
|
import { Icon as yo } from "./components/icons/icon/Icon.js";
|
|
47
47
|
import { IconContext as Ho, IconProvider as Go } from "./components/icons/icon_provider/IconProvider.js";
|
|
48
48
|
import { IconTextLink as $o } from "./components/action/icon_text_link/IconTextLink.js";
|
|
@@ -64,10 +64,10 @@ import { Modal as Ar } from "./components/dialog/modal/Modal.js";
|
|
|
64
64
|
import { ModalContext as Ir, ModalProvider as Tr } from "./components/dialog/modal/ModalProvider.js";
|
|
65
65
|
import { NavbarButton as vr } from "./components/navbar/navbar_button/NavbarButton.js";
|
|
66
66
|
import { NavbarModal as Mr } from "./components/navbar/navbar_modal/NavbarModal.js";
|
|
67
|
-
import { NotificationItem as
|
|
68
|
-
import { NotificationMenu as
|
|
69
|
-
import { OAuth2Button as
|
|
70
|
-
import { PaginatedList as
|
|
67
|
+
import { NotificationItem as br } from "./components/notification/notification_item/NotificationItem.js";
|
|
68
|
+
import { NotificationMenu as Dr } from "./components/notification/notification_menu/NotificationMenu.js";
|
|
69
|
+
import { OAuth2Button as Ur } from "./components/auth/oauth2_button/OAuth2Button.js";
|
|
70
|
+
import { PaginatedList as Er } from "./components/list/paginated_list/PaginatedList.js";
|
|
71
71
|
import { Pagination as yr } from "./components/list/pagination/Pagination.js";
|
|
72
72
|
import { PieChart as Hr } from "./components/chart/pie_chart/PieChart.js";
|
|
73
73
|
import { PointBox as Or } from "./components/gamification/point_box/PointBox.js";
|
|
@@ -91,72 +91,75 @@ import { SocialAuthForm as he } from "./components/auth/social_auth_form/SocialA
|
|
|
91
91
|
import { SourceBox as Te } from "./components/source/source_box/SourceBox.js";
|
|
92
92
|
import { SourceListItem as ve } from "./components/source/source_list_item/SourceListItem.js";
|
|
93
93
|
import { SourceModal as Me } from "./components/source/source_modal/SourceModal.js";
|
|
94
|
-
import { StandardErrorBoundary as
|
|
95
|
-
import { SuggestionBanner as
|
|
96
|
-
import { SuggestionBox as
|
|
97
|
-
import { SuggestionInput as
|
|
94
|
+
import { StandardErrorBoundary as be } from "./components/error/standard_error_boundary/StandardErrorBoundary.js";
|
|
95
|
+
import { SuggestionBanner as De } from "./components/suggestion/suggestion_banner/SuggestionBanner.js";
|
|
96
|
+
import { SuggestionBox as Ue } from "./components/suggestion/suggestion_box/SuggestionBox.js";
|
|
97
|
+
import { SuggestionInput as Ee } from "./components/suggestion/suggestion_input/SuggestionInput.js";
|
|
98
98
|
import { SuggestionVoteBox as ye } from "./components/vote/suggestion_vote_box/SuggestionVoteBox.js";
|
|
99
99
|
import { Summary as He } from "./components/summary/summary/Summary.js";
|
|
100
100
|
import { SummaryBox as Oe } from "./components/summary/summary_box/SummaryBox.js";
|
|
101
101
|
import { SummaryContentBox as _e } from "./components/user_content/summary_content_box/SummaryContentBox.js";
|
|
102
|
-
import {
|
|
103
|
-
import {
|
|
104
|
-
import {
|
|
105
|
-
import {
|
|
106
|
-
import {
|
|
107
|
-
import {
|
|
108
|
-
import {
|
|
109
|
-
import {
|
|
110
|
-
import {
|
|
111
|
-
import {
|
|
112
|
-
import {
|
|
113
|
-
import {
|
|
114
|
-
import {
|
|
115
|
-
import {
|
|
116
|
-
import {
|
|
117
|
-
import {
|
|
118
|
-
import {
|
|
119
|
-
import {
|
|
120
|
-
import {
|
|
121
|
-
import {
|
|
122
|
-
import {
|
|
123
|
-
import {
|
|
124
|
-
import {
|
|
125
|
-
import {
|
|
126
|
-
import {
|
|
127
|
-
import {
|
|
128
|
-
import {
|
|
129
|
-
import {
|
|
130
|
-
import {
|
|
131
|
-
import {
|
|
132
|
-
import {
|
|
133
|
-
import {
|
|
134
|
-
import {
|
|
135
|
-
import {
|
|
136
|
-
import {
|
|
137
|
-
import {
|
|
138
|
-
import {
|
|
139
|
-
import {
|
|
140
|
-
import {
|
|
141
|
-
import {
|
|
142
|
-
import {
|
|
143
|
-
import {
|
|
144
|
-
import {
|
|
145
|
-
import {
|
|
146
|
-
import {
|
|
147
|
-
import {
|
|
148
|
-
import {
|
|
149
|
-
import {
|
|
150
|
-
import {
|
|
151
|
-
import {
|
|
152
|
-
import {
|
|
153
|
-
import {
|
|
154
|
-
import {
|
|
155
|
-
import {
|
|
156
|
-
import {
|
|
157
|
-
import {
|
|
158
|
-
import {
|
|
159
|
-
import {
|
|
102
|
+
import { Tab as Ke } from "./components/navigation/tabs/Tab.js";
|
|
103
|
+
import { TabPanel as We } from "./components/navigation/tabs/TabPanel.js";
|
|
104
|
+
import { Tabs as je } from "./components/navigation/tabs/Tabs.js";
|
|
105
|
+
import { Tag as Qe } from "./components/tag/tag/Tag.js";
|
|
106
|
+
import { TextEditor as Ze } from "./components/input/text_editor/TextEditor.js";
|
|
107
|
+
import { TextInput as rt } from "./components/input/text_input/TextInput.js";
|
|
108
|
+
import { Toast as tt } from "./components/dialog/toast/Toast.js";
|
|
109
|
+
import { ToastProvider as mt } from "./components/dialog/toast_provider/ToastProvider.js";
|
|
110
|
+
import { Toggle as ft } from "./components/input/toggle/Toggle.js";
|
|
111
|
+
import { TogglePosition as at } from "./components/input/toggle_position/TogglePosition.js";
|
|
112
|
+
import { Tooltip as st } from "./components/dialog/tooltip/Tooltip.js";
|
|
113
|
+
import { TopArguments as dt } from "./components/argument/top_arguments/TopArguments.js";
|
|
114
|
+
import { TranslatedContent as gt } from "./components/translation/translated_content/TranslatedContent.js";
|
|
115
|
+
import { TranslationButton as Bt } from "./components/translation/translation_button/TranslationButton.js";
|
|
116
|
+
import { UpDownVoteBox as Ct } from "./components/vote/up_down_vote_box/UpDownVoteBox.js";
|
|
117
|
+
import { UpdateUserInfoModal as ht } from "./components/user/update_user_info_modal/UpdateUserInfoModal.js";
|
|
118
|
+
import { UserBox as Tt } from "./components/user/user_box/UserBox.js";
|
|
119
|
+
import { UserBoxSmall as vt } from "./components/user/user_box_small/UserBoxSmall.js";
|
|
120
|
+
import { UserContentSkeleton as Mt } from "./components/skeleton/user_content_skeleton/UserContentSkeleton.js";
|
|
121
|
+
import { VoteBox as bt } from "./components/vote/vote_box/VoteBox.js";
|
|
122
|
+
import { VoteButton as Dt } from "./components/vote/vote_button/VoteButton.js";
|
|
123
|
+
import { VoteContext as Ut, VoteProvider as wt } from "./components/vote/vote_provider/VoteProvider.js";
|
|
124
|
+
import { VotePaginatedList as Vt } from "./components/list/paginated_list/VotePaginatedList.js";
|
|
125
|
+
import { WithAd as Nt } from "./components/ad/with_ad/WithAd.js";
|
|
126
|
+
import { authTokenHandler as Gt } from "./components/auth/use_auth/authTokenHandler.js";
|
|
127
|
+
import { classes as $t, getAccent as _t } from "./components/input/text_input/color-accent.js";
|
|
128
|
+
import { dataProvider as Kt } from "./components/data/data_provider/DataProvider.js";
|
|
129
|
+
import { extractFormData as Wt } from "./components/forms/form/extract-form-data.js";
|
|
130
|
+
import { getTranslatedContent as jt, useTranslatedContent as Jt } from "./components/translation/translated_content/useTranslatedContent.js";
|
|
131
|
+
import { httpClient as Xt } from "./components/data/axios_client/httpClient.js";
|
|
132
|
+
import { lexicalToHtml as ox } from "./components/input/text_editor/lexicalToHtml.js";
|
|
133
|
+
import { makeStorage as ex } from "./components/auth/use_auth/AuthStorage.js";
|
|
134
|
+
import { uniqueBy as xx } from "./components/util/unique_by/uniqueBy.js";
|
|
135
|
+
import { useAuth as px } from "./components/auth/use_auth/useAuth.js";
|
|
136
|
+
import { useAuthInterceptor as nx } from "./components/auth/use_auth/useAuthInterceptor.js";
|
|
137
|
+
import { useAuthRequired as ix } from "./components/hooks/use_auth_required/useAuthRequired.js";
|
|
138
|
+
import { useConfig as ux } from "./components/data/config_provider/useConfig.js";
|
|
139
|
+
import { useCssTheme as lx } from "./components/hooks/use_css_theme/useCssTheme.js";
|
|
140
|
+
import { useData as cx } from "./components/data/data_provider/useData.js";
|
|
141
|
+
import { useDataProvider as Sx } from "./components/data/data_provider/useDataProvider.js";
|
|
142
|
+
import { useDeleteContent as Ax } from "./components/user_content/use_delete_content/useDeleteContent.js";
|
|
143
|
+
import { useFollow as Ix } from "./components/follow/use_follow/useFollow.js";
|
|
144
|
+
import { useFontLoader as Px } from "./components/hooks/use_font_loader/useFontLoader.js";
|
|
145
|
+
import { useForm as Lx } from "./components/forms/form/use-form.js";
|
|
146
|
+
import { useFormContext as Fx } from "./components/forms/form/use-form-context.js";
|
|
147
|
+
import { useFormValidation as kx } from "./components/forms/use_form_validation/useFormValidation.js";
|
|
148
|
+
import { useGoogleAdManager as Rx } from "./components/ad/use_google_ad_manager/useGoogleAdManager.js";
|
|
149
|
+
import { useInput as wx } from "./components/input/input_provider/useInput.js";
|
|
150
|
+
import { useList as Vx } from "./components/list/list_provider/useList.js";
|
|
151
|
+
import { useLocale as Nx } from "./components/intl/intl_provider/useLocale.js";
|
|
152
|
+
import { useMatomo as Gx } from "./components/hooks/use_matomo/useMatomo.js";
|
|
153
|
+
import { useModal as $x } from "./components/dialog/modal/useModal.js";
|
|
154
|
+
import { useRelativeTime as qx } from "./components/hooks/use_relative_time/useRelativeTime.js";
|
|
155
|
+
import { useReportContent as zx } from "./components/user_content/use_report_content/useReportContent.js";
|
|
156
|
+
import { useResponsive as Yx } from "./components/hooks/use_responsive/useResponsive.js";
|
|
157
|
+
import { useRichContent as Jx } from "./components/argument/argument/useRichContent.js";
|
|
158
|
+
import { useRoutes as Xx } from "./components/data/config_provider/useRoutes.js";
|
|
159
|
+
import { useToast as om } from "./components/dialog/toast_provider/useToast.js";
|
|
160
|
+
import { useUpdateUserInfo as em } from "./components/user/update_user_info_modal/useUpdateUserInfo.js";
|
|
161
|
+
import { useVote as xm } from "./components/vote/use_vote/useVote.js";
|
|
162
|
+
import { withConfig as pm } from "./components/data/config_provider/withConfig.js";
|
|
160
163
|
export {
|
|
161
164
|
f as ActionBar,
|
|
162
165
|
a as AdUnit,
|
|
@@ -169,10 +172,10 @@ export {
|
|
|
169
172
|
T as AuthModal,
|
|
170
173
|
v as AuthProvider,
|
|
171
174
|
F as AuthProviderFactory,
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
175
|
+
k as AuthorBox,
|
|
176
|
+
R as Avatar,
|
|
177
|
+
w as AvatarSelector,
|
|
178
|
+
V as BackLink,
|
|
176
179
|
N as BadgeBox,
|
|
177
180
|
G as BoxSkeleton,
|
|
178
181
|
$ as Button,
|
|
@@ -195,10 +198,10 @@ export {
|
|
|
195
198
|
To as ExpandableText,
|
|
196
199
|
vo as FacebookLoginButton,
|
|
197
200
|
Mo as FollowButton,
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
201
|
+
bo as Form,
|
|
202
|
+
Do as FormContext,
|
|
203
|
+
Uo as GoogleLoginButton,
|
|
204
|
+
Eo as HashScroll,
|
|
202
205
|
yo as Icon,
|
|
203
206
|
Ho as IconContext,
|
|
204
207
|
Go as IconProvider,
|
|
@@ -222,10 +225,10 @@ export {
|
|
|
222
225
|
Tr as ModalProvider,
|
|
223
226
|
vr as NavbarButton,
|
|
224
227
|
Mr as NavbarModal,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
228
|
+
br as NotificationItem,
|
|
229
|
+
Dr as NotificationMenu,
|
|
230
|
+
Ur as OAuth2Button,
|
|
231
|
+
Er as PaginatedList,
|
|
229
232
|
yr as Pagination,
|
|
230
233
|
Hr as PieChart,
|
|
231
234
|
Or as PointBox,
|
|
@@ -249,82 +252,85 @@ export {
|
|
|
249
252
|
Te as SourceBox,
|
|
250
253
|
ve as SourceListItem,
|
|
251
254
|
Me as SourceModal,
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
255
|
+
be as StandardErrorBoundary,
|
|
256
|
+
De as SuggestionBanner,
|
|
257
|
+
Ue as SuggestionBox,
|
|
258
|
+
Ee as SuggestionInput,
|
|
256
259
|
ye as SuggestionVoteBox,
|
|
257
260
|
He as Summary,
|
|
258
261
|
Oe as SummaryBox,
|
|
259
262
|
_e as SummaryContentBox,
|
|
260
|
-
Ke as
|
|
261
|
-
We as
|
|
262
|
-
je as
|
|
263
|
-
Qe as
|
|
264
|
-
Ze as
|
|
265
|
-
rt as
|
|
266
|
-
tt as
|
|
267
|
-
mt as
|
|
268
|
-
ft as
|
|
269
|
-
at as
|
|
270
|
-
st as
|
|
271
|
-
dt as
|
|
272
|
-
gt as
|
|
273
|
-
Bt as
|
|
274
|
-
Ct as
|
|
275
|
-
ht as
|
|
276
|
-
Tt as
|
|
277
|
-
vt as
|
|
278
|
-
Mt as
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
Ut as
|
|
282
|
-
|
|
263
|
+
Ke as Tab,
|
|
264
|
+
We as TabPanel,
|
|
265
|
+
je as Tabs,
|
|
266
|
+
Qe as Tag,
|
|
267
|
+
Ze as TextEditor,
|
|
268
|
+
rt as TextInput,
|
|
269
|
+
tt as Toast,
|
|
270
|
+
mt as ToastProvider,
|
|
271
|
+
ft as Toggle,
|
|
272
|
+
at as TogglePosition,
|
|
273
|
+
st as Tooltip,
|
|
274
|
+
dt as TopArguments,
|
|
275
|
+
gt as TranslatedContent,
|
|
276
|
+
Bt as TranslationButton,
|
|
277
|
+
Ct as UpDownVoteBox,
|
|
278
|
+
ht as UpdateUserInfoModal,
|
|
279
|
+
Tt as UserBox,
|
|
280
|
+
vt as UserBoxSmall,
|
|
281
|
+
Mt as UserContentSkeleton,
|
|
282
|
+
bt as VoteBox,
|
|
283
|
+
Dt as VoteButton,
|
|
284
|
+
Ut as VoteContext,
|
|
285
|
+
Vt as VotePaginatedList,
|
|
286
|
+
wt as VoteProvider,
|
|
287
|
+
Nt as WithAd,
|
|
288
|
+
Gt as authTokenHandler,
|
|
283
289
|
r as bildIcons,
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
290
|
+
$t as classes,
|
|
291
|
+
Kt as dataProvider,
|
|
292
|
+
Wt as extractFormData,
|
|
293
|
+
_t as getAccent,
|
|
288
294
|
tr as getLocaleIcon,
|
|
289
295
|
xr as getLocaleName,
|
|
290
|
-
|
|
296
|
+
jt as getTranslatedContent,
|
|
291
297
|
t as heroIcons,
|
|
292
|
-
|
|
298
|
+
Xt as httpClient,
|
|
293
299
|
x as kroneIcons,
|
|
294
|
-
|
|
295
|
-
|
|
300
|
+
ox as lexicalToHtml,
|
|
301
|
+
ex as makeStorage,
|
|
296
302
|
o as regularIcons,
|
|
297
303
|
e as spiegelIcons,
|
|
298
|
-
|
|
299
|
-
|
|
304
|
+
xx as uniqueBy,
|
|
305
|
+
px as useAuth,
|
|
300
306
|
Co as useAuthActions,
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
307
|
+
nx as useAuthInterceptor,
|
|
308
|
+
ix as useAuthRequired,
|
|
309
|
+
ux as useConfig,
|
|
310
|
+
lx as useCssTheme,
|
|
311
|
+
cx as useData,
|
|
312
|
+
Sx as useDataProvider,
|
|
313
|
+
Ax as useDeleteContent,
|
|
314
|
+
Ix as useFollow,
|
|
315
|
+
Px as useFontLoader,
|
|
316
|
+
Lx as useForm,
|
|
317
|
+
Fx as useFormContext,
|
|
318
|
+
kx as useFormValidation,
|
|
319
|
+
Rx as useGoogleAdManager,
|
|
320
|
+
wx as useInput,
|
|
321
|
+
Vx as useList,
|
|
322
|
+
Nx as useLocale,
|
|
323
|
+
Gx as useMatomo,
|
|
324
|
+
$x as useModal,
|
|
325
|
+
qx as useRelativeTime,
|
|
326
|
+
zx as useReportContent,
|
|
327
|
+
Yx as useResponsive,
|
|
328
|
+
Jx as useRichContent,
|
|
329
|
+
Xx as useRoutes,
|
|
330
|
+
om as useToast,
|
|
331
|
+
Jt as useTranslatedContent,
|
|
332
|
+
em as useUpdateUserInfo,
|
|
333
|
+
xm as useVote,
|
|
328
334
|
L as withAuth,
|
|
329
|
-
|
|
335
|
+
pm as withConfig
|
|
330
336
|
};
|
package/package.json
CHANGED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
2
|
-
import cx from "classnames";
|
|
3
|
-
import styles from "./tabs.stories.module.scss";
|
|
4
|
-
|
|
5
|
-
const TabsDemo = ({ tabs }) => {
|
|
6
|
-
const [activeTab, setActiveTab] = useState(0);
|
|
7
|
-
|
|
8
|
-
return (
|
|
9
|
-
<div>
|
|
10
|
-
<nav>
|
|
11
|
-
<ul className={styles.navTabs}>
|
|
12
|
-
{tabs.map((tab, index) => (
|
|
13
|
-
<li key={tab} className={styles.navItem}>
|
|
14
|
-
<div
|
|
15
|
-
className={cx(styles.navLink, {
|
|
16
|
-
[styles.active]: activeTab === index,
|
|
17
|
-
})}
|
|
18
|
-
onClick={() => setActiveTab(index)}
|
|
19
|
-
onKeyUp={(e) => {
|
|
20
|
-
if (e.key === "Enter" || e.key === " ") setActiveTab(index);
|
|
21
|
-
}}
|
|
22
|
-
role="tab"
|
|
23
|
-
tabIndex={0}
|
|
24
|
-
aria-selected={activeTab === index}
|
|
25
|
-
>
|
|
26
|
-
{tab}
|
|
27
|
-
</div>
|
|
28
|
-
</li>
|
|
29
|
-
))}
|
|
30
|
-
</ul>
|
|
31
|
-
</nav>
|
|
32
|
-
<div className={styles.tabContent}>
|
|
33
|
-
{tabs.map((tab, index) => (
|
|
34
|
-
<div
|
|
35
|
-
key={tab}
|
|
36
|
-
className={cx(styles.tabPane, { [styles.active]: activeTab === index })}
|
|
37
|
-
>
|
|
38
|
-
Contenu de l'onglet : <strong>{tab}</strong>
|
|
39
|
-
</div>
|
|
40
|
-
))}
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const meta = {
|
|
47
|
-
title: "Styles/Tabs",
|
|
48
|
-
component: TabsDemo,
|
|
49
|
-
args: {
|
|
50
|
-
tabs: ["Onglet 1", "Onglet 2", "Onglet 3"],
|
|
51
|
-
},
|
|
52
|
-
argTypes: {
|
|
53
|
-
tabs: { control: "object" },
|
|
54
|
-
},
|
|
55
|
-
render: (args) => <TabsDemo {...args} />,
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export default meta;
|
|
59
|
-
|
|
60
|
-
export const DefaultTabs = {};
|
|
61
|
-
|
|
62
|
-
export const TwoTabs = {
|
|
63
|
-
args: {
|
|
64
|
-
tabs: ["En cours", "Sélectionnés"],
|
|
65
|
-
},
|
|
66
|
-
};
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
@use '../theme' as theme;
|
|
2
|
-
@use '../spacing' as spacing;
|
|
3
|
-
@use '../display' as display;
|
|
4
|
-
|
|
5
|
-
:global(.MuiTab-root:focus) {
|
|
6
|
-
outline: none !important;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.navTabs {
|
|
10
|
-
display: flex;
|
|
11
|
-
flex-wrap: nowrap;
|
|
12
|
-
gap: spacing.$spacer-lg;
|
|
13
|
-
white-space: nowrap;
|
|
14
|
-
padding-left: 0;
|
|
15
|
-
margin-bottom: 0;
|
|
16
|
-
border-bottom: 0 !important;
|
|
17
|
-
list-style: none;
|
|
18
|
-
|
|
19
|
-
@include display.media-breakpoint-down(xs) {
|
|
20
|
-
font-size: theme.$font-size-normal;
|
|
21
|
-
gap: spacing.$spacer;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
&::-webkit-scrollbar {
|
|
25
|
-
display: none;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.navLink {
|
|
29
|
-
border: 1px solid transparent;
|
|
30
|
-
border-top-left-radius: theme.$box-border-radius;
|
|
31
|
-
border-top-right-radius: theme.$box-border-radius;
|
|
32
|
-
|
|
33
|
-
&:hover,
|
|
34
|
-
&:focus {
|
|
35
|
-
border-color: theme.$text-tertiary theme.$text-tertiary theme.$darken-text-tertiary;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
&.disabled {
|
|
39
|
-
color: theme.$darkest-text-tertiary;
|
|
40
|
-
background-color: transparent;
|
|
41
|
-
border-color: transparent;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.navLink.active,
|
|
46
|
-
.navItem.show .navLink {
|
|
47
|
-
color: theme.$text-secondary;
|
|
48
|
-
background-color: theme.$background-color-primary;
|
|
49
|
-
border-color: theme.$darken-text-tertiary theme.$darken-text-tertiary theme.$background-color-primary;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.navLink {
|
|
54
|
-
display: block;
|
|
55
|
-
padding-bottom: spacing.$spacer-sm;
|
|
56
|
-
|
|
57
|
-
&:hover,
|
|
58
|
-
&:focus {
|
|
59
|
-
text-decoration: none;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Disabled state lightens text
|
|
63
|
-
&.disabled {
|
|
64
|
-
color: theme.$darkest-text-tertiary;
|
|
65
|
-
pointer-events: none;
|
|
66
|
-
cursor: default;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.tabContent {
|
|
71
|
-
>.tabPane {
|
|
72
|
-
display: none;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
>.active {
|
|
76
|
-
display: block;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.navTabs .navItem {
|
|
81
|
-
cursor: pointer;
|
|
82
|
-
position: relative;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.navLink.active,
|
|
86
|
-
.navLink:focus,
|
|
87
|
-
.navLink.active:hover {
|
|
88
|
-
background: transparent;
|
|
89
|
-
border-width: 0 !important;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
.navLink {
|
|
93
|
-
border: none !important;
|
|
94
|
-
color: theme.$text-primary;
|
|
95
|
-
outline: 0;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.navLink.active {
|
|
99
|
-
border: none !important;
|
|
100
|
-
color: theme.$text-primary !important;
|
|
101
|
-
background: transparent;
|
|
102
|
-
font-weight: theme.$font-weight-bold;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.navLink:hover {
|
|
106
|
-
border: none !important;
|
|
107
|
-
color: theme.$text-primary !important;
|
|
108
|
-
background: transparent;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.navLink::after {
|
|
112
|
-
content: "";
|
|
113
|
-
background-color: theme.$text-primary;
|
|
114
|
-
height: 2px;
|
|
115
|
-
position: absolute;
|
|
116
|
-
width: 100%;
|
|
117
|
-
left: 0;
|
|
118
|
-
bottom: -1px;
|
|
119
|
-
z-index: 1;
|
|
120
|
-
transition: all 250ms ease 0s;
|
|
121
|
-
transform: scale(0);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.navLink.active::after,
|
|
125
|
-
.navTabs>.navItem:hover>.navLink::after {
|
|
126
|
-
transform: scale(1);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
.navLink.active:hover {
|
|
130
|
-
background: transparent;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
.tabPane {
|
|
134
|
-
padding: 10px 0;
|
|
135
|
-
min-height: 50vh;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
.tabContainer {
|
|
139
|
-
display: flex;
|
|
140
|
-
flex-direction: column;
|
|
141
|
-
gap: spacing.$spacer-lg;
|
|
142
|
-
@include spacing.mt(2.5, xs);
|
|
143
|
-
|
|
144
|
-
@include display.media-breakpoint-down(xs) {
|
|
145
|
-
gap: spacing.$spacer;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
.tab {
|
|
150
|
-
color: theme.$text-primary !important;
|
|
151
|
-
@include spacing.px(0, xs);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
.tabSelected {
|
|
155
|
-
color: theme.$text-primary !important;
|
|
156
|
-
font-weight: theme.$font-weight-bold !important;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
.tabIndicator {
|
|
160
|
-
background: theme.$text-primary !important;
|
|
161
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@forward './tabs';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@use './tabs';
|