spotlibs-components 0.1.12 → 0.1.14

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.
@@ -2,22 +2,16 @@ export { default as Box } from '@mui/material/Box';
2
2
  export { default as Stack } from '@mui/material/Stack';
3
3
  export { default as Grid } from '@mui/material/Grid';
4
4
  export { default as Container } from '@mui/material/Container';
5
+ export { styled } from '@mui/material/styles';
5
6
  export { default as ThemeProvider } from '@mui/material/styles/ThemeProvider';
6
- export { default as createTheme } from '@mui/material/styles/createTheme';
7
- export { default as useMediaQuery } from '@mui/material/useMediaQuery';
8
7
  export { default as Paper } from '@mui/material/Paper';
9
8
  export { default as Divider } from '@mui/material/Divider';
10
9
  export { default as Collapse } from '@mui/material/Collapse';
11
- export { default as Fade } from '@mui/material/Fade';
12
- export { default as Grow } from '@mui/material/Grow';
13
- export { default as Slide } from '@mui/material/Slide';
14
- export { default as Zoom } from '@mui/material/Zoom';
15
- export { default as Hidden } from '@mui/material/Hidden';
16
10
  export { default as Portal } from '@mui/material/Portal';
17
11
  export { default as ClickAwayListener } from '@mui/material/ClickAwayListener';
18
12
  export { default as Popper } from '@mui/material/Popper';
19
13
  export { default as Backdrop } from '@mui/material/Backdrop';
20
14
  export { default as CircularProgress } from '@mui/material/CircularProgress';
21
15
  export { default as LinearProgress } from '@mui/material/LinearProgress';
22
- export { default as Skeleton } from '@mui/material/Skeleton';
23
- export { alpha, darken, lighten, styled, useTheme } from '@mui/material/styles';
16
+ export { default as InputAdornment } from '@mui/material/InputAdornment';
17
+ export { default as IconButton } from '@mui/material/IconButton';
@@ -1,27 +1,21 @@
1
1
  "use client";
2
- import '../../chunk-YOSPWY5K.mjs';
2
+ import '../chunk-YOSPWY5K.mjs';
3
3
  export { default as Box } from '@mui/material/Box';
4
4
  export { default as Stack } from '@mui/material/Stack';
5
5
  export { default as Grid } from '@mui/material/Grid';
6
6
  export { default as Container } from '@mui/material/Container';
7
- export { alpha, darken, lighten, styled, useTheme } from '@mui/material/styles';
7
+ export { styled } from '@mui/material/styles';
8
8
  export { default as ThemeProvider } from '@mui/material/styles/ThemeProvider';
9
- export { default as createTheme } from '@mui/material/styles/createTheme';
10
- export { default as useMediaQuery } from '@mui/material/useMediaQuery';
11
9
  export { default as Paper } from '@mui/material/Paper';
12
10
  export { default as Divider } from '@mui/material/Divider';
13
11
  export { default as Collapse } from '@mui/material/Collapse';
14
- export { default as Fade } from '@mui/material/Fade';
15
- export { default as Grow } from '@mui/material/Grow';
16
- export { default as Slide } from '@mui/material/Slide';
17
- export { default as Zoom } from '@mui/material/Zoom';
18
- export { default as Hidden } from '@mui/material/Hidden';
19
12
  export { default as Portal } from '@mui/material/Portal';
20
13
  export { default as ClickAwayListener } from '@mui/material/ClickAwayListener';
21
14
  export { default as Popper } from '@mui/material/Popper';
22
15
  export { default as Backdrop } from '@mui/material/Backdrop';
23
16
  export { default as CircularProgress } from '@mui/material/CircularProgress';
24
17
  export { default as LinearProgress } from '@mui/material/LinearProgress';
25
- export { default as Skeleton } from '@mui/material/Skeleton';
18
+ export { default as InputAdornment } from '@mui/material/InputAdornment';
19
+ export { default as IconButton } from '@mui/material/IconButton';
26
20
  //# sourceMappingURL=index.mjs.map
