@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 CHANGED
@@ -1,13 +1,8 @@
1
1
  # @blencm/ui
2
2
 
3
- **Accessible, reusable React components built with Radix UI and Tailwind CSS.**
3
+ **Accessible React components on Radix UI and Tailwind CSS.**
4
4
 
5
- Install the package, import the components you need, and start building.
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
- React and React DOM are peer dependencies:
17
+ ```bash
18
+ npm install @blencm/ui
19
+ ```
25
20
 
26
- ```text
27
- react >=17 <21
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
- ## Quick Start
29
+ ## Usage
34
30
 
35
- Import components directly from the package:
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
- That's it. Components, theme tokens, base styles, and the CSS reset are included with the package.
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
- ### Dark Mode
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
- ### Theme Customization
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: 160 84% 39%;
81
- --radius: 0.5rem;
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
- ### MultiBase Studio
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 **[free plan](https://multibasestudio.com/)** does not expire and does not require a credit card.
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
- Licensed under the [MIT License](./LICENSE).
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 InputProps } from '../input';
2
+ import { type InputProps } from '../input.js';
3
3
  export interface UiInputProps extends Omit<InputProps, 'id'> {
4
4
  label?: React.ReactNode;
5
5
  errorMessage?: 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 type UiSelectOption<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 CheckboxProps } from "../checkbox";
2
+ import { type CheckboxProps } from "../checkbox.js";
3
3
  export interface UiCheckboxProps extends CheckboxProps {
4
4
  label?: React.ReactNode;
5
5
  description?: 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,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { type TextareaProps } from "../textarea";
2
+ import { type TextareaProps } from "../textarea.js";
3
3
  export interface UiTextareaProps extends Omit<TextareaProps, "id"> {
4
4
  label?: React.ReactNode;
5
5
  errorMessage?: string;
@@ -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;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { ToastActionElement, ToastProps } from './toast';
2
+ import type { ToastActionElement, ToastProps } from './toast.js';
3
3
  type ToasterToast = ToastProps & {
4
4
  id: string;
5
5
  title?: 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: "bg-background 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
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: "bg-background 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
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.2",
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.22.0",
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.2",
109
- "@testing-library/user-event": "^14.6.5",
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.2.0",
111
+ "@types/node": "^26.4.0",
112
112
  "@types/react": "^19.2.18",
113
- "@types/react-dom": "^19.2.4",
114
- "@typescript-eslint/eslint-plugin": "^8.67.0",
115
- "@typescript-eslint/parser": "^8.67.0",
116
- "@vitejs/plugin-react": "^6.0.5",
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.4.1",
120
+ "babel-jest": "^30.5.0",
121
121
  "cross-env": "^10.1.0",
122
- "eslint": "^10.8.1",
122
+ "eslint": "^10.9.1",
123
123
  "eslint-plugin-react-hooks": "^7.1.1",
124
- "eslint-plugin-react-refresh": "^0.5.4",
124
+ "eslint-plugin-react-refresh": "^0.5.5",
125
125
  "identity-obj-proxy": "^3.0.0",
126
- "jest": "^30.4.2",
127
- "jest-environment-jsdom": "^30.4.1",
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.0",
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.1",
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.4.3"
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.1.2",
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.0",
186
+ "framer-motion": "^13.1.1",
187
187
  "input-otp": "^1.5.0",
188
- "lucide-react": "^1.33.0",
188
+ "lucide-react": "^1.35.0",
189
189
  "next-themes": "^0.4.6",
190
- "react-dropzone": "^20.1.0",
190
+ "react-dropzone": "^20.1.1",
191
191
  "react-helmet-next": "^0.0.2",
192
- "react-hook-form": "^7.85.0",
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
- "types": "./dist/index.d.ts",
203
- "import": "./dist/index.js",
204
- "require": "./dist/index.cjs"
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",