timvir 0.1.42
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/blocks/Arbitrary/Arbitrary.d.ts +11 -0
- package/blocks/Arbitrary/context.d.ts +7 -0
- package/blocks/Arbitrary/docs/index.mdx +36 -0
- package/blocks/Arbitrary/index.d.ts +2 -0
- package/blocks/Arbitrary/index.js +117 -0
- package/blocks/Arbitrary/samples/basic.d.ts +5 -0
- package/blocks/Arbitrary/styles.css +6 -0
- package/blocks/Code/Code.d.ts +35 -0
- package/blocks/Code/docs/api.mdx +76 -0
- package/blocks/Code/docs/index.mdx +39 -0
- package/blocks/Code/index.d.ts +1 -0
- package/blocks/Code/index.js +154 -0
- package/blocks/Code/samples/basic.d.ts +5 -0
- package/blocks/Code/samples/toggle.d.ts +2 -0
- package/blocks/Code/styles.css +14 -0
- package/blocks/Code/theme.d.ts +2 -0
- package/blocks/ColorBar/ColorBar.d.ts +18 -0
- package/blocks/ColorBar/docs/api.mdx +76 -0
- package/blocks/ColorBar/docs/index.mdx +128 -0
- package/blocks/ColorBar/index.d.ts +1 -0
- package/blocks/ColorBar/index.js +90 -0
- package/blocks/ColorBar/samples/basic.d.ts +2 -0
- package/blocks/ColorBar/styles.css +5 -0
- package/blocks/ColorBook/ColorBook.d.ts +16 -0
- package/blocks/ColorBook/docs/api.mdx +76 -0
- package/blocks/ColorBook/docs/index.mdx +12 -0
- package/blocks/ColorBook/index.d.ts +1 -0
- package/blocks/ColorBook/index.js +77 -0
- package/blocks/ColorBook/samples/basic.d.ts +2 -0
- package/blocks/ColorBook/styles.css +6 -0
- package/blocks/Cover/Cover.d.ts +20 -0
- package/blocks/Cover/docs/api.mdx +76 -0
- package/blocks/Cover/docs/index.mdx +20 -0
- package/blocks/Cover/index.d.ts +1 -0
- package/blocks/Cover/index.js +64 -0
- package/blocks/Cover/samples/basic.d.ts +2 -0
- package/blocks/Exhibit/Exhibit.d.ts +19 -0
- package/blocks/Exhibit/docs/api.mdx +76 -0
- package/blocks/Exhibit/docs/index.mdx +56 -0
- package/blocks/Exhibit/index.d.ts +1 -0
- package/blocks/Exhibit/index.js +83 -0
- package/blocks/Exhibit/samples/basic.d.ts +2 -0
- package/blocks/Exhibit/styles.css +3 -0
- package/blocks/Font/Font.d.ts +15 -0
- package/blocks/Font/docs/api.mdx +76 -0
- package/blocks/Font/docs/index.mdx +23 -0
- package/blocks/Font/index.d.ts +1 -0
- package/blocks/Font/index.js +131 -0
- package/blocks/Font/samples/basic.d.ts +5 -0
- package/blocks/Font/samples/system.d.ts +2 -0
- package/blocks/Font/styles.css +9 -0
- package/blocks/Grid/Grid.d.ts +9 -0
- package/blocks/Grid/docs/api.mdx +76 -0
- package/blocks/Grid/docs/index.mdx +82 -0
- package/blocks/Grid/index.d.ts +1 -0
- package/blocks/Grid/index.js +53 -0
- package/blocks/Grid/samples/basic.d.ts +2 -0
- package/blocks/Grid/styles.css +1 -0
- package/blocks/Icon/Icon.d.ts +11 -0
- package/blocks/Icon/docs/api.mdx +76 -0
- package/blocks/Icon/docs/index.mdx +218 -0
- package/blocks/Icon/index.d.ts +1 -0
- package/blocks/Icon/index.js +155 -0
- package/blocks/Icon/internal/Canvas.d.ts +9 -0
- package/blocks/Icon/internal/index.d.ts +1 -0
- package/blocks/Icon/samples/basic.d.ts +2 -0
- package/blocks/Icon/styles.css +5 -0
- package/blocks/Icon/types.d.ts +10 -0
- package/blocks/Message/Message.d.ts +10 -0
- package/blocks/Message/docs/api.mdx +76 -0
- package/blocks/Message/docs/index.mdx +63 -0
- package/blocks/Message/index.d.ts +1 -0
- package/blocks/Message/index.js +72 -0
- package/blocks/Message/samples/basic.d.ts +5 -0
- package/blocks/Message/styles.css +6 -0
- package/blocks/Swatch/Swatch.d.ts +33 -0
- package/blocks/Swatch/docs/api.mdx +76 -0
- package/blocks/Swatch/docs/index.mdx +39 -0
- package/blocks/Swatch/index.d.ts +1 -0
- package/blocks/Swatch/index.js +84 -0
- package/blocks/Swatch/samples/basic.d.ts +2 -0
- package/blocks/Swatch/styles.css +4 -0
- package/blocks/Viewport/Viewport.d.ts +17 -0
- package/blocks/Viewport/docs/api.mdx +76 -0
- package/blocks/Viewport/docs/index.mdx +34 -0
- package/blocks/Viewport/index.d.ts +1 -0
- package/blocks/Viewport/index.js +322 -0
- package/blocks/Viewport/internal/Caption.d.ts +8 -0
- package/blocks/Viewport/internal/Handle.d.ts +10 -0
- package/blocks/Viewport/internal/Ruler.d.ts +7 -0
- package/blocks/Viewport/internal/index.d.ts +3 -0
- package/blocks/Viewport/samples/basic.d.ts +2 -0
- package/blocks/Viewport/styles.css +14 -0
- package/blocks/WebLink/WebLink.d.ts +10 -0
- package/blocks/WebLink/docs/api.mdx +76 -0
- package/blocks/WebLink/docs/index.mdx +13 -0
- package/blocks/WebLink/index.d.ts +1 -0
- package/blocks/WebLink/index.js +97 -0
- package/blocks/WebLink/samples/basic.d.ts +5 -0
- package/blocks/WebLink/styles.css +8 -0
- package/blocks/index.d.ts +13 -0
- package/blocks/index.js +13 -0
- package/blocks/styles.css +81 -0
- package/bus/index.d.ts +12 -0
- package/bus/index.js +22 -0
- package/bus/messages.d.ts +15 -0
- package/context/index.d.ts +20 -0
- package/context/index.js +15 -0
- package/core/components/Footer/Footer.d.ts +16 -0
- package/core/components/Footer/docs/api.mdx +76 -0
- package/core/components/Footer/docs/index.mdx +27 -0
- package/core/components/Footer/index.d.ts +1 -0
- package/core/components/Footer/samples/basic.d.ts +5 -0
- package/core/components/NavigationFooter/NavigationFooter.d.ts +19 -0
- package/core/components/NavigationFooter/docs/api.mdx +76 -0
- package/core/components/NavigationFooter/docs/index.mdx +10 -0
- package/core/components/NavigationFooter/index.d.ts +1 -0
- package/core/components/NavigationFooter/samples/basic.d.ts +5 -0
- package/core/components/Page/Page.d.ts +60 -0
- package/core/components/Page/components.d.ts +46 -0
- package/core/components/Page/docs/api.mdx +76 -0
- package/core/components/Page/docs/index.mdx +37 -0
- package/core/components/Page/index.d.ts +2 -0
- package/core/components/Page/internal/Section.d.ts +7 -0
- package/core/components/Page/internal/Sidebar.d.ts +15 -0
- package/core/components/Page/internal/index.d.ts +2 -0
- package/core/components/Page/samples/basic.d.ts +2 -0
- package/core/components/Page/samples/layout.d.ts +2 -0
- package/core/components/Page/types.d.ts +5 -0
- package/core/index.d.ts +22 -0
- package/core/index.js +708 -0
- package/core/layout.d.ts +4 -0
- package/core/styles.css +47 -0
- package/core/theme/colors.d.ts +36 -0
- package/core/theme/index.d.ts +1 -0
- package/hooks/index.d.ts +1 -0
- package/hooks/index.js +72 -0
- package/hooks/useResizeObserver/index.d.ts +56 -0
- package/package.json +27 -0
- package/std/base58/index.d.ts +2 -0
- package/std/base58/index.js +71 -0
- package/styles.css +128 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { ColorBar } from "..";
|
|
2
|
+
import { Code, Exhibit } from "timvir/blocks";
|
|
3
|
+
|
|
4
|
+
# ColorBar
|
|
5
|
+
|
|
6
|
+
A `ColorBar` is a horizontal arrangement of swatches.
|
|
7
|
+
|
|
8
|
+
<Exhibit>
|
|
9
|
+
<ColorBar
|
|
10
|
+
values={[
|
|
11
|
+
"#D6CCFF",
|
|
12
|
+
"#C8BCF5",
|
|
13
|
+
"#BAACEB",
|
|
14
|
+
"#AC9CE1",
|
|
15
|
+
"#9E8CD7",
|
|
16
|
+
"#907DCD",
|
|
17
|
+
"#826EC3",
|
|
18
|
+
"#745FBA",
|
|
19
|
+
"#6550B0",
|
|
20
|
+
"#5642A6",
|
|
21
|
+
]}
|
|
22
|
+
/>
|
|
23
|
+
</Exhibit>
|
|
24
|
+
|
|
25
|
+
<Exhibit>
|
|
26
|
+
<ColorBar values={["#a0dbc2", "#60c19f", "#1a896b", "#0e6d54"]} />
|
|
27
|
+
</Exhibit>
|
|
28
|
+
|
|
29
|
+
<Code language="jsx" caption="Pass an array of color values to the component." highlightedLines={[5]}>
|
|
30
|
+
<Sample variant="basic" as="source" />
|
|
31
|
+
</Code>
|
|
32
|
+
|
|
33
|
+
The ColorBar works comfortably with as few as two colors and as many as 20
|
|
34
|
+
|
|
35
|
+
<Exhibit caption="Two colors in a ColorBar">
|
|
36
|
+
<ColorBar
|
|
37
|
+
values={[
|
|
38
|
+
{ value: "#FFE4A0", name: "Yellow Submarine", ancestry: "Yellow 001" },
|
|
39
|
+
{ value: "#A67908", name: "Yellow Spaceship", ancestry: "Yellow 999", contrastValue: "white" },
|
|
40
|
+
]}
|
|
41
|
+
/>
|
|
42
|
+
</Exhibit>
|
|
43
|
+
|
|
44
|
+
<Exhibit caption="20 colors in a ColorBar">
|
|
45
|
+
<ColorBar
|
|
46
|
+
values={[
|
|
47
|
+
"#FFE4A0",
|
|
48
|
+
"#FBDE98",
|
|
49
|
+
"#F6D891",
|
|
50
|
+
"#F2D28A",
|
|
51
|
+
"#EDCC82",
|
|
52
|
+
"#E8C77B",
|
|
53
|
+
"#E4C173",
|
|
54
|
+
"#DFBB6C",
|
|
55
|
+
"#DBB565",
|
|
56
|
+
"#D6B05D",
|
|
57
|
+
"#D1AA56",
|
|
58
|
+
"#CDA54F",
|
|
59
|
+
"#C89F47",
|
|
60
|
+
"#C39940",
|
|
61
|
+
"#BE9438",
|
|
62
|
+
"#BA8E30",
|
|
63
|
+
"#B58928",
|
|
64
|
+
"#B0841F",
|
|
65
|
+
"#AB7E15",
|
|
66
|
+
"#A67908",
|
|
67
|
+
]}
|
|
68
|
+
/>
|
|
69
|
+
</Exhibit>
|
|
70
|
+
|
|
71
|
+
## Text Colors
|
|
72
|
+
|
|
73
|
+
These are the main text colors that are used in our website. We have a **textPrimary** color for
|
|
74
|
+
headings and body text, **textSecondary** for captions and meta lines, and a third (yet unamed)
|
|
75
|
+
text color for card descriptions.
|
|
76
|
+
|
|
77
|
+
All text colors are taken from the **Gray** palette.
|
|
78
|
+
|
|
79
|
+
<Exhibit caption="Text Colors" style={{ margin: "10px 0 20px 0" }}>
|
|
80
|
+
<ColorBar
|
|
81
|
+
values={[
|
|
82
|
+
{ value: "rgba(0, 0, 13, 0.89)", name: "textPrimary", ancestry: "Gray 01", contrastValue: "white" },
|
|
83
|
+
{ value: "rgba(0, 0, 13, 0.69)", name: "???? (unnamed)", ancestry: "Gray 03", contrastValue: "white" },
|
|
84
|
+
{ value: "rgba(0, 0, 13, 0.49)", name: "textSecondary", ancestry: "Gray 05" },
|
|
85
|
+
]}
|
|
86
|
+
/>
|
|
87
|
+
</Exhibit>
|
|
88
|
+
<Exhibit caption="Gray Color Palette (00 – 09)" style={{ margin: "-12px 0 20px 0" }}>
|
|
89
|
+
<ColorBar
|
|
90
|
+
values={[
|
|
91
|
+
{ value: "rgba(0, 0, 13, 0.99)", name: "Gray 00", contrastValue: "white" },
|
|
92
|
+
{ value: "rgba(0, 0, 13, 0.89)", name: "Gray 01", contrastValue: "white" },
|
|
93
|
+
{ value: "rgba(0, 0, 13, 0.79)", name: "Gray 02", contrastValue: "white" },
|
|
94
|
+
{ value: "rgba(0, 0, 13, 0.69)", name: "Gray 03", contrastValue: "white" },
|
|
95
|
+
{ value: "rgba(0, 0, 13, 0.59)", name: "Gray 04", contrastValue: "white" },
|
|
96
|
+
{ value: "rgba(0, 0, 13, 0.49)", name: "Gray 05", contrastValue: "black" },
|
|
97
|
+
{ value: "rgba(0, 0, 13, 0.39)", name: "Gray 06", contrastValue: "black" },
|
|
98
|
+
{ value: "rgba(0, 0, 13, 0.29)", name: "Gray 07", contrastValue: "black" },
|
|
99
|
+
{ value: "rgba(0, 0, 13, 0.19)", name: "Gray 08", contrastValue: "black" },
|
|
100
|
+
{ value: "rgba(0, 0, 13, 0.09)", name: "Gray 09", contrastValue: "black" },
|
|
101
|
+
]}
|
|
102
|
+
/>
|
|
103
|
+
</Exhibit>
|
|
104
|
+
|
|
105
|
+
Wrap a `<ColorBar>` in a `<Exhibit>` to add a caption to it. The caption can even include links!
|
|
106
|
+
|
|
107
|
+
<Exhibit
|
|
108
|
+
caption={
|
|
109
|
+
<>
|
|
110
|
+
Source: <a href="https://hihayk.github.io/scale/#2/7/50/90/0/0/0/-0/1190D7/17/144/215">hihayk.github.io/scale</a>
|
|
111
|
+
</>
|
|
112
|
+
}
|
|
113
|
+
>
|
|
114
|
+
<ColorBar
|
|
115
|
+
values={[
|
|
116
|
+
"#E7F4FB",
|
|
117
|
+
"#C9E6F6",
|
|
118
|
+
"#AAD7F1",
|
|
119
|
+
"#8BC9EC",
|
|
120
|
+
"#6DBBE6",
|
|
121
|
+
"#4EADE1",
|
|
122
|
+
"#309EDC",
|
|
123
|
+
"#1190D7",
|
|
124
|
+
"#0D6CA1",
|
|
125
|
+
"#09486C",
|
|
126
|
+
]}
|
|
127
|
+
/>
|
|
128
|
+
</Exhibit>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ColorBar } from "./ColorBar";
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Swatch } from 'timvir/blocks';
|
|
2
|
+
import { useBlock } from 'timvir/core';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Takes a list of class names and filters for truthy ones, joining them into a single class name for convenience.
|
|
7
|
+
* eg.
|
|
8
|
+
* ```js
|
|
9
|
+
* cx('red', isBig && 'big') // returns 'red big' if `isBig` is true, otherwise returns 'red'
|
|
10
|
+
* ```
|
|
11
|
+
* If arguments provided are objects, these objects are merged together, and the values are taken as class names:
|
|
12
|
+
*
|
|
13
|
+
* ```js
|
|
14
|
+
* cx({ color: 'class1', textDecoration: 'class2'}, { color: 'class3' }) // returns `class3 class2`
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @returns the combined, space separated class names that can be applied directly to the class attribute
|
|
18
|
+
*/
|
|
19
|
+
const cx = function cx() {
|
|
20
|
+
const presentClassNames = Array.prototype.slice.call(arguments).filter(Boolean); // In the basic case, `cx` is passed all strings, and we simply need to join them together with space separators
|
|
21
|
+
|
|
22
|
+
const classNamesResult = presentClassNames.filter(arg => typeof arg !== 'object'); // There might also be objects (eg. from the atomic API) such as cx('foo', {
|
|
23
|
+
// key1: 'bar', key2: 'fizz'}, { key1: 'buzz' }) the desired behavior is to
|
|
24
|
+
// deduplicate the values based on their properties. The object's values are
|
|
25
|
+
// the class names
|
|
26
|
+
|
|
27
|
+
const styleCollectionResult = Object.values(Object.assign({}, ...presentClassNames.filter(arg => typeof arg === 'object')));
|
|
28
|
+
return [...styleCollectionResult, ...classNamesResult].join(' ');
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* The underlying DOM element which is rendered by this component.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
const Root = "div";
|
|
36
|
+
|
|
37
|
+
function ColorBar(props, ref) {
|
|
38
|
+
var _selected$value;
|
|
39
|
+
|
|
40
|
+
const block = useBlock(props);
|
|
41
|
+
const {
|
|
42
|
+
values,
|
|
43
|
+
className,
|
|
44
|
+
...rest
|
|
45
|
+
} = block.props;
|
|
46
|
+
const [selected, setSelected] = React.useState(undefined);
|
|
47
|
+
return /*#__PURE__*/React.createElement(Root, {
|
|
48
|
+
ref: ref,
|
|
49
|
+
className: cx(className, classes.root, selected && tweaks.selected),
|
|
50
|
+
...rest
|
|
51
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
className: classes.bar,
|
|
53
|
+
style: {
|
|
54
|
+
opacity: selected ? 0 : 1
|
|
55
|
+
}
|
|
56
|
+
}, values.map((value, i) => /*#__PURE__*/React.createElement("div", {
|
|
57
|
+
key: i,
|
|
58
|
+
className: classes.value
|
|
59
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
60
|
+
style: {
|
|
61
|
+
background: typeof value === "string" ? value : value.value
|
|
62
|
+
},
|
|
63
|
+
onClick: () => {
|
|
64
|
+
setSelected(value);
|
|
65
|
+
}
|
|
66
|
+
})))), /*#__PURE__*/React.createElement("div", {
|
|
67
|
+
className: classes.overlay
|
|
68
|
+
}, /*#__PURE__*/React.createElement(Swatch, { ...(typeof selected === "string" ? {
|
|
69
|
+
value: selected
|
|
70
|
+
} : {
|
|
71
|
+
value: (_selected$value = selected === null || selected === void 0 ? void 0 : selected.value) !== null && _selected$value !== void 0 ? _selected$value : ""
|
|
72
|
+
}),
|
|
73
|
+
onMouseLeave: () => {
|
|
74
|
+
setSelected(undefined);
|
|
75
|
+
}
|
|
76
|
+
})));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
var ColorBar$1 = /*#__PURE__*/React.forwardRef(ColorBar);
|
|
80
|
+
const tweaks = {
|
|
81
|
+
selected: "s4sqb81"
|
|
82
|
+
};
|
|
83
|
+
const classes = {
|
|
84
|
+
root: "r1f19pie",
|
|
85
|
+
bar: "b15hqsfj",
|
|
86
|
+
value: "v1uw85xw",
|
|
87
|
+
overlay: "o1823law"
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export { ColorBar$1 as ColorBar };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
.r1f19pie{position:relative;}
|
|
3
|
+
.b15hqsfj{display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(0,1fr));transition:all 0.16s;}.b15hqsfj::before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;z-index:2;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.15);content:"";pointer-events:none;user-select:none;transition:all 0.16s;}.b15hqsfj:hover::before{opacity:0;}
|
|
4
|
+
.v1uw85xw{height:40px;flex-grow:1;display:grid;place-items:stretch;}.v1uw85xw > div{transition:all 0.16s;cursor:pointer;}.v1uw85xw:first-child > div{border-radius:2px 0 0 2px;}.v1uw85xw:last-child > div{border-radius:0 2px 2px 0;}.v1uw85xw:hover{z-index:3;}.v1uw85xw:hover > div{border-radius:2px;margin:-3px 1px;box-shadow:inset 0 0 0 1px rgba(16,22,26,0.2),0 2px 4px rgba(16,22,26,0.1), 0 8px 24px rgba(16,22,26,0.2);}
|
|
5
|
+
.o1823law{position:absolute;top:50%;right:0px;left:0px;transform:translateY(-50%);pointer-events:none;opacity:0;z-index:4;transition:opacity 0.16s;}.s4sqb81 .o1823law{pointer-events:all;opacity:1;}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* The underlying DOM element which is rendered by this component.
|
|
4
|
+
*/
|
|
5
|
+
declare const Root = "div";
|
|
6
|
+
interface Props extends React.ComponentPropsWithoutRef<typeof Root> {
|
|
7
|
+
chapters: Array<Chapter>;
|
|
8
|
+
selectedChapter?: number;
|
|
9
|
+
onSelectChapter?: (i: number) => void;
|
|
10
|
+
}
|
|
11
|
+
interface Chapter {
|
|
12
|
+
name?: string;
|
|
13
|
+
values: Array<string>;
|
|
14
|
+
}
|
|
15
|
+
declare const _default: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# API
|
|
2
|
+
|
|
3
|
+
<div style={ { display: "grid", gridTemplateColumns: "min-content 1fr" } }>
|
|
4
|
+
<div style={ { fontWeight: "bold", marginRight: 16 } }>Root:</div>
|
|
5
|
+
<div>{`<div>`}</div>
|
|
6
|
+
<div style={ { fontWeight: "bold", marginRight: 16 } }>Ref:</div>
|
|
7
|
+
<div>Forward <span style={ { color: "rgb(153, 153, 153)" } }>(HTMLDivElement)</span></div>
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
## Props
|
|
11
|
+
|
|
12
|
+
<Props {...{"fields":[{"name":"chapters","type":{"optional":false,"name":"{ values: string[]; }[]","module":""},"comment":{"shortText":""}},{"name":"selectedChapter","type":{"optional":true,"name":"number","module":""},"comment":{"shortText":""}},{"name":"onSelectChapter","type":{"optional":true,"name":"(i: number) => void","module":""},"comment":{"shortText":""}}]}} />
|
|
13
|
+
|
|
14
|
+
export const required = (
|
|
15
|
+
<svg
|
|
16
|
+
x="0px"
|
|
17
|
+
y="0px"
|
|
18
|
+
width="10px"
|
|
19
|
+
height="10px"
|
|
20
|
+
viewBox="0 0 16 16"
|
|
21
|
+
style={ { position: "relative", top: 0, display: "inline-block", marginRight: 8 } }
|
|
22
|
+
>
|
|
23
|
+
<g transform="translate(0, 0)">
|
|
24
|
+
<circle cx="8" cy="8" r="8" fill="#444444"></circle>
|
|
25
|
+
</g>
|
|
26
|
+
</svg>
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export const optional = (
|
|
30
|
+
<svg
|
|
31
|
+
x="0px"
|
|
32
|
+
y="0px"
|
|
33
|
+
width="10px"
|
|
34
|
+
height="10px"
|
|
35
|
+
viewBox="0 0 16 16"
|
|
36
|
+
style={ { position: "relative", top: 0, display: "inline-block", marginRight: 8 } }
|
|
37
|
+
>
|
|
38
|
+
<g transform="translate(0, 0)">
|
|
39
|
+
<circle
|
|
40
|
+
cx="8"
|
|
41
|
+
cy="8"
|
|
42
|
+
r="7.5"
|
|
43
|
+
fill="none"
|
|
44
|
+
stroke="#444444"
|
|
45
|
+
strokeLinecap="round"
|
|
46
|
+
strokeLinejoin="round"
|
|
47
|
+
data-cap="butt"
|
|
48
|
+
></circle>
|
|
49
|
+
</g>
|
|
50
|
+
</svg>
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
export const Props = ({ fields }) => (
|
|
54
|
+
<div style={ { marginTop: 16, display: "grid", gridGap: 24 } }>
|
|
55
|
+
{fields.map(({ name, type, def, example, comment }) => (
|
|
56
|
+
<div key={name}>
|
|
57
|
+
<div style={ { marginLeft: -18 } }>
|
|
58
|
+
{type.optional ? optional : required}
|
|
59
|
+
<span style={ { fontWeight: "bold" } }>{name}</span>{`: `}
|
|
60
|
+
<span>{type.name}</span>
|
|
61
|
+
{def && (
|
|
62
|
+
<>
|
|
63
|
+
{` = `}<span style={ { fontWeight: "bold" } }>{def}</span>
|
|
64
|
+
</>
|
|
65
|
+
)}
|
|
66
|
+
</div>
|
|
67
|
+
<div>{comment.shortText}</div>
|
|
68
|
+
{example && (
|
|
69
|
+
<div style={ { marginLeft: 0, marginTop: 8, color: "rgb(153, 153, 153)", fontSize: "0.8rem" } }>
|
|
70
|
+
Example: <span style={ { fontWeight: "bold" } }>{example}</span>
|
|
71
|
+
</div>
|
|
72
|
+
)}
|
|
73
|
+
</div>
|
|
74
|
+
))}
|
|
75
|
+
</div>
|
|
76
|
+
)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Exhibit } from "../../Exhibit";
|
|
2
|
+
|
|
3
|
+
# ColorBook
|
|
4
|
+
|
|
5
|
+
The `<ColorBook>` component provides an overview of different color palettes. The palettes are arranged horizontally, which means up to about 8 colors can be comfortable displayed in this book.
|
|
6
|
+
|
|
7
|
+
The user can interact with the book: select individual chapters. How selection is interpreted not handled by this component. In the example below
|
|
8
|
+
upon selecting one of the first two chapters, some extra elements are displayed below the `<ColorBook>`.
|
|
9
|
+
|
|
10
|
+
<div style={{ marginTop: "5vh" }}>
|
|
11
|
+
<Sample variant="basic" />
|
|
12
|
+
</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ColorBook } from "./ColorBook";
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Takes a list of class names and filters for truthy ones, joining them into a single class name for convenience.
|
|
5
|
+
* eg.
|
|
6
|
+
* ```js
|
|
7
|
+
* cx('red', isBig && 'big') // returns 'red big' if `isBig` is true, otherwise returns 'red'
|
|
8
|
+
* ```
|
|
9
|
+
* If arguments provided are objects, these objects are merged together, and the values are taken as class names:
|
|
10
|
+
*
|
|
11
|
+
* ```js
|
|
12
|
+
* cx({ color: 'class1', textDecoration: 'class2'}, { color: 'class3' }) // returns `class3 class2`
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @returns the combined, space separated class names that can be applied directly to the class attribute
|
|
16
|
+
*/
|
|
17
|
+
const cx = function cx() {
|
|
18
|
+
const presentClassNames = Array.prototype.slice.call(arguments).filter(Boolean); // In the basic case, `cx` is passed all strings, and we simply need to join them together with space separators
|
|
19
|
+
|
|
20
|
+
const classNamesResult = presentClassNames.filter(arg => typeof arg !== 'object'); // There might also be objects (eg. from the atomic API) such as cx('foo', {
|
|
21
|
+
// key1: 'bar', key2: 'fizz'}, { key1: 'buzz' }) the desired behavior is to
|
|
22
|
+
// deduplicate the values based on their properties. The object's values are
|
|
23
|
+
// the class names
|
|
24
|
+
|
|
25
|
+
const styleCollectionResult = Object.values(Object.assign({}, ...presentClassNames.filter(arg => typeof arg === 'object')));
|
|
26
|
+
return [...styleCollectionResult, ...classNamesResult].join(' ');
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The underlying DOM element which is rendered by this component.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
const Root = "div";
|
|
34
|
+
|
|
35
|
+
function ColorBook(props, ref) {
|
|
36
|
+
const {
|
|
37
|
+
chapters,
|
|
38
|
+
selectedChapter,
|
|
39
|
+
onSelectChapter,
|
|
40
|
+
className,
|
|
41
|
+
...rest
|
|
42
|
+
} = props;
|
|
43
|
+
return /*#__PURE__*/React.createElement(Root, {
|
|
44
|
+
ref: ref,
|
|
45
|
+
...rest,
|
|
46
|
+
className: cx(className, "rmv2wrl")
|
|
47
|
+
}, chapters.map(({
|
|
48
|
+
name,
|
|
49
|
+
values
|
|
50
|
+
}, i) => /*#__PURE__*/React.createElement("div", {
|
|
51
|
+
key: i,
|
|
52
|
+
style: {
|
|
53
|
+
gridColumn: i + 1
|
|
54
|
+
}
|
|
55
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
56
|
+
className: cx(chapter, i === selectedChapter && activeChapter),
|
|
57
|
+
onClick: () => {
|
|
58
|
+
if (onSelectChapter) {
|
|
59
|
+
onSelectChapter(i);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}, values.map(value => /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
key: value,
|
|
64
|
+
style: {
|
|
65
|
+
background: value
|
|
66
|
+
},
|
|
67
|
+
className: "d1l94wnr"
|
|
68
|
+
}))), name && /*#__PURE__*/React.createElement("div", {
|
|
69
|
+
className: cx("d1uopbb", i === selectedChapter && "d1vwzhoa")
|
|
70
|
+
}, name))));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
var ColorBook$1 = /*#__PURE__*/React.forwardRef(ColorBook);
|
|
74
|
+
const chapter = "c1xqhu04";
|
|
75
|
+
const activeChapter = "a1y0tcvx";
|
|
76
|
+
|
|
77
|
+
export { ColorBook$1 as ColorBook };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
.rmv2wrl{display:grid;grid-gap:16px;grid-auto-columns:1fr;align-items:start;width:100%;}
|
|
2
|
+
.d1l94wnr{flex-grow:1;}.d1l94wnr:first-child{border-radius:3px 3px 0 0;}.d1l94wnr:last-child{border-radius:0 0 3px 3px;}
|
|
3
|
+
.d1uopbb{text-align:center;font-size:0.75rem;color:var(--timvir-secondary-text-color);margin-top:0.8em;line-height:1;}
|
|
4
|
+
.d1vwzhoa{color:var(--timvir-text-color);}
|
|
5
|
+
.c1xqhu04{position:relative;cursor:pointer;display:flex;flex-direction:column;height:200px;}.c1xqhu04::before{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:4px;box-shadow:0 0 0 0 rgba(19,124,189,0);content:"";transition:all 0.16s cubic-bezier(0.4,1,0.75,0.9);}.c1xqhu04:hover::before{box-shadow:0 0 0 2px #00000040;opacity:1;}
|
|
6
|
+
.a1y0tcvx:hover::before,.a1y0tcvx::before{box-shadow:0 0 0 2px var(--c-p-5);opacity:1;}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* The underlying DOM element which is rendered by this component.
|
|
4
|
+
*/
|
|
5
|
+
declare const Root = "div";
|
|
6
|
+
interface Props extends React.ComponentPropsWithoutRef<typeof Root> {
|
|
7
|
+
metadata: {
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
};
|
|
11
|
+
img: {
|
|
12
|
+
src: string;
|
|
13
|
+
};
|
|
14
|
+
sources: Array<{
|
|
15
|
+
srcSet: string;
|
|
16
|
+
type: string;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
declare const _default: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# API
|
|
2
|
+
|
|
3
|
+
<div style={ { display: "grid", gridTemplateColumns: "min-content 1fr" } }>
|
|
4
|
+
<div style={ { fontWeight: "bold", marginRight: 16 } }>Root:</div>
|
|
5
|
+
<div>{`<div>`}</div>
|
|
6
|
+
<div style={ { fontWeight: "bold", marginRight: 16 } }>Ref:</div>
|
|
7
|
+
<div>Forward <span style={ { color: "rgb(153, 153, 153)" } }>(HTMLDivElement)</span></div>
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
## Props
|
|
11
|
+
|
|
12
|
+
<Props {...{"fields":[{"name":"metadata","type":{"optional":false,"name":"{ width: number; height: number; }","module":""},"comment":{"shortText":""}},{"name":"img","type":{"optional":false,"name":"{ src: string; }","module":""},"comment":{"shortText":""}},{"name":"sources","type":{"optional":false,"name":"{ srcSet: string; type: string; }[]","module":""},"comment":{"shortText":""}}]}} />
|
|
13
|
+
|
|
14
|
+
export const required = (
|
|
15
|
+
<svg
|
|
16
|
+
x="0px"
|
|
17
|
+
y="0px"
|
|
18
|
+
width="10px"
|
|
19
|
+
height="10px"
|
|
20
|
+
viewBox="0 0 16 16"
|
|
21
|
+
style={ { position: "relative", top: 0, display: "inline-block", marginRight: 8 } }
|
|
22
|
+
>
|
|
23
|
+
<g transform="translate(0, 0)">
|
|
24
|
+
<circle cx="8" cy="8" r="8" fill="#444444"></circle>
|
|
25
|
+
</g>
|
|
26
|
+
</svg>
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export const optional = (
|
|
30
|
+
<svg
|
|
31
|
+
x="0px"
|
|
32
|
+
y="0px"
|
|
33
|
+
width="10px"
|
|
34
|
+
height="10px"
|
|
35
|
+
viewBox="0 0 16 16"
|
|
36
|
+
style={ { position: "relative", top: 0, display: "inline-block", marginRight: 8 } }
|
|
37
|
+
>
|
|
38
|
+
<g transform="translate(0, 0)">
|
|
39
|
+
<circle
|
|
40
|
+
cx="8"
|
|
41
|
+
cy="8"
|
|
42
|
+
r="7.5"
|
|
43
|
+
fill="none"
|
|
44
|
+
stroke="#444444"
|
|
45
|
+
strokeLinecap="round"
|
|
46
|
+
strokeLinejoin="round"
|
|
47
|
+
data-cap="butt"
|
|
48
|
+
></circle>
|
|
49
|
+
</g>
|
|
50
|
+
</svg>
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
export const Props = ({ fields }) => (
|
|
54
|
+
<div style={ { marginTop: 16, display: "grid", gridGap: 24 } }>
|
|
55
|
+
{fields.map(({ name, type, def, example, comment }) => (
|
|
56
|
+
<div key={name}>
|
|
57
|
+
<div style={ { marginLeft: -18 } }>
|
|
58
|
+
{type.optional ? optional : required}
|
|
59
|
+
<span style={ { fontWeight: "bold" } }>{name}</span>{`: `}
|
|
60
|
+
<span>{type.name}</span>
|
|
61
|
+
{def && (
|
|
62
|
+
<>
|
|
63
|
+
{` = `}<span style={ { fontWeight: "bold" } }>{def}</span>
|
|
64
|
+
</>
|
|
65
|
+
)}
|
|
66
|
+
</div>
|
|
67
|
+
<div>{comment.shortText}</div>
|
|
68
|
+
{example && (
|
|
69
|
+
<div style={ { marginLeft: 0, marginTop: 8, color: "rgb(153, 153, 153)", fontSize: "0.8rem" } }>
|
|
70
|
+
Example: <span style={ { fontWeight: "bold" } }>{example}</span>
|
|
71
|
+
</div>
|
|
72
|
+
)}
|
|
73
|
+
</div>
|
|
74
|
+
))}
|
|
75
|
+
</div>
|
|
76
|
+
)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Cover } from "..";
|
|
2
|
+
|
|
3
|
+
import image from "../../../../assets/daniel-leone-v7daTKlZzaw-unsplash.jpg";
|
|
4
|
+
|
|
5
|
+
<Cover metadata={image} img={{ src: image.src }} sources={[]} />
|
|
6
|
+
|
|
7
|
+
# Cover
|
|
8
|
+
|
|
9
|
+
The Cover component is an image that is displayed full-width. Use it above the first h1 heading on the page.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
Use the `importImage()` macro from the `"@zhif/macro"` package to load the image.
|
|
14
|
+
|
|
15
|
+
```jsx
|
|
16
|
+
import { Cover } from "timvir/blocks";
|
|
17
|
+
import { importImage } from "@zhif/macro";
|
|
18
|
+
|
|
19
|
+
<Cover {...importImage("path/to/image.jpg")} />;
|
|
20
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Cover } from "./Cover";
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { fullWidth } from 'timvir/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Takes a list of class names and filters for truthy ones, joining them into a single class name for convenience.
|
|
6
|
+
* eg.
|
|
7
|
+
* ```js
|
|
8
|
+
* cx('red', isBig && 'big') // returns 'red big' if `isBig` is true, otherwise returns 'red'
|
|
9
|
+
* ```
|
|
10
|
+
* If arguments provided are objects, these objects are merged together, and the values are taken as class names:
|
|
11
|
+
*
|
|
12
|
+
* ```js
|
|
13
|
+
* cx({ color: 'class1', textDecoration: 'class2'}, { color: 'class3' }) // returns `class3 class2`
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @returns the combined, space separated class names that can be applied directly to the class attribute
|
|
17
|
+
*/
|
|
18
|
+
const cx = function cx() {
|
|
19
|
+
const presentClassNames = Array.prototype.slice.call(arguments).filter(Boolean); // In the basic case, `cx` is passed all strings, and we simply need to join them together with space separators
|
|
20
|
+
|
|
21
|
+
const classNamesResult = presentClassNames.filter(arg => typeof arg !== 'object'); // There might also be objects (eg. from the atomic API) such as cx('foo', {
|
|
22
|
+
// key1: 'bar', key2: 'fizz'}, { key1: 'buzz' }) the desired behavior is to
|
|
23
|
+
// deduplicate the values based on their properties. The object's values are
|
|
24
|
+
// the class names
|
|
25
|
+
|
|
26
|
+
const styleCollectionResult = Object.values(Object.assign({}, ...presentClassNames.filter(arg => typeof arg === 'object')));
|
|
27
|
+
return [...styleCollectionResult, ...classNamesResult].join(' ');
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The underlying DOM element which is rendered by this component.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
const Root = "div";
|
|
35
|
+
|
|
36
|
+
function Cover(props, ref) {
|
|
37
|
+
const {
|
|
38
|
+
metadata,
|
|
39
|
+
img,
|
|
40
|
+
sources,
|
|
41
|
+
className,
|
|
42
|
+
...rest
|
|
43
|
+
} = props;
|
|
44
|
+
return /*#__PURE__*/React.createElement(Root, {
|
|
45
|
+
ref: ref,
|
|
46
|
+
className: cx(className, fullWidth),
|
|
47
|
+
...rest
|
|
48
|
+
}, /*#__PURE__*/React.createElement("picture", null, sources.map((p, i) => /*#__PURE__*/React.createElement("source", {
|
|
49
|
+
key: i,
|
|
50
|
+
...p
|
|
51
|
+
})), /*#__PURE__*/React.createElement("img", { ...metadata,
|
|
52
|
+
...img,
|
|
53
|
+
style: {
|
|
54
|
+
display: "block",
|
|
55
|
+
maxWidth: "100%",
|
|
56
|
+
height: "35vh",
|
|
57
|
+
objectFit: "cover"
|
|
58
|
+
}
|
|
59
|
+
})));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
var Cover$1 = /*#__PURE__*/React.forwardRef(Cover);
|
|
63
|
+
|
|
64
|
+
export { Cover$1 as Cover };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* The underlying DOM element which is rendered by this component.
|
|
4
|
+
*/
|
|
5
|
+
declare const Root = "figure";
|
|
6
|
+
interface Props extends React.ComponentProps<typeof Root> {
|
|
7
|
+
caption?: React.ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* How much the component should extend out of its original box. When number,
|
|
10
|
+
* it's the number of pixels. When a string, must evaluate to a CSS <length>
|
|
11
|
+
* (can be inline or reference to a CSS variable).
|
|
12
|
+
*
|
|
13
|
+
* @default 0
|
|
14
|
+
*/
|
|
15
|
+
bleed?: string | number;
|
|
16
|
+
BackdropProps?: React.ComponentPropsWithoutRef<"div">;
|
|
17
|
+
}
|
|
18
|
+
declare const _default: React.ForwardRefExoticComponent<Pick<Props, "key" | "dir" | "onError" | "hidden" | "color" | "style" | "caption" | "translate" | "prefix" | "slot" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "bleed" | "BackdropProps"> & React.RefAttributes<HTMLElement>>;
|
|
19
|
+
export default _default;
|