@opengovsg/oui 0.0.29 → 0.0.31
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/cjs/avatar/avatar-context.cjs +12 -0
- package/dist/cjs/avatar/avatar-group-context.cjs +88 -0
- package/dist/cjs/avatar/avatar-group.cjs +60 -0
- package/dist/cjs/avatar/avatar.cjs +132 -0
- package/dist/cjs/avatar/hooks/use-img-loading-status.cjs +68 -0
- package/dist/cjs/avatar/index.cjs +23 -0
- package/dist/cjs/avatar/utils.cjs +9 -0
- package/dist/cjs/banner/banner.cjs +1 -1
- package/dist/cjs/checkbox/checkbox.cjs +3 -3
- package/dist/cjs/combo-box/combo-box.cjs +1 -1
- package/dist/cjs/date-field/date-field.cjs +1 -1
- package/dist/cjs/date-picker/date-picker.cjs +5 -4
- package/dist/cjs/date-range-picker/date-range-picker.cjs +3 -3
- package/dist/cjs/file-dropzone/file-dropzone.cjs +12 -8
- package/dist/cjs/file-dropzone/file-info.cjs +3 -2
- package/dist/cjs/file-dropzone/utils.cjs +4 -4
- package/dist/cjs/hooks/use-scroll-position.cjs +53 -0
- package/dist/cjs/index.cjs +61 -47
- package/dist/cjs/modal/modal-content.cjs +1 -1
- package/dist/cjs/navbar/navbar-menu/menu.cjs +2 -2
- package/dist/cjs/navbar/navbar-menu/toggle.cjs +3 -2
- package/dist/cjs/navbar/navbar.cjs +25 -1
- package/dist/cjs/navbar/use-navbar.cjs +42 -32
- package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/user.cjs +22 -0
- package/dist/cjs/number-field/number-field.cjs +2 -2
- package/dist/cjs/range-calendar/range-calendar.cjs +1 -1
- package/dist/cjs/select/select.cjs +2 -2
- package/dist/cjs/tag-field/tag-field.cjs +1 -1
- package/dist/cjs/text-area-field/text-area-field.cjs +1 -1
- package/dist/cjs/text-field/text-field.cjs +1 -1
- package/dist/esm/avatar/avatar-context.js +9 -0
- package/dist/esm/avatar/avatar-group-context.js +84 -0
- package/dist/esm/avatar/avatar-group.js +58 -0
- package/dist/esm/avatar/avatar.js +128 -0
- package/dist/esm/avatar/hooks/use-img-loading-status.js +66 -0
- package/dist/esm/avatar/index.js +13 -0
- package/dist/esm/avatar/utils.js +7 -0
- package/dist/esm/banner/banner.js +1 -1
- package/dist/esm/checkbox/checkbox.js +3 -3
- package/dist/esm/combo-box/combo-box.js +1 -1
- package/dist/esm/date-field/date-field.js +1 -1
- package/dist/esm/date-picker/date-picker.js +5 -4
- package/dist/esm/date-range-picker/date-range-picker.js +3 -3
- package/dist/esm/file-dropzone/file-dropzone.js +12 -8
- package/dist/esm/file-dropzone/file-info.js +3 -2
- package/dist/esm/file-dropzone/utils.js +4 -4
- package/dist/esm/hooks/use-scroll-position.js +51 -0
- package/dist/esm/index.js +20 -15
- package/dist/esm/modal/modal-content.js +1 -1
- package/dist/esm/navbar/navbar-menu/menu.js +2 -2
- package/dist/esm/navbar/navbar-menu/toggle.js +3 -2
- package/dist/esm/navbar/navbar.js +26 -2
- package/dist/esm/navbar/use-navbar.js +43 -33
- package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/user.js +17 -0
- package/dist/esm/number-field/number-field.js +2 -2
- package/dist/esm/range-calendar/range-calendar.js +1 -1
- package/dist/esm/select/select.js +2 -2
- package/dist/esm/tag-field/tag-field.js +1 -1
- package/dist/esm/text-area-field/text-area-field.js +1 -1
- package/dist/esm/text-field/text-field.js +1 -1
- package/dist/types/avatar/avatar-context.d.ts +12 -0
- package/dist/types/avatar/avatar-context.d.ts.map +1 -0
- package/dist/types/avatar/avatar-group-context.d.ts +70 -0
- package/dist/types/avatar/avatar-group-context.d.ts.map +1 -0
- package/dist/types/avatar/avatar-group.d.ts +5 -0
- package/dist/types/avatar/avatar-group.d.ts.map +1 -0
- package/dist/types/avatar/avatar.d.ts +18 -0
- package/dist/types/avatar/avatar.d.ts.map +1 -0
- package/dist/types/avatar/hooks/use-img-loading-status.d.ts +4 -0
- package/dist/types/avatar/hooks/use-img-loading-status.d.ts.map +1 -0
- package/dist/types/avatar/index.d.ts +15 -0
- package/dist/types/avatar/index.d.ts.map +1 -0
- package/dist/types/avatar/utils.d.ts +2 -0
- package/dist/types/avatar/utils.d.ts.map +1 -0
- package/dist/types/calendar/calendar.d.ts.map +1 -1
- package/dist/types/checkbox/checkbox-group-style-context.d.ts +1 -1
- package/dist/types/checkbox/checkbox-group-style-context.d.ts.map +1 -1
- package/dist/types/date-field/date-field.d.ts.map +1 -1
- package/dist/types/file-dropzone/file-dropzone.d.ts +8 -2
- package/dist/types/file-dropzone/file-dropzone.d.ts.map +1 -1
- package/dist/types/file-dropzone/file-info.d.ts.map +1 -1
- package/dist/types/file-dropzone/types.d.ts +1 -0
- package/dist/types/file-dropzone/types.d.ts.map +1 -1
- package/dist/types/file-dropzone/utils.d.ts +2 -1
- package/dist/types/file-dropzone/utils.d.ts.map +1 -1
- package/dist/types/hooks/use-scroll-position.d.ts +29 -0
- package/dist/types/hooks/use-scroll-position.d.ts.map +1 -0
- package/dist/types/index.d.mts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/menu/menu.d.ts.map +1 -1
- package/dist/types/navbar/navbar-context.d.ts +10 -2
- package/dist/types/navbar/navbar-context.d.ts.map +1 -1
- package/dist/types/navbar/navbar-menu/menu.d.ts.map +1 -1
- package/dist/types/navbar/navbar-menu/toggle.d.ts.map +1 -1
- package/dist/types/navbar/navbar.d.ts.map +1 -1
- package/dist/types/navbar/use-navbar.d.ts +33 -1
- package/dist/types/navbar/use-navbar.d.ts.map +1 -1
- package/dist/types/range-calendar/range-calendar.d.ts.map +1 -1
- package/dist/types/system/react-utils/context.d.ts +4 -4
- package/dist/types/system/react-utils/context.d.ts.map +1 -1
- package/dist/types/system/utils.d.ts.map +1 -1
- package/dist/types/tabs/tabs.d.ts.map +1 -1
- package/dist/types/tag-field/tag-field-item.d.ts.map +1 -1
- package/dist/types/tag-field/tag-field-list.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
"use client";
|
|
3
3
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
4
|
-
import {
|
|
4
|
+
import { LazyMotion, domAnimation, m } from 'motion/react';
|
|
5
|
+
import { FocusScope, mergeProps } from 'react-aria';
|
|
5
6
|
import { pickChildren } from '../system/react-utils/children.js';
|
|
6
7
|
import { forwardRef } from '../system/utils.js';
|
|
7
8
|
import { NavbarProvider } from './navbar-context.js';
|
|
8
9
|
import { NavbarMenu } from './navbar-menu/menu.js';
|
|
9
10
|
import { useNavbar } from './use-navbar.js';
|
|
10
11
|
|
|
12
|
+
const showOnScrollUpVariants = {
|
|
13
|
+
visible: {
|
|
14
|
+
y: 0,
|
|
15
|
+
transition: {
|
|
16
|
+
ease: [0, 0, 0.2, 1]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
hidden: {
|
|
20
|
+
y: "-100%",
|
|
21
|
+
transition: {
|
|
22
|
+
ease: [0, 0, 0.2, 1]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
11
26
|
const Navbar = forwardRef((props, ref) => {
|
|
12
27
|
const { children, ...otherProps } = props;
|
|
13
28
|
const context = useNavbar({ ...otherProps, ref });
|
|
@@ -17,7 +32,16 @@ const Navbar = forwardRef((props, ref) => {
|
|
|
17
32
|
/* @__PURE__ */ jsx("header", { ...context.getWrapperProps(), children: childrenWithoutMenu }),
|
|
18
33
|
menu
|
|
19
34
|
] });
|
|
20
|
-
return /* @__PURE__ */ jsx(NavbarProvider, { value: context, children: /* @__PURE__ */ jsx(FocusScope, { contain: context.isMenuOpen, children: /* @__PURE__ */ jsx(
|
|
35
|
+
return /* @__PURE__ */ jsx(NavbarProvider, { value: context, children: /* @__PURE__ */ jsx(FocusScope, { contain: context.isMenuOpen, children: context.shouldShowOnScrollUp ? /* @__PURE__ */ jsx(LazyMotion, { features: domAnimation, children: /* @__PURE__ */ jsx(
|
|
36
|
+
m.nav,
|
|
37
|
+
{
|
|
38
|
+
animate: context.isNavbarHidden ? "hidden" : "visible",
|
|
39
|
+
initial: "visible",
|
|
40
|
+
variants: showOnScrollUpVariants,
|
|
41
|
+
...mergeProps(context.getBaseProps(), context.motionProps),
|
|
42
|
+
children: content
|
|
43
|
+
}
|
|
44
|
+
) }) : /* @__PURE__ */ jsx(Component, { ...context.getBaseProps(), children: content }) }) });
|
|
21
45
|
});
|
|
22
46
|
Navbar.displayName = "Navbar";
|
|
23
47
|
|
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
"use client";
|
|
3
|
-
import { useRef, useCallback, useEffect } from 'react';
|
|
3
|
+
import { useRef, useCallback, useState, useEffect } from 'react';
|
|
4
4
|
import { usePreventScroll as $49c51c25361d4cd2$export$ee0f7cc6afcd1c18 } from '../node_modules/.pnpm/@react-aria_overlays@3.30.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/overlays/dist/usePreventScroll.js';
|
|
5
5
|
import { useResizeObserver, mergeProps } from '@react-aria/utils';
|
|
6
6
|
import { useControlledState } from '@react-stately/utils';
|
|
7
|
-
import { useDeepCompareMemo } from 'use-deep-compare';
|
|
8
7
|
import { navbarStyles, cn, dataAttr } from '@opengovsg/oui-theme';
|
|
8
|
+
import { useScrollPosition } from '../hooks/use-scroll-position.js';
|
|
9
9
|
import { mapPropsVariants } from '../system/utils.js';
|
|
10
10
|
import { useDomRef } from '../system/react-utils/refs.js';
|
|
11
11
|
|
|
12
|
+
const NAVBAR_PRESENCE_BUFFER = 10;
|
|
12
13
|
function useNavbar(originalProps) {
|
|
13
14
|
const [
|
|
14
15
|
{
|
|
15
16
|
ref,
|
|
16
17
|
as,
|
|
18
|
+
parentRef,
|
|
17
19
|
height = "4rem",
|
|
18
20
|
shouldBlockScroll = true,
|
|
21
|
+
shouldShowOnScrollUp = false,
|
|
22
|
+
disableScrollHandler = false,
|
|
23
|
+
onScrollPositionChange,
|
|
19
24
|
isMenuOpen: isMenuOpenProp,
|
|
20
25
|
isMenuDefaultOpen,
|
|
21
26
|
onMenuOpenChange = () => {
|
|
22
27
|
},
|
|
23
28
|
className,
|
|
24
29
|
classNames,
|
|
30
|
+
motionProps,
|
|
25
31
|
...otherProps
|
|
26
32
|
},
|
|
27
33
|
variantProps
|
|
@@ -29,62 +35,62 @@ function useNavbar(originalProps) {
|
|
|
29
35
|
const Component = as || "nav";
|
|
30
36
|
const domRef = useDomRef(ref);
|
|
31
37
|
const menuRef = useRef(null);
|
|
32
|
-
const prevWidth = useRef(0);
|
|
33
|
-
const navHeight = useRef(0);
|
|
34
38
|
const handleMenuOpenChange = useCallback(
|
|
35
39
|
(isOpen) => {
|
|
36
40
|
onMenuOpenChange(isOpen || false);
|
|
37
41
|
},
|
|
38
42
|
[onMenuOpenChange]
|
|
39
43
|
);
|
|
44
|
+
const [menuTopOffset, setMenuOffset] = useState(0);
|
|
45
|
+
const [isNavbarHidden, setIsNavbarHidden] = useState(false);
|
|
40
46
|
const [isMenuOpen, setIsMenuOpen] = useControlledState(
|
|
41
47
|
isMenuOpenProp,
|
|
42
48
|
isMenuDefaultOpen ?? false,
|
|
43
49
|
handleMenuOpenChange
|
|
44
50
|
);
|
|
45
|
-
const updateWidth = useCallback(() => {
|
|
46
|
-
if (domRef.current) {
|
|
47
|
-
const width = domRef.current.offsetWidth;
|
|
48
|
-
if (width !== prevWidth.current) {
|
|
49
|
-
prevWidth.current = width;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}, [domRef]);
|
|
53
51
|
$49c51c25361d4cd2$export$ee0f7cc6afcd1c18({
|
|
54
52
|
isDisabled: !(shouldBlockScroll && isMenuOpen)
|
|
55
53
|
});
|
|
56
54
|
useResizeObserver({
|
|
57
55
|
ref: domRef,
|
|
58
56
|
onResize: () => {
|
|
59
|
-
|
|
60
|
-
const scrollWidth = window.innerWidth - document.documentElement.clientWidth;
|
|
61
|
-
if (currentWidth && currentWidth + scrollWidth == prevWidth.current) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (currentWidth !== prevWidth.current) {
|
|
65
|
-
updateWidth();
|
|
66
|
-
setIsMenuOpen(false);
|
|
67
|
-
}
|
|
57
|
+
setMenuOffset(domRef.current?.getBoundingClientRect().top || 0);
|
|
68
58
|
}
|
|
69
59
|
});
|
|
60
|
+
const truePosition = variantProps.position ?? "sticky";
|
|
61
|
+
const positionVariantProp = shouldShowOnScrollUp ? "sticky" : truePosition;
|
|
62
|
+
const slots = navbarStyles({
|
|
63
|
+
...variantProps,
|
|
64
|
+
position: positionVariantProp
|
|
65
|
+
});
|
|
66
|
+
const baseStyles = cn(classNames?.base, className);
|
|
67
|
+
const navHeight = useRef(0);
|
|
70
68
|
useEffect(() => {
|
|
71
|
-
updateWidth();
|
|
72
69
|
navHeight.current = domRef.current?.offsetHeight || 0;
|
|
73
|
-
}, [domRef
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
})
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
70
|
+
}, [domRef]);
|
|
71
|
+
useScrollPosition({
|
|
72
|
+
elementRef: parentRef,
|
|
73
|
+
isEnabled: shouldShowOnScrollUp || !disableScrollHandler,
|
|
74
|
+
callback: ({ prevPos, currPos }) => {
|
|
75
|
+
onScrollPositionChange?.(currPos.y);
|
|
76
|
+
if (shouldShowOnScrollUp) {
|
|
77
|
+
setIsNavbarHidden((prev) => {
|
|
78
|
+
const next = currPos.y > prevPos.y + NAVBAR_PRESENCE_BUFFER && currPos.y > navHeight.current;
|
|
79
|
+
return next !== prev ? next : prev;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
const heightPx = typeof height === "number" ? `${height}px` : height;
|
|
85
|
+
const menuTopOffsetPx = `calc(${heightPx} + ${menuTopOffset}px)`;
|
|
81
86
|
const getBaseProps = (props = {}) => ({
|
|
82
87
|
...mergeProps(otherProps, props),
|
|
88
|
+
"data-hidden": dataAttr(isNavbarHidden),
|
|
83
89
|
"data-menu-open": dataAttr(isMenuOpen),
|
|
84
90
|
ref: domRef,
|
|
85
91
|
className: slots.base({ class: cn(baseStyles, props?.className) }),
|
|
86
92
|
style: {
|
|
87
|
-
"--navbar-height":
|
|
93
|
+
"--navbar-height": heightPx,
|
|
88
94
|
...otherProps?.style,
|
|
89
95
|
...props?.style
|
|
90
96
|
}
|
|
@@ -100,14 +106,18 @@ function useNavbar(originalProps) {
|
|
|
100
106
|
Component,
|
|
101
107
|
slots,
|
|
102
108
|
domRef,
|
|
103
|
-
|
|
109
|
+
menuTopOffset,
|
|
110
|
+
menuTopOffsetPx,
|
|
111
|
+
isNavbarHidden,
|
|
112
|
+
shouldShowOnScrollUp: shouldShowOnScrollUp && truePosition === "static",
|
|
104
113
|
isMenuOpen,
|
|
105
114
|
classNames,
|
|
106
115
|
setIsMenuOpen,
|
|
107
116
|
menuRef,
|
|
108
117
|
getBaseProps,
|
|
109
118
|
getWrapperProps,
|
|
110
|
-
position:
|
|
119
|
+
position: positionVariantProp,
|
|
120
|
+
motionProps
|
|
111
121
|
};
|
|
112
122
|
}
|
|
113
123
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import createLucideIcon from '../createLucideIcon.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @license lucide-react v0.475.0 - ISC
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the ISC license.
|
|
7
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
const __iconNode = [
|
|
12
|
+
["path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2", key: "975kel" }],
|
|
13
|
+
["circle", { cx: "12", cy: "7", r: "4", key: "17ys0d" }]
|
|
14
|
+
];
|
|
15
|
+
const User = createLucideIcon("User", __iconNode);
|
|
16
|
+
|
|
17
|
+
export { __iconNode, User as default };
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
import { NumberField as NumberField$1 } from 'react-aria-components';
|
|
5
5
|
import { numberFieldStyles, composeTailwindRenderProps, dataAttr, fieldBorderStyles, cn } from '@opengovsg/oui-theme';
|
|
6
|
+
import { Button } from '../button/button.js';
|
|
7
|
+
import { Label, FieldGroup, Description, FieldError } from '../field/field.js';
|
|
6
8
|
import { Input } from '../input/input.js';
|
|
7
9
|
import { mapPropsVariants } from '../system/utils.js';
|
|
8
10
|
import Minus from '../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/minus.js';
|
|
9
11
|
import Plus from '../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/plus.js';
|
|
10
|
-
import { Label, FieldGroup, Description, FieldError } from '../field/field.js';
|
|
11
|
-
import { Button } from '../button/button.js';
|
|
12
12
|
|
|
13
13
|
function NumberField(originalProps) {
|
|
14
14
|
const [
|
|
@@ -6,12 +6,12 @@ import { CalendarDate, today, getLocalTimeZone, getDayOfWeek } from '@internatio
|
|
|
6
6
|
import { RangeCalendar as RangeCalendar$1, Provider, CalendarGrid, CalendarGridBody, Text, RangeCalendarStateContext, useLocale, CalendarCell } from 'react-aria-components';
|
|
7
7
|
import { useDeepCompareMemo } from 'use-deep-compare';
|
|
8
8
|
import { calendarStyles, composeRenderProps, cn, dataAttr } from '@opengovsg/oui-theme';
|
|
9
|
+
import { CalendarStyleContext, useCalendarStyleContext } from '../calendar/calendar-style-context.js';
|
|
9
10
|
import { AgnosticCalendarStateContext } from '../calendar/agnostic-calendar-state-context.js';
|
|
10
11
|
import { CalendarBottomContent } from '../calendar/calendar-bottom-content.js';
|
|
11
12
|
import { CalendarGridHeader } from '../calendar/calendar-grid-header.js';
|
|
12
13
|
import { CalendarHeader } from '../calendar/calendar-header.js';
|
|
13
14
|
import { forwardRefGeneric, mapPropsVariants } from '../system/utils.js';
|
|
14
|
-
import { CalendarStyleContext, useCalendarStyleContext } from '../calendar/calendar-style-context.js';
|
|
15
15
|
|
|
16
16
|
const RangeCalendar = forwardRefGeneric(function RangeCalendar2(originalProps, ref) {
|
|
17
17
|
const [props, variantProps] = mapPropsVariants(
|
|
@@ -4,12 +4,12 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
5
|
import { Provider, Select as Select$1, SelectValue, Virtualizer, ListLayout, ListBox } from 'react-aria-components';
|
|
6
6
|
import { selectStyles, composeRenderProps } from '@opengovsg/oui-theme';
|
|
7
|
+
import { Button } from '../button/button.js';
|
|
8
|
+
import { Label, Description, FieldError } from '../field/field.js';
|
|
7
9
|
import { Popover } from '../popover/popover.js';
|
|
8
10
|
import { mapPropsVariants } from '../system/utils.js';
|
|
9
11
|
import { SelectVariantContext } from './select-variant-context.js';
|
|
10
|
-
import { Label, Description, FieldError } from '../field/field.js';
|
|
11
12
|
import ChevronDown from '../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-down.js';
|
|
12
|
-
import { Button } from '../button/button.js';
|
|
13
13
|
|
|
14
14
|
const calculateEstimatedRowHeight = (size) => {
|
|
15
15
|
switch (size) {
|
|
@@ -4,6 +4,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
4
4
|
import { createElement } from 'react';
|
|
5
5
|
import { composeRenderProps } from 'react-aria-components';
|
|
6
6
|
import { tagFieldStyles } from '@opengovsg/oui-theme';
|
|
7
|
+
import { Label, FieldGroup, Description, FieldError } from '../field/field.js';
|
|
7
8
|
import { Input } from '../input/input.js';
|
|
8
9
|
import { Popover } from '../popover/popover.js';
|
|
9
10
|
import { TagFieldItem } from './tag-field-item.js';
|
|
@@ -12,7 +13,6 @@ import { TagFieldRoot } from './tag-field-root.js';
|
|
|
12
13
|
import { TagFieldTagList } from './tag-field-tag-list.js';
|
|
13
14
|
import { TagFieldTrigger } from './tag-field-trigger.js';
|
|
14
15
|
import ChevronDown from '../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-down.js';
|
|
15
|
-
import { Label, FieldGroup, Description, FieldError } from '../field/field.js';
|
|
16
16
|
|
|
17
17
|
function TagField({
|
|
18
18
|
classNames,
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
4
|
import { TextField } from 'react-aria-components';
|
|
5
5
|
import { composeTailwindRenderProps } from '@opengovsg/oui-theme';
|
|
6
|
-
import { TextArea } from '../text-area/text-area.js';
|
|
7
6
|
import { Label, Description, FieldError } from '../field/field.js';
|
|
7
|
+
import { TextArea } from '../text-area/text-area.js';
|
|
8
8
|
|
|
9
9
|
function TextAreaField({
|
|
10
10
|
label,
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
4
|
import { TextField as TextField$1 } from 'react-aria-components';
|
|
5
5
|
import { composeTailwindRenderProps } from '@opengovsg/oui-theme';
|
|
6
|
-
import { Input } from '../input/input.js';
|
|
7
6
|
import { Label, Description, FieldError } from '../field/field.js';
|
|
7
|
+
import { Input } from '../input/input.js';
|
|
8
8
|
|
|
9
9
|
function TextField({
|
|
10
10
|
label,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AvatarSlots, avatarStyles, SlotsToClasses } from "@opengovsg/oui-theme";
|
|
2
|
+
import type { ImageLoadingStatus } from "./hooks/use-img-loading-status";
|
|
3
|
+
export interface UseAvatarContextReturn {
|
|
4
|
+
imageLoadingStatus: ImageLoadingStatus;
|
|
5
|
+
setImageLoadingStatus: React.Dispatch<React.SetStateAction<ImageLoadingStatus>>;
|
|
6
|
+
slots: ReturnType<typeof avatarStyles>;
|
|
7
|
+
classNames?: SlotsToClasses<AvatarSlots>;
|
|
8
|
+
name?: string;
|
|
9
|
+
getInitials: (name: string) => string;
|
|
10
|
+
}
|
|
11
|
+
export declare const AvatarContext: import("react").Context<UseAvatarContextReturn>, useAvatarContext: () => UseAvatarContextReturn;
|
|
12
|
+
//# sourceMappingURL=avatar-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-context.d.ts","sourceRoot":"","sources":["../../../src/avatar/avatar-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACf,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAGxE,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CACnC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CACzC,CAAA;IACD,KAAK,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;IACtC,UAAU,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CACtC;AACD,eAAO,MAAO,aAAa,mDAAE,gBAAgB,8BAIzC,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { AvatarGroupSlots, AvatarGroupVariantProps, AvatarVariantProps, SlotsToClasses } from "@opengovsg/oui-theme";
|
|
3
|
+
import type { ReactRef } from "../system/react-utils";
|
|
4
|
+
import type { HtmlUiProps, PropGetter } from "../system/types";
|
|
5
|
+
import type { AvatarProps } from "./index";
|
|
6
|
+
export type UseAvatarGroupContextReturn = {
|
|
7
|
+
size?: UseAvatarGroupProps["size"];
|
|
8
|
+
color?: UseAvatarGroupProps["color"];
|
|
9
|
+
radius?: UseAvatarGroupProps["radius"];
|
|
10
|
+
prominence?: UseAvatarGroupProps["prominence"];
|
|
11
|
+
};
|
|
12
|
+
export declare const AvatarGroupProvider: import("react").Context<UseAvatarGroupContextReturn | undefined>, useAvatarGroupContext: () => UseAvatarGroupContextReturn | undefined;
|
|
13
|
+
export interface UseAvatarGroupProps extends HtmlUiProps<"div">, AvatarGroupVariantProps, Pick<AvatarVariantProps, "size" | "color" | "prominence" | "radius"> {
|
|
14
|
+
/**
|
|
15
|
+
* Ref to the DOM node.
|
|
16
|
+
*/
|
|
17
|
+
ref?: ReactRef<HTMLDivElement | null>;
|
|
18
|
+
/**
|
|
19
|
+
* The maximum number of visible avatars
|
|
20
|
+
* @default 5
|
|
21
|
+
*/
|
|
22
|
+
max?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Control the number of avatar not visible
|
|
25
|
+
*/
|
|
26
|
+
total?: number;
|
|
27
|
+
/**
|
|
28
|
+
* This allows you to render a custom count component.
|
|
29
|
+
*/
|
|
30
|
+
renderCount?: (count: number) => ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* Props to be passed to the count component.
|
|
33
|
+
*/
|
|
34
|
+
countProps?: Partial<AvatarProps>;
|
|
35
|
+
/**
|
|
36
|
+
* Classname or List of classes to change the classNames of the avatar group.
|
|
37
|
+
* if `className` is passed, it will be added to the base slot.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* <AvatarGroup classNames={{
|
|
42
|
+
* base: "base-classes",
|
|
43
|
+
* count: "count-classes"
|
|
44
|
+
* }} />
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
classNames?: SlotsToClasses<AvatarGroupSlots>;
|
|
48
|
+
}
|
|
49
|
+
export declare function useAvatarGroup(props?: UseAvatarGroupProps): {
|
|
50
|
+
Component: import("../system/types").As<any>;
|
|
51
|
+
context: UseAvatarGroupContextReturn;
|
|
52
|
+
remainingCount: number;
|
|
53
|
+
clones: import("react").DetailedReactHTMLElement<import("react").HTMLAttributes<HTMLElement>, HTMLElement>[];
|
|
54
|
+
renderCount: ((count: number) => ReactNode) | undefined;
|
|
55
|
+
getAvatarGroupProps: PropGetter;
|
|
56
|
+
getAvatarGroupCountProps: () => {
|
|
57
|
+
classNames?: SlotsToClasses<import("@opengovsg/oui-theme").AvatarSlots>;
|
|
58
|
+
className: string;
|
|
59
|
+
name?: string;
|
|
60
|
+
getInitials?: (name: string) => string;
|
|
61
|
+
size?: "md" | "sm" | "xs" | "2xs" | undefined;
|
|
62
|
+
color?: "white" | "primary" | undefined;
|
|
63
|
+
radius?: "none" | "lg" | "md" | "sm" | "full" | undefined;
|
|
64
|
+
prominence?: "subtle" | "strong" | undefined;
|
|
65
|
+
isInGroup?: boolean | undefined;
|
|
66
|
+
children?: ReactNode | undefined;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
export type UseAvatarReturn = ReturnType<typeof useAvatarGroup>;
|
|
70
|
+
//# sourceMappingURL=avatar-group-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group-context.d.ts","sourceRoot":"","sources":["../../../src/avatar/avatar-group-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACf,MAAM,sBAAsB,CAAA;AAG7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAClC,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IACtC,UAAU,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAA;CAC/C,CAAA;AAED,eAAO,MAAO,mBAAmB,oEAAE,qBAAqB,+CAMtD,CAAA;AAEF,MAAM,WAAW,mBACf,SAAQ,WAAW,CAAC,KAAK,CAAC,EACxB,uBAAuB,EACvB,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;IACtE;;OAEG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IACrC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAA;IAE1C;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAEjC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;CAC9C;AAED,wBAAgB,cAAc,CAAC,KAAK,GAAE,mBAAwB;;;;;0BAtBtC,MAAM,KAAK,SAAS;;;;;;;;;;;;;;EAyG3C;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { UseAvatarGroupProps } from "./avatar-group-context";
|
|
2
|
+
export interface AvatarGroupProps extends UseAvatarGroupProps {
|
|
3
|
+
}
|
|
4
|
+
export declare const AvatarGroup: import("../system/utils").InternalForwardRefRenderFunction<"div", AvatarGroupProps, never>;
|
|
5
|
+
//# sourceMappingURL=avatar-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.d.ts","sourceRoot":"","sources":["../../../src/avatar/avatar-group.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAMjE,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;CAAG;AAEhE,eAAO,MAAM,WAAW,4FAoDtB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { PropsWithChildren } from "react";
|
|
2
|
+
import type { AvatarSlots, AvatarVariantProps, SlotsToClasses } from "@opengovsg/oui-theme";
|
|
3
|
+
export interface AvatarProps extends AvatarVariantProps, PropsWithChildren {
|
|
4
|
+
classNames?: SlotsToClasses<AvatarSlots>;
|
|
5
|
+
className?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
getInitials?: (name: string) => string;
|
|
8
|
+
}
|
|
9
|
+
export declare const AvatarRoot: import("../system/utils").InternalForwardRefRenderFunction<"span", AvatarProps, never>;
|
|
10
|
+
export interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {
|
|
11
|
+
src?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const AvatarImage: import("../system/utils").InternalForwardRefRenderFunction<"img", AvatarImageProps, never>;
|
|
14
|
+
export interface AvatarFallbackProps {
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
}
|
|
17
|
+
export declare const AvatarFallback: import("../system/utils").InternalForwardRefRenderFunction<"div", AvatarFallbackProps, never>;
|
|
18
|
+
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/avatar/avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAK9C,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACf,MAAM,sBAAsB,CAAA;AAW7B,MAAM,WAAW,WAAY,SAAQ,kBAAkB,EAAE,iBAAiB;IACxE,UAAU,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CACvC;AAED,eAAO,MAAM,UAAU,wFA8DtB,CAAA;AAED,MAAM,WAAW,gBACf,SAAQ,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,WAAW,4FA8BvB,CAAA;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AACD,eAAO,MAAM,cAAc,+FAiC1B,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef } from "react";
|
|
2
|
+
export type ImageLoadingStatus = "idle" | "loading" | "loaded" | "error";
|
|
3
|
+
export declare function useImageLoadingStatus(src: string | undefined, { referrerPolicy, crossOrigin }: ComponentPropsWithoutRef<"img">): ImageLoadingStatus;
|
|
4
|
+
//# sourceMappingURL=use-img-loading-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-img-loading-status.d.ts","sourceRoot":"","sources":["../../../../src/avatar/hooks/use-img-loading-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAGrD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AAiCxE,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,wBAAwB,CAAC,KAAK,CAAC,sBA6CjE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AvatarFallback, AvatarImage, AvatarRoot } from "./avatar";
|
|
2
|
+
export type { AvatarFallbackProps, AvatarImageProps, AvatarProps, } from "./avatar";
|
|
3
|
+
export declare const Avatar: import("../system/utils").InternalForwardRefRenderFunction<"span", import("./avatar").AvatarProps, never> & {
|
|
4
|
+
Root: import("../system/utils").InternalForwardRefRenderFunction<"span", import("./avatar").AvatarProps, never>;
|
|
5
|
+
Image: import("../system/utils").InternalForwardRefRenderFunction<"img", import("./avatar").AvatarImageProps, never>;
|
|
6
|
+
Fallback: import("../system/utils").InternalForwardRefRenderFunction<"div", import("./avatar").AvatarFallbackProps, never>;
|
|
7
|
+
};
|
|
8
|
+
export { AvatarRoot, AvatarImage, AvatarFallback };
|
|
9
|
+
export { AvatarContext, useAvatarContext } from "./avatar-context";
|
|
10
|
+
export type { UseAvatarContextReturn } from "./avatar-context";
|
|
11
|
+
export { AvatarGroup } from "./avatar-group";
|
|
12
|
+
export type { AvatarGroupProps } from "./avatar-group";
|
|
13
|
+
export { AvatarGroupProvider, useAvatarGroup } from "./avatar-group-context";
|
|
14
|
+
export type { UseAvatarGroupContextReturn, UseAvatarGroupProps, } from "./avatar-group-context";
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/avatar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAElE,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,GACZ,MAAM,UAAU,CAAA;AAEjB,eAAO,MAAM,MAAM;;;;CAIjB,CAAA;AAGF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAA;AAGlD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGtD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5E,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/avatar/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,SAAU,MAAM,qBAAc,MAU7D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/calendar/calendar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAiBtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAQ5C,eAAO,MAAM,QAAQ,GACnB,CAAC,SAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/calendar/calendar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAiBtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAQ5C,eAAO,MAAM,QAAQ,GACnB,CAAC,SAAS,SAAS,8EAmCyB,MAAO,SA2FnD,CAAA;AAEF,eAAO,MAAM,oBAAoB,kBAE9B;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,4CAQA,CAAA"}
|
|
@@ -2,5 +2,5 @@ import type { CheckboxProps } from "./checkbox";
|
|
|
2
2
|
export interface UseProvideCheckboxGroupStylesReturn {
|
|
3
3
|
size: CheckboxProps["size"];
|
|
4
4
|
}
|
|
5
|
-
export declare const CheckboxGroupStyleContext: import("react").Context<UseProvideCheckboxGroupStylesReturn>, useCheckboxGroupStyleContext: () => UseProvideCheckboxGroupStylesReturn;
|
|
5
|
+
export declare const CheckboxGroupStyleContext: import("react").Context<UseProvideCheckboxGroupStylesReturn | undefined>, useCheckboxGroupStyleContext: () => UseProvideCheckboxGroupStylesReturn | undefined;
|
|
6
6
|
//# sourceMappingURL=checkbox-group-style-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-group-style-context.d.ts","sourceRoot":"","sources":["../../../src/checkbox/checkbox-group-style-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/C,MAAM,WAAW,mCAAmC;IAClD,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED,eAAO,MAAO,yBAAyB,
|
|
1
|
+
{"version":3,"file":"checkbox-group-style-context.d.ts","sourceRoot":"","sources":["../../../src/checkbox/checkbox-group-style-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/C,MAAM,WAAW,mCAAmC;IAClD,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED,eAAO,MAAO,yBAAyB,4EAAE,4BAA4B,uDAOjE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-field.d.ts","sourceRoot":"","sources":["../../../src/date-field/date-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,IAAI,kBAAkB,EACpC,cAAc,IAAI,kBAAkB,EACpC,SAAS,EACT,gBAAgB,EACjB,MAAM,uBAAuB,CAAA;AAQ9B,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"date-field.d.ts","sourceRoot":"","sources":["../../../src/date-field/date-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,IAAI,kBAAkB,EACpC,cAAc,IAAI,kBAAkB,EACpC,SAAS,EACT,gBAAgB,EACjB,MAAM,uBAAuB,CAAA;AAQ9B,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAGL,eAAe,EACf,eAAe,EAChB,MAAM,sBAAsB,CAAA;AAK7B,UAAU,cAAc,CAAC,CAAC,SAAS,SAAS,CAC1C,SAAQ,kBAAkB,CAAC,CAAC,CAAC,EAC3B,YAAY,CAAC,OAAO,eAAe,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,gBAAgB,KAAK,MAAM,CAAC,CAAA;IAClE,UAAU,CAAC,EAAE,cAAc,CACzB,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,OAAO,CACrD,CAAA;IACD,UAAU,CAAC,EAAE,cAAc,CAAA;CAC5B;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAC3C,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,2CAmDjC;AAED,UAAU,cACR,SAAQ,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAC1C,YAAY,CAAC,OAAO,eAAe,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,gBAAgB,KAAK,MAAM,CAAC,CAAA;IAClE,UAAU,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;CAC5C;AAED,wBAAgB,SAAS,CAAC,aAAa,EAAE,cAAc,2CA+BtD"}
|
|
@@ -29,12 +29,18 @@ export interface FileDropzoneProps extends Omit<AriaFieldProps, "validate">, Inp
|
|
|
29
29
|
*/
|
|
30
30
|
allowedMimeTypes?: string[];
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* File size base system: binary or decimal.
|
|
33
|
+
*
|
|
34
|
+
* Defaults to binary (1 KB = 1024 bytes), vs. decimal (1 KB = 1000 bytes)
|
|
35
|
+
*/
|
|
36
|
+
fileSizeBase?: "binary" | "decimal";
|
|
37
|
+
/**
|
|
38
|
+
* Maximum upload size of each file allowed in bytes.
|
|
33
39
|
* @default Number.POSITIVE_INFINITY
|
|
34
40
|
*/
|
|
35
41
|
maxFileSize?: number;
|
|
36
42
|
/**
|
|
37
|
-
* Minimum upload size of each file allowed in bytes.
|
|
43
|
+
* Minimum upload size of each file allowed in bytes.
|
|
38
44
|
* @default 0
|
|
39
45
|
*/
|
|
40
46
|
minFileSize?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-dropzone.d.ts","sourceRoot":"","sources":["../../../src/file-dropzone/file-dropzone.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,gBAAgB,CAAA;AAe/E,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAY,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAavC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,EACtC,SAAS,EACT,UAAU,CAAC,QAAQ,EAAE,CAAC,EACtB,YAAY,CAAC,OAAO,kBAAkB,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAE9B,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACxC,UAAU,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAA;IACtD,sCAAsC;IACtC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IAClB,wCAAwC;IACxC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAA;IACzB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAA;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAA;IAC9C;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAA;IAE5D;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;CACxC;AAED,eAAO,MAAM,YAAY,kBAAmB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"file-dropzone.d.ts","sourceRoot":"","sources":["../../../src/file-dropzone/file-dropzone.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,gBAAgB,CAAA;AAe/E,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAY,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAavC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,EACtC,SAAS,EACT,UAAU,CAAC,QAAQ,EAAE,CAAC,EACtB,YAAY,CAAC,OAAO,kBAAkB,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAE9B,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACxC,UAAU,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAA;IACtD,sCAAsC;IACtC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IAClB,wCAAwC;IACxC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAA;IACzB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAA;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAEnC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAA;IAC9C;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAA;IAE5D;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;CACxC;AAED,eAAO,MAAM,YAAY,kBAAmB,iBAAiB,4CA4Q5D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../../src/file-dropzone/file-info.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACf,MAAM,sBAAsB,CAAA;AAG7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAQvC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;IACvC,UAAU,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAA;CACnD;AAED,eAAO,MAAM,QAAQ,uCAAwC,aAAa,
|
|
1
|
+
{"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../../src/file-dropzone/file-info.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACf,MAAM,sBAAsB,CAAA;AAG7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAQvC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;IACvC,UAAU,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAA;CACnD;AAED,eAAO,MAAM,QAAQ,uCAAwC,aAAa,4CA2HzE,CAAA"}
|
|
@@ -8,6 +8,7 @@ export interface FileDropzoneState extends Omit<DropzoneState, "getInputProps">
|
|
|
8
8
|
isReadOnly?: boolean;
|
|
9
9
|
inputProps: ReturnType<DropzoneState["getInputProps"]>;
|
|
10
10
|
triggerFileSelector: () => void | null;
|
|
11
|
+
fileSizeBase: "binary" | "decimal";
|
|
11
12
|
maxFiles: number;
|
|
12
13
|
maxFileSize: number;
|
|
13
14
|
showDropzone: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/file-dropzone/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE9D,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACf,MAAM,sBAAsB,CAAA;AAE7B,MAAM,WAAW,QAAS,SAAQ,IAAI;IACpC,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAA;IACtD,mBAAmB,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAA;CAC1C;AAED,MAAM,WAAW,8BACf,SAAQ,wBAAwB;IAChC,KAAK,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;IAC5C,UAAU,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAA;CACvD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/file-dropzone/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE9D,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACf,MAAM,sBAAsB,CAAA;AAE7B,MAAM,WAAW,QAAS,SAAQ,IAAI;IACpC,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAA;IACtD,mBAAmB,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IACtC,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAA;CAC1C;AAED,MAAM,WAAW,8BACf,SAAQ,wBAAwB;IAChC,KAAK,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;IAC5C,UAAU,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAA;CACvD"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { FileRejection } from "react-dropzone";
|
|
2
|
-
export declare const formatBytes: (bytes: number, decimals?: number, size?: "bytes" | "KB" | "MB" | "GB" | "TB" | "PB" | "EB" | "ZB" | "YB") => string;
|
|
2
|
+
export declare const formatBytes: (bytes: number, decimals?: number, base?: "binary" | "decimal", size?: "bytes" | "KB" | "MB" | "GB" | "TB" | "PB" | "EB" | "ZB" | "YB") => string;
|
|
3
3
|
export declare const formatErrorMessage: (error: FileRejection["errors"][number], config: {
|
|
4
4
|
maxFileSize: number;
|
|
5
5
|
minFileSize: number;
|
|
6
6
|
maxFiles: number;
|
|
7
|
+
fileSizeBase: "binary" | "decimal";
|
|
7
8
|
}) => string;
|
|
8
9
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/file-dropzone/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,eAAO,MAAM,WAAW,UACf,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/file-dropzone/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,eAAO,MAAM,WAAW,UACf,MAAM,4BAEP,QAAQ,GAAG,SAAS,SACnB,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,WAavE,CAAA;AAED,eAAO,MAAM,kBAAkB,UACtB,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAC9B;IACN,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAA;CACnC,WAgBF,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type ScrollValue = {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
};
|
|
5
|
+
export interface UseScrollPositionOptions {
|
|
6
|
+
/**
|
|
7
|
+
* The wait time in milliseconds before triggering the callback.
|
|
8
|
+
* @default 30
|
|
9
|
+
*/
|
|
10
|
+
delay?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Whether the scroll position should be tracked or not.
|
|
13
|
+
* @default true
|
|
14
|
+
*/
|
|
15
|
+
isEnabled?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The element to track the scroll position for.
|
|
18
|
+
*/
|
|
19
|
+
elementRef?: React.RefObject<HTMLElement> | null;
|
|
20
|
+
/**
|
|
21
|
+
* The callback function to be called when the scroll position changes.
|
|
22
|
+
*/
|
|
23
|
+
callback?: ({ prevPos, currPos, }: {
|
|
24
|
+
prevPos: ScrollValue;
|
|
25
|
+
currPos: ScrollValue;
|
|
26
|
+
}) => void;
|
|
27
|
+
}
|
|
28
|
+
export declare const useScrollPosition: (props: UseScrollPositionOptions) => ScrollValue;
|
|
29
|
+
//# sourceMappingURL=use-scroll-position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-scroll-position.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-scroll-position.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAalD,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;IAChD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,EACV,OAAO,EACP,OAAO,GACR,EAAE;QACD,OAAO,EAAE,WAAW,CAAA;QACpB,OAAO,EAAE,WAAW,CAAA;KACrB,KAAK,IAAI,CAAA;CACX;AAED,eAAO,MAAM,iBAAiB,UACrB,wBAAwB,KAC9B,WAiDF,CAAA"}
|
package/dist/types/index.d.mts
CHANGED