react-os-shell 4.11.0 → 4.12.0
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/{Browser-V3F6MZ6J.js → Browser-QKF75A7I.js} +4 -4
- package/dist/{Browser-V3F6MZ6J.js.map → Browser-QKF75A7I.js.map} +1 -1
- package/dist/{Documents-3V7XPDOS.js → Documents-VBUYEZ22.js} +4 -4
- package/dist/{Documents-3V7XPDOS.js.map → Documents-VBUYEZ22.js.map} +1 -1
- package/dist/{Files-TH37G6YY.js → Files-4R5TDJSK.js} +4 -4
- package/dist/{Files-TH37G6YY.js.map → Files-4R5TDJSK.js.map} +1 -1
- package/dist/{Notepad-OXSKELWV.js → Notepad-B5ISRSK7.js} +4 -4
- package/dist/{Notepad-OXSKELWV.js.map → Notepad-B5ISRSK7.js.map} +1 -1
- package/dist/{Preview-J6YDYCX4.js → Preview-Z73Q6U7C.js} +4 -4
- package/dist/{Preview-J6YDYCX4.js.map → Preview-Z73Q6U7C.js.map} +1 -1
- package/dist/{Spreadsheet-BSBZ46CE.js → Spreadsheet-UPW6EQCY.js} +5 -5
- package/dist/{Spreadsheet-BSBZ46CE.js.map → Spreadsheet-UPW6EQCY.js.map} +1 -1
- package/dist/apps/index.js +8 -8
- package/dist/chunk-7Z2SUHZT.js +7 -0
- package/dist/{chunk-VG2WSTEJ.js.map → chunk-7Z2SUHZT.js.map} +1 -1
- package/dist/{chunk-GP4Y3VCB.js → chunk-DC6BYGZ6.js} +12 -7
- package/dist/chunk-DC6BYGZ6.js.map +1 -0
- package/dist/{chunk-J4XK47N3.js → chunk-ZNGOTHEY.js} +4 -4
- package/dist/{chunk-J4XK47N3.js.map → chunk-ZNGOTHEY.js.map} +1 -1
- package/dist/index.d.ts +16 -2
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-GP4Y3VCB.js.map +0 -1
- package/dist/chunk-VG2WSTEJ.js +0 -7
package/dist/index.d.ts
CHANGED
|
@@ -1793,6 +1793,12 @@ declare function EntityList<T>(props: EntityListProps<T>): react_jsx_runtime.JSX
|
|
|
1793
1793
|
* `dragenter` (once per card crossed) so the line stays stable rather than
|
|
1794
1794
|
* flickering. Pass `onAddItem` to give each column a "+ Add item" button at its
|
|
1795
1795
|
* foot, revealed on column hover / keyboard focus.
|
|
1796
|
+
*
|
|
1797
|
+
* With no items the board is replaced by `emptyState` — right when the items
|
|
1798
|
+
* are the whole story, wrong when the columns are (a pipeline the user just
|
|
1799
|
+
* configured has a shape worth showing, and a board with no drop target can't
|
|
1800
|
+
* take its first card). Pass `showColumnsWhenEmpty` for that case and the
|
|
1801
|
+
* normal layout draws with every column on its `columnEmptyText` placeholder.
|
|
1796
1802
|
*/
|
|
1797
1803
|
interface KanbanColumn {
|
|
1798
1804
|
/** Stable column key — what `columnOf` returns and `onMove` receives. */
|
|
@@ -1822,8 +1828,16 @@ interface KanbanProps<T> {
|
|
|
1822
1828
|
sortInColumn?: (a: T, b: T) => number;
|
|
1823
1829
|
isLoading?: boolean;
|
|
1824
1830
|
loadingText?: string;
|
|
1825
|
-
/** Shown when there are no items at all. */
|
|
1831
|
+
/** Shown INSTEAD of the board when there are no items at all. */
|
|
1826
1832
|
emptyState?: ReactNode;
|
|
1833
|
+
/**
|
|
1834
|
+
* Draw the board — headers, empty columns, drop targets — even with no items,
|
|
1835
|
+
* instead of replacing it with `emptyState`. Opt in when the columns are
|
|
1836
|
+
* themselves the information (a configurable pipeline the user just defined)
|
|
1837
|
+
* or when an empty board still needs somewhere to drop a card into. Default
|
|
1838
|
+
* `false` keeps the `emptyState` behaviour every existing caller relies on.
|
|
1839
|
+
*/
|
|
1840
|
+
showColumnsWhenEmpty?: boolean;
|
|
1827
1841
|
/** Placeholder text inside an empty column. */
|
|
1828
1842
|
columnEmptyText?: string;
|
|
1829
1843
|
/**
|
|
@@ -1834,7 +1848,7 @@ interface KanbanProps<T> {
|
|
|
1834
1848
|
/** Label for the per-column add button. */
|
|
1835
1849
|
addItemText?: string;
|
|
1836
1850
|
}
|
|
1837
|
-
declare function Kanban<T>({ items, columns, columnOf, getId, onMove, renderCard, onCardClick, sortInColumn, isLoading, loadingText, emptyState, columnEmptyText, onAddItem, addItemText, }: KanbanProps<T>): react_jsx_runtime.JSX.Element;
|
|
1851
|
+
declare function Kanban<T>({ items, columns, columnOf, getId, onMove, renderCard, onCardClick, sortInColumn, isLoading, loadingText, emptyState, showColumnsWhenEmpty, columnEmptyText, onAddItem, addItemText, }: KanbanProps<T>): react_jsx_runtime.JSX.Element;
|
|
1838
1852
|
|
|
1839
1853
|
interface PaginatedResponse<T> {
|
|
1840
1854
|
count: number;
|
package/dist/index.js
CHANGED
|
@@ -12,11 +12,11 @@ import { setPdfPreview } from './chunk-BV6SQ46N.js';
|
|
|
12
12
|
import { playNotification, playStartup, soundsEnabled, getSoundConfig, SOUND_PACK_KEYS, SOUND_PACKS, SOUND_TYPES, SOUND_TYPE_LABELS, setSoundForType, previewSound, setAllSounds, playLogout } from './chunk-D7PYW2QS.js';
|
|
13
13
|
import { useAuth } from './chunk-KILLK5UH.js';
|
|
14
14
|
export { setShellAuthBridge } from './chunk-KILLK5UH.js';
|
|
15
|
-
import { EditableGrid } from './chunk-
|
|
16
|
-
export { EditableGrid } from './chunk-
|
|
15
|
+
import { withSpareRow, EditableGrid } from './chunk-DC6BYGZ6.js';
|
|
16
|
+
export { EditableGrid } from './chunk-DC6BYGZ6.js';
|
|
17
17
|
import './chunk-4SQU5YV6.js';
|
|
18
|
-
import { APP_VERSION, VERSION } from './chunk-
|
|
19
|
-
export { VERSION } from './chunk-
|
|
18
|
+
import { APP_VERSION, VERSION } from './chunk-7Z2SUHZT.js';
|
|
19
|
+
export { VERSION } from './chunk-7Z2SUHZT.js';
|
|
20
20
|
import { registerModalEscapeInterceptor, useIsMobile, cancelWindowFront, requestWindowFront, useWindowManager, PopupMenu, PopupMenuLabel, PopupMenuDivider, PopupMenuItem, WINDOW_REGISTRY, isPageEntry, Modal, setPerfCollecting, drainPerfEvents, useShellPrefs, markMenuOpen, SIDEBAR_STRIP_W, forgetMaximizedWindowBoxes, ModalActions, useModalActive, client_default, LoadingSpinner, isShellApiClientConfigured, useUndo, CancelButton, setWindowPosition } from './chunk-E2EGGV2Z.js';
|
|
21
21
|
export { CancelButton, ConfirmProvider, CopyButton, DocFavStar, Modal, ModalActions, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, ShellPrefsProvider, UndoProvider, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowTitle, beginWindowGesture, commitExposeHighlight, confirm, confirmDestructive, exitExposeMode, getActiveWindowRoute, getExposeHighlight, getWindowPosition, isEntityEntry, isPageEntry, markMenuOpen, prompt, registerModalEscapeInterceptor, requestWindowFront, setExposeHighlight, setShellApiClient, setShellWindowRegistry, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toggleExposeMode, useIsActiveWindow, useLocalStoragePrefs, useModalActive, useShellPrefs, useUndo, useUndoable, useUndoableState, useWidgetSettings, useWindowDirty, useWindowManager, useWindowMenuItem, useWindowTitle } from './chunk-E2EGGV2Z.js';
|
|
22
22
|
import { glassStyle, startMenuCategories, navSections, isSection, GLASS_INPUT_BG, navIcons, isReachable, sectionIcons, useShellAuth, visibleChildren } from './chunk-RVT2A2MO.js';
|
|
@@ -6365,6 +6365,7 @@ function Kanban({
|
|
|
6365
6365
|
isLoading = false,
|
|
6366
6366
|
loadingText = "Loading\u2026",
|
|
6367
6367
|
emptyState,
|
|
6368
|
+
showColumnsWhenEmpty = false,
|
|
6368
6369
|
columnEmptyText = "Drop here",
|
|
6369
6370
|
onAddItem,
|
|
6370
6371
|
addItemText = "Add item"
|
|
@@ -6436,7 +6437,7 @@ function Kanban({
|
|
|
6436
6437
|
reset();
|
|
6437
6438
|
};
|
|
6438
6439
|
if (isLoading) return /* @__PURE__ */ jsx("div", { className: "text-sm text-gray-500 p-4", children: loadingText });
|
|
6439
|
-
if (items.length === 0) {
|
|
6440
|
+
if (items.length === 0 && !showColumnsWhenEmpty) {
|
|
6440
6441
|
return /* @__PURE__ */ jsx(Fragment, { children: emptyState ?? /* @__PURE__ */ jsx("div", { className: "text-sm text-gray-500 p-4", children: "No items." }) });
|
|
6441
6442
|
}
|
|
6442
6443
|
return /* @__PURE__ */ jsx("div", { ref: boardRef, className: "flex-1 overflow-x-auto grid-scroll", children: /* @__PURE__ */ jsx("div", { className: "flex gap-3 h-full min-w-max pb-2", children: columns.map((col) => {
|
|
@@ -9229,7 +9230,7 @@ function BulkImportGrid({ columns, onImport, description, mergeDuplicates = fals
|
|
|
9229
9230
|
});
|
|
9230
9231
|
});
|
|
9231
9232
|
while (cleaned.length < 15) cleaned.push(Array(colCount).fill(""));
|
|
9232
|
-
setGridData(cleaned);
|
|
9233
|
+
setGridData(withSpareRow(cleaned, colCount));
|
|
9233
9234
|
}, [colCount, columns]);
|
|
9234
9235
|
const handleCSV = (e) => {
|
|
9235
9236
|
const file = e.target.files?.[0];
|