@rovula/ui 0.0.66 → 0.0.68
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/bundle.css +993 -979
- package/dist/cjs/bundle.js +3 -3
- package/dist/cjs/bundle.js.map +1 -1
- package/dist/cjs/types/components/ActionButton/ActionButton.d.ts +6 -6
- package/dist/cjs/types/components/ActionButton/ActionButton.stories.d.ts +97 -96
- package/dist/cjs/types/components/AlertDialog/AlertDialog.stories.d.ts +1 -1
- package/dist/cjs/types/components/Avatar/Avatar.stories.d.ts +7 -7
- package/dist/cjs/types/components/Avatar/AvatarGroup.stories.d.ts +1 -1
- package/dist/cjs/types/components/Button/Button.d.ts +9 -9
- package/dist/cjs/types/components/Button/Buttons.stories.d.ts +139 -138
- package/dist/cjs/types/components/Calendar/Calendar.stories.d.ts +213 -388
- package/dist/cjs/types/components/Checkbox/Checkbox.stories.d.ts +92 -91
- package/dist/cjs/types/components/Collapsible/Collapsible.d.ts +3 -3
- package/dist/cjs/types/components/DataTable/DataTable.stories.d.ts +1 -1
- package/dist/cjs/types/components/DatePicker/DatePicker.stories.d.ts +224 -399
- package/dist/cjs/types/components/Dialog/Dialog.d.ts +2 -2
- package/dist/cjs/types/components/Dialog/Dialog.stories.d.ts +1 -1
- package/dist/cjs/types/components/Dropdown/Dropdown.d.ts +21 -21
- package/dist/cjs/types/components/Dropdown/Dropdown.stories.d.ts +134 -134
- package/dist/cjs/types/components/DropdownMenu/DropdownMenu.d.ts +3 -3
- package/dist/cjs/types/components/DropdownMenu/DropdownMenu.stories.d.ts +1 -1
- package/dist/cjs/types/components/Icon/Icon.stories.d.ts +294 -294
- package/dist/cjs/types/components/Input/Input.d.ts +8 -8
- package/dist/cjs/types/components/Input/Input.stories.d.ts +225 -225
- package/dist/cjs/types/components/InputFilter/InputFilter.d.ts +18 -18
- package/dist/cjs/types/components/InputFilter/InputFilter.stories.d.ts +127 -127
- package/dist/cjs/types/components/Label/Label.stories.d.ts +87 -86
- package/dist/cjs/types/components/Loading/Loading.stories.d.ts +10 -10
- package/dist/cjs/types/components/Navbar/Navbar.stories.d.ts +1 -1
- package/dist/cjs/types/components/Popover/Popover.stories.d.ts +1 -1
- package/dist/cjs/types/components/ProgressBar/ProgressBar.stories.d.ts +9 -9
- package/dist/cjs/types/components/RadioGroup/RadioGroup.stories.d.ts +85 -84
- package/dist/cjs/types/components/Search/Search.stories.d.ts +114 -114
- package/dist/cjs/types/components/Slider/Slider.stories.d.ts +85 -83
- package/dist/cjs/types/components/Switch/Switch.stories.d.ts +92 -91
- package/dist/cjs/types/components/Table/Table.d.ts +2 -2
- package/dist/cjs/types/components/Table/Table.stories.d.ts +87 -86
- package/dist/cjs/types/components/Tabs/Tabs.d.ts +6 -0
- package/dist/cjs/types/components/Tabs/Tabs.stories.d.ts +57 -31
- package/dist/cjs/types/components/Text/Text.stories.d.ts +3 -3
- package/dist/cjs/types/components/TextInput/TextInput.d.ts +21 -21
- package/dist/cjs/types/components/TextInput/TextInput.stories.d.ts +128 -128
- package/dist/cjs/types/components/Toast/Toast.stories.d.ts +91 -90
- package/dist/cjs/types/components/Toast/useToast.d.ts +3 -0
- package/dist/cjs/types/components/Tooltip/Tooltip.stories.d.ts +1 -1
- package/dist/cjs/types/icons/type.d.ts +0 -1
- package/dist/components/Tabs/Tabs.js +24 -15
- package/dist/components/Tabs/Tabs.stories.js +12 -0
- package/dist/components/Toast/Toast.js +1 -1
- package/dist/components/Toast/Toaster.js +2 -2
- package/dist/esm/bundle.css +993 -979
- package/dist/esm/bundle.js +3 -3
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/types/components/ActionButton/ActionButton.d.ts +6 -6
- package/dist/esm/types/components/ActionButton/ActionButton.stories.d.ts +97 -96
- package/dist/esm/types/components/AlertDialog/AlertDialog.stories.d.ts +1 -1
- package/dist/esm/types/components/Avatar/Avatar.stories.d.ts +7 -7
- package/dist/esm/types/components/Avatar/AvatarGroup.stories.d.ts +1 -1
- package/dist/esm/types/components/Button/Button.d.ts +9 -9
- package/dist/esm/types/components/Button/Buttons.stories.d.ts +139 -138
- package/dist/esm/types/components/Calendar/Calendar.stories.d.ts +213 -388
- package/dist/esm/types/components/Checkbox/Checkbox.stories.d.ts +92 -91
- package/dist/esm/types/components/Collapsible/Collapsible.d.ts +3 -3
- package/dist/esm/types/components/DataTable/DataTable.stories.d.ts +1 -1
- package/dist/esm/types/components/DatePicker/DatePicker.stories.d.ts +224 -399
- package/dist/esm/types/components/Dialog/Dialog.d.ts +2 -2
- package/dist/esm/types/components/Dialog/Dialog.stories.d.ts +1 -1
- package/dist/esm/types/components/Dropdown/Dropdown.d.ts +21 -21
- package/dist/esm/types/components/Dropdown/Dropdown.stories.d.ts +134 -134
- package/dist/esm/types/components/DropdownMenu/DropdownMenu.d.ts +3 -3
- package/dist/esm/types/components/DropdownMenu/DropdownMenu.stories.d.ts +1 -1
- package/dist/esm/types/components/Icon/Icon.stories.d.ts +294 -294
- package/dist/esm/types/components/Input/Input.d.ts +8 -8
- package/dist/esm/types/components/Input/Input.stories.d.ts +225 -225
- package/dist/esm/types/components/InputFilter/InputFilter.d.ts +18 -18
- package/dist/esm/types/components/InputFilter/InputFilter.stories.d.ts +127 -127
- package/dist/esm/types/components/Label/Label.stories.d.ts +87 -86
- package/dist/esm/types/components/Loading/Loading.stories.d.ts +10 -10
- package/dist/esm/types/components/Navbar/Navbar.stories.d.ts +1 -1
- package/dist/esm/types/components/Popover/Popover.stories.d.ts +1 -1
- package/dist/esm/types/components/ProgressBar/ProgressBar.stories.d.ts +9 -9
- package/dist/esm/types/components/RadioGroup/RadioGroup.stories.d.ts +85 -84
- package/dist/esm/types/components/Search/Search.stories.d.ts +114 -114
- package/dist/esm/types/components/Slider/Slider.stories.d.ts +85 -83
- package/dist/esm/types/components/Switch/Switch.stories.d.ts +92 -91
- package/dist/esm/types/components/Table/Table.d.ts +2 -2
- package/dist/esm/types/components/Table/Table.stories.d.ts +87 -86
- package/dist/esm/types/components/Tabs/Tabs.d.ts +6 -0
- package/dist/esm/types/components/Tabs/Tabs.stories.d.ts +57 -31
- package/dist/esm/types/components/Text/Text.stories.d.ts +3 -3
- package/dist/esm/types/components/TextInput/TextInput.d.ts +21 -21
- package/dist/esm/types/components/TextInput/TextInput.stories.d.ts +128 -128
- package/dist/esm/types/components/Toast/Toast.stories.d.ts +91 -90
- package/dist/esm/types/components/Toast/useToast.d.ts +3 -0
- package/dist/esm/types/components/Tooltip/Tooltip.stories.d.ts +1 -1
- package/dist/esm/types/icons/type.d.ts +0 -1
- package/dist/index.d.ts +101 -93
- package/dist/src/theme/global.css +998 -981
- package/package.json +2 -1
- package/src/components/Tabs/Tabs.stories.tsx +38 -0
- package/src/components/Tabs/Tabs.tsx +31 -9
- package/src/components/Toast/Toast.tsx +1 -1
- package/src/components/Toast/Toaster.tsx +12 -1
- package/src/components/Toast/useToast.ts +3 -0
- package/dist/theme/global.css +0 -30
- package/dist/theme/main-preset.js +0 -283
- package/dist/theme/plugins/utilities/typography.js +0 -93
- package/dist/theme/presets/colors.js +0 -136
- package/dist/theme/theme.d.ts +0 -69
- package/dist/theme/themes/xspector/baseline.css +0 -9
- package/dist/theme/themes/xspector/color.css +0 -81
- package/dist/theme/themes/xspector/components/action-button.css +0 -100
- package/dist/theme/themes/xspector/components/dropdown-menu.css +0 -28
- package/dist/theme/themes/xspector/components/loading.css +0 -11
- package/dist/theme/themes/xspector/components/switch.css +0 -30
- package/dist/theme/themes/xspector/palette.css +0 -122
- package/dist/theme/themes/xspector/state.css +0 -89
- package/dist/theme/themes/xspector/transparent.css +0 -68
- package/dist/theme/themes/xspector/typography.css +0 -27
- package/dist/theme/tokens/baseline.css +0 -12
- package/dist/theme/tokens/color.css +0 -78
- package/dist/theme/tokens/components/action-button.css +0 -127
- package/dist/theme/tokens/components/button.css +0 -512
- package/dist/theme/tokens/components/dropdown-menu.css +0 -27
- package/dist/theme/tokens/components/loading.css +0 -11
- package/dist/theme/tokens/components/navbar.css +0 -8
- package/dist/theme/tokens/components/progress-bar.css +0 -8
- package/dist/theme/tokens/components/switch.css +0 -30
- package/dist/theme/tokens/palette.css +0 -122
- package/dist/theme/tokens/state.css +0 -82
- package/dist/theme/tokens/transparent.css +0 -68
- package/dist/theme/tokens/typography.css +0 -199
- package/dist/theme/tokens/variables.css +0 -28
- package/dist/theme/utils.js +0 -109
|
@@ -5,7 +5,7 @@ import "./Tabs.css";
|
|
|
5
5
|
import ActionButton from "../ActionButton/ActionButton";
|
|
6
6
|
import Icon from "../Icon/Icon";
|
|
7
7
|
import { Loading } from "@/index";
|
|
8
|
-
const Tabs = ({ tabs = [], value, initialTab = 0, tabBarSize = 38, enableBorderLine = true, enableAddTabButton = false, keepIconSpace = true, disabled = false, keepMounted = false, tabMode = "start", className, tabBarClassName, tabBarContainerClassName, tabBarWrapperClassName, tabButtonClassName, tabButtonActiveClassName, tabContentClassName, addTabButtonWrapperClassName, borderSliderClassName, leftAction, rightAction, onAddTab, onTabChange, }) => {
|
|
8
|
+
const Tabs = ({ tabs = [], value, initialTab = 0, tabBarSize = 38, enableBorderLine = true, enableAddTabButton = false, keepIconSpace = true, disabled = false, keepMounted = false, tabMode = "start", className, tabBarClassName, tabBarContainerClassName, tabBarWrapperClassName, tabButtonClassName, tabButtonActiveClassName, tabButtonActiveDisableClassName, tabButtonDisableClassName, tabContentClassName, addTabButtonWrapperClassName, borderSliderClassName, leftAction, rightAction, onAddTab, onTabChange, }) => {
|
|
9
9
|
const [activeTab, setActiveTab] = useState(initialTab);
|
|
10
10
|
const [sliderStyle, setSliderStyle] = useState({
|
|
11
11
|
width: "0px",
|
|
@@ -62,25 +62,34 @@ const Tabs = ({ tabs = [], value, initialTab = 0, tabBarSize = 38, enableBorderL
|
|
|
62
62
|
[`border-b-[1px] border-base-stroke`]: enableBorderLine,
|
|
63
63
|
"border-state-disable-outline": disabled,
|
|
64
64
|
"flex-1": tabMode === "justify",
|
|
65
|
-
|
|
66
|
-
}), children: [leftAction, _jsx("div", { className: cn("relative flex flex-row overflow-x-auto", {
|
|
65
|
+
}, tabBarContainerClassName), children: [leftAction, _jsx("div", { className: cn("relative flex flex-row overflow-x-auto", {
|
|
67
66
|
"flex-1": tabMode === "justify",
|
|
68
67
|
}, tabBarWrapperClassName), children: _jsxs("div", { className: cn("tabs-scrollbar overflow-x-auto w-full", `relative flex gap-3 h-[${tabBarSize}px] box-border`, {
|
|
69
68
|
"gap-0": tabMode === "justify",
|
|
70
69
|
}, tabBarClassName), style: {
|
|
71
70
|
justifyContent: tabMode === "justify" ? "stretch" : tabMode,
|
|
72
|
-
}, role: "tablist", children: [tabs.map((tab, index) =>
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
71
|
+
}, role: "tablist", children: [tabs.map((tab, index) => {
|
|
72
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
73
|
+
return (_jsxs("button", { ref: (el) => (tabRefs.current[index] = el), role: "tab", "aria-selected": index === activeTab, "aria-controls": `tab-content-${index}`, disabled: disabled || tab.disabled, id: `tab-${index}`, className: cn("flex justify-center flex-row items-center py-3 cursor-pointer transition-colors duration-300 box-border gap-1 flex-shrink-0 typography-subtitile6", {
|
|
74
|
+
"text-foreground": index === activeTab,
|
|
75
|
+
"text-text-grey-medium hover:text-text-grey-dark active:text-text-dark": index !== activeTab,
|
|
76
|
+
// -- disabled
|
|
77
|
+
"text-state-disable-solid pointer-events-none": disabled || tab.disabled,
|
|
78
|
+
[(_b = (_a = tab.disableClassName) !== null && _a !== void 0 ? _a : tabButtonDisableClassName) !== null && _b !== void 0 ? _b : ""]: disabled || tab.disabled,
|
|
79
|
+
// --
|
|
80
|
+
"text-state-disable-outline": index === activeTab && (disabled || tab.disabled),
|
|
81
|
+
// -- active disabled --
|
|
82
|
+
[(_d = (_c = tab.activeDisableClassName) !== null && _c !== void 0 ? _c : tabButtonActiveDisableClassName) !== null && _d !== void 0 ? _d : ""]: index === activeTab && (disabled || tab.disabled),
|
|
83
|
+
// -- class name
|
|
84
|
+
[(_f = (_e = tab.className) !== null && _e !== void 0 ? _e : tabButtonClassName) !== null && _f !== void 0 ? _f : ""]: true,
|
|
85
|
+
// -- active --
|
|
86
|
+
[(_h = (_g = tab.activeClassName) !== null && _g !== void 0 ? _g : tabButtonActiveClassName) !== null && _h !== void 0 ? _h : ""]: index === activeTab,
|
|
87
|
+
"flex-1": tabMode === "justify",
|
|
88
|
+
}), onClick: () => {
|
|
89
|
+
setActiveTab(index);
|
|
90
|
+
onTabChange === null || onTabChange === void 0 ? void 0 : onTabChange(index);
|
|
91
|
+
}, children: [(keepIconSpace || tab.startTabContent) && (_jsx("div", { className: "h-full w-3 flex items-center justify-center", children: tab.isLoading ? _jsx(Loading, {}) : tab.startTabContent })), tab.label, (keepIconSpace || tab.endTabContent) && (_jsx("div", { className: "h-full w-3 flex items-center justify-center", children: tab.endTabContent }))] }, index));
|
|
92
|
+
}), _jsx("div", { className: cn(`absolute left-0 bottom-0 h-[2px] rounded-full bg-foreground transition-all duration-300 ease-in-out`, {
|
|
84
93
|
"bg-state-disable-solid": disabled,
|
|
85
94
|
}, borderSliderClassName), style: sliderStyle })] }) }), enableAddTabButton && (_jsx("div", { className: cn("sticky right-0 flex content-center items-center mx-4", addTabButtonWrapperClassName), children: _jsx(ActionButton, { variant: "outline", size: "sm", onClick: () => onAddTab === null || onAddTab === void 0 ? void 0 : onAddTab(), disabled: disabled, children: _jsx(Icon, { name: "plus" }) }) })), rightAction] }), _jsx("div", { className: cn("mt-4 text-foreground", tabContentClassName), role: "tabpanel", id: `tab-content-${activeTab}`, "aria-labelledby": `tab-${activeTab}`, children: tabs.map((tab, idx) => {
|
|
86
95
|
var _a;
|
|
@@ -174,3 +174,15 @@ export const Controller = {
|
|
|
174
174
|
} }))] }));
|
|
175
175
|
},
|
|
176
176
|
};
|
|
177
|
+
export const CustomClassname = {
|
|
178
|
+
args: {
|
|
179
|
+
initialTab: 0,
|
|
180
|
+
tabs: tabs.map((tab, i) => (Object.assign(Object.assign({}, tab), { disabled: i !== 0, activeClassName: "text-green-500",
|
|
181
|
+
// className: "text-red-500",
|
|
182
|
+
disableClassName: i === 1 && "text-pink-200", activeDisableClassName: "text-red-500" }))),
|
|
183
|
+
},
|
|
184
|
+
render: (args) => {
|
|
185
|
+
const props = Object.assign({}, args);
|
|
186
|
+
return (_jsxs("div", { className: "flex flex-row gap-4", children: [_jsx(Tabs, Object.assign({ tabs: tabs }, props, { tabButtonDisableClassName: "text-red-500", tabButtonActiveDisableClassName: "text-blue-500", tabBarContainerClassName: "border-red-500" })), _jsx(Tabs, Object.assign({ tabs: tabs }, props, { disabled: true, tabButtonDisableClassName: "text-red-500", tabButtonActiveDisableClassName: "text-blue-500", tabBarContainerClassName: "border-blue-500" }))] }));
|
|
187
|
+
},
|
|
188
|
+
};
|
|
@@ -46,7 +46,7 @@ const ToastTitle = React.forwardRef((_a, ref) => {
|
|
|
46
46
|
ToastTitle.displayName = ToastPrimitives.Title.displayName;
|
|
47
47
|
const ToastDescription = React.forwardRef((_a, ref) => {
|
|
48
48
|
var { className } = _a, props = __rest(_a, ["className"]);
|
|
49
|
-
return (_jsx(ToastPrimitives.Description, Object.assign({ ref: ref, className: cn("typography-subtitile5 text-input-default-
|
|
49
|
+
return (_jsx(ToastPrimitives.Description, Object.assign({ ref: ref, className: cn("typography-subtitile5 text-input-default-text", className) }, props)));
|
|
50
50
|
});
|
|
51
51
|
ToastDescription.displayName = ToastPrimitives.Description.displayName;
|
|
52
52
|
export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, };
|
|
@@ -20,7 +20,7 @@ export function Toaster(_a) {
|
|
|
20
20
|
var { viewportClassName, titleClassName, descriptionClassName, contentClassName, iconWrapperClassName, actionWrapperClassName } = _a, toastProviderProps = __rest(_a, ["viewportClassName", "titleClassName", "descriptionClassName", "contentClassName", "iconWrapperClassName", "actionWrapperClassName"]);
|
|
21
21
|
const { toasts, position } = useToast();
|
|
22
22
|
return (_jsxs(ToastProvider, Object.assign({}, toastProviderProps, { children: [toasts.map(function (_a) {
|
|
23
|
-
var { id, title, description, action, contentMode = "horizontal" } = _a, props = __rest(_a, ["id", "title", "description", "action", "contentMode"]);
|
|
24
|
-
return (_jsxs(Toast, Object.assign({}, props, { children: [_jsx("div", { className: cn(toastIconVariants({ variant: props.variant }), iconWrapperClassName), children: _jsx(Icon, { type: "heroicons", name: "check-circle", className: "size-6" }) }), _jsxs("div", { className: cn(toastContentVariants({ contentMode }), contentClassName), children: [title && (_jsx(ToastTitle, { className: titleClassName, children: title })), description && (_jsx(ToastDescription, { className: descriptionClassName, children: description }))] }), _jsx("div", { className: cn("self-center ml-[var(--spacing-spacing-xl)]", actionWrapperClassName), children: action }), _jsx(ToastClose, {})] }), id));
|
|
23
|
+
var { id, title, description, action, contentMode = "horizontal", iconProps, renderIcon } = _a, props = __rest(_a, ["id", "title", "description", "action", "contentMode", "iconProps", "renderIcon"]);
|
|
24
|
+
return (_jsxs(Toast, Object.assign({}, props, { children: [_jsx("div", { className: cn(toastIconVariants({ variant: props.variant }), iconWrapperClassName), children: renderIcon ? (renderIcon === null || renderIcon === void 0 ? void 0 : renderIcon()) : (_jsx(Icon, Object.assign({ type: "heroicons", name: "check-circle", className: "size-6" }, iconProps))) }), _jsxs("div", { className: cn(toastContentVariants({ contentMode }), contentClassName), children: [title && (_jsx(ToastTitle, { className: titleClassName, children: title })), description && (_jsx(ToastDescription, { className: descriptionClassName, children: description }))] }), _jsx("div", { className: cn("self-center ml-[var(--spacing-spacing-xl)]", actionWrapperClassName), children: action }), _jsx(ToastClose, {})] }), id));
|
|
25
25
|
}), _jsx(ToastViewport, { position: position, className: viewportClassName })] })));
|
|
26
26
|
}
|