@a-type/ui 6.1.16 → 6.1.19

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.
Files changed (47) hide show
  1. package/dist/components/button/ConfirmedButton.js +2 -2
  2. package/dist/components/button/ConfirmedButton.js.map +1 -1
  3. package/dist/components/datePicker/DatePicker.d.ts +1 -1
  4. package/dist/components/datePicker/DatePicker.stories.d.ts +1 -1
  5. package/dist/components/datePicker/DateRangePicker.d.ts +1 -1
  6. package/dist/components/datePicker/DateRangePicker.js +15 -1
  7. package/dist/components/datePicker/DateRangePicker.js.map +1 -1
  8. package/dist/components/dialog/Dialog.d.ts +20 -34
  9. package/dist/components/dialog/Dialog.js +47 -208
  10. package/dist/components/dialog/Dialog.js.map +1 -1
  11. package/dist/components/dialog/Dialog.module.css +10 -82
  12. package/dist/components/dialog/Dialog.stories.js +8 -7
  13. package/dist/components/dialog/Dialog.stories.js.map +1 -1
  14. package/dist/components/drawer/Drawer.d.ts +24 -0
  15. package/dist/components/drawer/Drawer.js +101 -0
  16. package/dist/components/drawer/Drawer.js.map +1 -0
  17. package/dist/components/drawer/Drawer.module.css +236 -0
  18. package/dist/components/drawer/Drawer.stories.d.ts +7 -0
  19. package/dist/components/drawer/Drawer.stories.js +28 -0
  20. package/dist/components/drawer/Drawer.stories.js.map +1 -0
  21. package/dist/components/drawer/index.d.ts +1 -0
  22. package/dist/components/drawer/index.js +2 -0
  23. package/dist/components/drawer/index.js.map +1 -0
  24. package/dist/components/globalErrorFallback/GlobalErrorFallback.d.ts +1 -1
  25. package/dist/components/globalErrorFallback/GlobalErrorFallback.js +2 -1
  26. package/dist/components/globalErrorFallback/GlobalErrorFallback.js.map +1 -1
  27. package/dist/components/index.d.ts +1 -0
  28. package/dist/components/index.js +1 -0
  29. package/dist/components/index.js.map +1 -1
  30. package/dist/components/scrollArea/ScrollArea.module.css +1 -0
  31. package/dist/hooks/withContextVariant.d.ts +8 -0
  32. package/dist/hooks/withContextVariant.js +21 -0
  33. package/dist/hooks/withContextVariant.js.map +1 -0
  34. package/package.json +3 -2
  35. package/src/components/button/ConfirmedButton.tsx +9 -16
  36. package/src/components/datePicker/DateRangePicker.tsx +18 -1
  37. package/src/components/dialog/Dialog.module.css +10 -82
  38. package/src/components/dialog/Dialog.stories.tsx +45 -51
  39. package/src/components/dialog/Dialog.tsx +98 -332
  40. package/src/components/drawer/Drawer.module.css +235 -0
  41. package/src/components/drawer/Drawer.stories.tsx +109 -0
  42. package/src/components/drawer/Drawer.tsx +189 -0
  43. package/src/components/drawer/index.ts +1 -0
  44. package/src/components/globalErrorFallback/GlobalErrorFallback.tsx +2 -1
  45. package/src/components/index.ts +1 -0
  46. package/src/components/scrollArea/ScrollArea.module.css +1 -0
  47. package/src/hooks/withContextVariant.tsx +24 -0
@@ -8,7 +8,7 @@ import { Provider } from '../provider/Provider.js';
8
8
  import { Select } from '../select/index.js';
9
9
  import { Tooltip } from '../tooltip/Tooltip.js';
10
10
  import { H1, P } from '../typography/index.js';
