@modul/mbui 0.0.25-beta-pv-53369-6203ae19 → 0.0.26-beta-pv-53443-e53c0cf0
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/Input-OTP/Input.js +3 -4
- package/dist/Input-OTP/Input.js.map +1 -1
- package/dist/Skeleton/Skeleton.d.ts +8 -0
- package/dist/Skeleton/Skeleton.js +15 -0
- package/dist/Skeleton/Skeleton.js.map +1 -0
- package/dist/Skeleton/index.d.ts +1 -0
- package/dist/Skeleton/index.js +6 -0
- package/dist/Skeleton/index.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Input-OTP/Input.tsx +14 -14
- package/src/Skeleton/Skeleton.tsx +25 -0
- package/src/Skeleton/index.ts +1 -0
- package/src/assets/css/global.css +2 -0
- package/src/index.ts +2 -0
package/dist/Input-OTP/Input.js
CHANGED
|
@@ -14,13 +14,12 @@ InputOTPGroup.displayName = 'InputOTPGroup';
|
|
|
14
14
|
const InputOTPSlot = React.forwardRef(({ index, className, ...props }, ref) => {
|
|
15
15
|
const inputOTPContext = React.useContext(input_otp_1.OTPInputContext);
|
|
16
16
|
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
|
|
17
|
-
return (React.createElement("div", { ref: ref, className: (0, utils_1.cn)('relative flex h-[48px] w-[20px] items-center justify-center border-b-[2px] border-input transition-all', isActive && 'border-b-primary', className), ...props },
|
|
18
|
-
char,
|
|
19
|
-
hasFakeCaret && (React.createElement("div", { className: "absolute inset-0 flex justify-center items-center pointer-events-none" }))));
|
|
17
|
+
return (React.createElement("div", { ref: ref, className: (0, utils_1.cn)('relative flex h-[48px] w-[20px] items-center justify-center border-b-[2px] border-input transition-all', isActive && 'border-b-primary', className), ...props }, char && React.createElement("span", { className: 'bg-primary rounded-full size-[12px]' })));
|
|
20
18
|
});
|
|
21
19
|
exports.InputOTPSlot = InputOTPSlot;
|
|
22
20
|
InputOTPSlot.displayName = 'InputOTPSlot';
|
|
23
|
-
const InputOTPSeparator = React.forwardRef(({ ...props }, ref) => (React.createElement("div", { ref: ref, role: "separator", ...props },
|
|
21
|
+
const InputOTPSeparator = React.forwardRef(({ ...props }, ref) => (React.createElement("div", { ref: ref, role: "separator", ...props },
|
|
22
|
+
React.createElement("span", { className: 'bg-primary rounded-full size-[12px]' }))));
|
|
24
23
|
exports.InputOTPSeparator = InputOTPSeparator;
|
|
25
24
|
InputOTPSeparator.displayName = 'InputOTPSeparator';
|
|
26
25
|
//# sourceMappingURL=Input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/Input-OTP/Input.tsx"],"names":[],"mappings":";;;;AAAA,0DAA8B;AAC9B,yCAAqD;AACrD,0CAAmC;AAEnC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/Input-OTP/Input.tsx"],"names":[],"mappings":";;;;AAAA,0DAA8B;AAC9B,yCAAqD;AACrD,0CAAmC;AAEnC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACrD,oBAAC,oBAAQ,IACR,GAAG,EAAE,GAAG,EACR,kBAAkB,EAAE,IAAA,UAAE,EAAC,8CAA8C,EAAE,kBAAkB,CAAC,EAC1F,SAAS,EAAE,IAAA,UAAE,EAAC,6BAA6B,EAAE,SAAS,CAAC,KACnD,KAAK,GACR,CACF,CACA,CAAA;AAwDQ,4BAAQ;AAvDjB,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA;AAEjC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CACrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACjC,6BACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,UAAE,EAAC,mBAAmB,EAAE,SAAS,CAAC,KACzC,KAAK,GACR,CACF,CACD,CAAA;AA6CkB,sCAAa;AA5ChC,aAAa,CAAC,WAAW,GAAG,eAAe,CAAA;AAE3C,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAGnC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACzC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,2BAAe,CAAC,CAAA;IACzD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAErE,OAAO,CACN,6BACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,UAAE,EACZ,wGAAwG,EACxG,QAAQ,IAAI,kBAAkB,EAC9B,SAAS,CACT,KACG,KAAK,IAER,IAAI,IAAI,8BAAM,SAAS,EAAC,qCAAqC,GAAG,CAO5D,CACN,CAAA;AACF,CAAC,CAAC,CAAA;AAgBgC,oCAAY;AAf9C,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA;AAEzC,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CACzC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACtB,6BACC,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,WAAW,KACZ,KAAK;IAET,8BAAM,SAAS,EAAC,qCAAqC,GAAG,CACnD,CACN,CACD,CAAA;AAG+C,8CAAiB;AAFjE,iBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FC, HTMLAttributes } from 'react';
|
|
2
|
+
interface ISkeletonProps {
|
|
3
|
+
displayName: string;
|
|
4
|
+
Item: typeof Item;
|
|
5
|
+
}
|
|
6
|
+
declare const Skeleton: FC<HTMLAttributes<HTMLDivElement>> & ISkeletonProps;
|
|
7
|
+
declare const Item: FC<HTMLAttributes<HTMLDivElement>>;
|
|
8
|
+
export { Skeleton };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Skeleton = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
6
|
+
const utils_1 = require("../@/lib/utils");
|
|
7
|
+
const Skeleton = ({ className, children, ...props }) => {
|
|
8
|
+
return (react_1.default.createElement("div", { className: className, ...props, role: "status" }, children));
|
|
9
|
+
};
|
|
10
|
+
exports.Skeleton = Skeleton;
|
|
11
|
+
const Item = ({ className }) => (react_1.default.createElement("div", { className: (0, utils_1.cn)('animate-pulse bg-[--skeleton-bg] rounded-sm', className) }));
|
|
12
|
+
Skeleton.displayName = 'Skeleton';
|
|
13
|
+
Skeleton.Item = Item;
|
|
14
|
+
Skeleton.Item.displayName = 'Skeleton.Item';
|
|
15
|
+
//# sourceMappingURL=Skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../src/Skeleton/Skeleton.tsx"],"names":[],"mappings":";;;;AAAA,+DAAiD;AACjD,0CAAmC;AAOnC,MAAM,QAAQ,GAAwD,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC3G,OAAO,CACN,uCAAK,SAAS,EAAE,SAAS,KAAM,KAAK,EAAE,IAAI,EAAC,QAAQ,IACjD,QAAQ,CACJ,CACN,CAAA;AACF,CAAC,CAAA;AAUQ,4BAAQ;AARjB,MAAM,IAAI,GAAuC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CACnE,uCAAK,SAAS,EAAE,IAAA,UAAE,EAAC,6CAA6C,EAAE,SAAS,CAAC,GAAI,CAChF,CAAA;AACD,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA;AAEjC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;AACpB,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Skeleton } from "./Skeleton";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Skeleton = void 0;
|
|
4
|
+
var Skeleton_1 = require("./Skeleton");
|
|
5
|
+
Object.defineProperty(exports, "Skeleton", { enumerable: true, get: function () { return Skeleton_1.Skeleton; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Skeleton/index.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,4 +31,5 @@ import { Badge, badgeVariants } from './Badge';
|
|
|
31
31
|
import { Toaster, toast } from './Toaster';
|
|
32
32
|
import { Checkbox } from './Checkbox';
|
|
33
33
|
import { Swipe2Show } from './Swipe2Show';
|
|
34
|
-
|
|
34
|
+
import { Skeleton } from './Skeleton';
|
|
35
|
+
export { Tabs, Slider, Popover, Logo, InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator, Collapsible, CollapsibleTrigger, CollapsibleContent, AccountCollapsible, AccountCollapsibleHeader, AccountCollapsibleTrigger, AccountCollapsibleContent, AccountCollapsibleContentItem, Button, buttonVariants, InputField, InputLabel, Audio, cn, Icon, Drawer, DrawerTrigger, DrawerTitle, DrawerClose, DrawerContent, BottomNavigation, BottomNavigationList, BottomNavigationListItem, BottomNavigationLink, Page, Chip, Progress, Alert, Switch, Label, Textarea, SelectAccountCard, SelectAccount, SelectAsync, Select, Form, FormLabel, FormField, FormItem, FormControl, FormDescription, FormMessage, Calendar, DatePicker, InputMask, AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, MessageTyping, FavoritePaymentsList, FavoritePaymentsItem, FarvoritePaymentDescription, farvoriteLinkClasses, Badge, badgeVariants, DigitKeyPad, ButtonWidget, Toaster, toast, Checkbox, Swipe2Show, Skeleton, };
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FormMessage = exports.FormDescription = exports.FormControl = exports.FormItem = exports.FormField = exports.FormLabel = exports.Form = exports.Select = exports.SelectAsync = exports.SelectAccount = exports.SelectAccountCard = exports.Textarea = exports.Label = exports.Switch = exports.Alert = exports.Progress = exports.Chip = exports.Page = exports.BottomNavigationLink = exports.BottomNavigationListItem = exports.BottomNavigationList = exports.BottomNavigation = exports.DrawerContent = exports.DrawerClose = exports.DrawerTitle = exports.DrawerTrigger = exports.Drawer = exports.Icon = exports.cn = exports.Audio = exports.InputLabel = exports.InputField = exports.buttonVariants = exports.Button = exports.AccountCollapsibleContentItem = exports.AccountCollapsibleContent = exports.AccountCollapsibleTrigger = exports.AccountCollapsibleHeader = exports.AccountCollapsible = exports.CollapsibleContent = exports.CollapsibleTrigger = exports.Collapsible = exports.InputOTPSeparator = exports.InputOTPSlot = exports.InputOTPGroup = exports.InputOTP = exports.Logo = exports.Popover = exports.Slider = exports.Tabs = void 0;
|
|
4
|
-
exports.Swipe2Show = exports.Checkbox = exports.toast = exports.Toaster = exports.ButtonWidget = exports.DigitKeyPad = exports.badgeVariants = exports.Badge = exports.farvoriteLinkClasses = exports.FarvoritePaymentDescription = exports.FavoritePaymentsItem = exports.FavoritePaymentsList = exports.MessageTyping = exports.AlertDialogCancel = exports.AlertDialogAction = exports.AlertDialogDescription = exports.AlertDialogTitle = exports.AlertDialogFooter = exports.AlertDialogHeader = exports.AlertDialogContent = exports.AlertDialogTrigger = exports.AlertDialog = exports.InputMask = exports.DatePicker = exports.Calendar = void 0;
|
|
4
|
+
exports.Skeleton = exports.Swipe2Show = exports.Checkbox = exports.toast = exports.Toaster = exports.ButtonWidget = exports.DigitKeyPad = exports.badgeVariants = exports.Badge = exports.farvoriteLinkClasses = exports.FarvoritePaymentDescription = exports.FavoritePaymentsItem = exports.FavoritePaymentsList = exports.MessageTyping = exports.AlertDialogCancel = exports.AlertDialogAction = exports.AlertDialogDescription = exports.AlertDialogTitle = exports.AlertDialogFooter = exports.AlertDialogHeader = exports.AlertDialogContent = exports.AlertDialogTrigger = exports.AlertDialog = exports.InputMask = exports.DatePicker = exports.Calendar = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const Tabs_1 = require("./Tabs");
|
|
7
7
|
Object.defineProperty(exports, "Tabs", { enumerable: true, get: function () { return Tabs_1.Tabs; } });
|
|
@@ -111,4 +111,6 @@ const Checkbox_1 = require("./Checkbox");
|
|
|
111
111
|
Object.defineProperty(exports, "Checkbox", { enumerable: true, get: function () { return Checkbox_1.Checkbox; } });
|
|
112
112
|
const Swipe2Show_1 = require("./Swipe2Show");
|
|
113
113
|
Object.defineProperty(exports, "Swipe2Show", { enumerable: true, get: function () { return Swipe2Show_1.Swipe2Show; } });
|
|
114
|
+
const Skeleton_1 = require("./Skeleton");
|
|
115
|
+
Object.defineProperty(exports, "Skeleton", { enumerable: true, get: function () { return Skeleton_1.Skeleton; } });
|
|
114
116
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,iCAA6B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Input-OTP/Input.tsx
CHANGED
|
@@ -3,14 +3,14 @@ import { OTPInput, OTPInputContext } from 'input-otp'
|
|
|
3
3
|
import { cn } from '../@/lib/utils'
|
|
4
4
|
|
|
5
5
|
const InputOTP = React.forwardRef<React.ElementRef<typeof OTPInput>, React.ComponentPropsWithoutRef<typeof OTPInput>>(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
({ className, containerClassName, ...props }, ref) => (
|
|
7
|
+
<OTPInput
|
|
8
|
+
ref={ref}
|
|
9
|
+
containerClassName={cn('flex items-center has-[:disabled]:opacity-50', containerClassName)}
|
|
10
|
+
className={cn('disabled:cursor-not-allowed', className)}
|
|
11
|
+
{...props}
|
|
12
|
+
/>
|
|
13
|
+
)
|
|
14
14
|
)
|
|
15
15
|
InputOTP.displayName = 'InputOTP'
|
|
16
16
|
|
|
@@ -42,13 +42,13 @@ const InputOTPSlot = React.forwardRef<
|
|
|
42
42
|
)}
|
|
43
43
|
{...props}
|
|
44
44
|
>
|
|
45
|
-
{
|
|
46
|
-
|
|
47
|
-
{hasFakeCaret && (
|
|
45
|
+
{char && <span className='bg-primary rounded-full size-[12px]' />}
|
|
46
|
+
|
|
47
|
+
{/* {hasFakeCaret && (
|
|
48
48
|
<div className="absolute inset-0 flex justify-center items-center pointer-events-none">
|
|
49
|
-
|
|
49
|
+
<div className="bg-primary w-[2px] h-[32px] animate-caret-blink duration-1000" />
|
|
50
50
|
</div>
|
|
51
|
-
)}
|
|
51
|
+
)} */}
|
|
52
52
|
</div>
|
|
53
53
|
)
|
|
54
54
|
})
|
|
@@ -61,7 +61,7 @@ const InputOTPSeparator = React.forwardRef<React.ElementRef<'div'>, React.Compon
|
|
|
61
61
|
role="separator"
|
|
62
62
|
{...props}
|
|
63
63
|
>
|
|
64
|
-
|
|
64
|
+
<span className='bg-primary rounded-full size-[12px]' />
|
|
65
65
|
</div>
|
|
66
66
|
)
|
|
67
67
|
)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { FC, HTMLAttributes } from 'react'
|
|
2
|
+
import { cn } from '../@/lib/utils'
|
|
3
|
+
|
|
4
|
+
interface ISkeletonProps {
|
|
5
|
+
displayName: string
|
|
6
|
+
Item: typeof Item
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const Skeleton: FC<HTMLAttributes<HTMLDivElement>> & ISkeletonProps = ({ className, children, ...props }) => {
|
|
10
|
+
return (
|
|
11
|
+
<div className={className} {...props} role="status">
|
|
12
|
+
{children}
|
|
13
|
+
</div>
|
|
14
|
+
)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const Item: FC<HTMLAttributes<HTMLDivElement>> = ({ className }) => (
|
|
18
|
+
<div className={cn('animate-pulse bg-[--skeleton-bg] rounded-sm', className)} />
|
|
19
|
+
)
|
|
20
|
+
Skeleton.displayName = 'Skeleton'
|
|
21
|
+
|
|
22
|
+
Skeleton.Item = Item
|
|
23
|
+
Skeleton.Item.displayName = 'Skeleton.Item'
|
|
24
|
+
|
|
25
|
+
export { Skeleton }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Skeleton } from "./Skeleton";
|
package/src/index.ts
CHANGED
|
@@ -52,6 +52,7 @@ import { Badge, badgeVariants } from './Badge'
|
|
|
52
52
|
import { Toaster, toast } from './Toaster'
|
|
53
53
|
import { Checkbox } from './Checkbox'
|
|
54
54
|
import { Swipe2Show } from './Swipe2Show'
|
|
55
|
+
import { Skeleton } from './Skeleton'
|
|
55
56
|
|
|
56
57
|
export {
|
|
57
58
|
Tabs,
|
|
@@ -129,4 +130,5 @@ export {
|
|
|
129
130
|
toast,
|
|
130
131
|
Checkbox,
|
|
131
132
|
Swipe2Show,
|
|
133
|
+
Skeleton,
|
|
132
134
|
}
|