quirk-ui 0.0.99 → 0.0.101
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/index33.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._tabs_16efz_1{display:flex;flex-direction:column;width:100%}._tabsList_16efz_7{display:flex;border-bottom:2px solid var(--color-border)}._left_16efz_12{justify-content:flex-start}._center_16efz_16{justify-content:center}._right_16efz_20{justify-content:flex-end}._tabsTrigger_16efz_24{padding:var(--spacing-md);border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;color:var(--color-muted);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);transition:color .3s ease,border-color .3s ease;position:relative;top:2px}._tabsTrigger_16efz_24._active_16efz_38{border-color:var(--color-primary);color:var(--color-primary)}._tabsPanelWrapper_16efz_43{position:relative;overflow:hidden;height:auto;transition:height .3s ease-in-out}._tabsPanel_16efz_43{animation:_fadeSlide_16efz_1 .3s ease both;position:relative;width:100%;padding:var(--spacing-md);color:var(--color-text-primary)}@keyframes _fadeSlide_16efz_1{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -1,89 +1,100 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import { TabsContext as
|
|
4
|
-
import '../../assets/index33.css';const
|
|
5
|
-
tabs:
|
|
6
|
-
tabsList:
|
|
7
|
-
left:
|
|
8
|
-
center:
|
|
9
|
-
right:
|
|
10
|
-
tabsTrigger:
|
|
11
|
-
active:
|
|
12
|
-
tabsPanelWrapper:
|
|
13
|
-
tabsPanel:
|
|
14
|
-
},
|
|
1
|
+
import { jsx as b, jsxs as h } from "react/jsx-runtime";
|
|
2
|
+
import z, { useState as x, useId as L, useRef as _, useMemo as w, useEffect as I } from "react";
|
|
3
|
+
import { TabsContext as A, useTabsContext as g } from "./Context.js";
|
|
4
|
+
import '../../assets/index33.css';const R = "_tabs_16efz_1", d = "_tabsList_16efz_7", C = "_left_16efz_12", N = "_center_16efz_16", H = "_right_16efz_20", W = "_tabsTrigger_16efz_24", k = "_active_16efz_38", M = "_tabsPanelWrapper_16efz_43", j = "_tabsPanel_16efz_43", n = {
|
|
5
|
+
tabs: R,
|
|
6
|
+
tabsList: d,
|
|
7
|
+
left: C,
|
|
8
|
+
center: N,
|
|
9
|
+
right: H,
|
|
10
|
+
tabsTrigger: W,
|
|
11
|
+
active: k,
|
|
12
|
+
tabsPanelWrapper: M,
|
|
13
|
+
tabsPanel: j
|
|
14
|
+
}, D = {
|
|
15
15
|
left: n.left,
|
|
16
16
|
center: n.center,
|
|
17
17
|
right: n.right
|
|
18
18
|
};
|
|
19
|
-
function
|
|
19
|
+
function v({
|
|
20
20
|
children: r,
|
|
21
|
-
defaultIndex:
|
|
21
|
+
defaultIndex: e = 0,
|
|
22
22
|
align: a = "left"
|
|
23
23
|
}) {
|
|
24
|
-
const [s, f] =
|
|
25
|
-
() => ({ activeIndex: s, setActiveIndex: f, idPrefix:
|
|
26
|
-
[s,
|
|
24
|
+
const [s, f] = x(e), o = L(), p = [], u = [], c = _(null), i = _([]), T = w(
|
|
25
|
+
() => ({ activeIndex: s, setActiveIndex: f, idPrefix: o, align: a, panelRefs: i }),
|
|
26
|
+
[s, o, a]
|
|
27
27
|
);
|
|
28
|
-
return
|
|
29
|
-
var
|
|
30
|
-
(
|
|
31
|
-
}),
|
|
32
|
-
c,
|
|
33
|
-
|
|
28
|
+
return z.Children.forEach(r, (t) => {
|
|
29
|
+
var l;
|
|
30
|
+
(t == null ? void 0 : t.type) === $ ? p.push(t) : ((t == null ? void 0 : t.type) === y || ((l = t == null ? void 0 : t.type) == null ? void 0 : l.name) === "Panel") && u.push(t);
|
|
31
|
+
}), I(() => {
|
|
32
|
+
const t = c.current, l = i.current[s];
|
|
33
|
+
if (t && l) {
|
|
34
|
+
const P = t.offsetHeight, m = l.offsetHeight;
|
|
35
|
+
P !== m && (t.style.height = `${P}px`, requestAnimationFrame(() => {
|
|
36
|
+
t.style.height = `${m}px`;
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
}, [s]), /* @__PURE__ */ b(A.Provider, { value: T, children: /* @__PURE__ */ h("div", { className: n.tabs, children: [
|
|
40
|
+
p,
|
|
41
|
+
/* @__PURE__ */ b("div", { ref: c, className: n.tabsPanelWrapper, children: u })
|
|
34
42
|
] }) });
|
|
35
43
|
}
|
|
36
|
-
function
|
|
37
|
-
const { align:
|
|
38
|
-
return /* @__PURE__ */
|
|
44
|
+
function $({ children: r }) {
|
|
45
|
+
const { align: e } = g();
|
|
46
|
+
return /* @__PURE__ */ b(
|
|
39
47
|
"div",
|
|
40
48
|
{
|
|
41
|
-
className: `${n.tabsList} ${
|
|
49
|
+
className: `${n.tabsList} ${D[e]}`,
|
|
42
50
|
role: "tablist",
|
|
43
51
|
"aria-label": "Tabs",
|
|
44
52
|
children: r
|
|
45
53
|
}
|
|
46
54
|
);
|
|
47
55
|
}
|
|
48
|
-
function
|
|
49
|
-
const { activeIndex: a, setActiveIndex: s, idPrefix: f } =
|
|
50
|
-
|
|
51
|
-
},
|
|
52
|
-
return /* @__PURE__ */
|
|
56
|
+
function E({ children: r, index: e }) {
|
|
57
|
+
const { activeIndex: a, setActiveIndex: s, idPrefix: f } = g(), o = _(null), p = (c) => {
|
|
58
|
+
c.key === "ArrowRight" ? s((i) => i + 1) : c.key === "ArrowLeft" && s((i) => Math.max(0, i - 1));
|
|
59
|
+
}, u = a === e;
|
|
60
|
+
return /* @__PURE__ */ b(
|
|
53
61
|
"button",
|
|
54
62
|
{
|
|
55
|
-
className: `${n.tabsTrigger} ${
|
|
63
|
+
className: `${n.tabsTrigger} ${u ? n.active : ""}`,
|
|
56
64
|
role: "tab",
|
|
57
|
-
ref:
|
|
58
|
-
id: `${f}-tab-${
|
|
59
|
-
"aria-selected": a ===
|
|
60
|
-
tabIndex: a ===
|
|
61
|
-
onClick: () => s(
|
|
62
|
-
onKeyDown:
|
|
65
|
+
ref: o,
|
|
66
|
+
id: `${f}-tab-${e}`,
|
|
67
|
+
"aria-selected": a === e,
|
|
68
|
+
tabIndex: a === e ? 0 : -1,
|
|
69
|
+
onClick: () => s(e),
|
|
70
|
+
onKeyDown: p,
|
|
63
71
|
children: r
|
|
64
72
|
}
|
|
65
73
|
);
|
|
66
74
|
}
|
|
67
|
-
function
|
|
68
|
-
const { activeIndex: a, idPrefix: s } =
|
|
69
|
-
return
|
|
75
|
+
function y({ children: r, index: e }) {
|
|
76
|
+
const { activeIndex: a, idPrefix: s, panelRefs: f } = g();
|
|
77
|
+
return e !== a ? null : /* @__PURE__ */ b(
|
|
70
78
|
"div",
|
|
71
79
|
{
|
|
80
|
+
ref: (o) => {
|
|
81
|
+
f.current[e] = o;
|
|
82
|
+
},
|
|
72
83
|
className: n.tabsPanel,
|
|
73
84
|
role: "tabpanel",
|
|
74
|
-
id: `${s}-panel-${
|
|
75
|
-
"aria-labelledby": `${s}-tab-${
|
|
76
|
-
"aria-hidden": a !==
|
|
77
|
-
hidden: a !==
|
|
85
|
+
id: `${s}-panel-${e}`,
|
|
86
|
+
"aria-labelledby": `${s}-tab-${e}`,
|
|
87
|
+
"aria-hidden": a !== e,
|
|
88
|
+
hidden: a !== e,
|
|
78
89
|
children: r
|
|
79
90
|
}
|
|
80
91
|
);
|
|
81
92
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
93
|
+
v.List = $;
|
|
94
|
+
v.Trigger = E;
|
|
95
|
+
v.Panel = y;
|
|
85
96
|
export {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
97
|
+
v as Tabs,
|
|
98
|
+
D as alignClassMap,
|
|
99
|
+
v as default
|
|
89
100
|
};
|
|
@@ -5,6 +5,7 @@ export type TabsContextType = {
|
|
|
5
5
|
setActiveIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
6
6
|
idPrefix: string;
|
|
7
7
|
align: Align;
|
|
8
|
+
panelRefs: React.RefObject<(HTMLDivElement | null)[]>;
|
|
8
9
|
};
|
|
9
10
|
export declare const TabsContext: React.Context<TabsContextType | null>;
|
|
10
11
|
export declare function useTabsContext(): TabsContextType;
|
package/dist/styles.css
CHANGED
|
@@ -30,7 +30,7 @@ ul._list_4w9h5_1{list-style-type:none;padding:0;margin:0}ol._list_4w9h5_1{list-s
|
|
|
30
30
|
._progressBarContainer_a1m8u_1{display:flex;align-items:center;justify-content:center;gap:.25rem;width:100%}._progressBar_a1m8u_1{flex:1;height:12px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;position:relative}._fill_a1m8u_18{height:100%;transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;border-radius:4px}._primary_a1m8u_29 ._fill_a1m8u_18{background-color:var(--color-primary)}._success_a1m8u_33 ._fill_a1m8u_18{background-color:var(--color-success)}._warning_a1m8u_37 ._fill_a1m8u_18{background-color:var(--color-warning)}._danger_a1m8u_41 ._fill_a1m8u_18{background-color:var(--color-error)}._label_a1m8u_45{flex:.1;position:relative;width:auto;text-align:center;color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}
|
|
31
31
|
._carousel_1e9ij_1{width:100%}@media (max-width: 767px){._carousel_1e9ij_1{padding:0 var(--spacing-lg)}}._noPointerEvents_1e9ij_9 *{pointer-events:none!important}._trackContainer_1e9ij_13{overflow:hidden;width:100%}@media (max-width: 767px){._trackContainer_1e9ij_13{overflow:visible}}._track_1e9ij_13{display:flex;transition:transform .3s ease;will-change:transform}._page_1e9ij_28{display:flex;gap:var(--spacing-md);padding:0 var(--spacing-sm)}._controls_1e9ij_34{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md);margin-left:auto;margin-right:auto;padding:0 var(--spacing-md);width:100%}._indicators_1e9ij_45{display:flex;flex-wrap:wrap;max-width:125px;gap:var(--spacing-xs)}._indicator_1e9ij_45{width:10px;height:10px;border-radius:50%;background-color:#e0e0e0;border:1px solid #fff;cursor:pointer;transition:background-color .3s}._indicator_1e9ij_45._active_1e9ij_62{background-color:var(--color-primary)}._buttons_1e9ij_66{display:flex;gap:var(--spacing-md)}._prev_1e9ij_71._disabled_1e9ij_71,._next_1e9ij_72._disabled_1e9ij_71{opacity:.5;pointer-events:none}._buttons_1e9ij_66 button:not(._disabled_1e9ij_71):hover{background-color:var(--color-primary);color:#fff}._prev_1e9ij_71,._next_1e9ij_72{background-color:#e0e0e0;color:var(--color-text-primary);border:1px solid #fff;padding:var(--spacing-sm);cursor:pointer;transition:background-color .3s,color .3s;border-radius:50%;width:40px;height:40px;display:flex;justify-content:center;align-items:center}
|
|
32
32
|
._drawer_55xty_1{position:fixed;background-color:var(--color-background);transition:transform .3s ease-in-out;z-index:1000;width:300px;height:100%;box-shadow:0 0 10px #00000026;padding:var(--spacing-md)}._right_55xty_12{top:0;right:0;transform:translate(100%)}._left_55xty_18{top:0;left:0;transform:translate(-100%)}._top_55xty_24{top:0;left:0;width:100%;height:auto;transform:translateY(-100%)}._bottom_55xty_32{bottom:0;left:0;width:100%;height:auto;transform:translateY(100%)}._open_55xty_40._right_55xty_12,._open_55xty_40._left_55xty_18{transform:translate(0)}._open_55xty_40._top_55xty_24,._open_55xty_40._bottom_55xty_32{transform:translateY(0)}._overlay_55xty_50{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0000004d;opacity:0;pointer-events:none;transition:opacity .3s ease-in-out;z-index:999}._overlay_55xty_50._show_55xty_60{opacity:1;pointer-events:all}
|
|
33
|
-
.
|
|
33
|
+
._tabs_16efz_1{display:flex;flex-direction:column;width:100%}._tabsList_16efz_7{display:flex;border-bottom:2px solid var(--color-border)}._left_16efz_12{justify-content:flex-start}._center_16efz_16{justify-content:center}._right_16efz_20{justify-content:flex-end}._tabsTrigger_16efz_24{padding:var(--spacing-md);border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;color:var(--color-muted);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);transition:color .3s ease,border-color .3s ease;position:relative;top:2px}._tabsTrigger_16efz_24._active_16efz_38{border-color:var(--color-primary);color:var(--color-primary)}._tabsPanelWrapper_16efz_43{position:relative;overflow:hidden;height:auto;transition:height .3s ease-in-out}._tabsPanel_16efz_43{animation:_fadeSlide_16efz_1 .3s ease both;position:relative;width:100%;padding:var(--spacing-md);color:var(--color-text-primary)}@keyframes _fadeSlide_16efz_1{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
|
|
34
34
|
._breadcrumbs_1nbgu_1{display:block;font-size:var(--font-size-sm);line-height:1.5}._list_1nbgu_7{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0}._item_1nbgu_15{display:flex;align-items:center}._separator_1nbgu_20{margin:0 var(--spacing-xs);color:var(--color-muted)}._link_1nbgu_25{color:var(--color-muted);text-decoration:none;transition:color .3s ease}._link_1nbgu_25:hover{color:var(--color-primary)}._label_1nbgu_35{color:var(--color-muted)}._active_1nbgu_39{font-weight:var(--font-weight-bold);color:var(--color-primary)}
|
|
35
35
|
._footer_gfid4_1{background-color:var(--color-background);padding:var(--spacing-xl) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-primary)}._container_gfid4_8{display:flex;flex-direction:column;gap:var(--spacing-xl)}._logo_gfid4_16{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}._groups_gfid4_22{display:flex;flex-wrap:wrap;gap:var(--spacing-xl)}._group_gfid4_22{min-width:140px}._groupTitle_gfid4_32{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}._sublinks_gfid4_37{position:relative}._linkList_gfid4_41{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;padding:0;margin:0}._link_gfid4_41{color:var(--color-text-primary);text-decoration:none;display:block}._link_gfid4_41:hover{color:var(--color-primary)}._bottom_gfid4_60{margin-top:var(--spacing-xl);text-align:right;font-size:var(--font-size-sm);color:var(--color-muted)}
|
|
36
36
|
._form_s0yvj_1{display:flex;flex-direction:column;gap:var(--spacing-md)}
|