@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 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/core` — Core framework (uses this for shared UI)
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
- rowId: string | number;
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
- getSnapshot: () => T | undefined;
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, rowId: string | number): boolean;
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-[3px]";
702
- else if (size === "small") borderClasses = "border-[4px]";
703
- else if (size === "medium") borderClasses = "border-4";
704
- else borderClasses = "border-[6px]";
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 animate-spin rounded-full border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]", "text-primary dark:text-primary", className),
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 getSnapshot() {
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
- getSnapshot,
4055
+ getEntity,
4056
4056
  subscribe,
4057
4057
  select
4058
4058
  };
4059
4059
  }
4060
- function useVirtualTableCellSelected(store, columnKey, rowId) {
4060
+ function useVirtualTableCellSelected(store, columnKey, id) {
4061
4061
  const selectorRef = useRef({
4062
4062
  columnKey,
4063
- rowId
4063
+ id
4064
4064
  });
4065
4065
  selectorRef.current = {
4066
4066
  columnKey,
4067
- rowId
4067
+ id
4068
4068
  };
4069
- const getSnapshot = useCallback(() => {
4070
- const cell = store.getSnapshot();
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.rowId === s.rowId;
4073
+ return cell.columnKey === s.columnKey && cell.id === s.id;
4074
4074
  }, [store]);
4075
- return useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);
4075
+ return useSyncExternalStore(store.subscribe, getEntity, getEntity);
4076
4076
  }
4077
4077
  //#endregion
4078
4078
  //#region src/components/VirtualTable/selection/SelectionContext.tsx