11
- import { Dialog, DialogActions, DialogClose, DialogContent, DialogTitle, DialogTrigger, } from './Dialog.js';
11
+ import { Dialog } from './Dialog.js';
12
12
  const meta = {
13
13
  title: 'Components/Dialog',
14
14
  component: Dialog,
@@ -23,22 +23,23 @@ function DummyContent() {
23
23
  }
24
24
  export const Default = {
25
25
  args: {
26
- children: (_jsxs(ParticleLayer, { noPortal: true, children: [_jsx(DialogTrigger, { render: _jsx(Button, {}), children: "Open" }), _jsx(DummyContent, {}), _jsxs(DialogContent, { children: [_jsx(DialogTitle, { children: "Hello world" }), _jsx(DummyContent, {}), _jsx(DummyContent, {}), _jsx(DummyContent, {}), _jsxs(Box, { gap: true, children: [_jsx(Input, { placeholder: "Type something..." }), _jsx(Button, { emphasis: "primary", children: "Submit" })] }), _jsxs(DialogActions, { children: [_jsx(DialogClose, {}), _jsx(Button, { emphasis: "primary", children: "Accept" })] })] })] })),
26
+ children: (_jsxs(ParticleLayer, { noPortal: true, children: [_jsx(Dialog.Trigger, { render: _jsx(Button, {}), children: "Open" }), _jsx(DummyContent, {}), _jsxs(Dialog.Content, { children: [_jsx(Dialog.Title, { children: "Hello world" }), _jsx(DummyContent, {}), _jsx(DummyContent, {}), _jsx(DummyContent, {}), _jsxs(Box, { gap: true, children: [_jsx(Input, { placeholder: "Type something..." }), _jsx(Button, { emphasis: "primary", children: "Submit" })] }), _jsxs(Dialog.Actions, { children: [_jsx(Dialog.Close, {}), _jsx(Button, { emphasis: "primary", children: "Accept" })] })] })] })),
27
27
  },
28
28
  };
29
29
  export const Small = {
30
30
  args: {
31
- children: (_jsxs(ParticleLayer, { noPortal: true, children: [_jsx(DialogTrigger, { render: _jsx(Button, {}), children: "Open" }), _jsx(DummyContent, {}), _jsxs(DialogContent, { children: [_jsx(DialogTitle, { children: "Hello world" }), _jsx(DummyContent, {}), _jsx(DialogActions, { children: _jsx(DialogClose, {}) })] })] })),
31
+ children: (_jsxs(ParticleLayer, { noPortal: true, children: [_jsx(Dialog.Trigger, { render: _jsx(Button, {}), children: "Open" }), _jsx(DummyContent, {}), _jsxs(Dialog.Content, { children: [_jsx(Dialog.Title, { children: "Hello world" }), _jsx(DummyContent, {}), _jsx(Dialog.Actions, { children: _jsx(Dialog.Close, {}) })] })] })),
32
32
  },
33
33
  };
34
34
  export const NoSheet = {
35
35
  args: {
36
- children: (_jsxs(ParticleLayer, { noPortal: true, children: [_jsx(DialogTrigger, { render: _jsx(Button, {}), children: "Open" }), _jsx(DummyContent, {}), _jsxs(DialogContent, { disableSheet: true, children: [_jsx(DialogTitle, { children: "Hello world" }), _jsx(DialogActions, { children: _jsx(DialogClose, {}) })] })] })),
36
+ disableSheet: true,
37
+ children: (_jsxs(ParticleLayer, { noPortal: true, children: [_jsx(Dialog.Trigger, { render: _jsx(Button, {}), children: "Open" }), _jsx(DummyContent, {}), _jsxs(Dialog.Content, { children: [_jsx(Dialog.Title, { children: "Hello world" }), _jsx(Dialog.Actions, { children: _jsx(Dialog.Close, {}) })] })] })),
37
38
  },
38
39
  };
39
40
  export const Positioned = {
40
41
  args: {
41
- children: (_jsxs(ParticleLayer, { noPortal: true, children: [_jsx(DialogTrigger, { render: _jsx(Button, {}), children: "Open" }), _jsx(DummyContent, {}), _jsxs(DialogContent, { style: { bottom: 0, top: 'auto' }, children: [_jsx(DialogTitle, { children: "Hello world" }), _jsx(DialogActions, { children: _jsx(DialogClose, {}) })] })] })),
42
+ children: (_jsxs(ParticleLayer, { noPortal: true, children: [_jsx(Dialog.Trigger, { render: _jsx(Button, {}), children: "Open" }), _jsx(DummyContent, {}), _jsxs(Dialog.Content, { style: { bottom: 0, top: 'auto' }, children: [_jsx(Dialog.Title, { children: "Hello world" }), _jsx(Dialog.Actions, { children: _jsx(Dialog.Close, {}) })] })] })),
42
43
  },
43
44
  };
44
45
  export const VirtualKeyboard = {
@@ -52,7 +53,7 @@ export const VirtualKeyboard = {
52
53
  document.body.style.removeProperty('--mock-virtual-keyboard-height');
53
54
  }
54
55
  }, [keyboard]);
