@clubmed/trident-ui 1.0.0-alpha.44 → 1.0.0-alpha.45
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +7 -0
- package/assets/style.css +1 -1
- package/fonts/Actions/tui-actions.css +6 -6
- package/fonts/Actions/tui-actions.eot +0 -0
- package/fonts/Actions/tui-actions.less +6 -6
- package/fonts/Actions/tui-actions.module.less +6 -6
- package/fonts/Actions/tui-actions.scss +6 -6
- package/fonts/Actions/tui-actions.styl +6 -6
- package/fonts/Actions/tui-actions.ttf +0 -0
- package/fonts/Actions/tui-actions.woff +0 -0
- package/fonts/Actions/tui-actions.woff2 +0 -0
- package/fonts/Activities/tui-activities.css +6 -6
- package/fonts/Activities/tui-activities.eot +0 -0
- package/fonts/Activities/tui-activities.less +6 -6
- package/fonts/Activities/tui-activities.module.less +6 -6
- package/fonts/Activities/tui-activities.scss +6 -6
- package/fonts/Activities/tui-activities.styl +6 -6
- package/fonts/Activities/tui-activities.ttf +0 -0
- package/fonts/Activities/tui-activities.woff +0 -0
- package/fonts/Activities/tui-activities.woff2 +0 -0
- package/fonts/Brand/tui-brand.css +6 -6
- package/fonts/Brand/tui-brand.eot +0 -0
- package/fonts/Brand/tui-brand.less +6 -6
- package/fonts/Brand/tui-brand.module.less +6 -6
- package/fonts/Brand/tui-brand.scss +6 -6
- package/fonts/Brand/tui-brand.styl +6 -6
- package/fonts/Brand/tui-brand.ttf +0 -0
- package/fonts/Brand/tui-brand.woff +0 -0
- package/fonts/Brand/tui-brand.woff2 +0 -0
- package/fonts/Covid/tui-covid.css +6 -6
- package/fonts/Covid/tui-covid.eot +0 -0
- package/fonts/Covid/tui-covid.less +6 -6
- package/fonts/Covid/tui-covid.module.less +6 -6
- package/fonts/Covid/tui-covid.scss +6 -6
- package/fonts/Covid/tui-covid.styl +6 -6
- package/fonts/Covid/tui-covid.ttf +0 -0
- package/fonts/Covid/tui-covid.woff +0 -0
- package/fonts/Covid/tui-covid.woff2 +0 -0
- package/fonts/Food/tui-food.css +6 -6
- package/fonts/Food/tui-food.eot +0 -0
- package/fonts/Food/tui-food.less +6 -6
- package/fonts/Food/tui-food.module.less +6 -6
- package/fonts/Food/tui-food.scss +6 -6
- package/fonts/Food/tui-food.styl +6 -6
- package/fonts/Food/tui-food.ttf +0 -0
- package/fonts/Food/tui-food.woff +0 -0
- package/fonts/Food/tui-food.woff2 +0 -0
- package/fonts/HappyToCare/tui-happy-to-care.css +6 -6
- package/fonts/HappyToCare/tui-happy-to-care.eot +0 -0
- package/fonts/HappyToCare/tui-happy-to-care.less +6 -6
- package/fonts/HappyToCare/tui-happy-to-care.module.less +6 -6
- package/fonts/HappyToCare/tui-happy-to-care.scss +6 -6
- package/fonts/HappyToCare/tui-happy-to-care.styl +6 -6
- package/fonts/HappyToCare/tui-happy-to-care.ttf +0 -0
- package/fonts/HappyToCare/tui-happy-to-care.woff +0 -0
- package/fonts/HappyToCare/tui-happy-to-care.woff2 +0 -0
- package/fonts/Places/tui-places.css +6 -6
- package/fonts/Places/tui-places.eot +0 -0
- package/fonts/Places/tui-places.less +6 -6
- package/fonts/Places/tui-places.module.less +6 -6
- package/fonts/Places/tui-places.scss +6 -6
- package/fonts/Places/tui-places.styl +6 -6
- package/fonts/Places/tui-places.ttf +0 -0
- package/fonts/Places/tui-places.woff +0 -0
- package/fonts/Places/tui-places.woff2 +0 -0
- package/fonts/Room/tui-room.css +6 -6
- package/fonts/Room/tui-room.eot +0 -0
- package/fonts/Room/tui-room.less +6 -6
- package/fonts/Room/tui-room.module.less +6 -6
- package/fonts/Room/tui-room.scss +6 -6
- package/fonts/Room/tui-room.styl +6 -6
- package/fonts/Room/tui-room.ttf +0 -0
- package/fonts/Room/tui-room.woff +0 -0
- package/fonts/Room/tui-room.woff2 +0 -0
- package/fonts/Services/tui-services.css +6 -6
- package/fonts/Services/tui-services.eot +0 -0
- package/fonts/Services/tui-services.less +6 -6
- package/fonts/Services/tui-services.module.less +6 -6
- package/fonts/Services/tui-services.scss +6 -6
- package/fonts/Services/tui-services.styl +6 -6
- package/fonts/Services/tui-services.ttf +0 -0
- package/fonts/Services/tui-services.woff +0 -0
- package/fonts/Services/tui-services.woff2 +0 -0
- package/fonts/Socials/tui-socials.css +6 -6
- package/fonts/Socials/tui-socials.eot +0 -0
- package/fonts/Socials/tui-socials.less +6 -6
- package/fonts/Socials/tui-socials.module.less +6 -6
- package/fonts/Socials/tui-socials.scss +6 -6
- package/fonts/Socials/tui-socials.styl +6 -6
- package/fonts/Socials/tui-socials.ttf +0 -0
- package/fonts/Socials/tui-socials.woff +0 -0
- package/fonts/Socials/tui-socials.woff2 +0 -0
- package/fonts/Transports/tui-transports.css +6 -6
- package/fonts/Transports/tui-transports.eot +0 -0
- package/fonts/Transports/tui-transports.less +6 -6
- package/fonts/Transports/tui-transports.module.less +6 -6
- package/fonts/Transports/tui-transports.scss +6 -6
- package/fonts/Transports/tui-transports.styl +6 -6
- package/fonts/Transports/tui-transports.ttf +0 -0
- package/fonts/Transports/tui-transports.woff +0 -0
- package/fonts/Transports/tui-transports.woff2 +0 -0
- package/fonts/Utilities/tui-utilities.css +6 -6
- package/fonts/Utilities/tui-utilities.eot +0 -0
- package/fonts/Utilities/tui-utilities.less +6 -6
- package/fonts/Utilities/tui-utilities.module.less +6 -6
- package/fonts/Utilities/tui-utilities.scss +6 -6
- package/fonts/Utilities/tui-utilities.styl +6 -6
- package/fonts/Utilities/tui-utilities.ttf +0 -0
- package/fonts/Utilities/tui-utilities.woff +0 -0
- package/fonts/Utilities/tui-utilities.woff2 +0 -0
- package/hooks/__mocks__/useSafeBoop.d.ts +4 -0
- package/hooks/__mocks__/useSafeBoop.js +10 -0
- package/hooks/keyboard.constants.d.ts +38 -0
- package/hooks/keyboard.constants.js +6 -0
- package/hooks/useKeyboardControls.d.ts +12 -0
- package/hooks/useKeyboardControls.js +29 -0
- package/hooks/useSafeBoop.d.ts +5 -0
- package/hooks/useSafeBoop.js +67 -0
- package/molecules/Tabs/Body.d.ts +6 -0
- package/molecules/Tabs/Body.js +6 -0
- package/molecules/Tabs/Header.d.ts +10 -0
- package/molecules/Tabs/Header.js +60 -0
- package/molecules/Tabs/Heading.d.ts +33 -0
- package/molecules/Tabs/Heading.js +100 -0
- package/molecules/Tabs/Panel.d.ts +17 -0
- package/molecules/Tabs/Panel.js +58 -0
- package/molecules/Tabs/Tabs.d.ts +12 -0
- package/molecules/Tabs/Tabs.js +21 -0
- package/molecules/Tabs/context/TabControl.d.ts +50 -0
- package/molecules/Tabs/context/TabControl.js +82 -0
- package/molecules/Tabs/hooks/tabControl.d.ts +33 -0
- package/molecules/Tabs/hooks/tabControl.js +30 -0
- package/molecules/Tabs/theme.d.ts +10 -0
- package/molecules/Tabs/theme.js +23 -0
- package/package.json +1 -1
@@ -1,10 +1,10 @@
|
|
1
1
|
@font-face {font-family: "tui-transports";
|
2
|
-
src: url('tui-transports.eot?t=
|
3
|
-
src: url('tui-transports.eot?t=
|
4
|
-
url("tui-transports.woff2?t=
|
5
|
-
url("tui-transports.woff?t=
|
6
|
-
url('tui-transports.ttf?t=
|
7
|
-
url('tui-transports.svg?t=
|
2
|
+
src: url('tui-transports.eot?t=1714057272599'); /* IE9*/
|
3
|
+
src: url('tui-transports.eot?t=1714057272599#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
4
|
+
url("tui-transports.woff2?t=1714057272599") format("woff2"),
|
5
|
+
url("tui-transports.woff?t=1714057272599") format("woff"),
|
6
|
+
url('tui-transports.ttf?t=1714057272599') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
7
|
+
url('tui-transports.svg?t=1714057272599#tui-transports') format('svg'); /* iOS 4.1- */
|
8
8
|
}
|
9
9
|
|
10
10
|
[class^="tui-transports-"], [class*=" tui-transports-"] {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
@font-face {font-family: "tui-transports";
|
2
|
-
src: url('tui-transports.eot?t=
|
3
|
-
src: url('tui-transports.eot?t=
|
4
|
-
url("tui-transports.woff2?t=
|
5
|
-
url("tui-transports.woff?t=
|
6
|
-
url('tui-transports.ttf?t=
|
7
|
-
url('tui-transports.svg?t=
|
2
|
+
src: url('tui-transports.eot?t=1714057272599'); /* IE9*/
|
3
|
+
src: url('tui-transports.eot?t=1714057272599#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
4
|
+
url("tui-transports.woff2?t=1714057272599") format("woff2"),
|
5
|
+
url("tui-transports.woff?t=1714057272599") format("woff"),
|
6
|
+
url('tui-transports.ttf?t=1714057272599') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
7
|
+
url('tui-transports.svg?t=1714057272599#tui-transports') format('svg'); /* iOS 4.1- */
|
8
8
|
}
|
9
9
|
|
10
10
|
[class^="tui-transports-"], [class*=" tui-transports-"] {
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,11 +1,11 @@
|
|
1
1
|
@font-face {
|
2
2
|
font-family: "tui-utilities";
|
3
|
-
src: url('tui-utilities.eot?t=
|
4
|
-
src: url('tui-utilities.eot?t=
|
5
|
-
url("tui-utilities.woff2?t=
|
6
|
-
url("tui-utilities.woff?t=
|
7
|
-
url('tui-utilities.ttf?t=
|
8
|
-
url('tui-utilities.svg?t=
|
3
|
+
src: url('tui-utilities.eot?t=1714057272749'); /* IE9*/
|
4
|
+
src: url('tui-utilities.eot?t=1714057272749#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
5
|
+
url("tui-utilities.woff2?t=1714057272749") format("woff2"),
|
6
|
+
url("tui-utilities.woff?t=1714057272749") format("woff"),
|
7
|
+
url('tui-utilities.ttf?t=1714057272749') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
8
|
+
url('tui-utilities.svg?t=1714057272749#tui-utilities') format('svg'); /* iOS 4.1- */
|
9
9
|
}
|
10
10
|
|
11
11
|
[class^="tui-utilities-"], [class*=" tui-utilities-"] {
|
Binary file
|
@@ -1,10 +1,10 @@
|
|
1
1
|
@font-face {font-family: "tui-utilities";
|
2
|
-
src: url('tui-utilities.eot?t=
|
3
|
-
src: url('tui-utilities.eot?t=
|
4
|
-
url("tui-utilities.woff2?t=
|
5
|
-
url("tui-utilities.woff?t=
|
6
|
-
url('tui-utilities.ttf?t=
|
7
|
-
url('tui-utilities.svg?t=
|
2
|
+
src: url('tui-utilities.eot?t=1714057272749'); /* IE9*/
|
3
|
+
src: url('tui-utilities.eot?t=1714057272749#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
4
|
+
url("tui-utilities.woff2?t=1714057272749") format("woff2"),
|
5
|
+
url("tui-utilities.woff?t=1714057272749") format("woff"),
|
6
|
+
url('tui-utilities.ttf?t=1714057272749') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
7
|
+
url('tui-utilities.svg?t=1714057272749#tui-utilities') format('svg'); /* iOS 4.1- */
|
8
8
|
}
|
9
9
|
|
10
10
|
[class^="tui-utilities-"], [class*=" tui-utilities-"] {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
@font-face {font-family: "tui-utilities";
|
2
|
-
src: url('tui-utilities.eot?t=
|
3
|
-
src: url('tui-utilities.eot?t=
|
4
|
-
url("tui-utilities.woff2?t=
|
5
|
-
url("tui-utilities.woff?t=
|
6
|
-
url('tui-utilities.ttf?t=
|
7
|
-
url('tui-utilities.svg?t=
|
2
|
+
src: url('tui-utilities.eot?t=1714057272749'); /* IE9*/
|
3
|
+
src: url('tui-utilities.eot?t=1714057272749#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
4
|
+
url("tui-utilities.woff2?t=1714057272749") format("woff2"),
|
5
|
+
url("tui-utilities.woff?t=1714057272749") format("woff"),
|
6
|
+
url('tui-utilities.ttf?t=1714057272749') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
7
|
+
url('tui-utilities.svg?t=1714057272749#tui-utilities') format('svg'); /* iOS 4.1- */
|
8
8
|
}
|
9
9
|
|
10
10
|
[class^="tui-utilities-"], [class*=" tui-utilities-"] {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
@font-face {font-family: "tui-utilities";
|
2
|
-
src: url('tui-utilities.eot?t=
|
3
|
-
src: url('tui-utilities.eot?t=
|
4
|
-
url("tui-utilities.woff2?t=
|
5
|
-
url("tui-utilities.woff?t=
|
6
|
-
url('tui-utilities.ttf?t=
|
7
|
-
url('tui-utilities.svg?t=
|
2
|
+
src: url('tui-utilities.eot?t=1714057272749'); /* IE9*/
|
3
|
+
src: url('tui-utilities.eot?t=1714057272749#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
4
|
+
url("tui-utilities.woff2?t=1714057272749") format("woff2"),
|
5
|
+
url("tui-utilities.woff?t=1714057272749") format("woff"),
|
6
|
+
url('tui-utilities.ttf?t=1714057272749') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
7
|
+
url('tui-utilities.svg?t=1714057272749#tui-utilities') format('svg'); /* iOS 4.1- */
|
8
8
|
}
|
9
9
|
|
10
10
|
[class^="tui-utilities-"], [class*=" tui-utilities-"] {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
@font-face {font-family: "tui-utilities";
|
2
|
-
src: url('tui-utilities.eot?t=
|
3
|
-
src: url('tui-utilities.eot?t=
|
4
|
-
url("tui-utilities.woff2?t=
|
5
|
-
url("tui-utilities.woff?t=
|
6
|
-
url('tui-utilities.ttf?t=
|
7
|
-
url('tui-utilities.svg?t=
|
2
|
+
src: url('tui-utilities.eot?t=1714057272749'); /* IE9*/
|
3
|
+
src: url('tui-utilities.eot?t=1714057272749#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
4
|
+
url("tui-utilities.woff2?t=1714057272749") format("woff2"),
|
5
|
+
url("tui-utilities.woff?t=1714057272749") format("woff"),
|
6
|
+
url('tui-utilities.ttf?t=1714057272749') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
7
|
+
url('tui-utilities.svg?t=1714057272749#tui-utilities') format('svg'); /* iOS 4.1- */
|
8
8
|
}
|
9
9
|
|
10
10
|
[class^="tui-utilities-"], [class*=" tui-utilities-"] {
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,38 @@
|
|
1
|
+
export declare const enum CODE {
|
2
|
+
ENTER = "Enter",
|
3
|
+
ESCAPE = "Escape",
|
4
|
+
ARROW_LEFT = "ArrowLeft",
|
5
|
+
ARROW_UP = "ArrowUp",
|
6
|
+
ARROW_RIGHT = "ArrowRight",
|
7
|
+
ARROW_DOWN = "ArrowDown",
|
8
|
+
SPACE = "Space",
|
9
|
+
END = "End",
|
10
|
+
HOME = "Home"
|
11
|
+
}
|
12
|
+
export declare const enum KEY {
|
13
|
+
ENTER = "Enter",
|
14
|
+
ESCAPE = "Escape",
|
15
|
+
ARROW_LEFT = "ArrowLeft",
|
16
|
+
ARROW_UP = "ArrowUp",
|
17
|
+
ARROW_RIGHT = "ArrowRight",
|
18
|
+
ARROW_DOWN = "ArrowDown",
|
19
|
+
END = "End",
|
20
|
+
HOME = "Home",
|
21
|
+
SPACE = " ",
|
22
|
+
/**
|
23
|
+
* @deprecated
|
24
|
+
* Used by old browers, see https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values#whitespace_keys
|
25
|
+
*/
|
26
|
+
SPACEBAR = "Spacebar"
|
27
|
+
}
|
28
|
+
export declare const enum KEY_CODE {
|
29
|
+
ENTER = 13,
|
30
|
+
ESCAPE = 27,
|
31
|
+
ARROW_LEFT = 37,
|
32
|
+
ARROW_UP = 38,
|
33
|
+
ARROW_RIGHT = 39,
|
34
|
+
ARROW_DOWN = 40,
|
35
|
+
SPACE = 32,
|
36
|
+
END = 35,
|
37
|
+
HOME = 36
|
38
|
+
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
var A = /* @__PURE__ */ ((R) => (R.ENTER = "Enter", R.ESCAPE = "Escape", R.ARROW_LEFT = "ArrowLeft", R.ARROW_UP = "ArrowUp", R.ARROW_RIGHT = "ArrowRight", R.ARROW_DOWN = "ArrowDown", R.SPACE = "Space", R.END = "End", R.HOME = "Home", R))(A || {}), r = /* @__PURE__ */ ((R) => (R.ENTER = "Enter", R.ESCAPE = "Escape", R.ARROW_LEFT = "ArrowLeft", R.ARROW_UP = "ArrowUp", R.ARROW_RIGHT = "ArrowRight", R.ARROW_DOWN = "ArrowDown", R.END = "End", R.HOME = "Home", R.SPACE = " ", R.SPACEBAR = "Spacebar", R))(r || {}), W = /* @__PURE__ */ ((R) => (R[R.ENTER = 13] = "ENTER", R[R.ESCAPE = 27] = "ESCAPE", R[R.ARROW_LEFT = 37] = "ARROW_LEFT", R[R.ARROW_UP = 38] = "ARROW_UP", R[R.ARROW_RIGHT = 39] = "ARROW_RIGHT", R[R.ARROW_DOWN = 40] = "ARROW_DOWN", R[R.SPACE = 32] = "SPACE", R[R.END = 35] = "END", R[R.HOME = 36] = "HOME", R))(W || {});
|
2
|
+
export {
|
3
|
+
A as CODE,
|
4
|
+
r as KEY,
|
5
|
+
W as KEY_CODE
|
6
|
+
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import type { KeyboardEvent } from 'react';
|
2
|
+
interface Options {
|
3
|
+
up?: VoidFunction;
|
4
|
+
down?: VoidFunction;
|
5
|
+
left?: VoidFunction;
|
6
|
+
right?: VoidFunction;
|
7
|
+
start?: VoidFunction;
|
8
|
+
end?: VoidFunction;
|
9
|
+
activate?: VoidFunction;
|
10
|
+
}
|
11
|
+
export declare const useKeyboardControls: ({ up, down, left, right, start, end, activate, }: Options) => (event: KeyboardEvent<HTMLDivElement>) => void;
|
12
|
+
export {};
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { CODE as o, KEY as f } from "./keyboard.constants.js";
|
2
|
+
const D = (u) => u.key === f.ENTER || u.key === f.SPACE || u.key === f.SPACEBAR || u.code === o.ENTER || u.code === o.SPACE, e = () => {
|
3
|
+
}, n = ({
|
4
|
+
up: u = e,
|
5
|
+
down: t = e,
|
6
|
+
left: c = e,
|
7
|
+
right: d = e,
|
8
|
+
start: E = e,
|
9
|
+
end: R = e,
|
10
|
+
activate: i = e
|
11
|
+
}) => (r) => {
|
12
|
+
if (D(r))
|
13
|
+
return i();
|
14
|
+
if (r.code === o.HOME)
|
15
|
+
return r.preventDefault(), E();
|
16
|
+
if (r.code === o.END)
|
17
|
+
return r.preventDefault(), R();
|
18
|
+
if (r.code === o.ARROW_UP)
|
19
|
+
return r.preventDefault(), u();
|
20
|
+
if (r.code === o.ARROW_DOWN)
|
21
|
+
return r.preventDefault(), t();
|
22
|
+
if (r.code === o.ARROW_RIGHT)
|
23
|
+
return r.preventDefault(), d();
|
24
|
+
if (r.code === o.ARROW_LEFT)
|
25
|
+
return r.preventDefault(), c();
|
26
|
+
};
|
27
|
+
export {
|
28
|
+
n as useKeyboardControls
|
29
|
+
};
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import { useState as f, useCallback as H, useEffect as c } from "react";
|
2
|
+
import { a as J } from "../react-spring_web.modern-BPtZcx1z.js";
|
3
|
+
var K = "(prefers-reduced-motion: no-preference)", N = function() {
|
4
|
+
return typeof window > "u" ? !0 : !window.matchMedia(K).matches;
|
5
|
+
}, O = function() {
|
6
|
+
var r = f(N), e = r[0], t = r[1];
|
7
|
+
return c(function() {
|
8
|
+
var n = window.matchMedia("(prefers-reduced-motion: no-preference)"), o = function(a) {
|
9
|
+
t(!a.matches);
|
10
|
+
};
|
11
|
+
return n.addEventListener("change", o), function() {
|
12
|
+
return n.removeEventListener("change", o);
|
13
|
+
};
|
14
|
+
}, []), e;
|
15
|
+
}, V = function(r) {
|
16
|
+
var e = r === void 0 ? {} : r, t = e.x, n = t === void 0 ? 0 : t, o = e.y, a = o === void 0 ? 0 : o, v = e.z, S = v === void 0 ? 0 : v, g = e.rotation, b = g === void 0 ? 0 : g, m = e.rx, C = m === void 0 ? 0 : m, p = e.ry, L = p === void 0 ? 0 : p, l = e.rz, Z = l === void 0 ? b : l, w = e.scale, d = w === void 0 ? 1 : w, _ = e.sx, Q = _ === void 0 ? d || 1 : _, x = e.sy, j = x === void 0 ? d || 1 : x, y = e.sz, q = y === void 0 ? d || 1 : y, k = e.skewX, P = k === void 0 ? 0 : k, h = e.skewY, U = h === void 0 ? 0 : h, T = e.timing, z = T === void 0 ? 150 : T, D = e.springConfig, A = D === void 0 ? {
|
17
|
+
tension: 300,
|
18
|
+
friction: 10
|
19
|
+
} : D, M = e.delay, Y = M === void 0 ? 0 : M, i = O(), I = f(!1), s = I[0], X = I[1], B = f(!1), E = B[0], R = B[1], F = J(i ? {} : {
|
20
|
+
transform: s ? "translate3D(" + n + "px, " + a + "px, " + S + `px)
|
21
|
+
rotateX(` + C + "deg) rotateY(" + L + "deg) rotateZ(" + Z + `deg)
|
22
|
+
scale3D(` + Q + "," + j + "," + q + `)
|
23
|
+
skew(` + P + "deg, " + U + "deg)" : `translate3D(0px, 0px, 0px)
|
24
|
+
rotateX(0deg) rotateY(0deg) rotateZ(0deg)
|
25
|
+
scale3D(1, 1, 1)
|
26
|
+
skew(0deg, 0deg)`,
|
27
|
+
config: A,
|
28
|
+
immediate: i
|
29
|
+
}), G = H(function() {
|
30
|
+
i || R(!0);
|
31
|
+
}, [i]);
|
32
|
+
return c(function() {
|
33
|
+
if (E) {
|
34
|
+
var u = window.setTimeout(function() {
|
35
|
+
X(!0), R(!1);
|
36
|
+
}, Y);
|
37
|
+
return function() {
|
38
|
+
return window.clearTimeout(u);
|
39
|
+
};
|
40
|
+
}
|
41
|
+
}, [E, Y]), c(function() {
|
42
|
+
if (s) {
|
43
|
+
var u = window.setTimeout(function() {
|
44
|
+
return X(!1);
|
45
|
+
}, z);
|
46
|
+
return function() {
|
47
|
+
return window.clearTimeout(u);
|
48
|
+
};
|
49
|
+
}
|
50
|
+
}, [s, z]), [F, G];
|
51
|
+
};
|
52
|
+
const ee = (r) => {
|
53
|
+
const [{ transform: e }, t] = V(r);
|
54
|
+
return [
|
55
|
+
{
|
56
|
+
"--transform": e || `translate3D(0px, 0px, 0px)
|
57
|
+
rotateX(0deg) rotateY(0deg) rotateZ(0deg)
|
58
|
+
scale3D(1, 1, 1)
|
59
|
+
skew(0deg, 0deg)`,
|
60
|
+
transform: "var(--transform)"
|
61
|
+
},
|
62
|
+
t
|
63
|
+
];
|
64
|
+
};
|
65
|
+
export {
|
66
|
+
ee as useSafeBoop
|
67
|
+
};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
2
|
+
import { c as a } from "../../index-Cu0xwYjD.js";
|
3
|
+
const m = ({ className: o, children: r }) => /* @__PURE__ */ s("div", { "data-name": "TabsBody", className: a("grid grid-rows-1 overflow-hidden", o), children: r });
|
4
|
+
export {
|
5
|
+
m as TabsBody
|
6
|
+
};
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { type FunctionComponent, type PropsWithChildren } from 'react';
|
2
|
+
interface Props {
|
3
|
+
className?: string;
|
4
|
+
/**
|
5
|
+
* Remove filler placeholders
|
6
|
+
*/
|
7
|
+
constrained?: boolean;
|
8
|
+
}
|
9
|
+
export declare const TabsHeader: FunctionComponent<PropsWithChildren<Props>>;
|
10
|
+
export {};
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import { jsx as l, jsxs as w } from "react/jsx-runtime";
|
2
|
+
import { c as r } from "../../index-Cu0xwYjD.js";
|
3
|
+
import { useRef as f, useEffect as v } from "react";
|
4
|
+
import { a as b, b as h } from "../../react-spring_web.modern-BPtZcx1z.js";
|
5
|
+
import { useActiveTabControl as L } from "./hooks/tabControl.js";
|
6
|
+
const k = ({
|
7
|
+
className: n,
|
8
|
+
constrained: s = !1,
|
9
|
+
children: i
|
10
|
+
}) => {
|
11
|
+
const t = f(null), a = f(null), [m, e] = L(), [{ scrollLeft: c }, o] = b(() => ({
|
12
|
+
from: { scrollLeft: 0 }
|
13
|
+
}));
|
14
|
+
v(() => {
|
15
|
+
if (!(e != null && e.current))
|
16
|
+
return;
|
17
|
+
const p = e.current.getBoundingClientRect().left, u = t.current.scrollLeft, d = a.current.offsetWidth;
|
18
|
+
o.start({
|
19
|
+
to: {
|
20
|
+
scrollLeft: u + p - d
|
21
|
+
}
|
22
|
+
});
|
23
|
+
}, [c, e, o]);
|
24
|
+
const x = { "--active-tab": m };
|
25
|
+
return /* @__PURE__ */ l(
|
26
|
+
h.div,
|
27
|
+
{
|
28
|
+
ref: t,
|
29
|
+
"data-name": "TabsHeader",
|
30
|
+
className: r(
|
31
|
+
"scrollbar-hide relative flex max-w-full overflow-x-scroll py-20",
|
32
|
+
n
|
33
|
+
),
|
34
|
+
scrollLeft: c,
|
35
|
+
children: /* @__PURE__ */ w("div", { role: "tablist", className: r("flex flex-row"), style: x, children: [
|
36
|
+
/* @__PURE__ */ l(
|
37
|
+
"div",
|
38
|
+
{
|
39
|
+
ref: a,
|
40
|
+
className: r("shrink-0", {
|
41
|
+
"w-16 lg:w-[max(calc((100vw-1212px)/2),116px)] xl:w-[max(calc((100vw-1212px)/2),156px)]": !s
|
42
|
+
})
|
43
|
+
}
|
44
|
+
),
|
45
|
+
i,
|
46
|
+
/* @__PURE__ */ l(
|
47
|
+
"div",
|
48
|
+
{
|
49
|
+
className: r("shrink-0", {
|
50
|
+
"w-16 lg:w-[max(calc((100vw-1212px)/2),116px)] xl:w-[max(calc((100vw-1212px)/2),156px)]": !s
|
51
|
+
})
|
52
|
+
}
|
53
|
+
)
|
54
|
+
] })
|
55
|
+
}
|
56
|
+
);
|
57
|
+
};
|
58
|
+
export {
|
59
|
+
k as TabsHeader
|
60
|
+
};
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { FunctionComponent, type PropsWithChildren } from 'react';
|
2
|
+
import { Theme } from './theme';
|
3
|
+
import './Heading.css';
|
4
|
+
interface Props {
|
5
|
+
className?: string;
|
6
|
+
/**
|
7
|
+
* Tab Heading text
|
8
|
+
*/
|
9
|
+
label: string;
|
10
|
+
/**
|
11
|
+
* Tab heading index<br/>
|
12
|
+
* _Can be **0** or **1** indexed_
|
13
|
+
*/
|
14
|
+
value: number;
|
15
|
+
/**
|
16
|
+
* on tab select handler
|
17
|
+
*/
|
18
|
+
onSelect?: (context: {
|
19
|
+
value: Props['value'];
|
20
|
+
label: Props['label'];
|
21
|
+
}) => void;
|
22
|
+
/**
|
23
|
+
* Tab Heading theme
|
24
|
+
*/
|
25
|
+
theme?: Theme;
|
26
|
+
/**
|
27
|
+
* Heading type
|
28
|
+
* _default: **h2**_
|
29
|
+
*/
|
30
|
+
as?: 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5';
|
31
|
+
}
|
32
|
+
export declare const TabsHeading: FunctionComponent<PropsWithChildren<Props>>;
|
33
|
+
export {};
|
@@ -0,0 +1,100 @@
|
|
1
|
+
import { jsx as a, jsxs as N } from "react/jsx-runtime";
|
2
|
+
import { c } from "../../index-Cu0xwYjD.js";
|
3
|
+
import { useRef as d, useEffect as L } from "react";
|
4
|
+
import { b as R } from "../../react-spring_web.modern-BPtZcx1z.js";
|
5
|
+
import { useActiveTab as k, useRegisterTabControl as E } from "./hooks/tabControl.js";
|
6
|
+
import { getTheme as K } from "./theme.js";
|
7
|
+
import { useSafeBoop as D } from "../../hooks/useSafeBoop.js";
|
8
|
+
import { useKeyboardControls as j } from "../../hooks/useKeyboardControls.js";
|
9
|
+
const m = "-z-1 rounded-pill absolute inset-0 duration-300", P = ({
|
10
|
+
className: u,
|
11
|
+
label: n,
|
12
|
+
children: f,
|
13
|
+
value: o,
|
14
|
+
onSelect: r,
|
15
|
+
as: b = "h2",
|
16
|
+
theme: y = "yellow"
|
17
|
+
}) => {
|
18
|
+
const p = d(!1), s = d(null), g = k(), e = E({ value: o, ref: s }), t = g === o, h = { "--tab-index": o }, { textColor: x, textColorActive: C, bgColor: T } = K(y), [w, l] = D({ scale: 1.02 });
|
19
|
+
L(() => {
|
20
|
+
if (!p.current) {
|
21
|
+
p.current = !0;
|
22
|
+
return;
|
23
|
+
}
|
24
|
+
t && (r == null || r({ value: o, label: n })), s.current && t && s.current.focus();
|
25
|
+
}, [t, n, o, r]);
|
26
|
+
const v = j({
|
27
|
+
activate: () => {
|
28
|
+
t && l();
|
29
|
+
},
|
30
|
+
start: () => {
|
31
|
+
e({ type: "start" });
|
32
|
+
},
|
33
|
+
end: () => {
|
34
|
+
e({ type: "end" });
|
35
|
+
},
|
36
|
+
up: () => {
|
37
|
+
e({ type: "previous" });
|
38
|
+
},
|
39
|
+
down: () => {
|
40
|
+
e({ type: "next" });
|
41
|
+
},
|
42
|
+
left: () => {
|
43
|
+
const i = document.documentElement.dir === "rtl";
|
44
|
+
e({ type: i ? "next" : "previous" });
|
45
|
+
},
|
46
|
+
right: () => {
|
47
|
+
const i = document.documentElement.dir === "rtl";
|
48
|
+
e({ type: i ? "previous" : "next" });
|
49
|
+
}
|
50
|
+
}), A = () => {
|
51
|
+
e({ type: "update", payload: o }), t && l();
|
52
|
+
};
|
53
|
+
return /* @__PURE__ */ a(
|
54
|
+
R.div,
|
55
|
+
{
|
56
|
+
"data-name": "TabsHeading",
|
57
|
+
ref: s,
|
58
|
+
role: "tab",
|
59
|
+
"aria-selected": t,
|
60
|
+
tabIndex: t ? 0 : -1,
|
61
|
+
style: w,
|
62
|
+
className: c(
|
63
|
+
"text-b3 group inline-block cursor-pointer overflow-hidden whitespace-nowrap bg-transparent pe-4 align-middle font-semibold outline-none",
|
64
|
+
u,
|
65
|
+
{
|
66
|
+
[x]: !t,
|
67
|
+
[C]: t
|
68
|
+
}
|
69
|
+
),
|
70
|
+
onKeyDown: v,
|
71
|
+
onClick: A,
|
72
|
+
children: /* @__PURE__ */ N(b, { className: "relative inline-block px-20 py-12", children: [
|
73
|
+
/* @__PURE__ */ a(
|
74
|
+
"span",
|
75
|
+
{
|
76
|
+
className: c(
|
77
|
+
"group-hover:bg-pearl group-focus-within:bg-pearl transition-colors",
|
78
|
+
m
|
79
|
+
)
|
80
|
+
}
|
81
|
+
),
|
82
|
+
/* @__PURE__ */ a(
|
83
|
+
"span",
|
84
|
+
{
|
85
|
+
className: c(
|
86
|
+
"tab-focus-pill ease transition-transform/colors",
|
87
|
+
m,
|
88
|
+
T
|
89
|
+
),
|
90
|
+
style: h
|
91
|
+
}
|
92
|
+
),
|
93
|
+
f ?? n
|
94
|
+
] })
|
95
|
+
}
|
96
|
+
);
|
97
|
+
};
|
98
|
+
export {
|
99
|
+
P as TabsHeading
|
100
|
+
};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { FunctionComponent, PropsWithChildren } from 'react';
|
2
|
+
interface Props {
|
3
|
+
className?: string;
|
4
|
+
/**
|
5
|
+
* Tab panel index<br/>
|
6
|
+
* _Can be **0** or **1** indexed_
|
7
|
+
*/
|
8
|
+
value: number;
|
9
|
+
/**
|
10
|
+
* on panel select handler
|
11
|
+
*/
|
12
|
+
onSelect?: (context: {
|
13
|
+
value: Props['value'];
|
14
|
+
}) => void;
|
15
|
+
}
|
16
|
+
export declare const TabsPanel: FunctionComponent<PropsWithChildren<Props>>;
|
17
|
+
export {};
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { jsx as p } from "react/jsx-runtime";
|
2
|
+
import { c as d } from "../../index-Cu0xwYjD.js";
|
3
|
+
import { useRef as f, useEffect as l } from "react";
|
4
|
+
import { a as b, b as u } from "../../react-spring_web.modern-BPtZcx1z.js";
|
5
|
+
import { useActiveTab as y } from "./hooks/tabControl.js";
|
6
|
+
const r = {
|
7
|
+
opacity: 0,
|
8
|
+
pointerEvents: "none",
|
9
|
+
display: "none"
|
10
|
+
}, n = {
|
11
|
+
opacity: 1,
|
12
|
+
pointerEvents: "auto",
|
13
|
+
display: "block"
|
14
|
+
}, R = ({
|
15
|
+
value: a,
|
16
|
+
className: i,
|
17
|
+
onSelect: s,
|
18
|
+
children: c
|
19
|
+
}) => {
|
20
|
+
const o = f(!1), t = y() === a, [m, e] = b(() => ({
|
21
|
+
from: t ? n : r
|
22
|
+
}));
|
23
|
+
return l(() => {
|
24
|
+
if (!o.current) {
|
25
|
+
o.current = !0;
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
e.start({
|
29
|
+
to: {
|
30
|
+
...t ? n : r,
|
31
|
+
display: "block"
|
32
|
+
},
|
33
|
+
onRest: () => {
|
34
|
+
e.start({
|
35
|
+
to: { display: t ? "block" : "none" },
|
36
|
+
immediate: !0
|
37
|
+
});
|
38
|
+
}
|
39
|
+
}), t && (s == null || s({ value: a }));
|
40
|
+
}, [t, e, a, s]), /* @__PURE__ */ p(
|
41
|
+
u.div,
|
42
|
+
{
|
43
|
+
"data-name": "Tab",
|
44
|
+
style: m,
|
45
|
+
role: "tabpanel",
|
46
|
+
"aria-hidden": !t,
|
47
|
+
tabIndex: t ? 0 : -1,
|
48
|
+
className: d("col-start-1 col-end-1 row-start-1 row-end-1", i, {
|
49
|
+
"z-0": !t,
|
50
|
+
"z-1": t
|
51
|
+
}),
|
52
|
+
children: c
|
53
|
+
}
|
54
|
+
);
|
55
|
+
};
|
56
|
+
export {
|
57
|
+
R as TabsPanel
|
58
|
+
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { ComponentProps, FunctionComponent, PropsWithChildren } from 'react';
|
2
|
+
import { TabsProvider } from './context/TabControl';
|
3
|
+
type ProviderProps = ComponentProps<typeof TabsProvider>;
|
4
|
+
interface Props extends ProviderProps {
|
5
|
+
className?: string;
|
6
|
+
/**
|
7
|
+
* Shrink the spacing between tabs and panels
|
8
|
+
*/
|
9
|
+
compacted?: boolean;
|
10
|
+
}
|
11
|
+
export declare const Tabs: FunctionComponent<PropsWithChildren<Props>>;
|
12
|
+
export {};
|