@getgreenline/blaze-ui 1.0.31 → 1.0.33
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/components/breadcrumb.js +1 -1
- package/dist/components/data-table.d.ts +2 -1
- package/dist/components/data-table.d.ts.map +1 -1
- package/dist/components/data-table.js +2 -2
- package/dist/components/header-app-switcher.d.ts +9 -2
- package/dist/components/header-app-switcher.d.ts.map +1 -1
- package/dist/components/header-app-switcher.js +23 -7
- package/dist/components/input.js +1 -1
- package/dist/components/selection-panel.d.ts.map +1 -1
- package/dist/components/selection-panel.js +2 -2
- package/dist/components/switch.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/globals.css +25 -41
- package/package.json +3 -3
|
@@ -14,7 +14,7 @@ function BreadcrumbItem({ className, ...props }) {
|
|
|
14
14
|
}
|
|
15
15
|
function BreadcrumbLink({ asChild, className, ...props }) {
|
|
16
16
|
const Comp = asChild ? Slot : "a";
|
|
17
|
-
return (jsx(Comp, { "data-slot": "breadcrumb-link", className: cn("tw:text-muted-foreground tw:hover:text-foreground tw:transition-
|
|
17
|
+
return (jsx(Comp, { "data-slot": "breadcrumb-link", className: cn("tw:text-muted-foreground tw:opacity-70 tw:hover:text-foreground tw:hover:opacity-100 tw:transition-[color,opacity]", className), ...props }));
|
|
18
18
|
}
|
|
19
19
|
function BreadcrumbPage({ className, ...props }) {
|
|
20
20
|
return (jsx("span", { "data-slot": "breadcrumb-page", role: "link", "aria-disabled": "true", "aria-current": "page", className: cn("tw:text-foreground tw:font-medium", className), ...props }));
|
|
@@ -76,7 +76,8 @@ export interface DataTableProps<T extends DataTableRow> {
|
|
|
76
76
|
reservePaginationSpace?: boolean;
|
|
77
77
|
striped?: boolean;
|
|
78
78
|
selectContentClassName?: string;
|
|
79
|
+
menuPopupClassName?: string;
|
|
79
80
|
}
|
|
80
|
-
export declare function DataTable<T extends DataTableRow>({ columns, data, onSelectionChange, selectedRowIds, onSort, sortState, expandable, renderExpandedRow, actions, className, pagination, treeData, reorderable, onReorder, onDragReorder, customFilterColumnsWhiteList, loading, loadingRows, emptyState, clickableFields, showColumnVisibility, footerContent, expandedRowIds, onExpandedChange, reservePaginationSpace, striped, selectContentClassName, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
81
|
+
export declare function DataTable<T extends DataTableRow>({ columns, data, onSelectionChange, selectedRowIds, onSort, sortState, expandable, renderExpandedRow, actions, className, pagination, treeData, reorderable, onReorder, onDragReorder, customFilterColumnsWhiteList, loading, loadingRows, emptyState, clickableFields, showColumnVisibility, footerContent, expandedRowIds, onExpandedChange, reservePaginationSpace, striped, selectContentClassName, menuPopupClassName, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
81
82
|
export { CheckIcon, XIcon };
|
|
82
83
|
//# sourceMappingURL=data-table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../src/components/data-table.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../src/components/data-table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { Button } from './button.js';
|
|
|
10
10
|
import { Pagination, PaginationContent, PaginationItem, PaginationPrevious, PaginationNext, PaginationLink, PaginationEllipsis } from './pagination.js';
|
|
11
11
|
|
|
12
12
|
const DEFAULT_PAGE_SIZE_OPTIONS = [5, 10, 25, 50];
|
|
13
|
-
function DataTable({ columns, data, onSelectionChange, selectedRowIds, onSort, sortState, expandable = false, renderExpandedRow, actions, className, pagination, treeData = false, reorderable = false, onReorder, onDragReorder, customFilterColumnsWhiteList, loading = false, loadingRows = 5, emptyState, clickableFields, showColumnVisibility = true, footerContent, expandedRowIds, onExpandedChange, reservePaginationSpace = false, striped = true, selectContentClassName, }) {
|
|
13
|
+
function DataTable({ columns, data, onSelectionChange, selectedRowIds, onSort, sortState, expandable = false, renderExpandedRow, actions, className, pagination, treeData = false, reorderable = false, onReorder, onDragReorder, customFilterColumnsWhiteList, loading = false, loadingRows = 5, emptyState, clickableFields, showColumnVisibility = true, footerContent, expandedRowIds, onExpandedChange, reservePaginationSpace = false, striped = true, selectContentClassName, menuPopupClassName, }) {
|
|
14
14
|
const [internalSelectedRows, setInternalSelectedRows] = React.useState(new Set());
|
|
15
15
|
const [internalExpandedRows, setInternalExpandedRows] = React.useState(new Set());
|
|
16
16
|
const [internalSortConfig, setInternalSortConfig] = React.useState({ key: "", direction: null });
|
|
@@ -308,7 +308,7 @@ function DataTable({ columns, data, onSelectionChange, selectedRowIds, onSort, s
|
|
|
308
308
|
: sortConfig.direction === "desc"
|
|
309
309
|
? ", currently sorted descending"
|
|
310
310
|
: ""
|
|
311
|
-
: ""}`, className: cn("tw:flex tw:items-center hover:tw:text-foreground/80 tw:transition-colors", loading && "tw:opacity-50 tw:cursor-not-allowed"), children: [column.label, getSortIcon(column.key)] })) : (column.label) }, column.key))), showActionsColumn && (jsx("th", { scope: "col", className: "tw:h-10 tw:w-20 tw:px-2 tw:sticky tw:right-0 tw:bg-card", children: jsx("div", { className: "tw:flex tw:items-center tw:justify-end tw:pr-1", children: showColumnVisibility && (jsxs(Menu.Root, { modal: false, children: [jsx(Menu.Trigger, { id: "base-ui-toggle-columns-trigger", render: (props) => (jsx(Button, { variant: "ghost", size: "icon", className: "tw:h-8 tw:w-8", "aria-label": "Toggle column visibility", ...props, id: "base-ui-toggle-columns-trigger", children: jsx(SettingsIcon, { className: "tw:size-5 tw:text-muted-foreground" }) })) }), jsx(Menu.Portal, { children: jsx(Menu.Positioner, { side: "bottom", align: "end", sideOffset: 4, collisionPadding: 8, children: jsx(Menu.Popup, { "aria-labelledby": `base-ui-toggle-columns-trigger`, className: cn("tw:bg-popover tw:font-sans tw:text-popover-foreground tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:data-[state=closed]:fade-out-0 tw:data-[state=open]:fade-in-0 tw:data-[state=closed]:zoom-out-95 tw:data-[state=open]:zoom-in-95 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:z-50 tw:min-w-[8rem] tw:overflow-x-hidden tw:overflow-y-auto tw:rounded-md tw:border tw:p-1 tw:shadow-md"), children: jsxs(Menu.Group, { children: [jsx(Menu.GroupLabel, { className: "tw:px-2 tw:py-1.5 tw:text-[14px] tw:font-medium", children: "Toggle Columns" }), jsx("div", { className: "tw:bg-border tw:-mx-1 tw:my-1 tw:h-px" }), filterableColumns.map((column) => {
|
|
311
|
+
: ""}`, className: cn("tw:flex tw:items-center hover:tw:text-foreground/80 tw:transition-colors", loading && "tw:opacity-50 tw:cursor-not-allowed"), children: [column.label, getSortIcon(column.key)] })) : (column.label) }, column.key))), showActionsColumn && (jsx("th", { scope: "col", className: "tw:h-10 tw:w-20 tw:px-2 tw:sticky tw:right-0 tw:bg-card", children: jsx("div", { className: "tw:flex tw:items-center tw:justify-end tw:pr-1", children: showColumnVisibility && (jsxs(Menu.Root, { modal: false, children: [jsx(Menu.Trigger, { id: "base-ui-toggle-columns-trigger", render: (props) => (jsx(Button, { variant: "ghost", size: "icon", className: "tw:h-8 tw:w-8", "aria-label": "Toggle column visibility", ...props, id: "base-ui-toggle-columns-trigger", children: jsx(SettingsIcon, { className: "tw:size-5 tw:text-muted-foreground" }) })) }), jsx(Menu.Portal, { children: jsx(Menu.Positioner, { side: "bottom", align: "end", sideOffset: 4, collisionPadding: 8, children: jsx(Menu.Popup, { "aria-labelledby": `base-ui-toggle-columns-trigger`, className: cn("tw:bg-popover tw:font-sans tw:text-popover-foreground tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:data-[state=closed]:fade-out-0 tw:data-[state=open]:fade-in-0 tw:data-[state=closed]:zoom-out-95 tw:data-[state=open]:zoom-in-95 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:z-50 tw:min-w-[8rem] tw:overflow-x-hidden tw:overflow-y-auto tw:rounded-md tw:border tw:p-1 tw:shadow-md", menuPopupClassName), children: jsxs(Menu.Group, { children: [jsx(Menu.GroupLabel, { className: "tw:px-2 tw:py-1.5 tw:text-[14px] tw:font-medium", children: "Toggle Columns" }), jsx("div", { className: "tw:bg-border tw:-mx-1 tw:my-1 tw:h-px" }), filterableColumns.map((column) => {
|
|
312
312
|
const isVisible = !hiddenColumns.includes(column.key);
|
|
313
313
|
return (jsxs(Menu.Item, { onClick: () => toggleColumnVisibility(column.key), closeOnClick: false, className: cn("tw:focus:bg-accent tw:focus:text-accent-foreground tw:relative tw:flex tw:cursor-default tw:items-center tw:gap-2 tw:rounded-sm tw:py-1.5 tw:pr-2 tw:pl-8 tw:text-[14px] tw:outline-hidden tw:select-none tw:data-[disabled]:pointer-events-none tw:data-[disabled]:opacity-50"), children: [jsx("span", { className: "tw:pointer-events-none tw:absolute tw:left-2 tw:flex tw:size-3.5 tw:items-center tw:justify-center", children: isVisible && (jsx(CheckIcon, { className: "tw:size-4" })) }), column.label] }, column.key));
|
|
314
314
|
})] }) }) }) })] })) }) }))] }) }), jsx("tbody", { className: "tw:relative", children: data.length === 0 && !loading ? (jsx("tr", { children: jsx("td", { colSpan: visibleColumns.length +
|
|
@@ -36,6 +36,7 @@ declare const AppsConfig: readonly [{
|
|
|
36
36
|
readonly subdomain: null;
|
|
37
37
|
}];
|
|
38
38
|
type AppName = (typeof AppsConfig)[number]["name"];
|
|
39
|
+
type AppSubdomain = NonNullable<(typeof AppsConfig)[number]["subdomain"]>;
|
|
39
40
|
type HeaderAppSwitcherProps = {
|
|
40
41
|
/**
|
|
41
42
|
* Optional base host string (e.g. "https://blaze.me" or "staging.blaze.me").
|
|
@@ -44,7 +45,13 @@ type HeaderAppSwitcherProps = {
|
|
|
44
45
|
commonHost?: string;
|
|
45
46
|
/** Which app is currently active. Defaults to "Retail". */
|
|
46
47
|
currentApp?: AppName;
|
|
48
|
+
/** Filter apps by subdomain. When omitted, all apps are shown. */
|
|
49
|
+
visibleApps?: AppSubdomain[];
|
|
50
|
+
/** Number of grid columns. When omitted, auto-calculated from app count: 1–3 → 1 col, 4 → 2 cols, >4 → 3 cols. */
|
|
51
|
+
columns?: 1 | 2 | 3 | 4;
|
|
52
|
+
/** When true, appends ?sso=true to all app URLs to trigger SSO login on the target app. */
|
|
53
|
+
ssoRedirect?: boolean;
|
|
47
54
|
};
|
|
48
|
-
declare function HeaderAppSwitcher({ commonHost, currentApp, }: HeaderAppSwitcherProps): import("react/jsx-runtime").JSX.Element;
|
|
49
|
-
export { HeaderAppSwitcher, type HeaderAppSwitcherProps, type AppName };
|
|
55
|
+
declare function HeaderAppSwitcher({ commonHost, currentApp, visibleApps, columns, ssoRedirect, }: HeaderAppSwitcherProps): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
export { HeaderAppSwitcher, type HeaderAppSwitcherProps, type AppName, type AppSubdomain };
|
|
50
57
|
//# sourceMappingURL=header-app-switcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-app-switcher.d.ts","sourceRoot":"","sources":["../../src/components/header-app-switcher.tsx"],"names":[],"mappings":"AAqBA,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BN,CAAA;AAEV,KAAK,OAAO,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"header-app-switcher.d.ts","sourceRoot":"","sources":["../../src/components/header-app-switcher.tsx"],"names":[],"mappings":"AAqBA,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BN,CAAA;AAEV,KAAK,OAAO,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;AAClD,KAAK,YAAY,GAAG,WAAW,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;AAkHzE,KAAK,sBAAsB,GAAG;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,kEAAkE;IAClE,WAAW,CAAC,EAAE,YAAY,EAAE,CAAA;IAC5B,kHAAkH;IAClH,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACvB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAuBD,iBAAS,iBAAiB,CAAC,EACzB,UAAU,EACV,UAAqB,EACrB,WAAW,EACX,OAAO,EACP,WAAW,GACZ,EAAE,sBAAsB,2CAiFxB;AAED,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,CAAA"}
|
|
@@ -105,10 +105,13 @@ const resolveHostInfo = (commonHost) => {
|
|
|
105
105
|
host: "blaze.me",
|
|
106
106
|
};
|
|
107
107
|
};
|
|
108
|
-
const buildAppUrl = (subdomain, base) => {
|
|
108
|
+
const buildAppUrl = (subdomain, base, ssoRedirect) => {
|
|
109
109
|
if (!subdomain)
|
|
110
110
|
return "#";
|
|
111
|
-
|
|
111
|
+
const url = new URL(`${base.protocol}//${subdomain}.${base.host}`);
|
|
112
|
+
if (ssoRedirect)
|
|
113
|
+
url.searchParams.set("sso", "true");
|
|
114
|
+
return url.toString();
|
|
112
115
|
};
|
|
113
116
|
function AppsGridIcon() {
|
|
114
117
|
return (jsxs("svg", { "aria-hidden": true, viewBox: "0 0 24 24", fill: "currentColor", className: "tw:h-5 tw:w-5", children: [jsx("circle", { cx: "5", cy: "5", r: "1.5" }), jsx("circle", { cx: "12", cy: "5", r: "1.5" }), jsx("circle", { cx: "19", cy: "5", r: "1.5" }), jsx("circle", { cx: "5", cy: "12", r: "1.5" }), jsx("circle", { cx: "12", cy: "12", r: "1.5" }), jsx("circle", { cx: "19", cy: "12", r: "1.5" }), jsx("circle", { cx: "5", cy: "19", r: "1.5" }), jsx("circle", { cx: "12", cy: "19", r: "1.5" }), jsx("circle", { cx: "19", cy: "19", r: "1.5" })] }));
|
|
@@ -122,16 +125,29 @@ const getTileClassName = (isCurrent, isDisabled) => {
|
|
|
122
125
|
}
|
|
123
126
|
return "hover:tw:bg-accent tw:cursor-pointer";
|
|
124
127
|
};
|
|
125
|
-
|
|
128
|
+
const gridColsClass = {
|
|
129
|
+
1: "tw:grid-cols-1",
|
|
130
|
+
2: "tw:grid-cols-2",
|
|
131
|
+
3: "tw:grid-cols-3",
|
|
132
|
+
4: "tw:grid-cols-4",
|
|
133
|
+
};
|
|
134
|
+
function getAutoColumns(appCount) {
|
|
135
|
+
return Math.min(Math.ceil(Math.sqrt(appCount)), 4);
|
|
136
|
+
}
|
|
137
|
+
function HeaderAppSwitcher({ commonHost, currentApp = "Retail", visibleApps, columns, ssoRedirect, }) {
|
|
126
138
|
const apps = React.useMemo(() => {
|
|
127
139
|
const base = resolveHostInfo(commonHost);
|
|
128
|
-
|
|
140
|
+
const filtered = visibleApps
|
|
141
|
+
? AppsConfig.filter((app) => app.subdomain && visibleApps.includes(app.subdomain))
|
|
142
|
+
: AppsConfig;
|
|
143
|
+
return filtered.map((app) => ({
|
|
129
144
|
...app,
|
|
130
145
|
isCurrent: currentApp === app.name,
|
|
131
|
-
href: buildAppUrl(app.subdomain, base),
|
|
146
|
+
href: buildAppUrl(app.subdomain, base, ssoRedirect),
|
|
132
147
|
}));
|
|
133
|
-
}, [commonHost, currentApp]);
|
|
134
|
-
|
|
148
|
+
}, [commonHost, currentApp, visibleApps, ssoRedirect]);
|
|
149
|
+
const resolvedColumns = columns ?? getAutoColumns(apps.length);
|
|
150
|
+
return (jsxs(Popover, { children: [jsx(PopoverTrigger, { asChild: true, children: jsxs(Button, { variant: "ghost", size: "icon", children: [jsx(AppsGridIcon, {}), jsx("span", { className: "tw:sr-only", children: "Switch apps" })] }) }), jsxs(PopoverContent, { align: "end", sideOffset: 8, className: "tw:w-72 tw:p-4", children: [jsx("p", { className: "tw:mb-3 tw:text-sm tw:font-medium tw:text-muted-foreground", children: "Blaze Apps" }), jsx("div", { className: cn("tw:grid tw:gap-1", gridColsClass[resolvedColumns]), children: apps.map((app) => {
|
|
135
151
|
const isDisabled = Boolean(app.disabled);
|
|
136
152
|
const isCurrent = Boolean(app.isCurrent);
|
|
137
153
|
const tileClassName = getTileClassName(isCurrent, isDisabled);
|
package/dist/components/input.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { cn } from '../lib/utils.js';
|
|
3
3
|
|
|
4
4
|
function Input({ className, type, ...props }) {
|
|
5
|
-
return (jsx("input", { type: type, "data-slot": "input", className: cn("tw:file:text-foreground tw:placeholder:text-muted-foreground tw:selection:bg-primary tw:selection:text-primary-foreground tw:dark:bg-input/30 tw:border-input tw:h-
|
|
5
|
+
return (jsx("input", { type: type, "data-slot": "input", className: cn("tw:file:text-foreground tw:placeholder:text-muted-foreground tw:selection:bg-primary tw:selection:text-primary-foreground tw:dark:bg-input/30 tw:border-input tw:h-10 tw:w-full tw:min-w-0 tw:rounded-md tw:border tw:bg-transparent tw:px-3 tw:py-1 tw:text-base tw:shadow-xs tw:transition-[color,box-shadow] tw:outline-none tw:file:inline-flex tw:file:h-7 tw:file:border-0 tw:file:bg-transparent tw:file:text-sm tw:file:font-medium tw:disabled:pointer-events-none tw:disabled:cursor-not-allowed tw:disabled:opacity-50 tw:md:text-sm", "tw:focus-visible:border-ring tw:focus-visible:ring-ring/50 tw:focus-visible:ring-[3px]", "tw:aria-invalid:ring-destructive/20 tw:dark:aria-invalid:ring-destructive/40 tw:aria-invalid:border-destructive", className), ...props }));
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export { Input };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-panel.d.ts","sourceRoot":"","sources":["../../src/components/selection-panel.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,cAAc,CAAA;AAuBrB,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,YAAY;IACzD,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,CAAC,EAAE,CAAA;IACnB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,uBAAuB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;CAC9D;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EAAE,EACrD,IAAI,EACJ,OAAO,EACP,MAAM,EACN,KAAsB,EACtB,WAAW,EACX,cAAc,EACd,OAAO,EACP,eAAe,EACf,WAAW,EAAE,kBAAkB,EAC/B,OAAe,EACf,QAAgB,EAChB,cAA4B,EAC5B,aAA0B,EAC1B,cAA+B,EAC/B,iBAAqC,EACrC,eAAwB,EACxB,iBAA4B,EAC5B,qBAAqB,EACrB,oBAA0C,EAC1C,KAAa,EACb,QAAmB,EACnB,kBAAyB,EACzB,mBAAkF,EAClF,uBAAuB,GACxB,EAAE,mBAAmB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"selection-panel.d.ts","sourceRoot":"","sources":["../../src/components/selection-panel.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,cAAc,CAAA;AAuBrB,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,YAAY;IACzD,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,CAAC,EAAE,CAAA;IACnB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,uBAAuB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;CAC9D;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EAAE,EACrD,IAAI,EACJ,OAAO,EACP,MAAM,EACN,KAAsB,EACtB,WAAW,EACX,cAAc,EACd,OAAO,EACP,eAAe,EACf,WAAW,EAAE,kBAAkB,EAC/B,OAAe,EACf,QAAgB,EAChB,cAA4B,EAC5B,aAA0B,EAC1B,cAA+B,EAC/B,iBAAqC,EACrC,eAAwB,EACxB,iBAA4B,EAC5B,qBAAqB,EACrB,oBAA0C,EAC1C,KAAa,EACb,QAAmB,EACnB,kBAAyB,EACzB,mBAAkF,EAClF,uBAAuB,GACxB,EAAE,mBAAmB,CAAC,CAAC,CAAC,2CAwfxB"}
|
|
@@ -206,7 +206,7 @@ function SelectionPanel({ open, onClose, onDone, title = "Select Items", descrip
|
|
|
206
206
|
? "tw:!opacity-50 tw:!cursor-not-allowed"
|
|
207
207
|
: undefined, "aria-label": availableChecked.size === 0
|
|
208
208
|
? addButtonLabel
|
|
209
|
-
: `${addButtonLabel} (${availableChecked.size} selected)`, children: addButtonLabel }) })] }), jsx("div", { className: "tw:!flex-1 tw:!flex tw:!flex-col tw:!overflow-hidden", children: jsx(DataTable, { columns: columns, data: paginatedAvailableItems, onSelectionChange: handleAvailableSelectionChange, selectedRowIds: Array.from(availableChecked), treeData: treeMode, loading: loading, className: "tw:!flex-1", expandedRowIds: Array.from(expandedAvailableRows), onExpandedChange: (ids) => setExpandedAvailableRows(new Set(ids)), reservePaginationSpace: true, selectContentClassName: "tw:!z-[1300]", pagination: {
|
|
209
|
+
: `${addButtonLabel} (${availableChecked.size} selected)`, children: addButtonLabel }) })] }), jsx("div", { className: "tw:!flex-1 tw:!flex tw:!flex-col tw:!overflow-hidden", children: jsx(DataTable, { columns: columns, data: paginatedAvailableItems, onSelectionChange: handleAvailableSelectionChange, selectedRowIds: Array.from(availableChecked), treeData: treeMode, loading: loading, className: "tw:!flex-1", expandedRowIds: Array.from(expandedAvailableRows), onExpandedChange: (ids) => setExpandedAvailableRows(new Set(ids)), reservePaginationSpace: true, selectContentClassName: "tw:!z-[1300]", menuPopupClassName: "tw:!z-[1300]", pagination: {
|
|
210
210
|
currentPage: availablePage,
|
|
211
211
|
totalPages: availableTotalPages,
|
|
212
212
|
onPageChange: setAvailablePage,
|
|
@@ -230,7 +230,7 @@ function SelectionPanel({ open, onClose, onDone, title = "Select Items", descrip
|
|
|
230
230
|
? "tw:!opacity-50 tw:!cursor-not-allowed"
|
|
231
231
|
: undefined, "aria-label": selectedChecked.size === 0
|
|
232
232
|
? removeButtonLabel
|
|
233
|
-
: `${removeButtonLabel} (${selectedChecked.size} selected)`, children: removeButtonLabel }) })] }), jsx("div", { className: "tw:!flex-1 tw:!flex tw:!flex-col tw:!overflow-hidden", children: jsx(DataTable, { columns: selectedColumns ?? columns, data: paginatedSelectedItems, onSelectionChange: handleSelectedSelectionChange, selectedRowIds: Array.from(selectedChecked), treeData: false, className: "tw:!flex-1", reservePaginationSpace: true, selectContentClassName: "tw:!z-[1300]", pagination: {
|
|
233
|
+
: `${removeButtonLabel} (${selectedChecked.size} selected)`, children: removeButtonLabel }) })] }), jsx("div", { className: "tw:!flex-1 tw:!flex tw:!flex-col tw:!overflow-hidden", children: jsx(DataTable, { columns: selectedColumns ?? columns, data: paginatedSelectedItems, onSelectionChange: handleSelectedSelectionChange, selectedRowIds: Array.from(selectedChecked), treeData: false, className: "tw:!flex-1", reservePaginationSpace: true, selectContentClassName: "tw:!z-[1300]", menuPopupClassName: "tw:!z-[1300]", pagination: {
|
|
234
234
|
currentPage: selectedPage,
|
|
235
235
|
totalPages: selectedTotalPages,
|
|
236
236
|
onPageChange: setSelectedPage,
|
|
@@ -3,7 +3,7 @@ import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
|
3
3
|
import { cn } from '../lib/utils.js';
|
|
4
4
|
|
|
5
5
|
function Switch({ className, ...props }) {
|
|
6
|
-
return (jsx(SwitchPrimitive.Root, { "data-slot": "switch", className: cn("tw:peer tw:data-[state=checked]:bg-primary tw:data-[state=unchecked]:bg-
|
|
6
|
+
return (jsx(SwitchPrimitive.Root, { "data-slot": "switch", className: cn("tw:peer tw:data-[state=checked]:bg-primary tw:data-[state=unchecked]:bg-border tw:focus-visible:border-ring tw:focus-visible:ring-ring/50 tw:dark:data-[state=unchecked]:bg-input/80 tw:inline-flex tw:h-[1.15rem] tw:w-8 tw:shrink-0 tw:items-center tw:rounded-full tw:border tw:border-transparent tw:shadow-xs tw:transition-all tw:outline-none tw:focus-visible:ring-[3px] tw:cursor-pointer tw:disabled:cursor-not-allowed tw:disabled:opacity-50", className), ...props, children: jsx(SwitchPrimitive.Thumb, { "data-slot": "switch-thumb", className: cn("tw:bg-background tw:dark:data-[state=unchecked]:bg-foreground tw:dark:data-[state=checked]:bg-primary-foreground tw:pointer-events-none tw:block tw:size-4 tw:rounded-full tw:ring-0 tw:transition-transform tw:data-[state=checked]:translate-x-[calc(100%-2px)] tw:data-[state=unchecked]:translate-x-0") }) }));
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export { Switch };
|
package/dist/components/tabs.js
CHANGED
|
@@ -9,7 +9,7 @@ function TabsList({ className, ...props }) {
|
|
|
9
9
|
return (jsx(TabsPrimitive.List, { "data-slot": "tabs-list", className: cn("tw:bg-muted tw:text-muted-foreground tw:inline-flex tw:h-9 tw:w-fit tw:items-center tw:justify-center tw:rounded-lg tw:p-[3px]", className), ...props }));
|
|
10
10
|
}
|
|
11
11
|
function TabsTrigger({ className, ...props }) {
|
|
12
|
-
return (jsx(TabsPrimitive.Trigger, { "data-slot": "tabs-trigger", className: cn("data-[state=active]:tw:bg-background
|
|
12
|
+
return (jsx(TabsPrimitive.Trigger, { "data-slot": "tabs-trigger", className: cn("tw:bg-transparent tw:text-muted-foreground tw:opacity-70 tw:data-[state=active]:bg-primary-foreground tw:dark:data-[state=active]:bg-background tw:data-[state=active]:text-foreground tw:data-[state=active]:ring-1 tw:data-[state=active]:ring-border tw:data-[state=active]:font-semibold tw:data-[state=active]:opacity-100 tw:data-[state=active]:shadow-sm tw:focus-visible:border-ring tw:focus-visible:ring-ring/50 tw:focus-visible:outline-ring tw:inline-flex tw:h-[calc(100%-1px)] tw:flex-1 tw:items-center tw:justify-center tw:gap-1.5 tw:rounded-md tw:border tw:border-transparent tw:px-2 tw:py-1 tw:text-sm tw:font-medium tw:whitespace-nowrap tw:transition-[color,box-shadow,background-color,border-color,opacity] tw:focus-visible:ring-[3px] tw:focus-visible:outline-1 tw:disabled:pointer-events-none tw:disabled:opacity-50 [&_svg]:tw:pointer-events-none [&_svg]:tw:shrink-0 [&_svg:not([class*='size-'])]:tw:size-4", className), ...props }));
|
|
13
13
|
}
|
|
14
14
|
function TabsContent({ className, ...props }) {
|
|
15
15
|
return (jsx(TabsPrimitive.Content, { "data-slot": "tabs-content", className: cn("tw:flex-1 tw:outline-none", className), ...props }));
|
package/dist/globals.css
CHANGED
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
--accent: oklch(0.9632 0.0127 244.2532);
|
|
24
24
|
--accent-foreground: oklch(0.6723 0.1606 244.9955);
|
|
25
25
|
--destructive: oklch(0.6188 0.2376 25.7658);
|
|
26
|
-
--destructive-foreground: oklch(1 0 0);
|
|
26
|
+
--destructive-foreground: oklch(1.0000 0 0);
|
|
27
27
|
--border: oklch(0.9317 0.0118 231.6594);
|
|
28
|
-
--input: oklch(0.
|
|
29
|
-
--ring: oklch(0.6818 0.1584 243.
|
|
28
|
+
--input: oklch(0.934 0.0127 228.93);
|
|
29
|
+
--ring: oklch(0.6818 0.1584 243.3540);
|
|
30
30
|
--chart-1: oklch(0.6723 0.1606 244.9955);
|
|
31
31
|
--chart-2: oklch(0.6907 0.1554 160.3454);
|
|
32
32
|
--chart-3: oklch(0.8214 0.16 82.5337);
|
|
@@ -50,24 +50,14 @@
|
|
|
50
50
|
--shadow-spread: 0px;
|
|
51
51
|
--shadow-opacity: 0;
|
|
52
52
|
--shadow-color: rgba(29, 161, 242, 0.15);
|
|
53
|
-
--shadow-2xs: 0px
|
|
54
|
-
--shadow-xs: 0px
|
|
55
|
-
--shadow-sm:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
--shadow:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
--shadow-md:
|
|
62
|
-
0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0),
|
|
63
|
-
0px 2px 4px -1px hsl(202.8169 89.1213% 53.1373% / 0);
|
|
64
|
-
--shadow-lg:
|
|
65
|
-
0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0),
|
|
66
|
-
0px 4px 6px -1px hsl(202.8169 89.1213% 53.1373% / 0);
|
|
67
|
-
--shadow-xl:
|
|
68
|
-
0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0),
|
|
69
|
-
0px 8px 10px -1px hsl(202.8169 89.1213% 53.1373% / 0);
|
|
70
|
-
--shadow-2xl: 0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0);
|
|
53
|
+
--shadow-2xs: 0px 1px 3px 0px hsl(202.8169 89.1213% 53.1373% / 0.05);
|
|
54
|
+
--shadow-xs: 0px 1px 3px 0px hsl(202.8169 89.1213% 53.1373% / 0.05);
|
|
55
|
+
--shadow-sm: 0px 1px 3px 0px hsl(202.8169 89.1213% 53.1373% / 0.10), 0px 1px 2px -1px hsl(202.8169 89.1213% 53.1373% / 0.10);
|
|
56
|
+
--shadow: 0px 1px 3px 0px hsl(202.8169 89.1213% 53.1373% / 0.10), 0px 1px 2px -1px hsl(202.8169 89.1213% 53.1373% / 0.10);
|
|
57
|
+
--shadow-md: 0px 4px 6px 0px hsl(202.8169 89.1213% 53.1373% / 0.10), 0px 2px 4px -1px hsl(202.8169 89.1213% 53.1373% / 0.10);
|
|
58
|
+
--shadow-lg: 0px 10px 15px -3px hsl(202.8169 89.1213% 53.1373% / 0.10), 0px 4px 6px -1px hsl(202.8169 89.1213% 53.1373% / 0.10);
|
|
59
|
+
--shadow-xl: 0px 20px 25px -5px hsl(202.8169 89.1213% 53.1373% / 0.10), 0px 8px 10px -1px hsl(202.8169 89.1213% 53.1373% / 0.10);
|
|
60
|
+
--shadow-2xl: 0px 25px 50px -12px hsl(202.8169 89.1213% 53.1373% / 0.25);
|
|
71
61
|
--tracking-normal: 0em;
|
|
72
62
|
--spacing: 0.25rem;
|
|
73
63
|
}
|
|
@@ -114,25 +104,15 @@
|
|
|
114
104
|
--shadow-blur: 0px;
|
|
115
105
|
--shadow-spread: 0px;
|
|
116
106
|
--shadow-opacity: 0;
|
|
117
|
-
--shadow-color: rgba(
|
|
118
|
-
--shadow-2xs: 0px 2px 0px
|
|
119
|
-
--shadow-xs: 0px 2px 0px
|
|
120
|
-
--shadow-sm:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
--shadow:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
--shadow-md:
|
|
127
|
-
0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0),
|
|
128
|
-
0px 2px 4px -1px hsl(202.8169 89.1213% 53.1373% / 0);
|
|
129
|
-
--shadow-lg:
|
|
130
|
-
0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0),
|
|
131
|
-
0px 4px 6px -1px hsl(202.8169 89.1213% 53.1373% / 0);
|
|
132
|
-
--shadow-xl:
|
|
133
|
-
0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0),
|
|
134
|
-
0px 8px 10px -1px hsl(202.8169 89.1213% 53.1373% / 0);
|
|
135
|
-
--shadow-2xl: 0px 2px 0px 0px hsl(202.8169 89.1213% 53.1373% / 0);
|
|
107
|
+
--shadow-color: rgba(1, 6, 10, 0.15);
|
|
108
|
+
--shadow-2xs: 0px 1px 2px 0px hsl(202.8169 89.1213% 53.1373% / 0.05);
|
|
109
|
+
--shadow-xs: 0px 1px 2px 0px hsl(202.8169 89.1213% 53.1373% / 0.05);
|
|
110
|
+
--shadow-sm: 0px 1px 3px 0px hsl(202.8169 89.1213% 53.1373% / 0.10), 0px 1px 2px -1px hsl(202.8169 89.1213% 53.1373% / 0.10);
|
|
111
|
+
--shadow: 0px 1px 3px 0px hsl(202.8169 89.1213% 53.1373% / 0.10), 0px 1px 2px -1px hsl(202.8169 89.1213% 53.1373% / 0.10);
|
|
112
|
+
--shadow-md: 0px 1px 6px -1px hsl(202.8169 89.1213% 53.1373% / 0.10), 0px 2px 4px -1px hsl(202.8169 89.1213% 53.1373% / 0.10);
|
|
113
|
+
--shadow-lg: 0px 10px 15px -3px hsl(202.8169 89.1213% 53.1373% / 0.10), 0px 4px 6px -1px hsl(202.8169 89.1213% 53.1373% / 0.10);
|
|
114
|
+
--shadow-xl: 0px 20px 25px -5px hsl(202.8169 89.1213% 53.1373% / 0.10), 0px 8px 10px -1px hsl(202.8169 89.1213% 53.1373% / 0.10);
|
|
115
|
+
--shadow-2xl: 0px 25px 50px -12px hsl(202.8169 89.1213% 53.1373% / 0.25);
|
|
136
116
|
}
|
|
137
117
|
|
|
138
118
|
@theme inline {
|
|
@@ -605,7 +585,11 @@
|
|
|
605
585
|
background-color: var(--primary) !important;
|
|
606
586
|
}
|
|
607
587
|
|
|
608
|
-
.blaze-ui-root button[data-slot=
|
|
588
|
+
.blaze-ui-root button[data-slot='switch'][data-state='unchecked'] {
|
|
589
|
+
background-color: var(--border) !important;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
.dark .blaze-ui-root button[data-slot='switch'][data-state='unchecked'] {
|
|
609
593
|
background-color: var(--input) !important;
|
|
610
594
|
}
|
|
611
595
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getgreenline/blaze-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.33",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@base-ui/react": "^1.1.0",
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"rollup": "^4.52.0",
|
|
65
65
|
"tailwindcss": "^4.1.11",
|
|
66
66
|
"typescript": "^5.9.2",
|
|
67
|
-
"@workspace/
|
|
68
|
-
"@workspace/
|
|
67
|
+
"@workspace/eslint-config": "0.0.0",
|
|
68
|
+
"@workspace/typescript-config": "0.0.0"
|
|
69
69
|
},
|
|
70
70
|
"main": "./dist/index.js",
|
|
71
71
|
"module": "./dist/index.js",
|