@tcn/ui 0.12.4 → 0.12.6
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/inputs/color_input/color_input.js +18 -18
- package/dist/inputs/color_input/color_input.js.map +1 -1
- package/dist/inputs/control/control.d.ts +10 -0
- package/dist/inputs/control/control.d.ts.map +1 -0
- package/dist/inputs/control/control.js +17 -0
- package/dist/inputs/control/control.js.map +1 -0
- package/dist/inputs/control_set/control_set.d.ts +5 -0
- package/dist/inputs/control_set/control_set.d.ts.map +1 -0
- package/dist/inputs/control_set/control_set.js +20 -0
- package/dist/inputs/{input_group/input_group.js.map → control_set/control_set.js.map} +1 -1
- package/dist/inputs/date_picker/date_picker_input.js +20 -20
- package/dist/inputs/date_picker/date_picker_input.js.map +1 -1
- package/dist/inputs/index.d.ts +2 -1
- package/dist/inputs/index.d.ts.map +1 -1
- package/dist/inputs/index.js +27 -24
- package/dist/inputs/index.js.map +1 -1
- package/dist/inputs/input/input.js +6 -6
- package/dist/inputs/input/input.js.map +1 -1
- package/dist/inputs/phone_number_input/phone_number_country_select_adapter.js +15 -15
- package/dist/inputs/phone_number_input/phone_number_country_select_adapter.js.map +1 -1
- package/dist/inputs/phone_number_input/phone_number_input.js +24 -24
- package/dist/inputs/phone_number_input/phone_number_input.js.map +1 -1
- package/dist/inputs/phone_number_input/phone_number_input_adapter.js +21 -21
- package/dist/inputs/phone_number_input/phone_number_input_adapter.js.map +1 -1
- package/dist/inputs/phone_number_input/sip_input.js +14 -14
- package/dist/inputs/phone_number_input/sip_input.js.map +1 -1
- package/dist/inputs/select/select.js +6 -6
- package/dist/inputs/select/select.js.map +1 -1
- package/dist/inputs/textarea/textarea.js +8 -8
- package/dist/inputs/textarea/textarea.js.map +1 -1
- package/dist/inputs/unit_input/unit_input.js +20 -20
- package/dist/inputs/unit_input/unit_input.js.map +1 -1
- package/dist/overlay/frame/frame.d.ts +2 -2
- package/dist/overlay/frame/frame.d.ts.map +1 -1
- package/dist/overlay/frame/frame.js +68 -66
- package/dist/overlay/frame/frame.js.map +1 -1
- package/dist/overlay/slide/slide.d.ts +9 -0
- package/dist/overlay/slide/slide.d.ts.map +1 -0
- package/dist/overlay/slide/slide.js +29 -0
- package/dist/overlay/slide/slide.js.map +1 -0
- package/dist/slide.css +1 -0
- package/dist/stacks/box/box.d.ts +5 -4
- package/dist/stacks/box/box.d.ts.map +1 -1
- package/dist/stacks/box/box.js.map +1 -1
- package/dist/stacks/box/detect_resize_bounds.d.ts +15 -0
- package/dist/stacks/box/detect_resize_bounds.d.ts.map +1 -0
- package/dist/stacks/box/detect_resize_bounds.js +49 -0
- package/dist/stacks/box/detect_resize_bounds.js.map +1 -0
- package/dist/stacks/box/resize_handlers.d.ts.map +1 -1
- package/dist/stacks/box/resize_handlers.js +51 -44
- package/dist/stacks/box/resize_handlers.js.map +1 -1
- package/dist/stacks/box/start_resize_handle.d.ts.map +1 -1
- package/dist/stacks/box/start_resize_handle.js +2 -1
- package/dist/stacks/box/start_resize_handle.js.map +1 -1
- package/dist/stacks/box/types.d.ts +17 -4
- package/dist/stacks/box/types.d.ts.map +1 -1
- package/dist/surfaces/drawers/drawer.d.ts +5 -0
- package/dist/surfaces/drawers/drawer.d.ts.map +1 -0
- package/dist/surfaces/drawers/drawer.js +23 -0
- package/dist/surfaces/drawers/drawer.js.map +1 -0
- package/dist/surfaces/index.d.ts +1 -4
- package/dist/surfaces/index.d.ts.map +1 -1
- package/dist/surfaces/index.js +20 -26
- package/dist/surfaces/index.js.map +1 -1
- package/dist/surfaces/modal/modal.d.ts +1 -1
- package/dist/surfaces/modal/modal.d.ts.map +1 -1
- package/dist/surfaces/modal/modal.js +22 -13
- package/dist/surfaces/modal/modal.js.map +1 -1
- package/dist/surfaces/window/window.d.ts +1 -1
- package/dist/surfaces/window/window.d.ts.map +1 -1
- package/dist/surfaces/window/window.js +21 -24
- package/dist/surfaces/window/window.js.map +1 -1
- package/dist/themes/stylesheets/reset.css +1 -1
- package/dist/themes/stylesheets/reset.js +2 -2
- package/dist/themes/stylesheets/reset.js.map +1 -1
- package/dist/themes/themes/ergo/ergo_theme.css +1 -1
- package/dist/themes/themes/ergo/ergo_theme.js +70 -6
- package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
- package/dist/utils/dnd/hooks/use_drag_container.d.ts.map +1 -1
- package/dist/utils/dnd/hooks/use_drag_container.js.map +1 -1
- package/package.json +2 -2
- package/src/inputs/color_input/color_input.tsx +3 -3
- package/src/inputs/control/control.stories.tsx +158 -0
- package/src/inputs/control/control.tsx +32 -0
- package/src/inputs/control/control_stories.module.css +7 -0
- package/src/inputs/control_set/control_set.stories.tsx +46 -0
- package/src/inputs/{input_group/input_group.tsx → control_set/control_set.tsx} +5 -5
- package/src/inputs/date_picker/date_picker_input.stories.tsx +1 -1
- package/src/inputs/date_picker/date_picker_input.tsx +1 -1
- package/src/inputs/index.ts +2 -1
- package/src/inputs/input/input.tsx +1 -1
- package/src/inputs/phone_number_input/phone_number_country_select_adapter.tsx +1 -1
- package/src/inputs/phone_number_input/phone_number_input.tsx +1 -1
- package/src/inputs/phone_number_input/phone_number_input_adapter.tsx +2 -2
- package/src/inputs/phone_number_input/sip_input.tsx +4 -4
- package/src/inputs/select/select.tsx +1 -1
- package/src/inputs/textarea/textarea.stories.tsx +1 -1
- package/src/inputs/textarea/textarea.tsx +1 -1
- package/src/inputs/unit_input/unit_input.tsx +3 -3
- package/src/overlay/frame/frame.tsx +43 -63
- package/src/overlay/slide/slide.module.css +30 -0
- package/src/overlay/slide/slide.stories.tsx +58 -0
- package/src/overlay/slide/slide.tsx +51 -0
- package/src/stacks/box/box.tsx +10 -16
- package/src/stacks/box/detect_resize_bounds.ts +84 -0
- package/src/stacks/box/resize_handlers.ts +27 -15
- package/src/stacks/box/start_resize_handle.tsx +6 -3
- package/src/stacks/box/types.ts +23 -25
- package/src/surfaces/drawers/drawer.stories.tsx +130 -0
- package/src/surfaces/drawers/drawer.tsx +26 -0
- package/src/surfaces/index.ts +1 -4
- package/src/surfaces/modal/__stories__/modal.stories.tsx +70 -3
- package/src/surfaces/modal/modal.tsx +11 -2
- package/src/surfaces/window/window.stories.tsx +64 -8
- package/src/surfaces/window/window.tsx +6 -9
- package/src/themes/stylesheets/reset.css +2 -2
- package/src/themes/themes/ergo/ergo_theme.css +70 -6
- package/src/utils/dnd/hooks/use_drag_container.ts +0 -7
- package/dist/drawer_bottom.css +0 -1
- package/dist/drawer_end.css +0 -1
- package/dist/drawer_start.css +0 -1
- package/dist/drawer_top.css +0 -1
- package/dist/inputs/input_group/input_group.d.ts +0 -5
- package/dist/inputs/input_group/input_group.d.ts.map +0 -1
- package/dist/inputs/input_group/input_group.js +0 -20
- package/dist/surfaces/drawers/drawer_bottom/drawer_bottom.d.ts +0 -7
- package/dist/surfaces/drawers/drawer_bottom/drawer_bottom.d.ts.map +0 -1
- package/dist/surfaces/drawers/drawer_bottom/drawer_bottom.js +0 -22
- package/dist/surfaces/drawers/drawer_bottom/drawer_bottom.js.map +0 -1
- package/dist/surfaces/drawers/drawer_end/drawer_end.d.ts +0 -7
- package/dist/surfaces/drawers/drawer_end/drawer_end.d.ts.map +0 -1
- package/dist/surfaces/drawers/drawer_end/drawer_end.js +0 -20
- package/dist/surfaces/drawers/drawer_end/drawer_end.js.map +0 -1
- package/dist/surfaces/drawers/drawer_start/drawer_start.d.ts +0 -7
- package/dist/surfaces/drawers/drawer_start/drawer_start.d.ts.map +0 -1
- package/dist/surfaces/drawers/drawer_start/drawer_start.js +0 -22
- package/dist/surfaces/drawers/drawer_start/drawer_start.js.map +0 -1
- package/dist/surfaces/drawers/drawer_top/drawer_top.d.ts +0 -7
- package/dist/surfaces/drawers/drawer_top/drawer_top.d.ts.map +0 -1
- package/dist/surfaces/drawers/drawer_top/drawer_top.js +0 -20
- package/dist/surfaces/drawers/drawer_top/drawer_top.js.map +0 -1
- package/src/surfaces/drawers/__stories__/drawers.stories.tsx +0 -26
- package/src/surfaces/drawers/drawer_bottom/drawer_bottom.module.css +0 -5
- package/src/surfaces/drawers/drawer_bottom/drawer_bottom.tsx +0 -23
- package/src/surfaces/drawers/drawer_end/drawer_end.module.css +0 -5
- package/src/surfaces/drawers/drawer_end/drawer_end.tsx +0 -24
- package/src/surfaces/drawers/drawer_start/drawer_start.module.css +0 -5
- package/src/surfaces/drawers/drawer_start/drawer_start.tsx +0 -23
- package/src/surfaces/drawers/drawer_top/drawer_top.module.css +0 -5
- package/src/surfaces/drawers/drawer_top/drawer_top.tsx +0 -24
|
@@ -9,15 +9,24 @@ import styles from './modal.module.css';
|
|
|
9
9
|
export type ModalProps = FrameProps;
|
|
10
10
|
|
|
11
11
|
export const Modal = React.forwardRef<HTMLElement, ModalProps>(function Modal(
|
|
12
|
-
{
|
|
12
|
+
{
|
|
13
|
+
children,
|
|
14
|
+
className,
|
|
15
|
+
isOpen,
|
|
16
|
+
veil = true,
|
|
17
|
+
resizable = false,
|
|
18
|
+
draggable = false,
|
|
19
|
+
...props
|
|
20
|
+
}: ModalProps,
|
|
13
21
|
ref
|
|
14
22
|
) {
|
|
15
23
|
return (
|
|
16
24
|
<Frame
|
|
17
25
|
ref={ref}
|
|
18
26
|
isOpen={isOpen}
|
|
19
|
-
draggable={draggable}
|
|
20
27
|
veil={veil}
|
|
28
|
+
draggable={draggable}
|
|
29
|
+
resizable={resizable}
|
|
21
30
|
className={clsx(styles['modal'], 'tcn-surface', 'tcn-modal', className)}
|
|
22
31
|
{...props}
|
|
23
32
|
>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useState } from 'react';
|
|
2
|
-
import { Window } from './window.js';
|
|
2
|
+
import { Window, type WindowProps } from './window.js';
|
|
3
3
|
import { Footer, Header, UtilityBar, VBody } from '../../layouts/index.js';
|
|
4
4
|
import { BodyText, Title } from '../../typography/index.js';
|
|
5
5
|
import { Spacer } from '../../stacks/spacer.js';
|
|
@@ -13,9 +13,61 @@ export default {
|
|
|
13
13
|
title: 'Surfaces/Window',
|
|
14
14
|
component: Window,
|
|
15
15
|
tags: ['autodocs'],
|
|
16
|
+
argTypes: {
|
|
17
|
+
draggable: {
|
|
18
|
+
control: 'boolean',
|
|
19
|
+
},
|
|
20
|
+
veil: {
|
|
21
|
+
control: 'boolean',
|
|
22
|
+
},
|
|
23
|
+
resizable: {
|
|
24
|
+
control: 'boolean',
|
|
25
|
+
},
|
|
26
|
+
width: {
|
|
27
|
+
control: 'text',
|
|
28
|
+
},
|
|
29
|
+
height: {
|
|
30
|
+
control: 'text',
|
|
31
|
+
},
|
|
32
|
+
minWidth: {
|
|
33
|
+
control: 'text',
|
|
34
|
+
},
|
|
35
|
+
minHeight: {
|
|
36
|
+
control: 'text',
|
|
37
|
+
},
|
|
38
|
+
maxWidth: {
|
|
39
|
+
control: 'text',
|
|
40
|
+
},
|
|
41
|
+
maxHeight: {
|
|
42
|
+
control: 'text',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
16
45
|
};
|
|
17
46
|
|
|
18
|
-
|
|
47
|
+
type WindowStoryProps = Pick<
|
|
48
|
+
WindowProps,
|
|
49
|
+
| 'resizable'
|
|
50
|
+
| 'draggable'
|
|
51
|
+
| 'veil'
|
|
52
|
+
| 'width'
|
|
53
|
+
| 'height'
|
|
54
|
+
| 'minWidth'
|
|
55
|
+
| 'minHeight'
|
|
56
|
+
| 'maxWidth'
|
|
57
|
+
| 'maxHeight'
|
|
58
|
+
>;
|
|
59
|
+
|
|
60
|
+
export const Baseline = ({
|
|
61
|
+
resizable,
|
|
62
|
+
draggable,
|
|
63
|
+
veil,
|
|
64
|
+
width = '400px',
|
|
65
|
+
height = '400px',
|
|
66
|
+
minWidth = 'min-content',
|
|
67
|
+
minHeight = '30%',
|
|
68
|
+
maxWidth = 500,
|
|
69
|
+
maxHeight = '500px',
|
|
70
|
+
}: WindowStoryProps) => {
|
|
19
71
|
const [isOpen, setIsOpen] = useState(false);
|
|
20
72
|
|
|
21
73
|
function toggle() {
|
|
@@ -27,13 +79,17 @@ export const WindowStory = () => {
|
|
|
27
79
|
<Button onClick={toggle}>{isOpen ? 'Close' : 'Open'}</Button>
|
|
28
80
|
<Window
|
|
29
81
|
isOpen={isOpen}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
82
|
+
draggable={draggable}
|
|
83
|
+
veil={veil}
|
|
84
|
+
resizable={resizable}
|
|
85
|
+
width={width}
|
|
86
|
+
height={height}
|
|
87
|
+
minWidth={minWidth}
|
|
88
|
+
minHeight={minHeight}
|
|
89
|
+
maxWidth={maxWidth}
|
|
90
|
+
maxHeight={maxHeight}
|
|
36
91
|
>
|
|
92
|
+
{/* Place the drag handle around the areas of the window you want to be draggable (usually the header) */}
|
|
37
93
|
<DragHandle>
|
|
38
94
|
<Header>
|
|
39
95
|
<Title>Window Title</Title>
|
|
@@ -13,27 +13,24 @@ export const Window = React.forwardRef<HTMLElement, WindowProps>(function Window
|
|
|
13
13
|
children,
|
|
14
14
|
className,
|
|
15
15
|
isOpen,
|
|
16
|
-
draggable = true,
|
|
17
|
-
resizable = true,
|
|
18
16
|
veil = false,
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
draggable = true,
|
|
18
|
+
resizable = false,
|
|
21
19
|
...props
|
|
22
20
|
}: WindowProps,
|
|
23
21
|
ref
|
|
24
22
|
) {
|
|
25
23
|
return (
|
|
26
24
|
<Frame
|
|
25
|
+
ref={ref}
|
|
27
26
|
isOpen={isOpen}
|
|
28
|
-
draggable={draggable}
|
|
29
27
|
veil={veil}
|
|
28
|
+
draggable={draggable}
|
|
29
|
+
resizable={resizable}
|
|
30
30
|
className={clsx(styles['window'], 'tcn-surface', 'tcn-window', className)}
|
|
31
|
-
width={width}
|
|
32
|
-
height={height}
|
|
33
|
-
ref={ref}
|
|
34
31
|
{...props}
|
|
35
32
|
>
|
|
36
|
-
<Scaffold width="100%" height="100%"
|
|
33
|
+
<Scaffold className={'tcn-window-scaffold'} width="100%" height="100%">
|
|
37
34
|
{children}
|
|
38
35
|
</Scaffold>
|
|
39
36
|
</Frame>
|
|
@@ -794,6 +794,30 @@
|
|
|
794
794
|
}
|
|
795
795
|
}
|
|
796
796
|
|
|
797
|
+
/* DRAWER: */
|
|
798
|
+
.tcn-drawer {
|
|
799
|
+
--divide-header: 0;
|
|
800
|
+
box-shadow: 0px 4px 34px 0px #00000096;
|
|
801
|
+
|
|
802
|
+
:where(.tcn-scaffold) {
|
|
803
|
+
background-color: var(--background-color-primary);
|
|
804
|
+
overflow: hidden;
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
:where(.tcn-header) {
|
|
808
|
+
--material: var(--ergo-secondary-dark);
|
|
809
|
+
--on-material: var(--ergo-white);
|
|
810
|
+
--action: var(--ergo-tertiary);
|
|
811
|
+
--on-action: var(--ergo-secondary-dark);
|
|
812
|
+
|
|
813
|
+
background-color: var(--material);
|
|
814
|
+
color: var(--on-material);
|
|
815
|
+
:where(.tcn-typography) {
|
|
816
|
+
color: inherit;
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
|
|
797
821
|
/* WINDOW: */
|
|
798
822
|
.tcn-window {
|
|
799
823
|
box-shadow: 0px 4px 34px 0px #00000096;
|
|
@@ -1148,6 +1172,7 @@
|
|
|
1148
1172
|
}
|
|
1149
1173
|
|
|
1150
1174
|
/* ===== INPUTS ===== */
|
|
1175
|
+
.tcn-entry,
|
|
1151
1176
|
.tcn-control {
|
|
1152
1177
|
--act: var(--action);
|
|
1153
1178
|
--mat: var(--material);
|
|
@@ -1165,7 +1190,7 @@
|
|
|
1165
1190
|
background: var(--act-raised);
|
|
1166
1191
|
}
|
|
1167
1192
|
|
|
1168
|
-
.tcn-control:focus-
|
|
1193
|
+
.tcn-control:focus-within {
|
|
1169
1194
|
outline: 2px solid var(--ergo-primary);
|
|
1170
1195
|
outline-offset: 2px;
|
|
1171
1196
|
}
|
|
@@ -1188,6 +1213,43 @@
|
|
|
1188
1213
|
color: var(--on-material-disabled);
|
|
1189
1214
|
}
|
|
1190
1215
|
|
|
1216
|
+
.tcn-control {
|
|
1217
|
+
display: flex;
|
|
1218
|
+
justify-content: center;
|
|
1219
|
+
gap: var(--gap-small);
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
.tcn-control-row {
|
|
1223
|
+
min-height: 22px;
|
|
1224
|
+
height: auto;
|
|
1225
|
+
align-items: center;
|
|
1226
|
+
gap: var(--gap-small);
|
|
1227
|
+
padding-block: 2px;
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1230
|
+
.tcn-control-row > .tcn-icon {
|
|
1231
|
+
color: var(--ergo-grey);
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
.tcn-control .tcn-entry {
|
|
1235
|
+
border: none;
|
|
1236
|
+
background: transparent;
|
|
1237
|
+
padding: 0;
|
|
1238
|
+
min-height: unset;
|
|
1239
|
+
border-radius: 0;
|
|
1240
|
+
height: 100%;
|
|
1241
|
+
flex-grow: 1;
|
|
1242
|
+
|
|
1243
|
+
&:hover,
|
|
1244
|
+
&:active,
|
|
1245
|
+
&:focus-visible,
|
|
1246
|
+
&:focus {
|
|
1247
|
+
outline: none;
|
|
1248
|
+
border: none;
|
|
1249
|
+
background: transparent;
|
|
1250
|
+
}
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1191
1253
|
.tcn-input {
|
|
1192
1254
|
height: auto;
|
|
1193
1255
|
}
|
|
@@ -1197,7 +1259,7 @@
|
|
|
1197
1259
|
cursor: text;
|
|
1198
1260
|
}
|
|
1199
1261
|
|
|
1200
|
-
.tcn-
|
|
1262
|
+
.tcn-control-set {
|
|
1201
1263
|
border-radius: var(--shape-radius-medium);
|
|
1202
1264
|
|
|
1203
1265
|
&:focus-within {
|
|
@@ -1205,7 +1267,7 @@
|
|
|
1205
1267
|
outline-offset: 2px;
|
|
1206
1268
|
}
|
|
1207
1269
|
|
|
1208
|
-
.tcn-
|
|
1270
|
+
.tcn-control-set-item {
|
|
1209
1271
|
z-index: 1;
|
|
1210
1272
|
border-radius: 0;
|
|
1211
1273
|
height: auto;
|
|
@@ -1218,16 +1280,16 @@
|
|
|
1218
1280
|
}
|
|
1219
1281
|
}
|
|
1220
1282
|
|
|
1221
|
-
.tcn-
|
|
1283
|
+
.tcn-control-set-item:first-child {
|
|
1222
1284
|
border-top-left-radius: var(--shape-radius-medium);
|
|
1223
1285
|
border-bottom-left-radius: var(--shape-radius-medium);
|
|
1224
1286
|
}
|
|
1225
1287
|
|
|
1226
|
-
.tcn-
|
|
1288
|
+
.tcn-control-set-item:not(:last-child) {
|
|
1227
1289
|
margin-right: -1px;
|
|
1228
1290
|
}
|
|
1229
1291
|
|
|
1230
|
-
.tcn-
|
|
1292
|
+
.tcn-control-set-item:last-child {
|
|
1231
1293
|
border-top-right-radius: var(--shape-radius-medium);
|
|
1232
1294
|
border-bottom-right-radius: var(--shape-radius-medium);
|
|
1233
1295
|
}
|
|
@@ -1299,11 +1361,13 @@
|
|
|
1299
1361
|
.tcn-input,
|
|
1300
1362
|
.tcn-select,
|
|
1301
1363
|
.tcn-slider,
|
|
1364
|
+
.tcn-textarea,
|
|
1302
1365
|
.tcn-checkbox,
|
|
1303
1366
|
.tcn-switch-wrapper,
|
|
1304
1367
|
.tcn-date-picker,
|
|
1305
1368
|
.tcn-date-picker-year-selector,
|
|
1306
1369
|
.tcn-radio,
|
|
1370
|
+
.tcn-date-picker-input,
|
|
1307
1371
|
.tcn-suggestion-list-search-input,
|
|
1308
1372
|
.tcn-suggestion-list {
|
|
1309
1373
|
--accent-color: var(--ergo-primary);
|
|
@@ -10,14 +10,7 @@ export interface UseDragContainerOptions {
|
|
|
10
10
|
export function useMakeDragContainer(options: UseDragContainerOptions): DragContainer {
|
|
11
11
|
const [handles, setHandles] = useState<React.RefObject<HTMLElement>[]>([]);
|
|
12
12
|
const positionRef = useRef<Position>(options.initialPosition ?? { x: 0, y: 0 });
|
|
13
|
-
/**
|
|
14
|
-
* The value that triggers re-renders. It’s updated in dragCallback so the UI
|
|
15
|
-
* moves while dragging, and it’s what the hook returns so the consumer can
|
|
16
|
-
* render the element at that position
|
|
17
|
-
* (e.g. style={{ left: position.x, top: position.y }}).
|
|
18
|
-
*/
|
|
19
13
|
const [position, setPosition] = useState(positionRef.current);
|
|
20
|
-
|
|
21
14
|
const [isDragging, setIsDragging] = useState(false);
|
|
22
15
|
|
|
23
16
|
useDraggable({
|
package/dist/drawer_bottom.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer tcn-system{:where(._drawerBottom_9359033){background-color:var(--background-color-primary)}}
|
package/dist/drawer_end.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer tcn-system{:where(._drawerEnd_39acb27){background-color:var(--background-color-primary)}}
|
package/dist/drawer_start.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer tcn-system{:where(._drawerStart_3abbf56){background-color:var(--background-color-primary)}}
|
package/dist/drawer_top.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer tcn-system{:where(._drawerBottom_7a0635a){background-color:var(--background-color-primary)}}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { HStackProps } from '../../stacks/h_stack.js';
|
|
3
|
-
export type InputGroupProps = HStackProps;
|
|
4
|
-
export declare const InputGroup: React.ForwardRefExoticComponent<InputGroupProps & React.RefAttributes<HTMLElement>>;
|
|
5
|
-
//# sourceMappingURL=input_group.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input_group.d.ts","sourceRoot":"","sources":["../../../src/inputs/input_group/input_group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC;AAE1C,eAAO,MAAM,UAAU,qFAmBtB,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as u } from "react/jsx-runtime";
|
|
2
|
-
import r from "react";
|
|
3
|
-
import { clsx as t } from "clsx";
|
|
4
|
-
import { HStack as c } from "../../stacks/h_stack.js";
|
|
5
|
-
const N = r.forwardRef(
|
|
6
|
-
function({ children: n, as: p = "div", className: e, ...m }, s) {
|
|
7
|
-
const a = r.Children.map(
|
|
8
|
-
n,
|
|
9
|
-
(o) => r.isValidElement(o) ? r.cloneElement(o, {
|
|
10
|
-
...o.props,
|
|
11
|
-
className: t(o.props.className, "tcn-input-group-slot")
|
|
12
|
-
}) : o
|
|
13
|
-
);
|
|
14
|
-
return /* @__PURE__ */ u(c, { ref: s, as: p, className: t(e, "tcn-input-group"), ...m, children: a });
|
|
15
|
-
}
|
|
16
|
-
);
|
|
17
|
-
export {
|
|
18
|
-
N as InputGroup
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=input_group.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { VStackProps } from '../../../stacks/v_stack.js';
|
|
2
|
-
import { default as React } from 'react';
|
|
3
|
-
export interface DrawerBottomProps extends Omit<VStackProps, 'as' | 'children'> {
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
}
|
|
6
|
-
export declare const DrawerBottom: React.ForwardRefExoticComponent<DrawerBottomProps & React.RefAttributes<HTMLElement>>;
|
|
7
|
-
//# sourceMappingURL=drawer_bottom.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer_bottom.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/drawers/drawer_bottom/drawer_bottom.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,UAAU,CAAC;IAC7E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,uFAaxB,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { VStack as a } from "../../../stacks/v_stack.js";
|
|
3
|
-
import { clsx as s } from "clsx";
|
|
4
|
-
import c from "react";
|
|
5
|
-
import '../../../drawer_bottom.css';const f = "_drawerBottom_9359033", n = { drawerBottom: f }, l = c.forwardRef(
|
|
6
|
-
function({ children: t, className: o, ...r }, m) {
|
|
7
|
-
return /* @__PURE__ */ e(
|
|
8
|
-
a,
|
|
9
|
-
{
|
|
10
|
-
ref: m,
|
|
11
|
-
as: "section",
|
|
12
|
-
className: s(n.drawerBottom, o, "tcn-drawer-bottom"),
|
|
13
|
-
...r,
|
|
14
|
-
children: t
|
|
15
|
-
}
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
);
|
|
19
|
-
export {
|
|
20
|
-
l as DrawerBottom
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=drawer_bottom.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer_bottom.js","sources":["../../../../src/surfaces/drawers/drawer_bottom/drawer_bottom.tsx"],"sourcesContent":["import { VStack, type VStackProps } from '../../../stacks/v_stack.js';\nimport { clsx } from 'clsx';\nimport React from 'react';\nimport styles from './drawer_bottom.module.css';\n\nexport interface DrawerBottomProps extends Omit<VStackProps, 'as' | 'children'> {\n children?: React.ReactNode;\n}\n\nexport const DrawerBottom = React.forwardRef<HTMLElement, DrawerBottomProps>(\n function DrawerBottom({ children, className, ...props }: DrawerBottomProps, ref) {\n return (\n <VStack\n ref={ref}\n as=\"section\"\n className={clsx(styles.drawerBottom, className, 'tcn-drawer-bottom')}\n {...props}\n >\n {children}\n </VStack>\n );\n }\n);\n"],"names":["DrawerBottom","React","children","className","props","ref","jsx","VStack","clsx","styles"],"mappings":";;;;4DASaA,IAAeC,EAAM;AAAA,EAChC,SAAsB,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAA4BC,GAAK;AAC/E,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,IAAG;AAAA,QACH,WAAWG,EAAKC,EAAO,cAAcN,GAAW,mBAAmB;AAAA,QAClE,GAAGC;AAAA,QAEH,UAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { VStackProps } from '../../../stacks/v_stack.js';
|
|
2
|
-
import { default as React } from 'react';
|
|
3
|
-
export interface DrawerEndProps extends Omit<VStackProps, 'as' | 'children'> {
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
}
|
|
6
|
-
export declare const DrawerEnd: React.ForwardRefExoticComponent<DrawerEndProps & React.RefAttributes<HTMLElement>>;
|
|
7
|
-
//# sourceMappingURL=drawer_end.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer_end.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/drawers/drawer_end/drawer_end.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,UAAU,CAAC;IAC1E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,SAAS,oFAcpB,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { VStack as n } from "../../../stacks/v_stack.js";
|
|
3
|
-
import { clsx as d } from "clsx";
|
|
4
|
-
import c from "react";
|
|
5
|
-
import '../../../drawer_end.css';const s = "_drawerEnd_39acb27", m = { drawerEnd: s }, l = c.forwardRef(function({ children: r, className: t, ...o }, a) {
|
|
6
|
-
return /* @__PURE__ */ e(
|
|
7
|
-
n,
|
|
8
|
-
{
|
|
9
|
-
ref: a,
|
|
10
|
-
as: "section",
|
|
11
|
-
className: d(m.drawerEnd, t, "tcn-drawerEnd"),
|
|
12
|
-
...o,
|
|
13
|
-
children: r
|
|
14
|
-
}
|
|
15
|
-
);
|
|
16
|
-
});
|
|
17
|
-
export {
|
|
18
|
-
l as DrawerEnd
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=drawer_end.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer_end.js","sources":["../../../../src/surfaces/drawers/drawer_end/drawer_end.tsx"],"sourcesContent":["import { VStack, type VStackProps } from '../../../stacks/v_stack.js';\nimport { clsx } from 'clsx';\nimport React from 'react';\nimport styles from './drawer_end.module.css';\n\nexport interface DrawerEndProps extends Omit<VStackProps, 'as' | 'children'> {\n children?: React.ReactNode;\n}\n\nexport const DrawerEnd = React.forwardRef<HTMLElement, DrawerEndProps>(function DrawerEnd(\n { children, className, ...props }: DrawerEndProps,\n ref\n) {\n return (\n <VStack\n ref={ref}\n as=\"section\"\n className={clsx(styles.drawerEnd, className, 'tcn-drawerEnd')}\n {...props}\n >\n {children}\n </VStack>\n );\n});\n"],"names":["DrawerEnd","React","children","className","props","ref","jsx","VStack","clsx","styles"],"mappings":";;;;sDASaA,IAAYC,EAAM,WAAwC,SACrE,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAC1BC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,IAAG;AAAA,MACH,WAAWG,EAAKC,EAAO,WAAWN,GAAW,eAAe;AAAA,MAC3D,GAAGC;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { VStackProps } from '../../../stacks/v_stack.js';
|
|
2
|
-
import { default as React } from 'react';
|
|
3
|
-
export interface DrawerStartProps extends Omit<VStackProps, 'as' | 'children'> {
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
}
|
|
6
|
-
export declare const DrawerStart: React.ForwardRefExoticComponent<DrawerStartProps & React.RefAttributes<HTMLElement>>;
|
|
7
|
-
//# sourceMappingURL=drawer_start.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer_start.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/drawers/drawer_start/drawer_start.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,UAAU,CAAC;IAC5E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,WAAW,sFAavB,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { VStack as s } from "../../../stacks/v_stack.js";
|
|
3
|
-
import { clsx as c } from "clsx";
|
|
4
|
-
import f from "react";
|
|
5
|
-
import '../../../drawer_start.css';const m = "_drawerStart_3abbf56", n = { drawerStart: m }, l = f.forwardRef(
|
|
6
|
-
function({ children: r, className: t, ...a }, o) {
|
|
7
|
-
return /* @__PURE__ */ e(
|
|
8
|
-
s,
|
|
9
|
-
{
|
|
10
|
-
ref: o,
|
|
11
|
-
as: "section",
|
|
12
|
-
className: c(n.drawerStart, t, "tcn-drawerStart"),
|
|
13
|
-
...a,
|
|
14
|
-
children: r
|
|
15
|
-
}
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
);
|
|
19
|
-
export {
|
|
20
|
-
l as DrawerStart
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=drawer_start.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer_start.js","sources":["../../../../src/surfaces/drawers/drawer_start/drawer_start.tsx"],"sourcesContent":["import { VStack, type VStackProps } from '../../../stacks/v_stack.js';\nimport { clsx } from 'clsx';\nimport React from 'react';\nimport styles from './drawer_start.module.css';\n\nexport interface DrawerStartProps extends Omit<VStackProps, 'as' | 'children'> {\n children?: React.ReactNode;\n}\n\nexport const DrawerStart = React.forwardRef<HTMLElement, DrawerStartProps>(\n function DrawerStart({ children, className, ...props }: DrawerStartProps, ref) {\n return (\n <VStack\n ref={ref}\n as=\"section\"\n className={clsx(styles.drawerStart, className, 'tcn-drawerStart')}\n {...props}\n >\n {children}\n </VStack>\n );\n }\n);\n"],"names":["DrawerStart","React","children","className","props","ref","jsx","VStack","clsx","styles"],"mappings":";;;;0DASaA,IAAcC,EAAM;AAAA,EAC/B,SAAqB,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAA2BC,GAAK;AAC7E,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,IAAG;AAAA,QACH,WAAWG,EAAKC,EAAO,aAAaN,GAAW,iBAAiB;AAAA,QAC/D,GAAGC;AAAA,QAEH,UAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { VStackProps } from '../../../stacks/v_stack.js';
|
|
2
|
-
import { default as React } from 'react';
|
|
3
|
-
export interface DrawerTopProps extends Omit<VStackProps, 'as' | 'children'> {
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
}
|
|
6
|
-
export declare const DrawerTop: React.ForwardRefExoticComponent<DrawerTopProps & React.RefAttributes<HTMLElement>>;
|
|
7
|
-
//# sourceMappingURL=drawer_top.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer_top.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/drawers/drawer_top/drawer_top.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,UAAU,CAAC;IAC1E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,SAAS,oFAcpB,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { VStack as m } from "../../../stacks/v_stack.js";
|
|
3
|
-
import { clsx as s } from "clsx";
|
|
4
|
-
import c from "react";
|
|
5
|
-
import '../../../drawer_top.css';const p = "_drawerBottom_7a0635a", f = { drawerBottom: p }, T = c.forwardRef(function({ children: r, className: o, ...t }, a) {
|
|
6
|
-
return /* @__PURE__ */ e(
|
|
7
|
-
m,
|
|
8
|
-
{
|
|
9
|
-
ref: a,
|
|
10
|
-
as: "section",
|
|
11
|
-
className: s(f.drawerTop, o, "tcn-drawerTop"),
|
|
12
|
-
...t,
|
|
13
|
-
children: r
|
|
14
|
-
}
|
|
15
|
-
);
|
|
16
|
-
});
|
|
17
|
-
export {
|
|
18
|
-
T as DrawerTop
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=drawer_top.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer_top.js","sources":["../../../../src/surfaces/drawers/drawer_top/drawer_top.tsx"],"sourcesContent":["import { VStack, type VStackProps } from '../../../stacks/v_stack.js';\nimport { clsx } from 'clsx';\nimport React from 'react';\nimport styles from './drawer_top.module.css';\n\nexport interface DrawerTopProps extends Omit<VStackProps, 'as' | 'children'> {\n children?: React.ReactNode;\n}\n\nexport const DrawerTop = React.forwardRef<HTMLElement, DrawerTopProps>(function DrawerTop(\n { children, className, ...props }: DrawerTopProps,\n ref\n) {\n return (\n <VStack\n ref={ref}\n as=\"section\"\n className={clsx(styles.drawerTop, className, 'tcn-drawerTop')}\n {...props}\n >\n {children}\n </VStack>\n );\n});\n"],"names":["DrawerTop","React","children","className","props","ref","jsx","VStack","clsx","styles"],"mappings":";;;;4DASaA,IAAYC,EAAM,WAAwC,SACrE,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAC1BC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,IAAG;AAAA,MACH,WAAWG,EAAKC,EAAO,WAAWN,GAAW,eAAe;AAAA,MAC3D,GAAGC;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { DrawerStart } from '../drawer_start/drawer_start';
|
|
2
|
-
import { DrawerEnd } from '../drawer_end/drawer_end';
|
|
3
|
-
import { DrawerTop } from '../drawer_top/drawer_top';
|
|
4
|
-
import { DrawerBottom } from '../drawer_bottom/drawer_bottom';
|
|
5
|
-
|
|
6
|
-
export default {
|
|
7
|
-
title: 'Surfaces/Drawers',
|
|
8
|
-
component: DrawerStart,
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export const DrawerStartStory = () => {
|
|
13
|
-
return <DrawerStart>drawer start</DrawerStart>;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
export const DrawerEndStory = () => {
|
|
17
|
-
return <DrawerEnd>drawer end</DrawerEnd>;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export const DrawerTopStory = () => {
|
|
21
|
-
return <DrawerTop>drawer top</DrawerTop>;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export const DrawerBottomStory = () => {
|
|
25
|
-
return <DrawerBottom>drawer bottom</DrawerBottom>;
|
|
26
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { VStack, type VStackProps } from '../../../stacks/v_stack.js';
|
|
2
|
-
import { clsx } from 'clsx';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import styles from './drawer_bottom.module.css';
|
|
5
|
-
|
|
6
|
-
export interface DrawerBottomProps extends Omit<VStackProps, 'as' | 'children'> {
|
|
7
|
-
children?: React.ReactNode;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const DrawerBottom = React.forwardRef<HTMLElement, DrawerBottomProps>(
|
|
11
|
-
function DrawerBottom({ children, className, ...props }: DrawerBottomProps, ref) {
|
|
12
|
-
return (
|
|
13
|
-
<VStack
|
|
14
|
-
ref={ref}
|
|
15
|
-
as="section"
|
|
16
|
-
className={clsx(styles.drawerBottom, className, 'tcn-drawer-bottom')}
|
|
17
|
-
{...props}
|
|
18
|
-
>
|
|
19
|
-
{children}
|
|
20
|
-
</VStack>
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
);
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { VStack, type VStackProps } from '../../../stacks/v_stack.js';
|
|
2
|
-
import { clsx } from 'clsx';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import styles from './drawer_end.module.css';
|
|
5
|
-
|
|
6
|
-
export interface DrawerEndProps extends Omit<VStackProps, 'as' | 'children'> {
|
|
7
|
-
children?: React.ReactNode;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const DrawerEnd = React.forwardRef<HTMLElement, DrawerEndProps>(function DrawerEnd(
|
|
11
|
-
{ children, className, ...props }: DrawerEndProps,
|
|
12
|
-
ref
|
|
13
|
-
) {
|
|
14
|
-
return (
|
|
15
|
-
<VStack
|
|
16
|
-
ref={ref}
|
|
17
|
-
as="section"
|
|
18
|
-
className={clsx(styles.drawerEnd, className, 'tcn-drawerEnd')}
|
|
19
|
-
{...props}
|
|
20
|
-
>
|
|
21
|
-
{children}
|
|
22
|
-
</VStack>
|
|
23
|
-
);
|
|
24
|
-
});
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { VStack, type VStackProps } from '../../../stacks/v_stack.js';
|
|
2
|
-
import { clsx } from 'clsx';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import styles from './drawer_start.module.css';
|
|
5
|
-
|
|
6
|
-
export interface DrawerStartProps extends Omit<VStackProps, 'as' | 'children'> {
|
|
7
|
-
children?: React.ReactNode;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const DrawerStart = React.forwardRef<HTMLElement, DrawerStartProps>(
|
|
11
|
-
function DrawerStart({ children, className, ...props }: DrawerStartProps, ref) {
|
|
12
|
-
return (
|
|
13
|
-
<VStack
|
|
14
|
-
ref={ref}
|
|
15
|
-
as="section"
|
|
16
|
-
className={clsx(styles.drawerStart, className, 'tcn-drawerStart')}
|
|
17
|
-
{...props}
|
|
18
|
-
>
|
|
19
|
-
{children}
|
|
20
|
-
</VStack>
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
);
|