mainbase-ui 1.2.4 → 1.2.5
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 +174 -55
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +128 -49
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +30 -4
- package/dist/index.d.ts +30 -4
- package/dist/index.js +172 -51
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,279 +1,35 @@
|
|
|
1
1
|
# Mainbase UI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A React component library built with React and TypeScript.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
CSS variables, and typed component APIs for building web applications.
|
|
5
|
+
Mainbase UI provides reusable interface components, a customizable theme system, CSS variables, and fully typed component APIs for building modern web applications.
|
|
7
6
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
- React 18 or higher
|
|
11
|
-
- React DOM 18 or higher
|
|
12
|
-
- TypeScript 5 or higher (recommended)
|
|
13
|
-
|
|
14
|
-
## Installation
|
|
15
|
-
|
|
16
|
-
Install the package using npm:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
npm install mainbase-ui
|
|
20
|
-
|
|
21
|
-
or using pnpm:
|
|
22
|
-
|
|
23
|
-
pnpm add mainbase-ui
|
|
24
|
-
|
|
25
|
-
or using yarn:
|
|
26
|
-
|
|
27
|
-
yarn add mainbase-ui
|
|
28
|
-
Basic Usage
|
|
29
|
-
|
|
30
|
-
Import the global styles:
|
|
31
|
-
|
|
32
|
-
import "mainbase-ui/styles.css";
|
|
33
|
-
|
|
34
|
-
Import required components:
|
|
35
|
-
|
|
36
|
-
import {
|
|
37
|
-
MainbaseProvider,
|
|
38
|
-
Button,
|
|
39
|
-
} from "mainbase-ui";
|
|
40
|
-
|
|
41
|
-
Example:
|
|
42
|
-
|
|
43
|
-
export default function App() {
|
|
44
|
-
return (
|
|
45
|
-
<MainbaseProvider>
|
|
46
|
-
<Button>
|
|
47
|
-
Click me
|
|
48
|
-
</Button>
|
|
49
|
-
</MainbaseProvider>
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
MainbaseProvider
|
|
53
|
-
|
|
54
|
-
MainbaseProvider is the root configuration component.
|
|
55
|
-
|
|
56
|
-
It provides:
|
|
57
|
-
|
|
58
|
-
theme configuration;
|
|
59
|
-
component default values;
|
|
60
|
-
design tokens;
|
|
61
|
-
CSS variables.
|
|
62
|
-
|
|
63
|
-
Example:
|
|
64
|
-
|
|
65
|
-
<MainbaseProvider
|
|
66
|
-
theme={{
|
|
67
|
-
colors: {
|
|
68
|
-
primary: "#ff8a1f",
|
|
69
|
-
primaryHover: "#f47c0f",
|
|
70
|
-
primaryActive: "#dd6d06",
|
|
71
|
-
},
|
|
72
|
-
|
|
73
|
-
radii: {
|
|
74
|
-
sm: 4,
|
|
75
|
-
md: 4,
|
|
76
|
-
lg: 4,
|
|
77
|
-
xl: 4,
|
|
78
|
-
full: 999,
|
|
79
|
-
},
|
|
80
|
-
}}
|
|
81
|
-
>
|
|
82
|
-
<App />
|
|
83
|
-
</MainbaseProvider>
|
|
84
|
-
Theme Configuration
|
|
85
|
-
|
|
86
|
-
The theme system allows changing global interface values.
|
|
87
|
-
|
|
88
|
-
Supported theme sections:
|
|
89
|
-
|
|
90
|
-
colors;
|
|
91
|
-
typography;
|
|
92
|
-
radii;
|
|
93
|
-
spacing;
|
|
94
|
-
shadows;
|
|
95
|
-
transitions;
|
|
96
|
-
z-index;
|
|
97
|
-
component defaults.
|
|
98
|
-
|
|
99
|
-
Example:
|
|
7
|
+
## Features
|
|
100
8
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
9
|
+
- React 18+ support
|
|
10
|
+
- TypeScript-first API
|
|
11
|
+
- Customizable theme system
|
|
12
|
+
- Design tokens
|
|
13
|
+
- Reusable UI components
|
|
14
|
+
- CSS variables support
|
|
15
|
+
- Accessibility support
|
|
16
|
+
- Tree-shakable component exports
|
|
107
17
|
|
|
108
|
-
|
|
109
|
-
primary: "#2563eb",
|
|
110
|
-
},
|
|
111
|
-
}}
|
|
112
|
-
>
|
|
113
|
-
<App />
|
|
114
|
-
</MainbaseProvider>
|
|
115
|
-
Colors
|
|
18
|
+
---
|
|
116
19
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
colors: {
|
|
120
|
-
primary,
|
|
121
|
-
primaryHover,
|
|
122
|
-
primaryActive,
|
|
123
|
-
|
|
124
|
-
text,
|
|
125
|
-
textSecondary,
|
|
126
|
-
textMuted,
|
|
127
|
-
|
|
128
|
-
background,
|
|
129
|
-
backgroundSecondary,
|
|
130
|
-
|
|
131
|
-
border,
|
|
132
|
-
borderHover,
|
|
133
|
-
|
|
134
|
-
success,
|
|
135
|
-
warning,
|
|
136
|
-
danger,
|
|
137
|
-
info
|
|
138
|
-
}
|
|
139
|
-
Border Radius
|
|
140
|
-
|
|
141
|
-
Global component radius can be configured:
|
|
142
|
-
|
|
143
|
-
<MainbaseProvider
|
|
144
|
-
theme={{
|
|
145
|
-
radii: {
|
|
146
|
-
sm: 4,
|
|
147
|
-
md: 4,
|
|
148
|
-
lg: 4,
|
|
149
|
-
xl: 4,
|
|
150
|
-
full: 999,
|
|
151
|
-
},
|
|
152
|
-
}}
|
|
153
|
-
>
|
|
154
|
-
|
|
155
|
-
These values are used by components automatically.
|
|
156
|
-
|
|
157
|
-
Typography
|
|
158
|
-
|
|
159
|
-
Example:
|
|
160
|
-
|
|
161
|
-
<MainbaseProvider
|
|
162
|
-
theme={{
|
|
163
|
-
typography: {
|
|
164
|
-
fontFamily:
|
|
165
|
-
"Manrope, sans-serif",
|
|
166
|
-
},
|
|
167
|
-
}}
|
|
168
|
-
>
|
|
169
|
-
Components
|
|
170
|
-
|
|
171
|
-
Mainbase UI includes the following components.
|
|
172
|
-
|
|
173
|
-
Layout
|
|
174
|
-
Stack
|
|
175
|
-
Group
|
|
176
|
-
Card
|
|
177
|
-
Divider
|
|
178
|
-
Typography
|
|
179
|
-
Text
|
|
180
|
-
Title
|
|
181
|
-
Buttons
|
|
182
|
-
Button
|
|
183
|
-
IconButton
|
|
184
|
-
Inputs
|
|
185
|
-
Input
|
|
186
|
-
Textarea
|
|
187
|
-
PasswordInput
|
|
188
|
-
PinInput
|
|
189
|
-
Select
|
|
190
|
-
FileInput
|
|
191
|
-
DatePicker
|
|
192
|
-
Selection
|
|
193
|
-
Checkbox
|
|
194
|
-
Radio
|
|
195
|
-
Switch
|
|
196
|
-
Feedback
|
|
197
|
-
Alert
|
|
198
|
-
Badge
|
|
199
|
-
Spinner
|
|
200
|
-
Progress
|
|
201
|
-
Skeleton
|
|
202
|
-
Toast
|
|
203
|
-
Navigation
|
|
204
|
-
Tabs
|
|
205
|
-
Accordion
|
|
206
|
-
Pagination
|
|
207
|
-
Overlay
|
|
208
|
-
Modal
|
|
209
|
-
Drawer
|
|
210
|
-
Menu
|
|
211
|
-
Popover
|
|
212
|
-
Tooltip
|
|
213
|
-
User Components
|
|
214
|
-
Avatar
|
|
215
|
-
AvatarGroup
|
|
216
|
-
Component Defaults
|
|
217
|
-
|
|
218
|
-
Default component settings can be configured through the theme.
|
|
219
|
-
|
|
220
|
-
Example:
|
|
221
|
-
|
|
222
|
-
<MainbaseProvider
|
|
223
|
-
theme={{
|
|
224
|
-
components: {
|
|
225
|
-
Button: {
|
|
226
|
-
size: "lg",
|
|
227
|
-
variant: "primary",
|
|
228
|
-
},
|
|
229
|
-
|
|
230
|
-
Card: {
|
|
231
|
-
radius: "md",
|
|
232
|
-
},
|
|
233
|
-
},
|
|
234
|
-
}}
|
|
235
|
-
>
|
|
236
|
-
TypeScript Support
|
|
237
|
-
|
|
238
|
-
Mainbase UI provides TypeScript definitions for all public components.
|
|
239
|
-
|
|
240
|
-
Example:
|
|
241
|
-
|
|
242
|
-
import type {
|
|
243
|
-
ButtonProps,
|
|
244
|
-
DatePickerProps,
|
|
245
|
-
} from "mainbase-ui";
|
|
246
|
-
CSS Variables
|
|
247
|
-
|
|
248
|
-
Mainbase UI exposes CSS variables that can be customized.
|
|
249
|
-
|
|
250
|
-
Example:
|
|
251
|
-
|
|
252
|
-
:root {
|
|
253
|
-
--mb-primary: #ff8a1f;
|
|
254
|
-
--mb-radius: 8px;
|
|
255
|
-
}
|
|
256
|
-
Accessibility
|
|
257
|
-
|
|
258
|
-
Components are designed with accessibility support:
|
|
20
|
+
## Requirements
|
|
259
21
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
disabled states.
|
|
264
|
-
Browser Support
|
|
22
|
+
- React `18` or higher
|
|
23
|
+
- React DOM `18` or higher
|
|
24
|
+
- TypeScript `5` or higher (recommended)
|
|
265
25
|
|
|
266
|
-
|
|
26
|
+
---
|
|
267
27
|
|
|
268
|
-
|
|
269
|
-
Edge
|
|
270
|
-
Firefox
|
|
271
|
-
Safari
|
|
272
|
-
License
|
|
28
|
+
# Installation
|
|
273
29
|
|
|
274
|
-
Mainbase UI
|
|
30
|
+
Install Mainbase UI using your preferred package manager.
|
|
275
31
|
|
|
276
|
-
|
|
277
|
-
according to the terms of the license.
|
|
32
|
+
## npm
|
|
278
33
|
|
|
279
|
-
|
|
34
|
+
```bash
|
|
35
|
+
npm install mainbase-ui
|
package/dist/index.cjs
CHANGED
|
@@ -33,9 +33,12 @@ __export(index_exports, {
|
|
|
33
33
|
Drawer: () => Drawer,
|
|
34
34
|
FileInput: () => FileInput,
|
|
35
35
|
Group: () => Group,
|
|
36
|
+
Highlight: () => Highlight,
|
|
36
37
|
Icon: () => Icon,
|
|
37
38
|
IconButton: () => IconButton,
|
|
39
|
+
Image: () => Image,
|
|
38
40
|
Input: () => Input,
|
|
41
|
+
Link: () => Link,
|
|
39
42
|
MainbasePortalContext: () => MainbasePortalContext,
|
|
40
43
|
MainbaseProvider: () => MainbaseProvider,
|
|
41
44
|
Menu: () => Menu,
|
|
@@ -235,6 +238,10 @@ var defaultMainbaseTheme = {
|
|
|
235
238
|
size: "md",
|
|
236
239
|
firstDayOfWeek: 1,
|
|
237
240
|
clearable: true
|
|
241
|
+
},
|
|
242
|
+
Image: {
|
|
243
|
+
radius: "md",
|
|
244
|
+
fit: "cover"
|
|
238
245
|
}
|
|
239
246
|
}
|
|
240
247
|
};
|
|
@@ -431,6 +438,10 @@ function mergeTheme(parentTheme, override) {
|
|
|
431
438
|
DatePicker: {
|
|
432
439
|
...parentTheme.components.DatePicker,
|
|
433
440
|
...override.components?.DatePicker
|
|
441
|
+
},
|
|
442
|
+
Image: {
|
|
443
|
+
...parentTheme.components.Image,
|
|
444
|
+
...override.components?.Image
|
|
434
445
|
}
|
|
435
446
|
}
|
|
436
447
|
};
|
|
@@ -629,6 +640,11 @@ function Badge({
|
|
|
629
640
|
// src/components/Button/Button.tsx
|
|
630
641
|
var import_react6 = require("react");
|
|
631
642
|
|
|
643
|
+
// src/utils/cx.ts
|
|
644
|
+
function cx(...classes) {
|
|
645
|
+
return classes.filter((value) => Boolean(value)).join(" ");
|
|
646
|
+
}
|
|
647
|
+
|
|
632
648
|
// src/components/Spinner/Spinner.tsx
|
|
633
649
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
634
650
|
function Spinner({
|
|
@@ -674,42 +690,52 @@ var Button = (0, import_react6.forwardRef)(function Button2({
|
|
|
674
690
|
type = "button",
|
|
675
691
|
...props
|
|
676
692
|
}, ref) {
|
|
677
|
-
const defaults = useComponentDefaults(
|
|
693
|
+
const defaults = useComponentDefaults(
|
|
694
|
+
"Button"
|
|
695
|
+
);
|
|
678
696
|
const resolvedVariant = variant ?? defaults.variant ?? "primary";
|
|
679
697
|
const resolvedSize = size ?? defaults.size ?? "md";
|
|
680
|
-
const classes = [
|
|
681
|
-
"mb-button",
|
|
682
|
-
`mb-button--${resolvedVariant}`,
|
|
683
|
-
`mb-button--${resolvedSize}`,
|
|
684
|
-
className
|
|
685
|
-
].filter(Boolean).join(" ");
|
|
686
|
-
const iconSize = {
|
|
687
|
-
sm: 16,
|
|
688
|
-
md: 18,
|
|
689
|
-
lg: 20
|
|
690
|
-
}[resolvedSize];
|
|
691
698
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
692
699
|
"button",
|
|
693
700
|
{
|
|
694
701
|
ref,
|
|
695
702
|
type,
|
|
696
|
-
className:
|
|
703
|
+
className: cx(
|
|
704
|
+
"mb-button",
|
|
705
|
+
`mb-button--${resolvedVariant}`,
|
|
706
|
+
`mb-button--${resolvedSize}`,
|
|
707
|
+
loading ? "mb-button--loading" : void 0,
|
|
708
|
+
className
|
|
709
|
+
),
|
|
697
710
|
disabled: disabled || loading,
|
|
698
|
-
"aria-busy": loading || void 0,
|
|
699
711
|
...props,
|
|
700
712
|
children: [
|
|
701
713
|
loading ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
702
714
|
Spinner,
|
|
703
715
|
{
|
|
704
|
-
size:
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
716
|
+
size: 16
|
|
717
|
+
}
|
|
718
|
+
) : leftSection && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
719
|
+
"span",
|
|
720
|
+
{
|
|
721
|
+
className: "mb-button__icon",
|
|
722
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { size: 18, children: leftSection })
|
|
723
|
+
}
|
|
724
|
+
),
|
|
725
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
726
|
+
"span",
|
|
727
|
+
{
|
|
728
|
+
className: "mb-button__label",
|
|
729
|
+
children
|
|
730
|
+
}
|
|
731
|
+
),
|
|
732
|
+
rightSection && !loading ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
733
|
+
"span",
|
|
734
|
+
{
|
|
735
|
+
className: "mb-button__icon",
|
|
736
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { size: 18, children: rightSection })
|
|
709
737
|
}
|
|
710
|
-
) :
|
|
711
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "mb-button__content", children }),
|
|
712
|
-
!loading && rightSection != null ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { size: iconSize, children: rightSection }) : null
|
|
738
|
+
) : null
|
|
713
739
|
]
|
|
714
740
|
}
|
|
715
741
|
);
|
|
@@ -931,11 +957,6 @@ function useLockScroll(locked = true) {
|
|
|
931
957
|
}, [locked]);
|
|
932
958
|
}
|
|
933
959
|
|
|
934
|
-
// src/utils/cx.ts
|
|
935
|
-
function cx(...classes) {
|
|
936
|
-
return classes.filter((value) => Boolean(value)).join(" ");
|
|
937
|
-
}
|
|
938
|
-
|
|
939
960
|
// src/components/Portal/Portal.tsx
|
|
940
961
|
var import_react11 = require("react");
|
|
941
962
|
var import_react_dom = require("react-dom");
|
|
@@ -6167,8 +6188,103 @@ function DatePicker({
|
|
|
6167
6188
|
);
|
|
6168
6189
|
}
|
|
6169
6190
|
|
|
6170
|
-
// src/components/
|
|
6191
|
+
// src/components/Image/Image.tsx
|
|
6192
|
+
var import_react31 = require("react");
|
|
6171
6193
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
6194
|
+
var Image = (0, import_react31.forwardRef)(function Image2({
|
|
6195
|
+
radius,
|
|
6196
|
+
fit,
|
|
6197
|
+
fallback,
|
|
6198
|
+
className = "",
|
|
6199
|
+
src,
|
|
6200
|
+
onError,
|
|
6201
|
+
...props
|
|
6202
|
+
}, ref) {
|
|
6203
|
+
const defaults = useComponentDefaults(
|
|
6204
|
+
"Image"
|
|
6205
|
+
);
|
|
6206
|
+
const [
|
|
6207
|
+
currentSrc,
|
|
6208
|
+
setCurrentSrc
|
|
6209
|
+
] = (0, import_react31.useState)(
|
|
6210
|
+
src
|
|
6211
|
+
);
|
|
6212
|
+
const resolvedRadius = radius ?? defaults.radius ?? "md";
|
|
6213
|
+
const resolvedFit = fit ?? defaults.fit ?? "cover";
|
|
6214
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6215
|
+
"img",
|
|
6216
|
+
{
|
|
6217
|
+
ref,
|
|
6218
|
+
src: currentSrc,
|
|
6219
|
+
className: cx(
|
|
6220
|
+
"mb-image",
|
|
6221
|
+
`mb-image--${resolvedRadius}`,
|
|
6222
|
+
`mb-image--${resolvedFit}`,
|
|
6223
|
+
className
|
|
6224
|
+
),
|
|
6225
|
+
onError: (event) => {
|
|
6226
|
+
if (fallback && currentSrc !== fallback) {
|
|
6227
|
+
setCurrentSrc(
|
|
6228
|
+
fallback
|
|
6229
|
+
);
|
|
6230
|
+
}
|
|
6231
|
+
onError?.(
|
|
6232
|
+
event
|
|
6233
|
+
);
|
|
6234
|
+
},
|
|
6235
|
+
...props
|
|
6236
|
+
}
|
|
6237
|
+
);
|
|
6238
|
+
});
|
|
6239
|
+
|
|
6240
|
+
// src/components/Highlight/Highlight.tsx
|
|
6241
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
6242
|
+
function Highlight({
|
|
6243
|
+
children,
|
|
6244
|
+
color = "primary",
|
|
6245
|
+
className = "",
|
|
6246
|
+
...props
|
|
6247
|
+
}) {
|
|
6248
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
6249
|
+
"span",
|
|
6250
|
+
{
|
|
6251
|
+
className: cx(
|
|
6252
|
+
"mb-highlight",
|
|
6253
|
+
`mb-highlight--${color}`,
|
|
6254
|
+
className
|
|
6255
|
+
),
|
|
6256
|
+
...props,
|
|
6257
|
+
children
|
|
6258
|
+
}
|
|
6259
|
+
);
|
|
6260
|
+
}
|
|
6261
|
+
|
|
6262
|
+
// src/components/Link/Link.tsx
|
|
6263
|
+
var import_react32 = require("react");
|
|
6264
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
6265
|
+
var Link = (0, import_react32.forwardRef)(function Link2({
|
|
6266
|
+
variant = "default",
|
|
6267
|
+
className = "",
|
|
6268
|
+
children,
|
|
6269
|
+
...props
|
|
6270
|
+
}, ref) {
|
|
6271
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6272
|
+
"a",
|
|
6273
|
+
{
|
|
6274
|
+
ref,
|
|
6275
|
+
className: cx(
|
|
6276
|
+
"mb-link",
|
|
6277
|
+
`mb-link--${variant}`,
|
|
6278
|
+
className
|
|
6279
|
+
),
|
|
6280
|
+
...props,
|
|
6281
|
+
children
|
|
6282
|
+
}
|
|
6283
|
+
);
|
|
6284
|
+
});
|
|
6285
|
+
|
|
6286
|
+
// src/components/Card/Card.tsx
|
|
6287
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
6172
6288
|
function Card({
|
|
6173
6289
|
padding,
|
|
6174
6290
|
radius,
|
|
@@ -6190,24 +6306,24 @@ function Card({
|
|
|
6190
6306
|
`mb-card--shadow-${resolvedShadow}`,
|
|
6191
6307
|
className
|
|
6192
6308
|
].filter(Boolean).join(" ");
|
|
6193
|
-
return /* @__PURE__ */ (0,
|
|
6309
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
6194
6310
|
"div",
|
|
6195
6311
|
{
|
|
6196
6312
|
className: classes,
|
|
6197
6313
|
...props,
|
|
6198
6314
|
children: [
|
|
6199
|
-
header != null ? /* @__PURE__ */ (0,
|
|
6200
|
-
/* @__PURE__ */ (0,
|
|
6201
|
-
footer != null ? /* @__PURE__ */ (0,
|
|
6315
|
+
header != null ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "mb-card__header", children: header }) : null,
|
|
6316
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "mb-card__content", children }),
|
|
6317
|
+
footer != null ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "mb-card__footer", children: footer }) : null
|
|
6202
6318
|
]
|
|
6203
6319
|
}
|
|
6204
6320
|
);
|
|
6205
6321
|
}
|
|
6206
6322
|
|
|
6207
6323
|
// src/components/IconButton/IconButton.tsx
|
|
6208
|
-
var
|
|
6209
|
-
var
|
|
6210
|
-
var IconButton = (0,
|
|
6324
|
+
var import_react33 = require("react");
|
|
6325
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
6326
|
+
var IconButton = (0, import_react33.forwardRef)(function IconButton2({
|
|
6211
6327
|
icon,
|
|
6212
6328
|
label,
|
|
6213
6329
|
variant,
|
|
@@ -6232,7 +6348,7 @@ var IconButton = (0, import_react31.forwardRef)(function IconButton2({
|
|
|
6232
6348
|
md: 18,
|
|
6233
6349
|
lg: 20
|
|
6234
6350
|
}[resolvedSize];
|
|
6235
|
-
return /* @__PURE__ */ (0,
|
|
6351
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
6236
6352
|
"button",
|
|
6237
6353
|
{
|
|
6238
6354
|
ref,
|
|
@@ -6242,7 +6358,7 @@ var IconButton = (0, import_react31.forwardRef)(function IconButton2({
|
|
|
6242
6358
|
"aria-label": label,
|
|
6243
6359
|
"aria-busy": loading || void 0,
|
|
6244
6360
|
...props,
|
|
6245
|
-
children: loading ? /* @__PURE__ */ (0,
|
|
6361
|
+
children: loading ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
6246
6362
|
Spinner,
|
|
6247
6363
|
{
|
|
6248
6364
|
size: 14,
|
|
@@ -6251,13 +6367,13 @@ var IconButton = (0, import_react31.forwardRef)(function IconButton2({
|
|
|
6251
6367
|
trackColor: "transparent",
|
|
6252
6368
|
"aria-hidden": "true"
|
|
6253
6369
|
}
|
|
6254
|
-
) : /* @__PURE__ */ (0,
|
|
6370
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Icon, { size: iconSize, children: icon })
|
|
6255
6371
|
}
|
|
6256
6372
|
);
|
|
6257
6373
|
});
|
|
6258
6374
|
|
|
6259
6375
|
// src/components/Input/Input.tsx
|
|
6260
|
-
var
|
|
6376
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
6261
6377
|
function Input({
|
|
6262
6378
|
leftSection,
|
|
6263
6379
|
rightSection,
|
|
@@ -6274,9 +6390,9 @@ function Input({
|
|
|
6274
6390
|
disabled && "mb-input--disabled",
|
|
6275
6391
|
className
|
|
6276
6392
|
].filter(Boolean).join(" ");
|
|
6277
|
-
return /* @__PURE__ */ (0,
|
|
6278
|
-
leftSection ? /* @__PURE__ */ (0,
|
|
6279
|
-
/* @__PURE__ */ (0,
|
|
6393
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: classes, children: [
|
|
6394
|
+
leftSection ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "mb-input__section mb-input__section--left", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon, { size: 18, children: leftSection }) }) : null,
|
|
6395
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
6280
6396
|
"input",
|
|
6281
6397
|
{
|
|
6282
6398
|
className: "mb-input__control",
|
|
@@ -6285,17 +6401,17 @@ function Input({
|
|
|
6285
6401
|
...props
|
|
6286
6402
|
}
|
|
6287
6403
|
),
|
|
6288
|
-
rightSection ? /* @__PURE__ */ (0,
|
|
6404
|
+
rightSection ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "mb-input__section mb-input__section--right", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon, { size: 18, children: rightSection }) }) : null
|
|
6289
6405
|
] });
|
|
6290
6406
|
}
|
|
6291
6407
|
|
|
6292
6408
|
// src/components/Textarea/Textarea.tsx
|
|
6293
|
-
var
|
|
6409
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
6294
6410
|
function Textarea({
|
|
6295
6411
|
className = "",
|
|
6296
6412
|
...props
|
|
6297
6413
|
}) {
|
|
6298
|
-
return /* @__PURE__ */ (0,
|
|
6414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
6299
6415
|
"textarea",
|
|
6300
6416
|
{
|
|
6301
6417
|
className: `mb-textarea ${className}`,
|
|
@@ -6305,7 +6421,7 @@ function Textarea({
|
|
|
6305
6421
|
}
|
|
6306
6422
|
|
|
6307
6423
|
// src/components/Text/Text.tsx
|
|
6308
|
-
var
|
|
6424
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
6309
6425
|
function Text({
|
|
6310
6426
|
as: Component = "p",
|
|
6311
6427
|
size,
|
|
@@ -6334,22 +6450,22 @@ function Text({
|
|
|
6334
6450
|
md: 16,
|
|
6335
6451
|
lg: 18
|
|
6336
6452
|
}[resolvedSize];
|
|
6337
|
-
return /* @__PURE__ */ (0,
|
|
6453
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
6338
6454
|
Component,
|
|
6339
6455
|
{
|
|
6340
6456
|
className: classes,
|
|
6341
6457
|
...props,
|
|
6342
6458
|
children: [
|
|
6343
|
-
leftSection != null ? /* @__PURE__ */ (0,
|
|
6344
|
-
/* @__PURE__ */ (0,
|
|
6345
|
-
rightSection != null ? /* @__PURE__ */ (0,
|
|
6459
|
+
leftSection != null ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, { size: iconSize, children: leftSection }) : null,
|
|
6460
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "mb-text__content", children }),
|
|
6461
|
+
rightSection != null ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, { size: iconSize, children: rightSection }) : null
|
|
6346
6462
|
]
|
|
6347
6463
|
}
|
|
6348
6464
|
);
|
|
6349
6465
|
}
|
|
6350
6466
|
|
|
6351
6467
|
// src/components/Title/Title.tsx
|
|
6352
|
-
var
|
|
6468
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
6353
6469
|
function Title({
|
|
6354
6470
|
order,
|
|
6355
6471
|
size,
|
|
@@ -6387,15 +6503,15 @@ function Title({
|
|
|
6387
6503
|
`mb-title--${color}`,
|
|
6388
6504
|
className
|
|
6389
6505
|
].filter(Boolean).join(" ");
|
|
6390
|
-
return /* @__PURE__ */ (0,
|
|
6506
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
6391
6507
|
Component,
|
|
6392
6508
|
{
|
|
6393
6509
|
className: classes,
|
|
6394
6510
|
...props,
|
|
6395
6511
|
children: [
|
|
6396
|
-
leftSection != null ? /* @__PURE__ */ (0,
|
|
6397
|
-
/* @__PURE__ */ (0,
|
|
6398
|
-
rightSection != null ? /* @__PURE__ */ (0,
|
|
6512
|
+
leftSection != null ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Icon, { size: iconSize, children: leftSection }) : null,
|
|
6513
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "mb-title__content", children }),
|
|
6514
|
+
rightSection != null ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Icon, { size: iconSize, children: rightSection }) : null
|
|
6399
6515
|
]
|
|
6400
6516
|
}
|
|
6401
6517
|
);
|
|
@@ -6415,9 +6531,12 @@ function Title({
|
|
|
6415
6531
|
Drawer,
|
|
6416
6532
|
FileInput,
|
|
6417
6533
|
Group,
|
|
6534
|
+
Highlight,
|
|
6418
6535
|
Icon,
|
|
6419
6536
|
IconButton,
|
|
6537
|
+
Image,
|
|
6420
6538
|
Input,
|
|
6539
|
+
Link,
|
|
6421
6540
|
MainbasePortalContext,
|
|
6422
6541
|
MainbaseProvider,
|
|
6423
6542
|
Menu,
|