@rovula/ui 0.0.66 → 0.0.67

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.
Files changed (127) hide show
  1. package/dist/cjs/bundle.css +993 -979
  2. package/dist/cjs/bundle.js +3 -3
  3. package/dist/cjs/bundle.js.map +1 -1
  4. package/dist/cjs/types/components/ActionButton/ActionButton.d.ts +6 -6
  5. package/dist/cjs/types/components/ActionButton/ActionButton.stories.d.ts +97 -96
  6. package/dist/cjs/types/components/AlertDialog/AlertDialog.stories.d.ts +1 -1
  7. package/dist/cjs/types/components/Avatar/Avatar.stories.d.ts +7 -7
  8. package/dist/cjs/types/components/Avatar/AvatarGroup.stories.d.ts +1 -1
  9. package/dist/cjs/types/components/Button/Button.d.ts +9 -9
  10. package/dist/cjs/types/components/Button/Buttons.stories.d.ts +139 -138
  11. package/dist/cjs/types/components/Calendar/Calendar.stories.d.ts +213 -388
  12. package/dist/cjs/types/components/Checkbox/Checkbox.stories.d.ts +92 -91
  13. package/dist/cjs/types/components/Collapsible/Collapsible.d.ts +3 -3
  14. package/dist/cjs/types/components/DataTable/DataTable.stories.d.ts +1 -1
  15. package/dist/cjs/types/components/DatePicker/DatePicker.stories.d.ts +224 -399
  16. package/dist/cjs/types/components/Dialog/Dialog.d.ts +2 -2
  17. package/dist/cjs/types/components/Dialog/Dialog.stories.d.ts +1 -1
  18. package/dist/cjs/types/components/Dropdown/Dropdown.d.ts +21 -21
  19. package/dist/cjs/types/components/Dropdown/Dropdown.stories.d.ts +134 -134
  20. package/dist/cjs/types/components/DropdownMenu/DropdownMenu.d.ts +3 -3
  21. package/dist/cjs/types/components/DropdownMenu/DropdownMenu.stories.d.ts +1 -1
  22. package/dist/cjs/types/components/Icon/Icon.stories.d.ts +294 -294
  23. package/dist/cjs/types/components/Input/Input.d.ts +8 -8
  24. package/dist/cjs/types/components/Input/Input.stories.d.ts +225 -225
  25. package/dist/cjs/types/components/InputFilter/InputFilter.d.ts +18 -18
  26. package/dist/cjs/types/components/InputFilter/InputFilter.stories.d.ts +127 -127
  27. package/dist/cjs/types/components/Label/Label.stories.d.ts +87 -86
  28. package/dist/cjs/types/components/Loading/Loading.stories.d.ts +10 -10
  29. package/dist/cjs/types/components/Navbar/Navbar.stories.d.ts +1 -1
  30. package/dist/cjs/types/components/Popover/Popover.stories.d.ts +1 -1
  31. package/dist/cjs/types/components/ProgressBar/ProgressBar.stories.d.ts +9 -9
  32. package/dist/cjs/types/components/RadioGroup/RadioGroup.stories.d.ts +85 -84
  33. package/dist/cjs/types/components/Search/Search.stories.d.ts +114 -114
  34. package/dist/cjs/types/components/Slider/Slider.stories.d.ts +85 -83
  35. package/dist/cjs/types/components/Switch/Switch.stories.d.ts +92 -91
  36. package/dist/cjs/types/components/Table/Table.d.ts +2 -2
  37. package/dist/cjs/types/components/Table/Table.stories.d.ts +87 -86
  38. package/dist/cjs/types/components/Tabs/Tabs.d.ts +6 -0
  39. package/dist/cjs/types/components/Tabs/Tabs.stories.d.ts +57 -31
  40. package/dist/cjs/types/components/Text/Text.stories.d.ts +3 -3
  41. package/dist/cjs/types/components/TextInput/TextInput.d.ts +21 -21
  42. package/dist/cjs/types/components/TextInput/TextInput.stories.d.ts +128 -128
  43. package/dist/cjs/types/components/Toast/Toast.stories.d.ts +91 -90
  44. package/dist/cjs/types/components/Tooltip/Tooltip.stories.d.ts +1 -1
  45. package/dist/cjs/types/icons/type.d.ts +0 -1
  46. package/dist/components/Tabs/Tabs.js +24 -15
  47. package/dist/components/Tabs/Tabs.stories.js +12 -0
  48. package/dist/esm/bundle.css +993 -979
  49. package/dist/esm/bundle.js +3 -3
  50. package/dist/esm/bundle.js.map +1 -1
  51. package/dist/esm/types/components/ActionButton/ActionButton.d.ts +6 -6
  52. package/dist/esm/types/components/ActionButton/ActionButton.stories.d.ts +97 -96
  53. package/dist/esm/types/components/AlertDialog/AlertDialog.stories.d.ts +1 -1
  54. package/dist/esm/types/components/Avatar/Avatar.stories.d.ts +7 -7
  55. package/dist/esm/types/components/Avatar/AvatarGroup.stories.d.ts +1 -1
  56. package/dist/esm/types/components/Button/Button.d.ts +9 -9
  57. package/dist/esm/types/components/Button/Buttons.stories.d.ts +139 -138
  58. package/dist/esm/types/components/Calendar/Calendar.stories.d.ts +213 -388
  59. package/dist/esm/types/components/Checkbox/Checkbox.stories.d.ts +92 -91
  60. package/dist/esm/types/components/Collapsible/Collapsible.d.ts +3 -3
  61. package/dist/esm/types/components/DataTable/DataTable.stories.d.ts +1 -1
  62. package/dist/esm/types/components/DatePicker/DatePicker.stories.d.ts +224 -399
  63. package/dist/esm/types/components/Dialog/Dialog.d.ts +2 -2
  64. package/dist/esm/types/components/Dialog/Dialog.stories.d.ts +1 -1
  65. package/dist/esm/types/components/Dropdown/Dropdown.d.ts +21 -21
  66. package/dist/esm/types/components/Dropdown/Dropdown.stories.d.ts +134 -134
  67. package/dist/esm/types/components/DropdownMenu/DropdownMenu.d.ts +3 -3
  68. package/dist/esm/types/components/DropdownMenu/DropdownMenu.stories.d.ts +1 -1
  69. package/dist/esm/types/components/Icon/Icon.stories.d.ts +294 -294
  70. package/dist/esm/types/components/Input/Input.d.ts +8 -8
  71. package/dist/esm/types/components/Input/Input.stories.d.ts +225 -225
  72. package/dist/esm/types/components/InputFilter/InputFilter.d.ts +18 -18
  73. package/dist/esm/types/components/InputFilter/InputFilter.stories.d.ts +127 -127
  74. package/dist/esm/types/components/Label/Label.stories.d.ts +87 -86
  75. package/dist/esm/types/components/Loading/Loading.stories.d.ts +10 -10
  76. package/dist/esm/types/components/Navbar/Navbar.stories.d.ts +1 -1
  77. package/dist/esm/types/components/Popover/Popover.stories.d.ts +1 -1
  78. package/dist/esm/types/components/ProgressBar/ProgressBar.stories.d.ts +9 -9
  79. package/dist/esm/types/components/RadioGroup/RadioGroup.stories.d.ts +85 -84
  80. package/dist/esm/types/components/Search/Search.stories.d.ts +114 -114
  81. package/dist/esm/types/components/Slider/Slider.stories.d.ts +85 -83
  82. package/dist/esm/types/components/Switch/Switch.stories.d.ts +92 -91
  83. package/dist/esm/types/components/Table/Table.d.ts +2 -2
  84. package/dist/esm/types/components/Table/Table.stories.d.ts +87 -86
  85. package/dist/esm/types/components/Tabs/Tabs.d.ts +6 -0
  86. package/dist/esm/types/components/Tabs/Tabs.stories.d.ts +57 -31
  87. package/dist/esm/types/components/Text/Text.stories.d.ts +3 -3
  88. package/dist/esm/types/components/TextInput/TextInput.d.ts +21 -21
  89. package/dist/esm/types/components/TextInput/TextInput.stories.d.ts +128 -128
  90. package/dist/esm/types/components/Toast/Toast.stories.d.ts +91 -90
  91. package/dist/esm/types/components/Tooltip/Tooltip.stories.d.ts +1 -1
  92. package/dist/esm/types/icons/type.d.ts +0 -1
  93. package/dist/index.d.ts +99 -93
  94. package/dist/src/theme/global.css +998 -981
  95. package/package.json +2 -1
  96. package/src/components/Tabs/Tabs.stories.tsx +38 -0
  97. package/src/components/Tabs/Tabs.tsx +31 -9
  98. package/dist/theme/global.css +0 -30
  99. package/dist/theme/main-preset.js +0 -283
  100. package/dist/theme/plugins/utilities/typography.js +0 -93
  101. package/dist/theme/presets/colors.js +0 -136
  102. package/dist/theme/theme.d.ts +0 -69
  103. package/dist/theme/themes/xspector/baseline.css +0 -9
  104. package/dist/theme/themes/xspector/color.css +0 -81
  105. package/dist/theme/themes/xspector/components/action-button.css +0 -100
  106. package/dist/theme/themes/xspector/components/dropdown-menu.css +0 -28
  107. package/dist/theme/themes/xspector/components/loading.css +0 -11
  108. package/dist/theme/themes/xspector/components/switch.css +0 -30
  109. package/dist/theme/themes/xspector/palette.css +0 -122
  110. package/dist/theme/themes/xspector/state.css +0 -89
  111. package/dist/theme/themes/xspector/transparent.css +0 -68
  112. package/dist/theme/themes/xspector/typography.css +0 -27
  113. package/dist/theme/tokens/baseline.css +0 -12
  114. package/dist/theme/tokens/color.css +0 -78
  115. package/dist/theme/tokens/components/action-button.css +0 -127
  116. package/dist/theme/tokens/components/button.css +0 -512
  117. package/dist/theme/tokens/components/dropdown-menu.css +0 -27
  118. package/dist/theme/tokens/components/loading.css +0 -11
  119. package/dist/theme/tokens/components/navbar.css +0 -8
  120. package/dist/theme/tokens/components/progress-bar.css +0 -8
  121. package/dist/theme/tokens/components/switch.css +0 -30
  122. package/dist/theme/tokens/palette.css +0 -122
  123. package/dist/theme/tokens/state.css +0 -82
  124. package/dist/theme/tokens/transparent.css +0 -68
  125. package/dist/theme/tokens/typography.css +0 -199
  126. package/dist/theme/tokens/variables.css +0 -28
  127. 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
- tabBarContainerClassName,
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) => (_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", {
73
- "text-foreground": index === activeTab,
74
- "text-text-grey-medium hover:text-text-grey-dark active:text-text-dark": index !== activeTab,
75
- "text-state-disable-solid pointer-events-none": disabled || tab.disabled,
76
- "text-state-disable-outline": (index === activeTab && disabled) || tab.disabled,
77
- [tabButtonClassName !== null && tabButtonClassName !== void 0 ? tabButtonClassName : ""]: true,
78
- [tabButtonActiveClassName !== null && tabButtonActiveClassName !== void 0 ? tabButtonActiveClassName : ""]: index === activeTab,
79
- "flex-1": tabMode === "justify",
80
- }), onClick: () => {
81
- setActiveTab(index);
82
- onTabChange === null || onTabChange === void 0 ? void 0 : onTabChange(index);
83
- }, 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))), _jsx("div", { className: cn(`absolute left-0 bottom-0 h-[2px] rounded-full bg-foreground transition-all duration-300 ease-in-out`, {
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
+ };