mainbase-ui 1.2.4 → 1.2.5-b
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/README.md +22 -266
- package/dist/index.cjs +148 -55
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +97 -49
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +23 -3
- package/dist/index.d.ts +23 -3
- package/dist/index.js +145 -51
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -156,6 +156,10 @@ interface MainbaseComponentDefaults {
|
|
|
156
156
|
firstDayOfWeek?: 0 | 1;
|
|
157
157
|
clearable?: boolean;
|
|
158
158
|
};
|
|
159
|
+
Image?: {
|
|
160
|
+
radius?: "none" | "sm" | "md" | "lg" | "xl" | "full";
|
|
161
|
+
fit?: "contain" | "cover" | "fill" | "none" | "scale-down";
|
|
162
|
+
};
|
|
159
163
|
}
|
|
160
164
|
interface MainbaseTheme {
|
|
161
165
|
colorScheme: MainbaseColorScheme;
|
|
@@ -215,9 +219,11 @@ interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
|
215
219
|
}
|
|
216
220
|
declare function Badge({ variant, size, leftSection, rightSection, className, children, ...props }: BadgeProps): react.JSX.Element;
|
|
217
221
|
|
|
222
|
+
type ButtonVariant = "primary" | "secondary" | "outline" | "ghost" | "danger";
|
|
223
|
+
type ButtonSize = "sm" | "md" | "lg";
|
|
218
224
|
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
219
|
-
variant?:
|
|
220
|
-
size?:
|
|
225
|
+
variant?: ButtonVariant;
|
|
226
|
+
size?: ButtonSize;
|
|
221
227
|
loading?: boolean;
|
|
222
228
|
leftSection?: ReactNode;
|
|
223
229
|
rightSection?: ReactNode;
|
|
@@ -707,6 +713,20 @@ interface DatePickerProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultV
|
|
|
707
713
|
}
|
|
708
714
|
declare function DatePicker({ type, value, defaultValue, onChange, size, placeholder, rangeSeparator, locale, firstDayOfWeek, minDate, maxDate, disabled, error, clearable, name, dateFormat, className, ...props }: DatePickerProps): react.JSX.Element;
|
|
709
715
|
|
|
716
|
+
type ImageFit = "contain" | "cover" | "fill" | "none" | "scale-down";
|
|
717
|
+
interface ImageProps extends ImgHTMLAttributes<HTMLImageElement> {
|
|
718
|
+
radius?: "none" | "sm" | "md" | "lg" | "xl" | "full";
|
|
719
|
+
fit?: ImageFit;
|
|
720
|
+
fallback?: string;
|
|
721
|
+
}
|
|
722
|
+
declare const Image: react.ForwardRefExoticComponent<ImageProps & react.RefAttributes<HTMLImageElement>>;
|
|
723
|
+
|
|
724
|
+
interface HighlightProps extends HTMLAttributes<HTMLSpanElement> {
|
|
725
|
+
children: ReactNode;
|
|
726
|
+
color?: "primary" | "success" | "warning";
|
|
727
|
+
}
|
|
728
|
+
declare function Highlight({ children, color, className, ...props }: HighlightProps): react.JSX.Element;
|
|
729
|
+
|
|
710
730
|
type ClickOutsideEvent = "mousedown" | "touchstart" | "pointerdown";
|
|
711
731
|
interface UseClickOutsideOptions {
|
|
712
732
|
enabled?: boolean;
|
|
@@ -786,4 +806,4 @@ interface TitleProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
|
786
806
|
}
|
|
787
807
|
declare function Title({ order, size, weight, color, leftSection, rightSection, className, children, ...props }: TitleProps): react.JSX.Element;
|
|
788
808
|
|
|
789
|
-
export { Accordion, type AccordionChevronPosition, type AccordionControlProps, type AccordionItemProps, type AccordionPanelProps, type AccordionProps, type AccordionSize, type AccordionType, type AccordionValue, type AccordionVariant, Alert, type AlertProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, Button, Card, type CardProps, Checkbox, type CheckboxProps, type ClassValue, DatePicker, type DatePickerProps, type DatePickerSize, type DatePickerType, type DatePickerValue, type DateRangeValue, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, FileInput, type FileInputProps, type FileInputSize, Group, type GroupProps, Icon, IconButton, type IconButtonProps, type IconProps, Input, type InputProps, type MainbaseColorScheme, type MainbaseColors, type MainbaseComponentDefaults, MainbasePortalContext, MainbaseProvider, type MainbaseProviderProps, type MainbaseRadii, type MainbaseShadows, type MainbaseSpacing, type MainbaseTheme, type MainbaseThemeOverride, type MainbaseTransitions, type MainbaseTypography, type MainbaseZIndex, Menu, type MenuDividerProps, type MenuDropdownProps, type MenuItemProps, type MenuLabelProps, type MenuPosition, type MenuProps, type MenuTargetProps, type MenuWidth, Modal, type ModalProps, Pagination, type PaginationProps, type PaginationSize, type PaginationVariant, PasswordInput, type PasswordInputProps, type PasswordInputSize, PinInput, type PinInputProps, type PinInputSize, type PinInputType, Popover, type PopoverDropdownProps, type PopoverPosition, type PopoverProps, type PopoverTargetProps, Portal, type PortalProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, Stack, type StackProps, Switch, type SwitchProps, Tabs, TabsList, type TabsListProps, type TabsOrientation, TabsPanel, type TabsPanelProps, type TabsProps, type TabsSize, TabsTab, type TabsTabProps, type TabsVariant, Text, type TextProps, Textarea, type TextareaProps, Title, type TitleProps, type ToastApi, type ToastItem, type ToastOptions, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastShortcutInput, type ToastVariant, Tooltip, type TooltipPosition, type TooltipProps, type UseClickOutsideOptions, type UseControllableStateOptions, type UseDisclosureHandlers, type UseDisclosureReturn, cx, defaultMainbaseTheme, useClickOutside, useComponentDefaults, useControllableState, useDisclosure, useLockScroll, useMainbaseTheme, useToast };
|
|
809
|
+
export { Accordion, type AccordionChevronPosition, type AccordionControlProps, type AccordionItemProps, type AccordionPanelProps, type AccordionProps, type AccordionSize, type AccordionType, type AccordionValue, type AccordionVariant, Alert, type AlertProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, Button, Card, type CardProps, Checkbox, type CheckboxProps, type ClassValue, DatePicker, type DatePickerProps, type DatePickerSize, type DatePickerType, type DatePickerValue, type DateRangeValue, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, FileInput, type FileInputProps, type FileInputSize, Group, type GroupProps, Highlight, type HighlightProps, Icon, IconButton, type IconButtonProps, type IconProps, Image, type ImageFit, type ImageProps, Input, type InputProps, type MainbaseColorScheme, type MainbaseColors, type MainbaseComponentDefaults, MainbasePortalContext, MainbaseProvider, type MainbaseProviderProps, type MainbaseRadii, type MainbaseShadows, type MainbaseSpacing, type MainbaseTheme, type MainbaseThemeOverride, type MainbaseTransitions, type MainbaseTypography, type MainbaseZIndex, Menu, type MenuDividerProps, type MenuDropdownProps, type MenuItemProps, type MenuLabelProps, type MenuPosition, type MenuProps, type MenuTargetProps, type MenuWidth, Modal, type ModalProps, Pagination, type PaginationProps, type PaginationSize, type PaginationVariant, PasswordInput, type PasswordInputProps, type PasswordInputSize, PinInput, type PinInputProps, type PinInputSize, type PinInputType, Popover, type PopoverDropdownProps, type PopoverPosition, type PopoverProps, type PopoverTargetProps, Portal, type PortalProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, Stack, type StackProps, Switch, type SwitchProps, Tabs, TabsList, type TabsListProps, type TabsOrientation, TabsPanel, type TabsPanelProps, type TabsProps, type TabsSize, TabsTab, type TabsTabProps, type TabsVariant, Text, type TextProps, Textarea, type TextareaProps, Title, type TitleProps, type ToastApi, type ToastItem, type ToastOptions, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastShortcutInput, type ToastVariant, Tooltip, type TooltipPosition, type TooltipProps, type UseClickOutsideOptions, type UseControllableStateOptions, type UseDisclosureHandlers, type UseDisclosureReturn, cx, defaultMainbaseTheme, useClickOutside, useComponentDefaults, useControllableState, useDisclosure, useLockScroll, useMainbaseTheme, useToast };
|
package/dist/index.d.ts
CHANGED
|
@@ -156,6 +156,10 @@ interface MainbaseComponentDefaults {
|
|
|
156
156
|
firstDayOfWeek?: 0 | 1;
|
|
157
157
|
clearable?: boolean;
|
|
158
158
|
};
|
|
159
|
+
Image?: {
|
|
160
|
+
radius?: "none" | "sm" | "md" | "lg" | "xl" | "full";
|
|
161
|
+
fit?: "contain" | "cover" | "fill" | "none" | "scale-down";
|
|
162
|
+
};
|
|
159
163
|
}
|
|
160
164
|
interface MainbaseTheme {
|
|
161
165
|
colorScheme: MainbaseColorScheme;
|
|
@@ -215,9 +219,11 @@ interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
|
215
219
|
}
|
|
216
220
|
declare function Badge({ variant, size, leftSection, rightSection, className, children, ...props }: BadgeProps): react.JSX.Element;
|
|
217
221
|
|
|
222
|
+
type ButtonVariant = "primary" | "secondary" | "outline" | "ghost" | "danger";
|
|
223
|
+
type ButtonSize = "sm" | "md" | "lg";
|
|
218
224
|
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
219
|
-
variant?:
|
|
220
|
-
size?:
|
|
225
|
+
variant?: ButtonVariant;
|
|
226
|
+
size?: ButtonSize;
|
|
221
227
|
loading?: boolean;
|
|
222
228
|
leftSection?: ReactNode;
|
|
223
229
|
rightSection?: ReactNode;
|
|
@@ -707,6 +713,20 @@ interface DatePickerProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultV
|
|
|
707
713
|
}
|
|
708
714
|
declare function DatePicker({ type, value, defaultValue, onChange, size, placeholder, rangeSeparator, locale, firstDayOfWeek, minDate, maxDate, disabled, error, clearable, name, dateFormat, className, ...props }: DatePickerProps): react.JSX.Element;
|
|
709
715
|
|
|
716
|
+
type ImageFit = "contain" | "cover" | "fill" | "none" | "scale-down";
|
|
717
|
+
interface ImageProps extends ImgHTMLAttributes<HTMLImageElement> {
|
|
718
|
+
radius?: "none" | "sm" | "md" | "lg" | "xl" | "full";
|
|
719
|
+
fit?: ImageFit;
|
|
720
|
+
fallback?: string;
|
|
721
|
+
}
|
|
722
|
+
declare const Image: react.ForwardRefExoticComponent<ImageProps & react.RefAttributes<HTMLImageElement>>;
|
|
723
|
+
|
|
724
|
+
interface HighlightProps extends HTMLAttributes<HTMLSpanElement> {
|
|
725
|
+
children: ReactNode;
|
|
726
|
+
color?: "primary" | "success" | "warning";
|
|
727
|
+
}
|
|
728
|
+
declare function Highlight({ children, color, className, ...props }: HighlightProps): react.JSX.Element;
|
|
729
|
+
|
|
710
730
|
type ClickOutsideEvent = "mousedown" | "touchstart" | "pointerdown";
|
|
711
731
|
interface UseClickOutsideOptions {
|
|
712
732
|
enabled?: boolean;
|
|
@@ -786,4 +806,4 @@ interface TitleProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
|
786
806
|
}
|
|
787
807
|
declare function Title({ order, size, weight, color, leftSection, rightSection, className, children, ...props }: TitleProps): react.JSX.Element;
|
|
788
808
|
|
|
789
|
-
export { Accordion, type AccordionChevronPosition, type AccordionControlProps, type AccordionItemProps, type AccordionPanelProps, type AccordionProps, type AccordionSize, type AccordionType, type AccordionValue, type AccordionVariant, Alert, type AlertProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, Button, Card, type CardProps, Checkbox, type CheckboxProps, type ClassValue, DatePicker, type DatePickerProps, type DatePickerSize, type DatePickerType, type DatePickerValue, type DateRangeValue, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, FileInput, type FileInputProps, type FileInputSize, Group, type GroupProps, Icon, IconButton, type IconButtonProps, type IconProps, Input, type InputProps, type MainbaseColorScheme, type MainbaseColors, type MainbaseComponentDefaults, MainbasePortalContext, MainbaseProvider, type MainbaseProviderProps, type MainbaseRadii, type MainbaseShadows, type MainbaseSpacing, type MainbaseTheme, type MainbaseThemeOverride, type MainbaseTransitions, type MainbaseTypography, type MainbaseZIndex, Menu, type MenuDividerProps, type MenuDropdownProps, type MenuItemProps, type MenuLabelProps, type MenuPosition, type MenuProps, type MenuTargetProps, type MenuWidth, Modal, type ModalProps, Pagination, type PaginationProps, type PaginationSize, type PaginationVariant, PasswordInput, type PasswordInputProps, type PasswordInputSize, PinInput, type PinInputProps, type PinInputSize, type PinInputType, Popover, type PopoverDropdownProps, type PopoverPosition, type PopoverProps, type PopoverTargetProps, Portal, type PortalProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, Stack, type StackProps, Switch, type SwitchProps, Tabs, TabsList, type TabsListProps, type TabsOrientation, TabsPanel, type TabsPanelProps, type TabsProps, type TabsSize, TabsTab, type TabsTabProps, type TabsVariant, Text, type TextProps, Textarea, type TextareaProps, Title, type TitleProps, type ToastApi, type ToastItem, type ToastOptions, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastShortcutInput, type ToastVariant, Tooltip, type TooltipPosition, type TooltipProps, type UseClickOutsideOptions, type UseControllableStateOptions, type UseDisclosureHandlers, type UseDisclosureReturn, cx, defaultMainbaseTheme, useClickOutside, useComponentDefaults, useControllableState, useDisclosure, useLockScroll, useMainbaseTheme, useToast };
|
|
809
|
+
export { Accordion, type AccordionChevronPosition, type AccordionControlProps, type AccordionItemProps, type AccordionPanelProps, type AccordionProps, type AccordionSize, type AccordionType, type AccordionValue, type AccordionVariant, Alert, type AlertProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, Button, Card, type CardProps, Checkbox, type CheckboxProps, type ClassValue, DatePicker, type DatePickerProps, type DatePickerSize, type DatePickerType, type DatePickerValue, type DateRangeValue, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, FileInput, type FileInputProps, type FileInputSize, Group, type GroupProps, Highlight, type HighlightProps, Icon, IconButton, type IconButtonProps, type IconProps, Image, type ImageFit, type ImageProps, Input, type InputProps, type MainbaseColorScheme, type MainbaseColors, type MainbaseComponentDefaults, MainbasePortalContext, MainbaseProvider, type MainbaseProviderProps, type MainbaseRadii, type MainbaseShadows, type MainbaseSpacing, type MainbaseTheme, type MainbaseThemeOverride, type MainbaseTransitions, type MainbaseTypography, type MainbaseZIndex, Menu, type MenuDividerProps, type MenuDropdownProps, type MenuItemProps, type MenuLabelProps, type MenuPosition, type MenuProps, type MenuTargetProps, type MenuWidth, Modal, type ModalProps, Pagination, type PaginationProps, type PaginationSize, type PaginationVariant, PasswordInput, type PasswordInputProps, type PasswordInputSize, PinInput, type PinInputProps, type PinInputSize, type PinInputType, Popover, type PopoverDropdownProps, type PopoverPosition, type PopoverProps, type PopoverTargetProps, Portal, type PortalProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, Stack, type StackProps, Switch, type SwitchProps, Tabs, TabsList, type TabsListProps, type TabsOrientation, TabsPanel, type TabsPanelProps, type TabsProps, type TabsSize, TabsTab, type TabsTabProps, type TabsVariant, Text, type TextProps, Textarea, type TextareaProps, Title, type TitleProps, type ToastApi, type ToastItem, type ToastOptions, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastShortcutInput, type ToastVariant, Tooltip, type TooltipPosition, type TooltipProps, type UseClickOutsideOptions, type UseControllableStateOptions, type UseDisclosureHandlers, type UseDisclosureReturn, cx, defaultMainbaseTheme, useClickOutside, useComponentDefaults, useControllableState, useDisclosure, useLockScroll, useMainbaseTheme, useToast };
|
package/dist/index.js
CHANGED
|
@@ -166,6 +166,10 @@ var defaultMainbaseTheme = {
|
|
|
166
166
|
size: "md",
|
|
167
167
|
firstDayOfWeek: 1,
|
|
168
168
|
clearable: true
|
|
169
|
+
},
|
|
170
|
+
Image: {
|
|
171
|
+
radius: "md",
|
|
172
|
+
fit: "cover"
|
|
169
173
|
}
|
|
170
174
|
}
|
|
171
175
|
};
|
|
@@ -362,6 +366,10 @@ function mergeTheme(parentTheme, override) {
|
|
|
362
366
|
DatePicker: {
|
|
363
367
|
...parentTheme.components.DatePicker,
|
|
364
368
|
...override.components?.DatePicker
|
|
369
|
+
},
|
|
370
|
+
Image: {
|
|
371
|
+
...parentTheme.components.Image,
|
|
372
|
+
...override.components?.Image
|
|
365
373
|
}
|
|
366
374
|
}
|
|
367
375
|
};
|
|
@@ -567,6 +575,11 @@ import {
|
|
|
567
575
|
forwardRef
|
|
568
576
|
} from "react";
|
|
569
577
|
|
|
578
|
+
// src/utils/cx.ts
|
|
579
|
+
function cx(...classes) {
|
|
580
|
+
return classes.filter((value) => Boolean(value)).join(" ");
|
|
581
|
+
}
|
|
582
|
+
|
|
570
583
|
// src/components/Spinner/Spinner.tsx
|
|
571
584
|
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
572
585
|
function Spinner({
|
|
@@ -612,42 +625,52 @@ var Button = forwardRef(function Button2({
|
|
|
612
625
|
type = "button",
|
|
613
626
|
...props
|
|
614
627
|
}, ref) {
|
|
615
|
-
const defaults = useComponentDefaults(
|
|
628
|
+
const defaults = useComponentDefaults(
|
|
629
|
+
"Button"
|
|
630
|
+
);
|
|
616
631
|
const resolvedVariant = variant ?? defaults.variant ?? "primary";
|
|
617
632
|
const resolvedSize = size ?? defaults.size ?? "md";
|
|
618
|
-
const classes = [
|
|
619
|
-
"mb-button",
|
|
620
|
-
`mb-button--${resolvedVariant}`,
|
|
621
|
-
`mb-button--${resolvedSize}`,
|
|
622
|
-
className
|
|
623
|
-
].filter(Boolean).join(" ");
|
|
624
|
-
const iconSize = {
|
|
625
|
-
sm: 16,
|
|
626
|
-
md: 18,
|
|
627
|
-
lg: 20
|
|
628
|
-
}[resolvedSize];
|
|
629
633
|
return /* @__PURE__ */ jsxs4(
|
|
630
634
|
"button",
|
|
631
635
|
{
|
|
632
636
|
ref,
|
|
633
637
|
type,
|
|
634
|
-
className:
|
|
638
|
+
className: cx(
|
|
639
|
+
"mb-button",
|
|
640
|
+
`mb-button--${resolvedVariant}`,
|
|
641
|
+
`mb-button--${resolvedSize}`,
|
|
642
|
+
loading ? "mb-button--loading" : void 0,
|
|
643
|
+
className
|
|
644
|
+
),
|
|
635
645
|
disabled: disabled || loading,
|
|
636
|
-
"aria-busy": loading || void 0,
|
|
637
646
|
...props,
|
|
638
647
|
children: [
|
|
639
648
|
loading ? /* @__PURE__ */ jsx6(
|
|
640
649
|
Spinner,
|
|
641
650
|
{
|
|
642
|
-
size:
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
651
|
+
size: 16
|
|
652
|
+
}
|
|
653
|
+
) : leftSection && /* @__PURE__ */ jsx6(
|
|
654
|
+
"span",
|
|
655
|
+
{
|
|
656
|
+
className: "mb-button__icon",
|
|
657
|
+
children: /* @__PURE__ */ jsx6(Icon, { size: 18, children: leftSection })
|
|
658
|
+
}
|
|
659
|
+
),
|
|
660
|
+
/* @__PURE__ */ jsx6(
|
|
661
|
+
"span",
|
|
662
|
+
{
|
|
663
|
+
className: "mb-button__label",
|
|
664
|
+
children
|
|
665
|
+
}
|
|
666
|
+
),
|
|
667
|
+
rightSection && !loading ? /* @__PURE__ */ jsx6(
|
|
668
|
+
"span",
|
|
669
|
+
{
|
|
670
|
+
className: "mb-button__icon",
|
|
671
|
+
children: /* @__PURE__ */ jsx6(Icon, { size: 18, children: rightSection })
|
|
647
672
|
}
|
|
648
|
-
) :
|
|
649
|
-
/* @__PURE__ */ jsx6("span", { className: "mb-button__content", children }),
|
|
650
|
-
!loading && rightSection != null ? /* @__PURE__ */ jsx6(Icon, { size: iconSize, children: rightSection }) : null
|
|
673
|
+
) : null
|
|
651
674
|
]
|
|
652
675
|
}
|
|
653
676
|
);
|
|
@@ -882,11 +905,6 @@ function useLockScroll(locked = true) {
|
|
|
882
905
|
}, [locked]);
|
|
883
906
|
}
|
|
884
907
|
|
|
885
|
-
// src/utils/cx.ts
|
|
886
|
-
function cx(...classes) {
|
|
887
|
-
return classes.filter((value) => Boolean(value)).join(" ");
|
|
888
|
-
}
|
|
889
|
-
|
|
890
908
|
// src/components/Portal/Portal.tsx
|
|
891
909
|
import {
|
|
892
910
|
useContext as useContext3,
|
|
@@ -6204,8 +6222,82 @@ function DatePicker({
|
|
|
6204
6222
|
);
|
|
6205
6223
|
}
|
|
6206
6224
|
|
|
6225
|
+
// src/components/Image/Image.tsx
|
|
6226
|
+
import {
|
|
6227
|
+
forwardRef as forwardRef6,
|
|
6228
|
+
useState as useState13
|
|
6229
|
+
} from "react";
|
|
6230
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
6231
|
+
var Image = forwardRef6(function Image2({
|
|
6232
|
+
radius,
|
|
6233
|
+
fit,
|
|
6234
|
+
fallback,
|
|
6235
|
+
className = "",
|
|
6236
|
+
src,
|
|
6237
|
+
onError,
|
|
6238
|
+
...props
|
|
6239
|
+
}, ref) {
|
|
6240
|
+
const defaults = useComponentDefaults(
|
|
6241
|
+
"Image"
|
|
6242
|
+
);
|
|
6243
|
+
const [
|
|
6244
|
+
currentSrc,
|
|
6245
|
+
setCurrentSrc
|
|
6246
|
+
] = useState13(
|
|
6247
|
+
src
|
|
6248
|
+
);
|
|
6249
|
+
const resolvedRadius = radius ?? defaults.radius ?? "md";
|
|
6250
|
+
const resolvedFit = fit ?? defaults.fit ?? "cover";
|
|
6251
|
+
return /* @__PURE__ */ jsx33(
|
|
6252
|
+
"img",
|
|
6253
|
+
{
|
|
6254
|
+
ref,
|
|
6255
|
+
src: currentSrc,
|
|
6256
|
+
className: cx(
|
|
6257
|
+
"mb-image",
|
|
6258
|
+
`mb-image--${resolvedRadius}`,
|
|
6259
|
+
`mb-image--${resolvedFit}`,
|
|
6260
|
+
className
|
|
6261
|
+
),
|
|
6262
|
+
onError: (event) => {
|
|
6263
|
+
if (fallback && currentSrc !== fallback) {
|
|
6264
|
+
setCurrentSrc(
|
|
6265
|
+
fallback
|
|
6266
|
+
);
|
|
6267
|
+
}
|
|
6268
|
+
onError?.(
|
|
6269
|
+
event
|
|
6270
|
+
);
|
|
6271
|
+
},
|
|
6272
|
+
...props
|
|
6273
|
+
}
|
|
6274
|
+
);
|
|
6275
|
+
});
|
|
6276
|
+
|
|
6277
|
+
// src/components/Highlight/Highlight.tsx
|
|
6278
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
6279
|
+
function Highlight({
|
|
6280
|
+
children,
|
|
6281
|
+
color = "primary",
|
|
6282
|
+
className = "",
|
|
6283
|
+
...props
|
|
6284
|
+
}) {
|
|
6285
|
+
return /* @__PURE__ */ jsx34(
|
|
6286
|
+
"span",
|
|
6287
|
+
{
|
|
6288
|
+
className: cx(
|
|
6289
|
+
"mb-highlight",
|
|
6290
|
+
`mb-highlight--${color}`,
|
|
6291
|
+
className
|
|
6292
|
+
),
|
|
6293
|
+
...props,
|
|
6294
|
+
children
|
|
6295
|
+
}
|
|
6296
|
+
);
|
|
6297
|
+
}
|
|
6298
|
+
|
|
6207
6299
|
// src/components/Card/Card.tsx
|
|
6208
|
-
import { jsx as
|
|
6300
|
+
import { jsx as jsx35, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
6209
6301
|
function Card({
|
|
6210
6302
|
padding,
|
|
6211
6303
|
radius,
|
|
@@ -6233,9 +6325,9 @@ function Card({
|
|
|
6233
6325
|
className: classes,
|
|
6234
6326
|
...props,
|
|
6235
6327
|
children: [
|
|
6236
|
-
header != null ? /* @__PURE__ */
|
|
6237
|
-
/* @__PURE__ */
|
|
6238
|
-
footer != null ? /* @__PURE__ */
|
|
6328
|
+
header != null ? /* @__PURE__ */ jsx35("div", { className: "mb-card__header", children: header }) : null,
|
|
6329
|
+
/* @__PURE__ */ jsx35("div", { className: "mb-card__content", children }),
|
|
6330
|
+
footer != null ? /* @__PURE__ */ jsx35("div", { className: "mb-card__footer", children: footer }) : null
|
|
6239
6331
|
]
|
|
6240
6332
|
}
|
|
6241
6333
|
);
|
|
@@ -6243,10 +6335,10 @@ function Card({
|
|
|
6243
6335
|
|
|
6244
6336
|
// src/components/IconButton/IconButton.tsx
|
|
6245
6337
|
import {
|
|
6246
|
-
forwardRef as
|
|
6338
|
+
forwardRef as forwardRef7
|
|
6247
6339
|
} from "react";
|
|
6248
|
-
import { jsx as
|
|
6249
|
-
var IconButton =
|
|
6340
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
6341
|
+
var IconButton = forwardRef7(function IconButton2({
|
|
6250
6342
|
icon,
|
|
6251
6343
|
label,
|
|
6252
6344
|
variant,
|
|
@@ -6271,7 +6363,7 @@ var IconButton = forwardRef6(function IconButton2({
|
|
|
6271
6363
|
md: 18,
|
|
6272
6364
|
lg: 20
|
|
6273
6365
|
}[resolvedSize];
|
|
6274
|
-
return /* @__PURE__ */
|
|
6366
|
+
return /* @__PURE__ */ jsx36(
|
|
6275
6367
|
"button",
|
|
6276
6368
|
{
|
|
6277
6369
|
ref,
|
|
@@ -6281,7 +6373,7 @@ var IconButton = forwardRef6(function IconButton2({
|
|
|
6281
6373
|
"aria-label": label,
|
|
6282
6374
|
"aria-busy": loading || void 0,
|
|
6283
6375
|
...props,
|
|
6284
|
-
children: loading ? /* @__PURE__ */
|
|
6376
|
+
children: loading ? /* @__PURE__ */ jsx36(
|
|
6285
6377
|
Spinner,
|
|
6286
6378
|
{
|
|
6287
6379
|
size: 14,
|
|
@@ -6290,13 +6382,13 @@ var IconButton = forwardRef6(function IconButton2({
|
|
|
6290
6382
|
trackColor: "transparent",
|
|
6291
6383
|
"aria-hidden": "true"
|
|
6292
6384
|
}
|
|
6293
|
-
) : /* @__PURE__ */
|
|
6385
|
+
) : /* @__PURE__ */ jsx36(Icon, { size: iconSize, children: icon })
|
|
6294
6386
|
}
|
|
6295
6387
|
);
|
|
6296
6388
|
});
|
|
6297
6389
|
|
|
6298
6390
|
// src/components/Input/Input.tsx
|
|
6299
|
-
import { jsx as
|
|
6391
|
+
import { jsx as jsx37, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
6300
6392
|
function Input({
|
|
6301
6393
|
leftSection,
|
|
6302
6394
|
rightSection,
|
|
@@ -6314,8 +6406,8 @@ function Input({
|
|
|
6314
6406
|
className
|
|
6315
6407
|
].filter(Boolean).join(" ");
|
|
6316
6408
|
return /* @__PURE__ */ jsxs28("div", { className: classes, children: [
|
|
6317
|
-
leftSection ? /* @__PURE__ */
|
|
6318
|
-
/* @__PURE__ */
|
|
6409
|
+
leftSection ? /* @__PURE__ */ jsx37("span", { className: "mb-input__section mb-input__section--left", children: /* @__PURE__ */ jsx37(Icon, { size: 18, children: leftSection }) }) : null,
|
|
6410
|
+
/* @__PURE__ */ jsx37(
|
|
6319
6411
|
"input",
|
|
6320
6412
|
{
|
|
6321
6413
|
className: "mb-input__control",
|
|
@@ -6324,17 +6416,17 @@ function Input({
|
|
|
6324
6416
|
...props
|
|
6325
6417
|
}
|
|
6326
6418
|
),
|
|
6327
|
-
rightSection ? /* @__PURE__ */
|
|
6419
|
+
rightSection ? /* @__PURE__ */ jsx37("span", { className: "mb-input__section mb-input__section--right", children: /* @__PURE__ */ jsx37(Icon, { size: 18, children: rightSection }) }) : null
|
|
6328
6420
|
] });
|
|
6329
6421
|
}
|
|
6330
6422
|
|
|
6331
6423
|
// src/components/Textarea/Textarea.tsx
|
|
6332
|
-
import { jsx as
|
|
6424
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
6333
6425
|
function Textarea({
|
|
6334
6426
|
className = "",
|
|
6335
6427
|
...props
|
|
6336
6428
|
}) {
|
|
6337
|
-
return /* @__PURE__ */
|
|
6429
|
+
return /* @__PURE__ */ jsx38(
|
|
6338
6430
|
"textarea",
|
|
6339
6431
|
{
|
|
6340
6432
|
className: `mb-textarea ${className}`,
|
|
@@ -6344,7 +6436,7 @@ function Textarea({
|
|
|
6344
6436
|
}
|
|
6345
6437
|
|
|
6346
6438
|
// src/components/Text/Text.tsx
|
|
6347
|
-
import { jsx as
|
|
6439
|
+
import { jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
6348
6440
|
function Text({
|
|
6349
6441
|
as: Component = "p",
|
|
6350
6442
|
size,
|
|
@@ -6379,16 +6471,16 @@ function Text({
|
|
|
6379
6471
|
className: classes,
|
|
6380
6472
|
...props,
|
|
6381
6473
|
children: [
|
|
6382
|
-
leftSection != null ? /* @__PURE__ */
|
|
6383
|
-
/* @__PURE__ */
|
|
6384
|
-
rightSection != null ? /* @__PURE__ */
|
|
6474
|
+
leftSection != null ? /* @__PURE__ */ jsx39(Icon, { size: iconSize, children: leftSection }) : null,
|
|
6475
|
+
/* @__PURE__ */ jsx39("span", { className: "mb-text__content", children }),
|
|
6476
|
+
rightSection != null ? /* @__PURE__ */ jsx39(Icon, { size: iconSize, children: rightSection }) : null
|
|
6385
6477
|
]
|
|
6386
6478
|
}
|
|
6387
6479
|
);
|
|
6388
6480
|
}
|
|
6389
6481
|
|
|
6390
6482
|
// src/components/Title/Title.tsx
|
|
6391
|
-
import { jsx as
|
|
6483
|
+
import { jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
6392
6484
|
function Title({
|
|
6393
6485
|
order,
|
|
6394
6486
|
size,
|
|
@@ -6432,9 +6524,9 @@ function Title({
|
|
|
6432
6524
|
className: classes,
|
|
6433
6525
|
...props,
|
|
6434
6526
|
children: [
|
|
6435
|
-
leftSection != null ? /* @__PURE__ */
|
|
6436
|
-
/* @__PURE__ */
|
|
6437
|
-
rightSection != null ? /* @__PURE__ */
|
|
6527
|
+
leftSection != null ? /* @__PURE__ */ jsx40(Icon, { size: iconSize, children: leftSection }) : null,
|
|
6528
|
+
/* @__PURE__ */ jsx40("span", { className: "mb-title__content", children }),
|
|
6529
|
+
rightSection != null ? /* @__PURE__ */ jsx40(Icon, { size: iconSize, children: rightSection }) : null
|
|
6438
6530
|
]
|
|
6439
6531
|
}
|
|
6440
6532
|
);
|
|
@@ -6453,8 +6545,10 @@ export {
|
|
|
6453
6545
|
Drawer,
|
|
6454
6546
|
FileInput,
|
|
6455
6547
|
Group,
|
|
6548
|
+
Highlight,
|
|
6456
6549
|
Icon,
|
|
6457
6550
|
IconButton,
|
|
6551
|
+
Image,
|
|
6458
6552
|
Input,
|
|
6459
6553
|
MainbasePortalContext,
|
|
6460
6554
|
MainbaseProvider,
|