27
21
  //# sourceMappingURL=index.mjs.map
@@ -380,6 +380,52 @@ interface BaseButtonProps {
380
380
 
381
381
  declare function BaseButton(props: BaseButtonProps): React.ReactElement;
382
382
 
383
+ interface BaseSkeletonProps {
384
+ /**
385
+ * Skeleton shape variant.
386
+ * - `text` — single line of text placeholder
387
+ * - `rectangular` — rectangle block placeholder
388
+ * - `rounded` — rectangle with border-radius
389
+ * - `circular` — circle placeholder (avatar, icon)
390
+ */
391
+ variant?: "text" | "rectangular" | "rounded" | "circular";
392
+ /**
393
+ * Animation type.
394
+ * - `pulse` — fading animation (default)
395
+ * - `wave` — wave sweep animation
396
+ * - `none` — no animation (static)
397
+ */
398
+ animation?: "pulse" | "wave" | "none";
399
+ /** Width of the skeleton. Accepts number (px) or string (e.g. "100%", "200px") */
400
+ width?: number | string;
401
+ /** Height of the skeleton. Accepts number (px) or string (e.g. "40px", "1.2em") */
402
+ height?: number | string;
403
+ /** Number of skeleton lines to render. If > 1, renders stacked skeletons. */
404
+ count?: number;
405
+ /** Gap between stacked skeletons when count > 1. Default is SpacingToken.spacing2 */
406
+ gap?: string | number;
407
+ /** MUI sx overrides */
408
+ sx?: SxProps;
409
+ [key: string]: any;
410
+ }
411
+
412
+ declare function BaseSkeleton(props: BaseSkeletonProps): React.ReactElement;
413
+
414
+ interface BaseSwitchProps {
415
+ /** Current switch state */
416
+ status?: boolean;
417
+ /** Label text or element */
418
+ label?: React.ReactNode;
419
+ /** Label position relative to the switch */
420
+ labelPlacement?: "start" | "end" | "top" | "bottom";
421
+ /** Disabled state */
422
+ isDisabled?: boolean;
423
+ /** Change handler */
424
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
425
+ }
426
+
427
+ declare function BaseSwitch(props: BaseSwitchProps): React.ReactElement;
428
+
383
429
  interface BaseCardProps {
384
430
  /** Card variant type */
385
431
  variant?: "default" | "with-header" | "with-header-footer";
@@ -409,6 +455,10 @@ interface BaseCardProps {
409
455
  showEndIcon?: boolean;
410
456
  /** Footer content (only for with-header-footer variant) */
411
457
  footer?: React.ReactNode;
458
+ /** Enable watermark overlay on content area */
459
+ isWatermark?: boolean;
460
+ /** Watermark text (e.g. "12345678 / Brispot Web") */
461
+ watermarkText?: string;
412
462
  /** MUI sx overrides */
413
463
  sx?: SxProps;
414
464
  [key: string]: any;
@@ -416,20 +466,32 @@ interface BaseCardProps {
416
466
 
417
467
  declare function BaseCard(props: BaseCardProps): React.ReactElement;
418
468
 
419
- interface BaseSwitchProps {
420
- /** Current switch state */
421
- status?: boolean;
422
- /** Label text or element */
423
- label?: React.ReactNode;
424
- /** Label position relative to the switch */
425
- labelPlacement?: "start" | "end" | "top" | "bottom";
426
- /** Disabled state */
427
- isDisabled?: boolean;
428
- /** Change handler */
429
- onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
469
+ interface BaseSnackbarPosition {
470
+ vertical: "top" | "bottom";
471
+ horizontal: "left" | "center" | "right";
430
472
  }
431
473
 
432
- declare function BaseSwitch(props: BaseSwitchProps): React.ReactElement;
474
+ interface BaseSnackbarProps {
475
+ /** Whether the snackbar is open */
476
+ open?: boolean;
477
+ /** Close handler */
478
+ onClose?: (event?: React.SyntheticEvent | Event, reason?: string) => void;
479
+ /** Snackbar message content */
480
+ message?: string;
481
+ /** Color variant */
482
+ variant?: "success" | "error" | "info" | "warning" | "default";
483
+ /** Auto hide duration in milliseconds */
484
+ duration?: number;
485
+ /** Anchor origin position */
486
+ position?: BaseSnackbarPosition;
487
+ /** Icon element or component. If not provided, no icon is shown. */
488
+ icon?: React.ReactNode | React.ComponentType<any>;
489
+ /** MUI sx overrides */
490
+ sx?: SxProps;
491
+ [key: string]: any;
492
+ }
493
+
494
+ declare function BaseSnackbar(props: BaseSnackbarProps): React.ReactElement;
433
495
 
434
496
  interface BaseCheckboxOption {
435
497
  /** Label yang ditampilkan */
@@ -1025,6 +1087,170 @@ declare function BaseModal(
1025
1087
  props: BaseModalProps,
1026
1088
  ): React.ReactElement | null;
1027
1089
 
1090
+ interface BaseModalAlertShowOptions {
1091
+ /** Icon type preset or custom image path */
1092
+ icon?: "success" | "error" | "info" | "warning" | "confirm" | string;
1093
+ /** Modal title text */
1094
+ title?: string;
1095
+ /** Modal description text */
1096
+ description?: string;
1097
+ /** Cancel button text. Default: "Batal" */
1098
+ cancelBtnText?: string;
1099
+ /** Confirm button text. Default: "Ya" */
1100
+ confirmBtnText?: string;
1101
+ /** Cancel button action. Default: closes modal. Can be custom function. */
1102
+ cancelBtnProps?: () => void;
1103
+ /** Confirm button action. Called on confirm click. */
1104
+ confirmBtnProps?: () => void;
1105
+ /** Show cancel button. Default: true */
1106
+ showCancelBtn?: boolean;
1107
+ /** Show confirm button. Default: true */
1108
+ showConfirmBtn?: boolean;
1109
+ }
1110
+
1111
+ interface BaseModalAlertDialogProps extends BaseModalAlertShowOptions {
1112
+ /** Whether the modal is open */
1113
+ open?: boolean;
1114
+ /** Close handler */
1115
+ onClose?: () => void;
1116
+ }
1117
+
1118
+ /**
1119
+ * Imperative BaseModalAlert API.
1120
+ *
1121
+ * Usage:
1122
+ * ```jsx
1123
+ * import { BaseModalAlert } from 'spotlibs-components';
1124
+ *
1125
+ * BaseModalAlert.show({
1126
+ * icon: 'success',
1127
+ * title: 'Berhasil!',
1128
+ * description: 'Data berhasil disimpan.',
1129
+ * confirmBtnText: 'OK',
1130
+ * showCancelBtn: false,
1131
+ * confirmBtnProps: () => console.log('confirmed'),
1132
+ * });
1133
+ *
1134
+ * BaseModalAlert.hide();
1135
+ * ```
1136
+ */
1137
+ declare const BaseModalAlert: {
1138
+ /** Show the modal alert with given options */
1139
+ show: (options: BaseModalAlertShowOptions) => void;
1140
+ /** Hide the modal alert */
1141
+ hide: () => void;
1142
+ /** Internal: set modal ref (used by BaseModalAlertProvider) */
1143
+ setModalRef: (ref: React.RefObject<any>) => void;
1144
+ };
1145
+
1146
+ /**
1147
+ * Provider component. Mount once at app root to enable BaseModalAlert.show()/hide().
1148
+ *
1149
+ * ```jsx
1150
+ * import { BaseModalAlertProvider } from 'spotlibs-components';
1151
+ *
1152
+ * function App() {
1153
+ * return (
1154
+ * <>
1155
+ * <BaseModalAlertProvider />
1156
+ * <YourApp />
1157
+ * </>
1158
+ * );
1159
+ * }
1160
+ * ```
1161
+ */
1162
+ declare function BaseModalAlertProvider(): React.ReactElement;
1163
+
1164
+ /**
1165
+ * Controlled dialog component for direct usage without imperative API.
1166
+ */
1167
+ declare function BaseModalAlertDialog(props: BaseModalAlertDialogProps): React.ReactElement;
1168
+
1169
+ interface BaseModalLoadingDialogProps {
1170
+ /** Whether the loading modal is open */
1171
+ open?: boolean;
1172
+ /** Loading message text. Default: "Mohon tunggu..." */
1173
+ message?: string;
1174
+ }
1175
+
1176
+ /**
1177
+ * Imperative BaseModalLoading API.
1178
+ *
1179
+ * Usage:
1180
+ * ```jsx
1181
+ * import { BaseModalLoading } from 'spotlibs-components';
1182
+ *
1183
+ * BaseModalLoading.show(); // default message
1184
+ * BaseModalLoading.show("Sedang memproses data...");
1185
+ * BaseModalLoading.hide();
1186
+ * ```
1187
+ */
1188
+ declare const BaseModalLoading: {
1189
+ /** Show the loading modal. Optionally pass a custom message. */
1190
+ show: (message?: string) => void;
1191
+ /** Hide the loading modal */
1192
+ hide: () => void;
1193
+ /** Internal: set modal ref (used by BaseModalLoadingProvider) */
1194
+ setModalRef: (ref: React.RefObject<any>) => void;
1195
+ };
1196
+
1197
+ /**
1198
+ * Provider component. Mount once at app root to enable BaseModalLoading.show()/hide().
1199
+ *
1200
+ * ```jsx
1201
+ * import { BaseModalLoadingProvider } from 'spotlibs-components';
1202
+ *
1203
+ * function App() {
1204
+ * return (
1205
+ * <>
1206
+ * <BaseModalLoadingProvider />
1207
+ * <YourApp />
1208
+ * </>
1209
+ * );
1210
+ * }
1211
+ * ```
1212
+ */
1213
+ declare function BaseModalLoadingProvider(): React.ReactElement;
1214
+
1215
+ /**
1216
+ * Controlled loading dialog component for direct usage without imperative API.
1217
+ */
1218
+ declare function BaseModalLoadingDialog(props: BaseModalLoadingDialogProps): React.ReactElement;
1219
+
1220
+ interface BaseModalPopupProps {
1221
+ /** Whether the modal is open */
1222
+ open?: boolean;
1223
+ /** Close handler */
1224
+ onClose?: () => void;
1225
+ /** Modal variant type */
1226
+ variant?: "default" | "with-header" | "with-header-footer";
1227
+ /** Header background color preset */
1228
+ color?: "primary" | "secondary" | "success" | "warning" | "danger";
1229
+ /** Header title text */
1230
+ title?: string;
1231
+ /** Header subtitle text */
1232
+ subtitle?: string;
1233
+ /** Icon element before title in header */
1234
+ startIcon?: React.ReactNode;
1235
+ /** Modal body content */
1236
+ children?: React.ReactNode;
1237
+ /** Footer content (only for with-header-footer variant) */
1238
+ footer?: React.ReactNode;
1239
+ /** MUI Dialog maxWidth. Default: "sm" */
1240
+ maxWidth?: "xs" | "sm" | "md" | "lg" | "xl" | false;
1241
+ /** Whether dialog takes full width of maxWidth. Default: true */
1242
+ fullWidth?: boolean;
1243
+ /** Enable watermark overlay on content area */
1244
+ isWatermark?: boolean;
1245
+ /** Watermark text (e.g. "12345678 / Brispot Web") */
1246
+ watermarkText?: string;
1247
+ /** MUI sx overrides for Dialog */
1248
+ sx?: SxProps;
1249
+ [key: string]: any;
1250
+ }
1251
+
1252
+ declare function BaseModalPopup(props: BaseModalPopupProps): React.ReactElement;
1253
+
1028
1254
  interface BaseModalStepperStep {
1029
1255
  label?: string;
1030
1256
  description?: string;
@@ -1081,4 +1307,4 @@ declare function BaseModalOTP(
1081
1307
  props: BaseModalOTPProps,
1082
1308
  ): React.ReactElement | null;
1083
1309
 
1084
- export { type BaseStepperProps as $, type BaseDatatableAlign as A, BaseAlert as B, CONTENT_SPACING_TOKENS as C, DerivedColor as D, type BaseDatatableColumn as E, type BaseDatatableFeatures as F, type BaseDatatableHeaderCell as G, type BaseDatatableLayout as H, type BaseDatatablePagination as I, type BaseDatatableProps as J, type BaseDatatableSelection as K, type BaseDatatableSortPayload as L, type BaseDatatableSortState as M, type BaseDatePickerProps as N, type BaseDropdownProps as O, PrimitiveColor as P, type BaseDropzoneProps as Q, Radius as R, Shadow as S, TextFieldUpload as T, type BaseModalOTPProps as U, VariantStyles as V, type BaseModalProps as W, type BaseModalStepperProps as X, type BaseModalStepperStep as Y, type BaseRadioButtonProps as Z, type BaseStepperDashboardStep as _, BaseButton as a, type BaseStepperSimpleStep as a0, type BaseSwitchProps as a1, type BaseTextAreaProps as a2, type BaseTextFieldProps as a3, type ContentSpacingProps as a4, type DerivedColorType as a5, type PrimitiveColorType as a6, type RadiusLevel as a7, type RadiusMap as a8, type RadiusTokenProps as a9, type ShadowElevation as aa, type ShadowLevel as ab, type ShadowMap as ac, type ShadowTokenProps as ad, type SpacingProps as ae, type TextFieldUploadProps as af, type TypographyColor as ag, type TypographyProps as ah, type TypographyVariant as ai, BaseCard as b, BaseCheckbox as c, BaseDatatable as d, BaseDatePicker as e, BaseDropdown as f, BaseDropzone as g, BaseModal as h, BaseModalOTP as i, BaseModalStepper as j, BaseRadioButton as k, BaseStepper as l, BaseSwitch as m, BaseTextArea as n, BaseTextField as o, BaseTypography as p, ContentSpacing as q, RadiusToken as r, ShadowToken as s, Spacing as t, SpacingToken as u, type BaseAlertProps as v, type BaseButtonProps as w, type BaseCardProps as x, type BaseCheckboxOption as y, type BaseCheckboxProps as z };
1310
+ export { type BaseDatePickerProps as $, RadiusToken as A, BaseAlert as B, CONTENT_SPACING_TOKENS as C, DerivedColor as D, ShadowToken as E, Spacing as F, SpacingToken as G, type BaseAlertProps as H, type BaseButtonProps as I, type BaseCardProps as J, type BaseCheckboxOption as K, type BaseCheckboxProps as L, type BaseDatatableAlign as M, type BaseDatatableColumn as N, type BaseDatatableFeatures as O, PrimitiveColor as P, type BaseDatatableHeaderCell as Q, Radius as R, Shadow as S, TextFieldUpload as T, type BaseDatatableLayout as U, VariantStyles as V, type BaseDatatablePagination as W, type BaseDatatableProps as X, type BaseDatatableSelection as Y, type BaseDatatableSortPayload as Z, type BaseDatatableSortState as _, BaseButton as a, type BaseDropdownProps as a0, type BaseDropzoneProps as a1, type BaseModalAlertDialogProps as a2, type BaseModalAlertShowOptions as a3, type BaseModalLoadingDialogProps as a4, type BaseModalOTPProps as a5, type BaseModalPopupProps as a6, type BaseModalProps as a7, type BaseModalStepperProps as a8, type BaseModalStepperStep as a9, type BaseRadioButtonProps as aa, type BaseSkeletonProps as ab, type BaseSnackbarPosition as ac, type BaseSnackbarProps as ad, type BaseStepperDashboardStep as ae, type BaseStepperProps as af, type BaseStepperSimpleStep as ag, type BaseSwitchProps as ah, type BaseTextAreaProps as ai, type BaseTextFieldProps as aj, type ContentSpacingProps as ak, type DerivedColorType as al, type PrimitiveColorType as am, type RadiusLevel as an, type RadiusMap as ao, type RadiusTokenProps as ap, type ShadowElevation as aq, type ShadowLevel as ar, type ShadowMap as as, type ShadowTokenProps as at, type SpacingProps as au, type TextFieldUploadProps as av, type TypographyColor as aw, type TypographyProps as ax, type TypographyVariant as ay, BaseCard as b, BaseCheckbox as c, BaseDatatable as d, BaseDatePicker as e, BaseDropdown as f, BaseDropzone as g, BaseModal as h, BaseModalAlert as i, BaseModalAlertDialog as j, BaseModalAlertProvider as k, BaseModalLoading as l, BaseModalLoadingDialog as m, BaseModalLoadingProvider as n, BaseModalOTP as o, BaseModalPopup as p, BaseModalStepper as q, BaseRadioButton as r, BaseSkeleton as s, BaseSnackbar as t, BaseStepper as u, BaseSwitch as v, BaseTextArea as w, BaseTextField as x, BaseTypography as y, ContentSpacing as z };
@@ -0,0 +1,4 @@
1
+ export { H as BaseAlertProps, I as BaseButtonProps, J as BaseCardProps, K as BaseCheckboxOption, L as BaseCheckboxProps, M as BaseDatatableAlign, N as BaseDatatableColumn, O as BaseDatatableFeatures, Q as BaseDatatableHeaderCell, U as BaseDatatableLayout, W as BaseDatatablePagination, X as BaseDatatableProps, Y as BaseDatatableSelection, Z as BaseDatatableSortPayload, _ as BaseDatatableSortState, $ as BaseDatePickerProps, a0 as BaseDropdownProps, a1 as BaseDropzoneProps, a2 as BaseModalAlertDialogProps, a3 as BaseModalAlertShowOptions, a4 as BaseModalLoadingDialogProps, a5 as BaseModalOTPProps, a6 as BaseModalPopupProps, a7 as BaseModalProps, a8 as BaseModalStepperProps, a9 as BaseModalStepperStep, aa as BaseRadioButtonProps, ab as BaseSkeletonProps, ac as BaseSnackbarPosition, ad as BaseSnackbarProps, ae as BaseStepperDashboardStep, af as BaseStepperProps, ag as BaseStepperSimpleStep, ah as BaseSwitchProps, ai as BaseTextAreaProps, aj as BaseTextFieldProps, ak as ContentSpacingProps, al as DerivedColorType, am as PrimitiveColorType, an as RadiusLevel, ao as RadiusMap, ap as RadiusTokenProps, aq as ShadowElevation, ar as ShadowLevel, as as ShadowMap, at as ShadowTokenProps, au as SpacingProps, av as TextFieldUploadProps, aw as TypographyColor, ax as TypographyProps, ay as TypographyVariant } from './types-BtwscYRX.mjs';
2
+ import 'react';
3
+ import '@mui/material/styles';
4
+ import 'react-hook-form';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spotlibs-components",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "private": false,
5
5
  "main": "dist/index.mjs",
6
6
  "module": "dist/index.mjs",
@@ -29,7 +29,7 @@
29
29
  "default": "./dist/mui/index.mjs"
30
30
  },
31
31
  "./utils": {
32
- "types": "./src/utils/index.d.ts",
32
+ "types": "./dist/utils/index.d.mts",
33
33
  "import": "./dist/utils/index.mjs",
34
34
  "default": "./dist/utils/index.mjs"
35
35
  },
@@ -42,6 +42,7 @@
42
42
  "dependencies": {
43
43
  "@emotion/react": "^11.14.0",
44
44
  "@emotion/styled": "^11.14.1",
45
+ "@hirohe/react-watermark": "^0.5.0",
45
46
  "@hookform/error-message": "^2.0.1",
46
47
  "@hookform/resolvers": "^3.1.1",
47
48
  "@mui/icons-material": "^5.16.14",