55
- return (_jsxs(Provider, { virtualKeyboardBehavior: "overlay", children: [_jsxs(Dialog, { children: [_jsx(DialogTrigger, { render: _jsx(Button, {}), children: "Open" }), _jsx(DummyContent, {}), _jsxs(DialogContent, { children: [_jsx(DialogTitle, { children: "Hello world" }), _jsx(Input, {}), _jsxs(DialogActions, { children: [_jsx(DialogClose, {}), _jsx(Button, { onClick: () => setKeyboard((v) => !v), children: "Toggle fake kb" })] })] })] }), _jsx("div", { className: "bg-neutral-ink", style: {
56
+ return (_jsxs(Provider, { virtualKeyboardBehavior: "overlay", children: [_jsxs(Dialog, { children: [_jsx(Dialog.Trigger, { render: _jsx(Button, {}), children: "Open" }), _jsx(DummyContent, {}), _jsxs(Dialog.Content, { children: [_jsx(Dialog.Title, { children: "Hello world" }), _jsx(Input, {}), _jsxs(Dialog.Actions, { children: [_jsx(Dialog.Close, {}), _jsx(Button, { onClick: () => setKeyboard((v) => !v), children: "Toggle fake kb" })] })] })] }), _jsx("div", { className: "bg-neutral-ink", style: {
56
57
  position: 'fixed',
57
58
  bottom: 0,
58
59
  left: 0,
@@ -65,7 +66,7 @@ export const VirtualKeyboard = {
65
66
  };
66
67
  export const MultiNested = {
67
68
  render() {
68
- return (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { render: _jsx(Button, {}), children: "Open" }), _jsxs(DialogContent, { children: [_jsx(DialogTitle, { children: "Hello world" }), _jsx(DummyContent, {}), _jsxs(Select, { value: "", children: [_jsx(Select.Trigger, { children: _jsx(Select.Value, {}) }), _jsxs(Select.Content, { children: [_jsx(Select.Item, { value: null, children: "Select an option" }), _jsx(Select.Item, { value: "option1", children: "Option 1" }), _jsx(Select.Item, { value: "option2", children: "Option 2" }), _jsx(Select.Item, { value: "option3", children: "Option 3" })] })] }), _jsxs(Dialog, { children: [_jsx(DialogTrigger, { render: _jsx(Button, {}), children: "Open nested" }), _jsxs(DialogContent, { children: [_jsx(DialogTitle, { children: "Nested dialog" }), _jsx(Tooltip, { content: "This is a tooltip", children: _jsx(Button, { children: "Hover me" }) }), _jsx(DummyContent, {}), _jsx(DummyContent, {})] })] })] })] }));
69
+ return (_jsxs(Dialog, { children: [_jsx(Dialog.Trigger, { render: _jsx(Button, {}), children: "Open" }), _jsxs(Dialog.Content, { children: [_jsx(Dialog.Title, { children: "Hello world" }), _jsx(DummyContent, {}), _jsxs(Select, { value: "", children: [_jsx(Select.Trigger, { children: _jsx(Select.Value, {}) }), _jsxs(Select.Content, { children: [_jsx(Select.Item, { value: null, children: "Select an option" }), _jsx(Select.Item, { value: "option1", children: "Option 1" }), _jsx(Select.Item, { value: "option2", children: "Option 2" }), _jsx(Select.Item, { value: "option3", children: "Option 3" })] })] }), _jsxs(Dialog, { children: [_jsx(Dialog.Trigger, { render: _jsx(Button, {}), children: "Open nested" }), _jsxs(Dialog.Content, { children: [_jsx(Dialog.Title, { children: "Nested dialog" }), _jsx(Tooltip, { content: "This is a tooltip", children: _jsx(Button, { children: "Hover me" }) }), _jsx(DummyContent, {}), _jsx(DummyContent, {})] })] })] })] }));
69
70
  },
70
71
  };
71
72
  export const Selectable = {
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.stories.js","sourceRoot":"","sources":["../../../src/components/dialog/Dialog.stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.stories.js","sourceRoot":"","sources":["../../../src/components/dialog/Dialog.stories.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { Drawer as BaseDrawer, DrawerCloseProps, DrawerPopupProps, DrawerRootProps, DrawerTriggerProps } from '@base-ui/react/drawer';
2
+ import { Ref } from 'react';
3
+ export interface DrawerContentProps extends DrawerPopupProps {
4
+ disableDefaultClose?: boolean;
5
+ ref?: Ref<HTMLDivElement>;
6
+ innerClassName?: string;
7
+ }
8
+ export interface DrawerProps extends Omit<DrawerRootProps, 'swipeDirection'> {
9
+ }
10
+ declare function DrawerClose({ children, render, ...props }: DrawerCloseProps & {
11
+ ref?: React.Ref<HTMLButtonElement>;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ export declare const Drawer: (({ children, snapPoints, ...props }: DrawerProps) => import("react/jsx-runtime").JSX.Element) & {
14
+ Trigger: ({ render, ...props }: DrawerTriggerProps) => import("react/jsx-runtime").JSX.Element;
15
+ Content: ({ ref, children, className, disableDefaultClose, innerClassName, ...props }: DrawerContentProps) => import("react/jsx-runtime").JSX.Element;
16
+ Title: import("react").FunctionComponent<import("@base-ui/react/drawer").DrawerTitleProps>;
17
+ Description: import("react").FunctionComponent<import("@base-ui/react/drawer").DrawerDescriptionProps>;
18
+ Close: typeof DrawerClose;
19
+ Actions: import("react").FunctionComponent<import("../box/Box.js").BoxProps>;
20
+ Unstyled: DrawerParts;
21
+ createHandle: typeof BaseDrawer.createHandle;
22
+ };
23
+ export type DrawerParts = typeof BaseDrawer;
24
+ export {};
@@ -0,0 +1,101 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { Drawer as BaseDrawer, } from '@base-ui/react/drawer';
14
+ import clsx from 'clsx';
15
+ import { useCallback, useRef } from 'react';
16
+ import useMergedRef from '../../hooks/useMergedRef.js';
17
+ import { withClassName } from '../../hooks/withClassName.js';
18
+ import { Box } from '../box/Box.js';
19
+ import { Button } from '../button/index.js';
20
+ import { Icon } from '../icon/Icon.js';
21
+ import { useParticles } from '../particles/ParticleContext.js';
22
+ import cls from './Drawer.module.css';
23
+ const DrawerBackdrop = withClassName(BaseDrawer.Backdrop, cls.overlay);
24
+ const StyledPopup = withClassName(BaseDrawer.Popup, cls.popup);
25
+ const DrawerContent = function DrawerContent(_a) {
26
+ var { ref, children, className, disableDefaultClose, innerClassName } = _a, props = __rest(_a, ["ref", "children", "className", "disableDefaultClose", "innerClassName"]);
27
+ const particles = useParticles();
28
+ const wasOpenRef = useRef(false);
29
+ const openRef = useCallback((element) => {
30
+ if (!wasOpenRef.current && (element === null || element === void 0 ? void 0 : element.hasAttribute('data-open'))) {
31
+ wasOpenRef.current = true;
32
+ setTimeout(() => {
33
+ particles === null || particles === void 0 ? void 0 : particles.addParticles(particles.elementExplosion({
34
+ count: 20,
35
+ margin: 40,
36
+ borders: ['top'],
37
+ color: [
38
+ {
39
+ space: 'rgb',
40
+ values: [0, 0, 0],
41
+ opacity: 0.02,
42
+ },
43
+ {
44
+ space: 'rgb',
45
+ values: [0, 0, 0],
46
+ opacity: 0,
47
+ },
48
+ ],
49
+ element,
50
+ startRadius: 15,
51
+ endRadius: 0,
52
+ lifespan: 1000,
53
+ force: 0.5,
54
+ drag: 0.01,
55
+ forceFuzz: 0.5,
56
+ angleFuzz: 0.1,
57
+ }));
58
+ }, 180);
59
+ }
60
+ else if (!(element === null || element === void 0 ? void 0 : element.hasAttribute('data-open'))) {
61
+ wasOpenRef.current = false;
62
+ }
63
+ }, [particles]);
64
+ const finalRef = useMergedRef(ref, openRef);
65
+ return (_jsx(BaseDrawer.VirtualKeyboardProvider, { children: _jsxs(BaseDrawer.Portal, { children: [_jsx(DrawerBackdrop, { "data-role": "backdrop" }), _jsx(BaseDrawer.Viewport, { className: cls.viewport, children: _jsxs(StyledPopup, Object.assign({ ref: finalRef }, props, { className: className, children: [!disableDefaultClose && _jsx(DrawerDefaultClose, {}), _jsx(DrawerSwipeHandle, {}), _jsx("div", { className: clsx(cls.contentScrollArea, innerClassName), children: children })] })) })] }) }));
66
+ };
67
+ function DrawerSwipeHandle(_a) {
68
+ var { ref, className } = _a, props = __rest(_a, ["ref", "className"]);
69
+ return (_jsx("div", Object.assign({ ref: ref }, props, { className: clsx(cls.swipeHandle, className), children: _jsx("div", { className: cls.swipeHandleBar }) })));
70
+ }
71
+ function DrawerDefaultClose(_a) {
72
+ var { ref, className } = _a, props = __rest(_a, ["ref", "className"]);
73
+ return (_jsx(DrawerClose, Object.assign({ className: clsx(cls.close, className), "aria-label": "Close drawer", ref: ref }, props, { render: _jsx(Button, { emphasis: "ghost", size: "small" }), children: _jsx(Icon, { name: "x" }) })));
74
+ }
75
+ const DrawerTitle = withClassName(BaseDrawer.Title, cls.title);
76
+ const DrawerDescription = withClassName(BaseDrawer.Description, cls.description);
77
+ const defaultSnapPoints = [0.75, 1];
78
+ const DrawerRoot = (_a) => {
79
+ var { children, snapPoints = defaultSnapPoints } = _a, props = __rest(_a, ["children", "snapPoints"]);
80
+ return (_jsx(BaseDrawer.Root, Object.assign({ swipeDirection: "down", snapPoints: snapPoints }, props, { children: children })));
81
+ };
82
+ const DrawerTrigger = (_a) => {
83
+ var { render } = _a, props = __rest(_a, ["render"]);
84
+ return (_jsx(BaseDrawer.Trigger, Object.assign({ render: render || _jsx(Button, {}) }, props)));
85
+ };
86
+ function DrawerClose(_a) {
87
+ var { children, render } = _a, props = __rest(_a, ["children", "render"]);
88
+ return (_jsx(BaseDrawer.Close, Object.assign({ render: render !== null && render !== void 0 ? render : _jsx(Button, { emphasis: "default" }) }, props, { children: children !== null && children !== void 0 ? children : 'Close' })));
89
+ }
90
+ const DrawerActions = withClassName(Box, cls.actions);
91
+ export const Drawer = Object.assign(DrawerRoot, {
92
+ Trigger: DrawerTrigger,
93
+ Content: DrawerContent,
94
+ Title: DrawerTitle,
95
+ Description: DrawerDescription,
96
+ Close: DrawerClose,
97
+ Actions: DrawerActions,
98
+ Unstyled: BaseDrawer,
99
+ createHandle: BaseDrawer.createHandle,
100
+ });
101
+ //# sourceMappingURL=Drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/drawer/Drawer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,236 @@
1
+ @layer components {.overlay {
2
+ --bleed: 3rem;
3
+ --swipe-opacity: 0.2;
4
+
5
+ position: fixed;
6
+ min-height: 100dvh;
7
+ inset: 0;
8
+
9
+ @apply --mx-bg(var(--m-gray-ink));
10
+ opacity: calc(
11
+ 0.2 + var(--swipe-opacity) * (1 - var(--drawer-swipe-progress, 0))
12
+ );
13
+
14
+ border-top: var(--m-lw) solid var(--m-gray);
15
+
16
+ transition: all var(--m-dur-long) var(--m-ease);
17
+
18
+ backdrop-filter: blur(2px);
19
+
20
+ &[data-starting-style],
21
+ &[data-ending-style] {
22
+ opacity: 0;
23
+ }
24
+
25
+ &[data-swiping] {
26
+ transition-duration: 0ms;
27
+ }
28
+
29
+ &[data-ending-style] {
30
+ transition-duration: calc(var(--drawer-swipe-strength) * var(--m-dur-long));
31
+ }
32
+ }
33
+
34
+ .viewport {
35
+ --bleed: 3rem;
36
+
37
+ position: fixed;
38
+ inset: 0;
39
+ display: flex;
40
+ align-items: flex-end;
41
+ justify-content: center;
42
+ touch-action: none;
43
+
44
+ &::after {
45
+ content: '';
46
+ position: fixed;
47
+ inset-inline: 0;
48
+ bottom: 0;
49
+ height: var(--bleed);
50
+ @apply --mx-bg(var(--m-surface-ambient-bg));
51
+ pointer-events: none;
52
+ }
53
+
54
+ &[data-closed]::after {
55
+ opacity: 0;
56
+ }
57
+
58
+ /* While swiping, the popup's own bleed covers the bottom edge, so hide the
59
+ fixed fill — otherwise it paints white over the backdrop once the popup is
60
+ dragged far enough down. */
61
+ &:has([data-swiping])::after {
62
+ opacity: 0;
63
+ }
64
+ }
65
+
66
+ .popup {
67
+ --bleed: 3rem;
68
+ --top-gap: 1rem;
69
+
70
+ box-sizing: border-box;
71
+ position: relative;
72
+ z-index: 1;
73
+ max-width: unset;
74
+ width: 100%;
75
+ max-height: calc(100% - var(--top-gap) + var(--bleed));
76
+ height: calc(100% - var(--top-gap) + var(--bleed));
77
+ margin-bottom: calc(-1 * var(--bleed));
78
+ padding-bottom: max(
79
+ 0px,
80
+ calc(var(--drawer-snap-point-offset) + var(--drawer-swipe-movement-y))
81
+ );
82
+
83
+ display: flex;
84
+ flex-direction: column;
85
+ align-items: stretch;
86
+
87
+ @apply --mx-bg(var(--m-surface-ambient-bg));
88
+ @apply --mx-borderColor(var(--m-gray-heavy));
89
+
90
+ touch-action: none;
91
+
92
+ overflow: visible;
93
+
94
+ transition:
95
+ transform var(--m-dur-long) var(--m-ease),
96
+ box-shadow var(--m-dur-long) var(--m-ease),
97
+ padding-bottom var(--m-dur-long) var(--m-ease);
98
+
99
+ --shadow-dir: -1;
100
+ @apply --mx-shadow;
101
+ --mx-shadow-value: 0 calc(var(--shadow-dir, 1) * var(--m-shadow-lg-y))
102
+ var(--m-shadow-lg-blur) var(--m-shadow-lg-spread) var(--m-shadow-lg-color);
103
+
104
+ border-radius: var(--m-surface-rd) var(--m-surface-rd) 0 0;
105
+ border-bottom-width: 0;
106
+
107
+ transform: translateY(
108
+ calc(
109
+ var(--drawer-swipe-movement-y) + var(--drawer-snap-point-offset) -
110
+ var(--bleed)
111
+ )
112
+ );
113
+ will-change: transform;
114
+
115
+ /* Disable transitions while swiping so movement is immediate */
116
+ &[data-swiping] {
117
+ transition: none;
118
+ user-select: none;
119
+ }
120
+
121
+ &[data-starting-style],
122
+ &[data-ending-style] {
123
+ transform: translateY(calc(100% - var(--bleed)));
124
+ padding-bottom: 0;
125
+ box-shadow: 0 0 0 transparent;
126
+ }
127
+
128
+ &[data-ending-style] {
129
+ transition-duration: calc(var(--drawer-swipe-strength) * var(--m-dur-long));
130
+ }
131
+
132
+ &::after {
133
+ content: '';
134
+ position: absolute;
135
+ inset-inline: 0;
136
+ top: 100%;
137
+ height: var(--bleed);
138
+ background-color: inherit;
139
+ pointer-events: none;
140
+ }
141
+ }
142
+
143
+ .contentScrollArea {
144
+ flex: 1 1 auto;
145
+ min-height: 0;
146
+ overscroll-behavior: contain;
147
+ touch-action: auto;
148
+ overflow-y: auto;
149
+ padding: var(--m-surface-p);
150
+ display: flex;
151
+ flex-direction: column;
152
+ gap: var(--m-sp-md);
153
+ }
154
+
155
+ .swipeHandle {
156
+ position: relative;
157
+ display: flex;
158
+ align-items: center;
159
+ justify-content: center;
160
+ width: 100%;
161
+ cursor: grab;
162
+ touch-action: none;
163
+ padding-block: var(--m-sp-lg);
164
+ user-select: none;
165
+ flex-shrink: 0;
166
+ }
167
+
168
+ .swipeHandleBar {
169
+ height: --fn-literal(4px);
170
+ width: 20%;
171
+ @apply --mx-bg(var(--m-gray));
172
+ border-radius: var(--m-rd-lg);
173
+ }
174
+
175
+ .close {
176
+ position: absolute;
177
+ right: var(--m-sp-sm);
178
+ top: var(--m-sp-sm);
179
+ z-index: 101;
180
+ display: flex;
181
+ }
182
+
183
+ .title {
184
+ @apply --mx-fg(var(--m-gray-ink));
185
+ font-size: var(--m-prose-primary-size);
186
+ font-weight: var(--m-prose-primary-weight);
187
+ line-height: var(--m-prose-primary-lineHeight);
188
+ margin-block-end: var(--m-sp-xs);
189
+ margin-block-start: 0;
190
+ }
191
+
192
+ .description {
193
+ @apply --mx-fg(var(--m-gray-heavy));
194
+ font-size: var(--m-prose-ambient-size);
195
+ line-height: var(--m-prose-ambient-lineHeight);
196
+ margin: 0;
197
+ margin-block-end: var(--m-sp-xs);
198
+ }
199
+
200
+ .actions {
201
+ position: sticky;
202
+ bottom: 0;
203
+ z-index: 100;
204
+ display: flex;
205
+ flex-direction: row;
206
+ flex-wrap: wrap;
207
+ align-items: center;
208
+ justify-content: end;
209
+ align-self: end;
210
+ @apply --mx-shadow;
211
+ --mx-shadow-value: 0 calc(-1 * var(--m-shadow-md-y)) 16px
212
+ var(--m-shadow-md-spread) var(--m-gray-paper);
213
+ @apply --mx-bg(var(--m-surface-ambient-bg));
214
+ @apply --mx-bg-faded(50%);
215
+ margin-block-start: var(--m-sp-md);
216
+ gap: var(--m-sp-sm);
217
+ border-radius: var(--m-surface-rd);
218
+ transition: bottom var(--m-dur) var(--m-ease);
219
+
220
+ /*
221
+ Hide the actions when the keyboard is open.
222
+ Done by moving them downward behind it.
223
+ This both fixes a bug with the positioning, and
224
+ gives the user more room to see.
225
+ */
226
+ transform: translateY(calc(2 * var(--drawer-keyboard-inset, 0px)));
227
+ /*
228
+ Same but with modern CSS if()
229
+ */
230
+ @supports (
231
+ display: if(style(--drawer-keyboard-inset > 0px): none; else: flex;)
232
+ ) {
233
+ display: if(style(--drawer-keyboard-inset > 0px): none; else: flex;);
234
+ }
235
+ }
236
+ }
@@ -0,0 +1,7 @@
1
+ import type { StoryObj } from '@storybook/react-vite';
2
+ import { Drawer } from './Drawer.js';
3
+ declare const meta: any;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Drawer>;
6
+ export declare const Default: Story;
7
+ export declare const NoDefaultClose: Story;
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Button } from '../button/index.js';
3
+ import { Input } from '../input/Input.js';
4
+ import { H1, P } from '../typography/index.js';
5
+ import { Drawer } from './Drawer.js';
6
+ const meta = {
7
+ title: 'Components/Drawer',
8
+ component: Drawer,
9
+ argTypes: {},
10
+ parameters: {
11
+ controls: { expanded: true },
12
+ },
13
+ };
14
+ export default meta;
15
+ function DummyContent() {
16
+ return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(H1, { children: "Some content" }), _jsx(P, { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at porttitor sem. Aliquam erat volutpat. Donec fermentum tortor eget ligula accumsan, sit amet ullamcorper nunc ultricies. Nulla facilisi." }), _jsx(Input, { placeholder: "Type something..." }), _jsx(P, { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at porttitor sem. Aliquam erat volutpat. Donec fermentum tortor eget ligula accumsan, sit amet ullamcorper nunc ultricies. Nulla facilisi." }), _jsx(Input, { placeholder: "Type something..." }), _jsx(P, { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at porttitor sem. Aliquam erat volutpat. Donec fermentum tortor eget ligula accumsan, sit amet ullamcorper nunc ultricies. Nulla facilisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at porttitor sem. Aliquam erat volutpat. Donec fermentum tortor eget ligula accumsan, sit amet ullamcorper nunc ultricies. Nulla facilisi." }), _jsx(Input, { placeholder: "Type something..." }), _jsx(P, { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at porttitor sem. Aliquam erat volutpat. Donec fermentum tortor eget ligula accumsan, sit amet ullamcorper nunc ultricies. Nulla facilisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at porttitor sem. Aliquam erat volutpat. Donec fermentum tortor eget ligula accumsan, sit amet ullamcorper nunc ultricies. Nulla facilisi." }), _jsx(Input, { placeholder: "Type something..." }), _jsx(P, { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at porttitor sem. Aliquam erat volutpat. Donec fermentum tortor eget ligula accumsan, sit amet ullamcorper nunc ultricies. Nulla facilisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at porttitor sem. Aliquam erat volutpat. Donec fermentum tortor eget ligula accumsan, sit amet ullamcorper nunc ultricies. Nulla facilisi." }), _jsx(Input, { placeholder: "Type something..." }), _jsx(P, { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at porttitor sem. Aliquam erat volutpat. Donec fermentum tortor eget ligula accumsan, sit amet ullamcorper nunc ultricies. Nulla facilisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at porttitor sem. Aliquam erat volutpat. Donec fermentum tortor eget ligula accumsan, sit amet ullamcorper nunc ultricies. Nulla facilisi." }), _jsx(Input, { placeholder: "Type something..." })] }));
17
+ }
18
+ export const Default = {
19
+ args: {
20
+ children: (_jsxs(_Fragment, { children: [_jsx(Drawer.Trigger, { render: _jsx(Button, {}), children: "Open" }), _jsxs(Drawer.Content, { children: [_jsx(Drawer.Title, { children: "Hello world" }), _jsx(DummyContent, {}), _jsxs(Drawer.Actions, { children: [_jsx(Drawer.Close, {}), _jsx(Button, { emphasis: "primary", children: "Accept" })] })] })] })),
21
+ },
22
+ };
23
+ export const NoDefaultClose = {
24
+ args: {
25
+ children: (_jsxs(_Fragment, { children: [_jsx(Drawer.Trigger, { render: _jsx(Button, {}), children: "Open" }), _jsxs(Drawer.Content, { disableDefaultClose: true, children: [_jsx(Drawer.Title, { children: "No default close" }), _jsx(DummyContent, {}), _jsx(Drawer.Actions, { children: _jsx(Drawer.Close, {}) })] })] })),
26
+ },
27
+ };
28
+ //# sourceMappingURL=Drawer.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.stories.js","sourceRoot":"","sources":["../../../src/components/drawer/Drawer.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,IAAI,GAAQ;IACjB,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5B;CAC6B,CAAC;AAEhC,eAAe,IAAI,CAAC;AAIpB,SAAS,YAAY;IACpB,OAAO,CACN,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aACvD,KAAC,EAAE,+BAAkB,EACrB,KAAC,CAAC,8NAIE,EACJ,KAAC,KAAK,IAAC,WAAW,EAAC,mBAAmB,GAAG,EACzC,KAAC,CAAC,8NAIE,EACJ,KAAC,KAAK,IAAC,WAAW,EAAC,mBAAmB,GAAG,EACzC,KAAC,CAAC,0aAOE,EACJ,KAAC,KAAK,IAAC,WAAW,EAAC,mBAAmB,GAAG,EACzC,KAAC,CAAC,0aAOE,EACJ,KAAC,KAAK,IAAC,WAAW,EAAC,mBAAmB,GAAG,EACzC,KAAC,CAAC,0aAOE,EACJ,KAAC,KAAK,IAAC,WAAW,EAAC,mBAAmB,GAAG,EACzC,KAAC,CAAC,0aAOE,EACJ,KAAC,KAAK,IAAC,WAAW,EAAC,mBAAmB,GAAG,IACpC,CACN,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAU;IAC7B,IAAI,EAAE;QACL,QAAQ,EAAE,CACT,8BACC,KAAC,MAAM,CAAC,OAAO,IAAC,MAAM,EAAE,KAAC,MAAM,KAAG,qBAAuB,EACzD,MAAC,MAAM,CAAC,OAAO,eACd,KAAC,MAAM,CAAC,KAAK,8BAA2B,EACxC,KAAC,YAAY,KAAG,EAChB,MAAC,MAAM,CAAC,OAAO,eACd,KAAC,MAAM,CAAC,KAAK,KAAG,EAChB,KAAC,MAAM,IAAC,QAAQ,EAAC,SAAS,uBAAgB,IAC1B,IACD,IACf,CACH;KACD;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAU;IACpC,IAAI,EAAE;QACL,QAAQ,EAAE,CACT,8BACC,KAAC,MAAM,CAAC,OAAO,IAAC,MAAM,EAAE,KAAC,MAAM,KAAG,qBAAuB,EACzD,MAAC,MAAM,CAAC,OAAO,IAAC,mBAAmB,mBAClC,KAAC,MAAM,CAAC,KAAK,mCAAgC,EAC7C,KAAC,YAAY,KAAG,EAChB,KAAC,MAAM,CAAC,OAAO,cACd,KAAC,MAAM,CAAC,KAAK,KAAG,GACA,IACD,IACf,CACH;KACD;CACD,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './Drawer.js';
@@ -0,0 +1,2 @@
1
+ export * from './Drawer.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/drawer/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BoxProps } from '@a-type/ui';
1
+ import { type BoxProps } from '../box/Box.js';
2
2
  export declare function GlobalErrorFallback({ children, ...rest }: BoxProps): import("react/jsx-runtime").JSX.Element;
3
3
  import { ButtonProps } from '@a-type/ui';
4
4
  export interface ReloadButtonProps extends ButtonProps {
@@ -10,8 +10,9 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { Box, Heading, P } from '@a-type/ui';
14
13
  import { useLocalStorage } from '../../hooks.js';
14
+ import { Box } from '../box/Box.js';
15
+ import { Heading, P } from '../typography/typography.js';
15
16
  export function GlobalErrorFallback(_a) {
16
17
  var { children } = _a, rest = __rest(_a, ["children"]);
17
18
  const hadRecentError = useHadRecentError();
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalErrorFallback.js","sourceRoot":"","sources":["../../../src/components/globalErrorFallback/GlobalErrorFallback.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAY,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,mBAAmB,CAAC,EAA+B;QAA/B,EAAE,QAAQ,OAAqB,EAAhB,IAAI,cAAnB,YAAqB,CAAF;IACtD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,OAAO,CACN,KAAC,GAAG,kBAAC,GAAG,QAAC,MAAM,EAAC,eAAe,EAAC,CAAC,UAAK,IAAI,cACzC,MAAC,GAAG,IACH,GAAG,QACH,KAAK,EAAC,OAAO,EACb,OAAO,EAAC,QAAQ,EAChB,GAAG,QACH,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,aAElC,KAAC,OAAO,IAAC,QAAQ,EAAC,SAAS,EAAC,MAAM,EAAE,cAAM,qCAEhC,EACV,MAAC,CAAC,yDACsC,GAAG,EACzC,cAAc;4BACd,CAAC,CAAC,iGAAiG;4BACnG,CAAC,CAAC;kEAC0D,IAC1D,EACH,QAAQ,EACT,KAAC,YAAY,KAAG,IACX,IACD,CACN,CAAC;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAe,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvD,MAAM,UAAU,YAAY,CAAC,EAAwC;QAAxC,EAAE,OAAO,OAA+B,EAA1B,KAAK,cAAnB,WAAqB,CAAF;IAC/C,MAAM,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,EAAE,CAAC;IAErD,MAAM,OAAO,GAAG,GAAG,EAAE;QACpB,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,CACN,MAAC,MAAM,oBACF,KAAK,IACT,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YACf,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,EAAE,CAAC,CAAC;YACd,OAAO,EAAE,CAAC;QACX,CAAC,aAED,KAAC,IAAI,IAAC,IAAI,EAAC,SAAS,GAAG,EACvB,qCAAoB,KACZ,CACT,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IAC1B,OAAO,eAAe,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvB,MAAM,UAAU,iBAAiB;IAChC,MAAM,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;IAE3E,MAAM,cAAc,GACnB,eAAe,GAAG,GAAG,IAAI,eAAe,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;IAEjE,OAAO,cAAc,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"GlobalErrorFallback.js","sourceRoot":"","sources":["../../../src/components/globalErrorFallback/GlobalErrorFallback.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAiB,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,UAAU,mBAAmB,CAAC,EAA+B;QAA/B,EAAE,QAAQ,OAAqB,EAAhB,IAAI,cAAnB,YAAqB,CAAF;IACtD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,OAAO,CACN,KAAC,GAAG,kBAAC,GAAG,QAAC,MAAM,EAAC,eAAe,EAAC,CAAC,UAAK,IAAI,cACzC,MAAC,GAAG,IACH,GAAG,QACH,KAAK,EAAC,OAAO,EACb,OAAO,EAAC,QAAQ,EAChB,GAAG,QACH,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,aAElC,KAAC,OAAO,IAAC,QAAQ,EAAC,SAAS,EAAC,MAAM,EAAE,cAAM,qCAEhC,EACV,MAAC,CAAC,yDACsC,GAAG,EACzC,cAAc;4BACd,CAAC,CAAC,iGAAiG;4BACnG,CAAC,CAAC;kEAC0D,IAC1D,EACH,QAAQ,EACT,KAAC,YAAY,KAAG,IACX,IACD,CACN,CAAC;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAe,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvD,MAAM,UAAU,YAAY,CAAC,EAAwC;QAAxC,EAAE,OAAO,OAA+B,EAA1B,KAAK,cAAnB,WAAqB,CAAF;IAC/C,MAAM,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,EAAE,CAAC;IAErD,MAAM,OAAO,GAAG,GAAG,EAAE;QACpB,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,CACN,MAAC,MAAM,oBACF,KAAK,IACT,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YACf,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,EAAE,CAAC,CAAC;YACd,OAAO,EAAE,CAAC;QACX,CAAC,aAED,KAAC,IAAI,IAAC,IAAI,EAAC,SAAS,GAAG,EACvB,qCAAoB,KACZ,CACT,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IAC1B,OAAO,eAAe,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvB,MAAM,UAAU,iBAAiB;IAChC,MAAM,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;IAE3E,MAAM,cAAc,GACnB,eAAe,GAAG,GAAG,IAAI,eAAe,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;IAEjE,OAAO,cAAc,CAAC;AACvB,CAAC"}
@@ -14,6 +14,7 @@ export * from './combobox/Combobox.js';
14
14
  export * from './contextMenu/contextMenu.js';
15
15
  export * from './datePicker/index.js';
16
16
  export * from './dialog/index.js';
17
+ export * from './drawer/index.js';
17
18
  export * from './divider/index.js';
18
19
  export * from './dropdownMenu/index.js';
19
20
  export * from './editableText/EditableText.js';
@@ -14,6 +14,7 @@ export * from './combobox/Combobox.js';
14
14
  export * from './contextMenu/contextMenu.js';
15
15
  export * from './datePicker/index.js';
16
16
  export * from './dialog/index.js';
17
+ export * from './drawer/index.js';
17
18
  export * from './divider/index.js';
18
19
  export * from './dropdownMenu/index.js';
19
20
  export * from './editableText/EditableText.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -4,6 +4,7 @@
4
4
  min-width: 0;
5
5
  display: flex;
6
6
  flex-direction: column;
7
+ touch-action: auto;
7
8
  }
8
9
 
9
10
  .viewport {
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Creates a context and HOC which swaps between two components
3
+ * based on a contextual value
4
+ */
5
+ export declare function createWithContextVariant(): {
6
+ Context: import("react").Context<boolean>;
7
+ withContextVariant: <P extends object>(TrueComponent: React.ComponentType<P>, FalseComponent: React.ComponentType<P>) => (props: P) => import("react/jsx-runtime").JSX.Element;
8
+ };
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext } from 'react';
3
+ /**
4
+ * Creates a context and HOC which swaps between two components
5
+ * based on a contextual value
6
+ */
7
+ export function createWithContextVariant() {
8
+ const Context = createContext(false);
9
+ function withContextVariant(TrueComponent, FalseComponent) {
10
+ return function WithContextVariant(props) {
11
+ const contextValue = useContext(Context);
12
+ const Component = contextValue ? TrueComponent : FalseComponent;
13
+ return _jsx(Component, Object.assign({}, props));
14
+ };
15
+ }
16
+ return {
17
+ Context,
18
+ withContextVariant,
19
+ };
20
+ }
21
+ //# sourceMappingURL=withContextVariant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withContextVariant.js","sourceRoot":"","sources":["../../src/hooks/withContextVariant.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IACvC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,SAAS,kBAAkB,CAC1B,aAAqC,EACrC,cAAsC;QAEtC,OAAO,SAAS,kBAAkB,CAAC,KAAQ;YAC1C,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;YAChE,OAAO,KAAC,SAAS,oBAAK,KAAK,EAAI,CAAC;QACjC,CAAC,CAAC;IACH,CAAC;IAED,OAAO;QACN,OAAO;QACP,kBAAkB;KAClB,CAAC;AACH,CAAC"}