@blencm/ui 0.0.2 → 0.0.4
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 -68
- package/dist/components/Form/form-checkbox.d.ts +1 -1
- package/dist/components/Form/form-component.d.ts +1 -1
- package/dist/components/Form/form-date.d.ts +3 -3
- package/dist/components/Form/form-field.d.ts +2 -2
- package/dist/components/Form/form-select.d.ts +2 -2
- package/dist/components/Form/form-textarea.d.ts +2 -2
- package/dist/components/Form/form-time.d.ts +4 -4
- package/dist/components/icons.d.ts +1 -1
- package/dist/components/input.d.ts +1 -1
- package/dist/components/pagination.d.ts +1 -1
- package/dist/components/search-input.d.ts +1 -1
- package/dist/components/searchable-select.d.ts +1 -1
- package/dist/components/select.d.ts +1 -1
- package/dist/components/textarea.d.ts +1 -1
- package/dist/components/ui/input.d.ts +1 -1
- package/dist/components/ui/select.d.ts +1 -1
- package/dist/components/ui/ui-checkbox.d.ts +1 -1
- package/dist/components/ui/ui-date.d.ts +2 -2
- package/dist/components/ui/ui-textarea.d.ts +1 -1
- package/dist/components/ui/ui-time.d.ts +2 -2
- package/dist/components/use-toast.d.ts +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +78 -78
- package/dist/index.js +1 -1
- package/package.json +30 -25
package/README.md
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
# @blencm/ui
|
|
2
2
|
|
|
3
|
-
**Accessible
|
|
3
|
+
**Accessible React components on Radix UI and Tailwind CSS.**
|
|
4
4
|
|
|
5
|
-
Install the package, import
|
|
6
|
-
No copying components into `src/components`, no manual setup, and no duplicated UI code across projects.
|
|
7
|
-
|
|
8
|
-
## Documentation & Live Components
|
|
9
|
-
|
|
10
|
-
**Explore all components, live examples, and copy the demo code:**
|
|
5
|
+
Install the package, import a component, and start. No copy-paste into `src/components`.
|
|
11
6
|
|
|
12
7
|
View components [here](https://ui.blencm.com).
|
|
13
8
|
|
|
@@ -15,24 +10,25 @@ View components [here](https://ui.blencm.com).
|
|
|
15
10
|
|
|
16
11
|
## Installation
|
|
17
12
|
|
|
18
|
-
Install the package with your preferred package manager:
|
|
19
|
-
|
|
20
13
|
```bash
|
|
21
14
|
pnpm add @blencm/ui
|
|
22
15
|
```
|
|
23
16
|
|
|
24
|
-
|
|
17
|
+
```bash
|
|
18
|
+
npm install @blencm/ui
|
|
19
|
+
```
|
|
25
20
|
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
react-dom >=17 <21
|
|
21
|
+
```bash
|
|
22
|
+
yarn add @blencm/ui
|
|
29
23
|
```
|
|
30
24
|
|
|
25
|
+
React and React DOM are peer dependencies (`>=17`).
|
|
26
|
+
|
|
31
27
|
---
|
|
32
28
|
|
|
33
|
-
##
|
|
29
|
+
## Usage
|
|
34
30
|
|
|
35
|
-
|
|
31
|
+
Styles, theme tokens, and the CSS reset load with the package.
|
|
36
32
|
|
|
37
33
|
```tsx
|
|
38
34
|
import { Button } from '@blencm/ui';
|
|
@@ -47,82 +43,40 @@ export function Example() {
|
|
|
47
43
|
}
|
|
48
44
|
```
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Styles
|
|
55
|
-
|
|
56
|
-
In most setups, styles are loaded automatically.
|
|
57
|
-
|
|
58
|
-
If your bundler does not process CSS side-effect imports, import the stylesheet manually:
|
|
46
|
+
If your bundler does not follow CSS side-effect imports:
|
|
59
47
|
|
|
60
48
|
```tsx
|
|
61
49
|
import '@blencm/ui/style.css';
|
|
62
50
|
```
|
|
63
51
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Dark mode is controlled by adding the `dark` class to an ancestor element, typically `<html>`:
|
|
52
|
+
Dark mode follows a `dark` class on an ancestor:
|
|
67
53
|
|
|
68
54
|
```html
|
|
69
55
|
<html class="dark">
|
|
56
|
+
<body><!-- app --></body>
|
|
57
|
+
</html>
|
|
70
58
|
```
|
|
71
59
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Customize the design system by overriding CSS variables in your application.
|
|
75
|
-
|
|
76
|
-
For example:
|
|
60
|
+
Override CSS variables in your app:
|
|
77
61
|
|
|
78
62
|
```css
|
|
79
63
|
:root {
|
|
80
|
-
--primary:
|
|
81
|
-
--
|
|
64
|
+
--primary: oklch(0.205 0 0);
|
|
65
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
66
|
+
--radius: 0.625rem;
|
|
82
67
|
}
|
|
83
68
|
```
|
|
84
69
|
|
|
85
|
-
This allows you to adapt colors, border radius, and other theme tokens without modifying the library itself.
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Why @blencm/ui?
|
|
90
|
-
|
|
91
|
-
`@blencm/ui` is designed for teams and developers who want a consistent component system without maintaining a local copy of every UI component.
|
|
92
|
-
|
|
93
|
-
* **Accessible by default** — built on top of Radix UI primitives.
|
|
94
|
-
* **Reusable** — install once and use across multiple React projects.
|
|
95
|
-
* **Tailwind CSS friendly** — designed to work naturally with utility-first styling.
|
|
96
|
-
* **Themeable** — customize the appearance through CSS variables.
|
|
97
|
-
* **Dark mode ready** — supports class-based dark mode.
|
|
98
|
-
* **TypeScript friendly** — designed for modern React and TypeScript applications.
|
|
99
|
-
* **No copy-paste workflow** — components are imported directly from the package.
|
|
100
|
-
|
|
101
70
|
---
|
|
102
71
|
|
|
103
72
|
## Sponsor
|
|
104
73
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
**[MultiBase Studio](https://multibasestudio.com/)** is a cross-platform desktop database client for **SQL, NoSQL, and cloud databases**.
|
|
108
|
-
|
|
109
|
-
Connect to PostgreSQL, MySQL, MongoDB, Redis, SQLite, and **40+ database engines** from a single application.
|
|
110
|
-
|
|
111
|
-
With MultiBase Studio you can:
|
|
112
|
-
|
|
113
|
-
* Write queries with autocomplete
|
|
114
|
-
* Explore databases, tables, collections, and schemas
|
|
115
|
-
* Browse and edit data
|
|
116
|
-
* Manage multiple database connections
|
|
117
|
-
* Run backups
|
|
118
|
-
* Work across different database engines without switching tools
|
|
119
|
-
|
|
120
|
-
Available for **Windows, macOS, and Linux**.
|
|
74
|
+
**[MultiBase Studio](https://multibasestudio.com/)** is a desktop client for SQL, NoSQL, and cloud databases. Connect PostgreSQL, MySQL, MongoDB, Redis, SQLite, and 40+ engines from one app — query with autocomplete, explore schemas, edit data, and run backups without switching tools.
|
|
121
75
|
|
|
122
|
-
The
|
|
76
|
+
Available on Windows, macOS, and Linux. The [free plan](https://multibasestudio.com/) does not expire and does not require a credit card.
|
|
123
77
|
|
|
124
78
|
---
|
|
125
79
|
|
|
126
80
|
## License
|
|
127
81
|
|
|
128
|
-
|
|
82
|
+
[MIT](./LICENSE) · [GitHub](https://github.com/blencm/ui)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Control, FieldPath, FieldPathValue, FieldValues, RegisterOptions } from "react-hook-form";
|
|
3
|
-
import { type CheckboxProps } from "../checkbox";
|
|
3
|
+
import { type CheckboxProps } from "../checkbox.js";
|
|
4
4
|
type CheckboxRules<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = Omit<RegisterOptions<TFieldValues, TName>, "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled">;
|
|
5
5
|
type FormCheckboxProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = {
|
|
6
6
|
name: TName;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
3
3
|
import { FieldError, FieldPath, FieldValues, RegisterOptions } from "react-hook-form";
|
|
4
|
-
import { SelectOption } from "../../utils/form-utils";
|
|
4
|
+
import { SelectOption } from "../../utils/form-utils.js";
|
|
5
5
|
type FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
|
|
6
6
|
name: TName;
|
|
7
7
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type Locale } from "date-fns";
|
|
3
3
|
import { Control, FieldPath, FieldPathValue, FieldValues } from "react-hook-form";
|
|
4
|
-
import { VariantProps, type CustomSize, type SizeProps } from "../../utils/form-utils";
|
|
5
|
-
import { FieldRules } from "./form-component";
|
|
6
|
-
import { type DateFormatValue } from "../../utils/date-formats";
|
|
4
|
+
import { VariantProps, type CustomSize, type SizeProps } from "../../utils/form-utils.js";
|
|
5
|
+
import { FieldRules } from "./form-component.js";
|
|
6
|
+
import { type DateFormatValue } from "../../utils/date-formats.js";
|
|
7
7
|
type DateValueMode = "date" | "string";
|
|
8
8
|
type DateInputValue = Date | string | null | undefined;
|
|
9
9
|
type CustomFormDateProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Control, FieldPath, FieldPathValue, FieldValues, RegisterOptions } from "react-hook-form";
|
|
3
|
-
import { type InputProps } from "../input";
|
|
4
|
-
import { type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils";
|
|
3
|
+
import { type InputProps } from "../input.js";
|
|
4
|
+
import { type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils.js";
|
|
5
5
|
type FieldRules<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = Omit<RegisterOptions<TFieldValues, TName>, "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled" | "size">;
|
|
6
6
|
export type CustomFormFieldProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = {
|
|
7
7
|
name: TName;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Control, FieldPath, FieldPathValue, FieldValues } from "react-hook-form";
|
|
3
|
-
import { type SelectOption, type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils";
|
|
4
|
-
import { FieldRules } from "./form-component";
|
|
3
|
+
import { type SelectOption, type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils.js";
|
|
4
|
+
import { FieldRules } from "./form-component.js";
|
|
5
5
|
type CustomFormSelectProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>, TItem = SelectOption> = {
|
|
6
6
|
name: TName;
|
|
7
7
|
control?: Control<TFieldValues>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Control, FieldPath, FieldPathValue, FieldValues, RegisterOptions } from "react-hook-form";
|
|
3
|
-
import { type TextareaProps } from "../textarea";
|
|
4
|
-
import { type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils";
|
|
3
|
+
import { type TextareaProps } from "../textarea.js";
|
|
4
|
+
import { type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils.js";
|
|
5
5
|
type FieldRules<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = Omit<RegisterOptions<TFieldValues, TName>, "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled" | "size">;
|
|
6
6
|
export type CustomFormTextareaProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = {
|
|
7
7
|
name: TName;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type Locale } from "date-fns";
|
|
3
3
|
import { Control, FieldPath, FieldPathValue, FieldValues } from "react-hook-form";
|
|
4
|
-
import { VariantProps, type CustomSize, type SizeProps } from "../../utils/form-utils";
|
|
5
|
-
import { FieldRules } from "./form-component";
|
|
6
|
-
import { type UiTimeOption } from "../ui/ui-time";
|
|
7
|
-
import { type TimeFormatValue } from "../../utils/time-formats";
|
|
4
|
+
import { VariantProps, type CustomSize, type SizeProps } from "../../utils/form-utils.js";
|
|
5
|
+
import { FieldRules } from "./form-component.js";
|
|
6
|
+
import { type UiTimeOption } from "../ui/ui-time.js";
|
|
7
|
+
import { type TimeFormatValue } from "../../utils/time-formats.js";
|
|
8
8
|
type TimeValueMode = "date" | "string";
|
|
9
9
|
type HourCycle = "12" | "24";
|
|
10
10
|
type CustomFormTimeProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { IconProps } from "../interface/icon";
|
|
1
|
+
import { IconProps } from "../interface/icon.js";
|
|
2
2
|
export declare const Icons: IconProps;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { type CustomSize, type SizeProps, type VariantProps } from "../utils/form-utils";
|
|
2
|
+
import { type CustomSize, type SizeProps, type VariantProps } from "../utils/form-utils.js";
|
|
3
3
|
export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> {
|
|
4
4
|
size?: SizeProps;
|
|
5
5
|
customSize?: CustomSize;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { ButtonProps } from './Button/button';
|
|
2
|
+
import { ButtonProps } from './Button/button.js';
|
|
3
3
|
declare function Pagination({ className, ...props }: React.ComponentProps<'nav'>): React.JSX.Element;
|
|
4
4
|
declare namespace Pagination {
|
|
5
5
|
var displayName: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { type InputProps } from "./input";
|
|
2
|
+
import { type InputProps } from "./input.js";
|
|
3
3
|
interface SearchInputProps extends Omit<InputProps, "value" | "defaultValue" | "onChange" | "type"> {
|
|
4
4
|
value?: string;
|
|
5
5
|
debounceTime?: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { type CustomSize, type SizeProps, type VariantProps } from "../utils/form-utils";
|
|
2
|
+
import { type CustomSize, type SizeProps, type VariantProps } from "../utils/form-utils.js";
|
|
3
3
|
type SearchableSelectOption<TData = unknown> = {
|
|
4
4
|
value: string;
|
|
5
5
|
label: React.ReactNode;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { type CustomSize, type SizeProps, type VariantProps } from "../utils/form-utils";
|
|
2
|
+
import { type CustomSize, type SizeProps, type VariantProps } from "../utils/form-utils.js";
|
|
3
3
|
type SelectAlign = "start" | "center" | "end";
|
|
4
4
|
export type SelectProps = {
|
|
5
5
|
value?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { type CustomSize, type SizeProps, type VariantProps } from "../utils/form-utils";
|
|
2
|
+
import { type CustomSize, type SizeProps, type VariantProps } from "../utils/form-utils.js";
|
|
3
3
|
export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> {
|
|
4
4
|
size?: SizeProps;
|
|
5
5
|
customSize?: CustomSize;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils";
|
|
2
|
+
import { type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils.js";
|
|
3
3
|
export type UiSelectOption<TData = unknown> = {
|
|
4
4
|
value: string;
|
|
5
5
|
label: React.ReactNode;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type Locale } from "date-fns";
|
|
3
|
-
import { type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils";
|
|
4
|
-
import { type DateFormatValue } from "../../utils/date-formats";
|
|
3
|
+
import { type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils.js";
|
|
4
|
+
import { type DateFormatValue } from "../../utils/date-formats.js";
|
|
5
5
|
type DateInputValue = Date | string | null | undefined;
|
|
6
6
|
export interface UiDateProps {
|
|
7
7
|
label?: React.ReactNode;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type Locale } from "date-fns";
|
|
3
|
-
import { type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils";
|
|
4
|
-
import { type TimeFormatValue } from "../../utils/time-formats";
|
|
3
|
+
import { type CustomSize, type SizeProps, type VariantProps } from "../../utils/form-utils.js";
|
|
4
|
+
import { type TimeFormatValue } from "../../utils/time-formats.js";
|
|
5
5
|
export type UiTimeOption = {
|
|
6
6
|
value: string;
|
|
7
7
|
label?: React.ReactNode;
|
package/dist/index.cjs
CHANGED
|
@@ -12060,7 +12060,7 @@ function DataTable({
|
|
|
12060
12060
|
] }) }),
|
|
12061
12061
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ScrollBar, { orientation: "horizontal" })
|
|
12062
12062
|
] }),
|
|
12063
|
-
isEmpty ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "
|
|
12063
|
+
isEmpty ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 top-12 z-[5] flex w-full items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "pointer-events-auto flex h-full w-full flex-col items-center justify-center text-center", children: emptyState }) }) : null
|
|
12064
12064
|
] }),
|
|
12065
12065
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: cn(ui.footer), children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: cn(ui.footerInner), children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-[1fr_auto] sm:items-center", children: [
|
|
12066
12066
|
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: cn(ui.metaWrap), children: [
|
package/dist/index.d.ts
CHANGED
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
export * from "./components/Accordion/accordion";
|
|
2
|
-
export * from "./components/alert";
|
|
3
|
-
export * from "./components/alert-dialog";
|
|
4
|
-
export * from "./components/aspect-ratio";
|
|
5
|
-
export * from "./components/avatar";
|
|
6
|
-
export * from "./components/badge";
|
|
7
|
-
export * from "./components/breadcrumb";
|
|
8
|
-
export * from "./components/Button/button";
|
|
9
|
-
export * from "./components/Button/icon-button";
|
|
10
|
-
export * from "./components/calendar";
|
|
11
|
-
export * from "./components/card";
|
|
12
|
-
export * from "./components/carousel";
|
|
13
|
-
export * from "./components/checkbox";
|
|
14
|
-
export * from "./components/collapsible";
|
|
15
|
-
export * from "./components/command";
|
|
16
|
-
export * from "./components/context-menu";
|
|
17
|
-
export * from "./components/dialog";
|
|
18
|
-
export * from "./components/drawer";
|
|
19
|
-
export * from "./components/dropdown-menu";
|
|
20
|
-
export * from "./components/Form/form-component";
|
|
21
|
-
export * from "./components/Form/form";
|
|
22
|
-
export * from "./components/Form/form-checkbox";
|
|
23
|
-
export * from "./components/Form/form-field";
|
|
24
|
-
export * from "./components/Form/form-select";
|
|
25
|
-
export * from "./components/Form/form-textarea";
|
|
26
|
-
export * from "./components/Form/form-date";
|
|
27
|
-
export * from "./components/Form/form-time";
|
|
28
|
-
export * from './utils/form-utils';
|
|
29
|
-
export * from "./components/hover-card";
|
|
30
|
-
export * from "./components/icons";
|
|
31
|
-
export * from "./components/input";
|
|
32
|
-
export * from "./components/input-otp";
|
|
33
|
-
export * from "./components/Label/label";
|
|
34
|
-
export * from "./components/menubar";
|
|
35
|
-
export * from "./components/modal";
|
|
36
|
-
export * from "./components/navigation-menu";
|
|
37
|
-
export * from "./components/pagination";
|
|
38
|
-
export * from "./components/popover";
|
|
39
|
-
export * from "./components/progress";
|
|
40
|
-
export * from "./components/radio-group";
|
|
41
|
-
export * from "./components/resizable";
|
|
42
|
-
export * from "./components/scroll-area";
|
|
43
|
-
export * from "./components/scroll-view";
|
|
44
|
-
export * from "./components/search-input";
|
|
45
|
-
export * from "./components/searchable-select";
|
|
46
|
-
export * from "./components/select";
|
|
47
|
-
export * from "./components/separator";
|
|
48
|
-
export * from "./components/sheet";
|
|
49
|
-
export * from "./components/skeleton";
|
|
50
|
-
export * from "./components/slider";
|
|
51
|
-
export * from "./components/sonner";
|
|
52
|
-
export * from "./components/switch";
|
|
53
|
-
export * from "./components/table";
|
|
54
|
-
export * from "./components/tabs";
|
|
55
|
-
export * from "./components/textarea";
|
|
56
|
-
export * from "./components/toast";
|
|
57
|
-
export * from "./components/toaster";
|
|
58
|
-
export * from "./components/toggle";
|
|
59
|
-
export * from "./components/toggle-group";
|
|
60
|
-
export * from "./components/tooltip";
|
|
61
|
-
export * from "./components/use-toast";
|
|
62
|
-
export * from "./components/ui/input";
|
|
63
|
-
export * from "./components/ui/select";
|
|
64
|
-
export * from "./components/ui/ui-checkbox";
|
|
65
|
-
export * from "./components/ui/ui-date";
|
|
66
|
-
export * from "./components/ui/ui-time";
|
|
67
|
-
export * from "./components/ui/ui-textarea";
|
|
68
|
-
export * from "./hooks/use-sidebar";
|
|
69
|
-
export * from "./shared/alert-modal";
|
|
70
|
-
export * from "./shared/breadcrumbs";
|
|
71
|
-
export * from "./shared/data-table";
|
|
72
|
-
export * from "./shared/data-table-skeleton";
|
|
73
|
-
export * from "./shared/dropzone";
|
|
74
|
-
export * from "./shared/fileupload";
|
|
75
|
-
export * from "./shared/heading";
|
|
76
|
-
export * from "./shared/page-head";
|
|
77
|
-
export * from "./shared/pagination-section";
|
|
78
|
-
export * from "./utils/utils";
|
|
1
|
+
export * from "./components/Accordion/accordion.js";
|
|
2
|
+
export * from "./components/alert.js";
|
|
3
|
+
export * from "./components/alert-dialog.js";
|
|
4
|
+
export * from "./components/aspect-ratio.js";
|
|
5
|
+
export * from "./components/avatar.js";
|
|
6
|
+
export * from "./components/badge.js";
|
|
7
|
+
export * from "./components/breadcrumb.js";
|
|
8
|
+
export * from "./components/Button/button.js";
|
|
9
|
+
export * from "./components/Button/icon-button.js";
|
|
10
|
+
export * from "./components/calendar.js";
|
|
11
|
+
export * from "./components/card.js";
|
|
12
|
+
export * from "./components/carousel.js";
|
|
13
|
+
export * from "./components/checkbox.js";
|
|
14
|
+
export * from "./components/collapsible.js";
|
|
15
|
+
export * from "./components/command.js";
|
|
16
|
+
export * from "./components/context-menu.js";
|
|
17
|
+
export * from "./components/dialog.js";
|
|
18
|
+
export * from "./components/drawer.js";
|
|
19
|
+
export * from "./components/dropdown-menu.js";
|
|
20
|
+
export * from "./components/Form/form-component.js";
|
|
21
|
+
export * from "./components/Form/form.js";
|
|
22
|
+
export * from "./components/Form/form-checkbox.js";
|
|
23
|
+
export * from "./components/Form/form-field.js";
|
|
24
|
+
export * from "./components/Form/form-select.js";
|
|
25
|
+
export * from "./components/Form/form-textarea.js";
|
|
26
|
+
export * from "./components/Form/form-date.js";
|
|
27
|
+
export * from "./components/Form/form-time.js";
|
|
28
|
+
export * from './utils/form-utils.js';
|
|
29
|
+
export * from "./components/hover-card.js";
|
|
30
|
+
export * from "./components/icons.js";
|
|
31
|
+
export * from "./components/input.js";
|
|
32
|
+
export * from "./components/input-otp.js";
|
|
33
|
+
export * from "./components/Label/label.js";
|
|
34
|
+
export * from "./components/menubar.js";
|
|
35
|
+
export * from "./components/modal.js";
|
|
36
|
+
export * from "./components/navigation-menu.js";
|
|
37
|
+
export * from "./components/pagination.js";
|
|
38
|
+
export * from "./components/popover.js";
|
|
39
|
+
export * from "./components/progress.js";
|
|
40
|
+
export * from "./components/radio-group.js";
|
|
41
|
+
export * from "./components/resizable.js";
|
|
42
|
+
export * from "./components/scroll-area.js";
|
|
43
|
+
export * from "./components/scroll-view.js";
|
|
44
|
+
export * from "./components/search-input.js";
|
|
45
|
+
export * from "./components/searchable-select.js";
|
|
46
|
+
export * from "./components/select.js";
|
|
47
|
+
export * from "./components/separator.js";
|
|
48
|
+
export * from "./components/sheet.js";
|
|
49
|
+
export * from "./components/skeleton.js";
|
|
50
|
+
export * from "./components/slider.js";
|
|
51
|
+
export * from "./components/sonner.js";
|
|
52
|
+
export * from "./components/switch.js";
|
|
53
|
+
export * from "./components/table.js";
|
|
54
|
+
export * from "./components/tabs.js";
|
|
55
|
+
export * from "./components/textarea.js";
|
|
56
|
+
export * from "./components/toast.js";
|
|
57
|
+
export * from "./components/toaster.js";
|
|
58
|
+
export * from "./components/toggle.js";
|
|
59
|
+
export * from "./components/toggle-group.js";
|
|
60
|
+
export * from "./components/tooltip.js";
|
|
61
|
+
export * from "./components/use-toast.js";
|
|
62
|
+
export * from "./components/ui/input.js";
|
|
63
|
+
export * from "./components/ui/select.js";
|
|
64
|
+
export * from "./components/ui/ui-checkbox.js";
|
|
65
|
+
export * from "./components/ui/ui-date.js";
|
|
66
|
+
export * from "./components/ui/ui-time.js";
|
|
67
|
+
export * from "./components/ui/ui-textarea.js";
|
|
68
|
+
export * from "./hooks/use-sidebar.js";
|
|
69
|
+
export * from "./shared/alert-modal.js";
|
|
70
|
+
export * from "./shared/breadcrumbs.js";
|
|
71
|
+
export * from "./shared/data-table.js";
|
|
72
|
+
export * from "./shared/data-table-skeleton.js";
|
|
73
|
+
export * from "./shared/dropzone.js";
|
|
74
|
+
export * from "./shared/fileupload.js";
|
|
75
|
+
export * from "./shared/heading.js";
|
|
76
|
+
export * from "./shared/page-head.js";
|
|
77
|
+
export * from "./shared/pagination-section.js";
|
|
78
|
+
export * from "./utils/utils.js";
|
package/dist/index.js
CHANGED
|
@@ -11852,7 +11852,7 @@ function DataTable({
|
|
|
11852
11852
|
] }) }),
|
|
11853
11853
|
/* @__PURE__ */ jsx66(ScrollBar, { orientation: "horizontal" })
|
|
11854
11854
|
] }),
|
|
11855
|
-
isEmpty ? /* @__PURE__ */ jsx66("div", { className: "
|
|
11855
|
+
isEmpty ? /* @__PURE__ */ jsx66("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 top-12 z-[5] flex w-full items-center justify-center p-8", children: /* @__PURE__ */ jsx66("div", { className: "pointer-events-auto flex h-full w-full flex-col items-center justify-center text-center", children: emptyState }) }) : null
|
|
11856
11856
|
] }),
|
|
11857
11857
|
/* @__PURE__ */ jsx66("div", { className: cn(ui.footer), children: /* @__PURE__ */ jsx66("div", { className: cn(ui.footerInner), children: /* @__PURE__ */ jsxs38("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-[1fr_auto] sm:items-center", children: [
|
|
11858
11858
|
/* @__PURE__ */ jsxs38("div", { className: cn(ui.metaWrap), children: [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blencm/ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Bleker <bleker@blencm.com>",
|
|
6
6
|
"description": "Installable React UI library built on Radix UI and Tailwind CSS. Accessible primitives, form helpers (React Hook Form + Zod), DataTable, SearchableSelect, date/time pickers, dialogs and toasts. Import from npm — no copy-paste into src/components.",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"preview:demo": "vite preview",
|
|
93
93
|
"prepack": "pnpm run build"
|
|
94
94
|
},
|
|
95
|
-
"packageManager": "pnpm@11.
|
|
95
|
+
"packageManager": "pnpm@11.24.0",
|
|
96
96
|
"devDependencies": {
|
|
97
97
|
"@babel/core": "^8.0.1",
|
|
98
98
|
"@babel/preset-env": "^8.0.2",
|
|
@@ -105,30 +105,30 @@
|
|
|
105
105
|
"@tailwindcss/vite": "^4.3.3",
|
|
106
106
|
"@testing-library/dom": "^10.4.1",
|
|
107
107
|
"@testing-library/jest-dom": "^7.0.1",
|
|
108
|
-
"@testing-library/react": "^16.3.
|
|
109
|
-
"@testing-library/user-event": "^14.6.
|
|
108
|
+
"@testing-library/react": "^16.3.3",
|
|
109
|
+
"@testing-library/user-event": "^14.6.6",
|
|
110
110
|
"@types/jest": "^30.0.0",
|
|
111
|
-
"@types/node": "^26.
|
|
111
|
+
"@types/node": "^26.4.0",
|
|
112
112
|
"@types/react": "^19.2.18",
|
|
113
|
-
"@types/react-dom": "^19.2.
|
|
114
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
115
|
-
"@typescript-eslint/parser": "^8.
|
|
116
|
-
"@vitejs/plugin-react": "^6.
|
|
113
|
+
"@types/react-dom": "^19.2.5",
|
|
114
|
+
"@typescript-eslint/eslint-plugin": "^8.68.0",
|
|
115
|
+
"@typescript-eslint/parser": "^8.68.0",
|
|
116
|
+
"@vitejs/plugin-react": "^6.1.1",
|
|
117
117
|
"@vitejs/plugin-react-swc": "^4.3.3",
|
|
118
118
|
"autoprefixer": "^10.5.4",
|
|
119
119
|
"postcss": "^8.5.26",
|
|
120
|
-
"babel-jest": "^30.
|
|
120
|
+
"babel-jest": "^30.5.0",
|
|
121
121
|
"cross-env": "^10.1.0",
|
|
122
|
-
"eslint": "^10.
|
|
122
|
+
"eslint": "^10.9.1",
|
|
123
123
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
124
|
-
"eslint-plugin-react-refresh": "^0.5.
|
|
124
|
+
"eslint-plugin-react-refresh": "^0.5.5",
|
|
125
125
|
"identity-obj-proxy": "^3.0.0",
|
|
126
|
-
"jest": "^30.
|
|
127
|
-
"jest-environment-jsdom": "^30.
|
|
126
|
+
"jest": "^30.5.0",
|
|
127
|
+
"jest-environment-jsdom": "^30.5.0",
|
|
128
128
|
"react": "^19.2.8",
|
|
129
129
|
"react-day-picker": "^10.0.1",
|
|
130
130
|
"react-dom": "^19.2.8",
|
|
131
|
-
"react-router": "^8.3.
|
|
131
|
+
"react-router": "^8.3.1",
|
|
132
132
|
"react-test-renderer": "^19.2.8",
|
|
133
133
|
"rimraf": "^6.1.3",
|
|
134
134
|
"tailwindcss": "^4.3.3",
|
|
@@ -136,10 +136,10 @@
|
|
|
136
136
|
"tsup": "^8.5.1",
|
|
137
137
|
"typescript": "^7.0.2",
|
|
138
138
|
"vaul": "^1.1.2",
|
|
139
|
-
"vite": "^8.2.
|
|
139
|
+
"vite": "^8.2.2",
|
|
140
140
|
"vite-plugin-dts": "^5.0.3",
|
|
141
141
|
"vite-plugin-ts-alias": "^0.1.1",
|
|
142
|
-
"zod": "^4.
|
|
142
|
+
"zod": "^4.5.2"
|
|
143
143
|
},
|
|
144
144
|
"peerDependencies": {
|
|
145
145
|
"react": ">=17.0.0 <21.0.0",
|
|
@@ -177,19 +177,19 @@
|
|
|
177
177
|
"@radix-ui/react-toggle": "^1.1.18",
|
|
178
178
|
"@radix-ui/react-toggle-group": "^1.1.19",
|
|
179
179
|
"@radix-ui/react-tooltip": "^1.2.16",
|
|
180
|
-
"@tanstack/react-table": "^9.
|
|
180
|
+
"@tanstack/react-table": "^9.2.4",
|
|
181
181
|
"class-variance-authority": "^0.7.1",
|
|
182
182
|
"clsx": "^2.1.1",
|
|
183
183
|
"cmdk": "^1.1.1",
|
|
184
184
|
"date-fns": "^4.4.0",
|
|
185
185
|
"embla-carousel-react": "^8.6.0",
|
|
186
|
-
"framer-motion": "^13.1.
|
|
186
|
+
"framer-motion": "^13.1.1",
|
|
187
187
|
"input-otp": "^1.5.0",
|
|
188
|
-
"lucide-react": "^1.
|
|
188
|
+
"lucide-react": "^1.35.0",
|
|
189
189
|
"next-themes": "^0.4.6",
|
|
190
|
-
"react-dropzone": "^20.1.
|
|
190
|
+
"react-dropzone": "^20.1.1",
|
|
191
191
|
"react-helmet-next": "^0.0.2",
|
|
192
|
-
"react-hook-form": "^7.
|
|
192
|
+
"react-hook-form": "^7.86.0",
|
|
193
193
|
"react-resizable-panels": "^4.12.3",
|
|
194
194
|
"sonner": "^2.0.8",
|
|
195
195
|
"tailwind-merge": "^3.6.0",
|
|
@@ -199,9 +199,14 @@
|
|
|
199
199
|
},
|
|
200
200
|
"exports": {
|
|
201
201
|
".": {
|
|
202
|
-
"
|
|
203
|
-
|
|
204
|
-
|
|
202
|
+
"import": {
|
|
203
|
+
"types": "./dist/index.d.ts",
|
|
204
|
+
"default": "./dist/index.js"
|
|
205
|
+
},
|
|
206
|
+
"require": {
|
|
207
|
+
"types": "./dist/index.d.ts",
|
|
208
|
+
"default": "./dist/index.cjs"
|
|
209
|
+
}
|
|
205
210
|
},
|
|
206
211
|
"./style.css": "./dist/style.css",
|
|
207
212
|
"./dist/style.css": "./dist/style.css",
|