@rebasepro/ui 0.8.0 → 0.9.1-canary.09aaf62
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 +1 -1
- package/dist/components/VirtualTable/VirtualTableProps.d.ts +1 -1
- package/dist/components/VirtualTable/selection/SelectionStore.d.ts +3 -3
- package/dist/index.css +10 -0
- package/dist/index.es.js +14 -14
- package/dist/index.es.js.map +1 -1
- package/dist/src/index.css +10 -0
- package/package.json +5 -6
- package/src/components/CircularProgress.tsx +7 -6
- package/src/components/VirtualTable/VirtualTableProps.tsx +7 -1
- package/src/components/VirtualTable/selection/SelectionStore.ts +10 -10
- package/src/index.css +10 -0
package/README.md
CHANGED
|
@@ -139,4 +139,4 @@ function MyForm() {
|
|
|
139
139
|
|
|
140
140
|
- `@rebasepro/studio` — Dev tools layer (depends on this package)
|
|
141
141
|
- `@rebasepro/admin` — CMS layer (depends on this package)
|
|
142
|
-
- `@rebasepro/
|
|
142
|
+
- `@rebasepro/app` — Core framework (uses this for shared UI)
|
|
@@ -228,7 +228,7 @@ export type OnVirtualTableColumnResizeParams = {
|
|
|
228
228
|
* @see Table
|
|
229
229
|
* @group Components
|
|
230
230
|
*/
|
|
231
|
-
export type WhereFilterOp = "<" | "<=" | "==" | "!=" | ">=" | ">" | "array-contains" | "in" | "not-in" | "array-contains-any";
|
|
231
|
+
export type WhereFilterOp = "<" | "<=" | "==" | "!=" | ">=" | ">" | "array-contains" | "in" | "not-in" | "array-contains-any" | "like" | "ilike" | "not-like" | "not-ilike" | "is-null" | "is-not-null";
|
|
232
232
|
export type FilterValues<Key extends string> = Partial<Record<Key, [WhereFilterOp, unknown] | [WhereFilterOp, unknown][]>>;
|
|
233
233
|
/**
|
|
234
234
|
* @see Table
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
export interface SelectedCell {
|
|
2
2
|
columnKey: string;
|
|
3
|
-
|
|
3
|
+
id: string | number;
|
|
4
4
|
cellRect?: DOMRect;
|
|
5
5
|
width?: number;
|
|
6
6
|
height?: number;
|
|
7
7
|
}
|
|
8
8
|
export declare function createVirtualTableSelectionStore<T extends SelectedCell = SelectedCell>(): {
|
|
9
|
-
|
|
9
|
+
getEntity: () => T | undefined;
|
|
10
10
|
subscribe: (listener: () => void) => () => void;
|
|
11
11
|
select: (cell: T | undefined) => void;
|
|
12
12
|
};
|
|
13
13
|
export type VirtualTableSelectionStore<T extends SelectedCell = SelectedCell> = ReturnType<typeof createVirtualTableSelectionStore<T>>;
|
|
14
|
-
export declare function useVirtualTableCellSelected<T extends SelectedCell = SelectedCell>(store: VirtualTableSelectionStore<T>, columnKey: string,
|
|
14
|
+
export declare function useVirtualTableCellSelected<T extends SelectedCell = SelectedCell>(store: VirtualTableSelectionStore<T>, columnKey: string, id: string | number): boolean;
|
package/dist/index.css
CHANGED
|
@@ -54,6 +54,16 @@
|
|
|
54
54
|
--color-surface-accent-950: #0f172a;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
+
/* Native UI (scrollbars, form controls) must follow the active theme,
|
|
58
|
+
otherwise Chrome renders light scrollbars in dark mode */
|
|
59
|
+
html {
|
|
60
|
+
color-scheme: light;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
html.dark {
|
|
64
|
+
color-scheme: dark;
|
|
65
|
+
}
|
|
66
|
+
|
|
57
67
|
/* Chrome, Safari and Opera */
|
|
58
68
|
.no-scrollbar::-webkit-scrollbar {
|
|
59
69
|
display: none;
|
package/dist/index.es.js
CHANGED
|
@@ -698,12 +698,12 @@ function CircularProgress({ size = "medium", className }) {
|
|
|
698
698
|
else if (size === "medium") sizeClasses = "w-8 h-8 m-1";
|
|
699
699
|
else sizeClasses = "w-10 h-10 m-1";
|
|
700
700
|
let borderClasses = "";
|
|
701
|
-
if (size === "smallest") borderClasses = "border-
|
|
702
|
-
else if (size === "small") borderClasses = "border-
|
|
703
|
-
else if (size === "medium") borderClasses = "border-
|
|
704
|
-
else borderClasses = "border-
|
|
701
|
+
if (size === "smallest") borderClasses = "border-2";
|
|
702
|
+
else if (size === "small") borderClasses = "border-2";
|
|
703
|
+
else if (size === "medium") borderClasses = "border-[3px]";
|
|
704
|
+
else borderClasses = "border-4";
|
|
705
705
|
return /* @__PURE__ */ jsx("div", {
|
|
706
|
-
className: cls(sizeClasses, borderClasses, "inline-block
|
|
706
|
+
className: cls(sizeClasses, borderClasses, "inline-block shrink-0 rounded-full border-solid align-[-0.125em]", "animate-[spin_0.7s_linear_infinite] motion-reduce:animate-[spin_1.5s_linear_infinite]", "border-surface-200 dark:border-surface-700 border-t-primary dark:border-t-primary", className),
|
|
707
707
|
role: "status",
|
|
708
708
|
children: /* @__PURE__ */ jsx("span", {
|
|
709
709
|
className: "absolute! -m-px! h-px! w-px! overflow-hidden! whitespace-nowrap! border-0! p-0! [clip:rect(0,0,0,0)]!",
|
|
@@ -4040,7 +4040,7 @@ var SafeLinkRenderer = ({ text }) => {
|
|
|
4040
4040
|
function createVirtualTableSelectionStore() {
|
|
4041
4041
|
let selectedCell = void 0;
|
|
4042
4042
|
const listeners = /* @__PURE__ */ new Set();
|
|
4043
|
-
function
|
|
4043
|
+
function getEntity() {
|
|
4044
4044
|
return selectedCell;
|
|
4045
4045
|
}
|
|
4046
4046
|
function subscribe(listener) {
|
|
@@ -4052,27 +4052,27 @@ function createVirtualTableSelectionStore() {
|
|
|
4052
4052
|
listeners.forEach((l) => l());
|
|
4053
4053
|
}
|
|
4054
4054
|
return {
|
|
4055
|
-
|
|
4055
|
+
getEntity,
|
|
4056
4056
|
subscribe,
|
|
4057
4057
|
select
|
|
4058
4058
|
};
|
|
4059
4059
|
}
|
|
4060
|
-
function useVirtualTableCellSelected(store, columnKey,
|
|
4060
|
+
function useVirtualTableCellSelected(store, columnKey, id) {
|
|
4061
4061
|
const selectorRef = useRef({
|
|
4062
4062
|
columnKey,
|
|
4063
|
-
|
|
4063
|
+
id
|
|
4064
4064
|
});
|
|
4065
4065
|
selectorRef.current = {
|
|
4066
4066
|
columnKey,
|
|
4067
|
-
|
|
4067
|
+
id
|
|
4068
4068
|
};
|
|
4069
|
-
const
|
|
4070
|
-
const cell = store.
|
|
4069
|
+
const getEntity = useCallback(() => {
|
|
4070
|
+
const cell = store.getEntity();
|
|
4071
4071
|
if (!cell) return false;
|
|
4072
4072
|
const s = selectorRef.current;
|
|
4073
|
-
return cell.columnKey === s.columnKey && cell.
|
|
4073
|
+
return cell.columnKey === s.columnKey && cell.id === s.id;
|
|
4074
4074
|
}, [store]);
|
|
4075
|
-
return useSyncExternalStore(store.subscribe,
|
|
4075
|
+
return useSyncExternalStore(store.subscribe, getEntity, getEntity);
|
|
4076
4076
|
}
|
|
4077
4077
|
//#endregion
|
|
4078
4078
|
//#region src/components/VirtualTable/selection/SelectionContext.tsx
|