@rebasepro/ui 0.13.0 → 0.13.1-canary.g249daa1
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/VirtualTable/VirtualTableProps.d.ts +17 -2
- package/dist/icons/index.d.ts +1 -1
- package/dist/index.es.js +33 -20
- package/dist/index.es.js.map +1 -1
- package/dist/views/ListView.d.ts +7 -1
- package/package.json +1 -1
- package/src/components/Checkbox.tsx +10 -1
- package/src/components/Dialog.tsx +15 -2
- package/src/components/Menu.tsx +9 -1
- package/src/components/Menubar.tsx +5 -1
- package/src/components/MultiSelect.tsx +5 -2
- package/src/components/Popover.tsx +4 -1
- package/src/components/Skeleton.tsx +9 -2
- package/src/components/VirtualTable/VirtualTableProps.tsx +17 -2
- package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +7 -0
- package/src/components/VirtualTable/fields/VirtualTableInput.tsx +7 -0
- package/src/icons/index.ts +2 -0
- package/src/views/CollectionView/CollectionView.tsx +7 -1
- package/src/views/ListView.tsx +77 -62
|
@@ -225,6 +225,16 @@ export type OnVirtualTableColumnResizeParams = {
|
|
|
225
225
|
column: VirtualTableColumn;
|
|
226
226
|
};
|
|
227
227
|
/**
|
|
228
|
+
* The filter operators this table can express.
|
|
229
|
+
*
|
|
230
|
+
* A deliberate copy of `WhereFilterOp` in `@rebasepro/types`, not an import:
|
|
231
|
+
* `@rebasepro/ui` has no dependency on the core types and is meant to stay
|
|
232
|
+
* usable on its own. The cost is that two published packages export the same
|
|
233
|
+
* name, so the two must be kept identical by hand —
|
|
234
|
+
* `packages/types/test/filter-operators-duplication.test.ts` fails if they
|
|
235
|
+
* diverge, because a table that cannot express an operator the query layer
|
|
236
|
+
* supports is a silent gap: the filter simply is not offered.
|
|
237
|
+
*
|
|
228
238
|
* @see Table
|
|
229
239
|
* @group Components
|
|
230
240
|
*/
|
|
@@ -241,8 +251,13 @@ export type VirtualTableSort = "asc" | "desc" | undefined;
|
|
|
241
251
|
*/
|
|
242
252
|
export type VirtualTableFilterValues<Key extends string> = FilterValues<Key>;
|
|
243
253
|
/**
|
|
244
|
-
* Filter conditions in a `Query.where()` clause
|
|
245
|
-
*
|
|
254
|
+
* Filter conditions in a `Query.where()` clause, named by {@link WhereFilterOp}.
|
|
255
|
+
*
|
|
256
|
+
* The list is not repeated here: this comment used to name eight operators when
|
|
257
|
+
* the type had sixteen, having been written before the SQL pattern and null
|
|
258
|
+
* checks (`like`, `ilike`, `not-like`, `not-ilike`, `is-null`, `is-not-null`)
|
|
259
|
+
* were added. A prose copy of a union drifts from it silently.
|
|
260
|
+
*
|
|
246
261
|
* @see Table
|
|
247
262
|
* @group Models
|
|
248
263
|
*/
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -5,4 +5,4 @@ export * from "./GitHubIcon";
|
|
|
5
5
|
export * from "./HandleIcon";
|
|
6
6
|
export type { LucideProps, LucideIcon } from "lucide-react";
|
|
7
7
|
export { icons as lucideIcons } from "lucide-react";
|
|
8
|
-
export { AlertCircleIcon, AlertTriangleIcon, AlignLeftIcon, AppWindow, ArrowDownIcon, ArrowDownToLineIcon, ArrowLeftIcon, ArrowRightFromLineIcon, ArrowRightIcon, ArrowRightLeftIcon, ArrowRightToLineIcon, ArrowUpDownIcon, ArrowUpIcon, ArrowUpToLineIcon, BoldIcon, BookOpenIcon, CalendarIcon, CheckCircle2Icon, CheckCircleIcon, CheckIcon, CheckSquareIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsLeftIcon, ChevronsRightIcon, ChevronsUpDownIcon, CircleDotIcon, CircleIcon, CircleUserIcon, CodeIcon, ColumnsIcon, CopyIcon, DatabaseIcon, DollarSignIcon, DownloadIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FileIcon, FileSearchIcon, FileTextIcon, FilterIcon, FilterXIcon, FlagIcon, FolderIcon, FolderKanbanIcon, FolderPlusIcon, FolderUpIcon, FunctionSquareIcon, GitBranchIcon, GlobeIcon, HashIcon, Heading1Icon, Heading2Icon, Heading3Icon, HelpCircleIcon, HistoryIcon, HomeIcon, ImageIcon, ImageOffIcon, InfoIcon, ItalicIcon, KanbanIcon, KeyIcon, KeyRoundIcon, LanguagesIcon, LayoutGridIcon, LinkIcon, Link2Icon, Unlink2Icon, ListIcon, LockIcon, ListOrderedIcon, ListPlusIcon, ListTodoIcon, LoaderIcon, LogOutIcon, MailIcon, Maximize2Icon, MenuIcon, MessageCircleIcon, MinusCircleIcon, MinusIcon, MoonIcon, MoreVerticalIcon, Music2Icon, PanelLeftIcon, PauseIcon, PenLineIcon, PencilIcon, PhoneIcon, PinIcon, PlayIcon, PlusIcon, QuoteIcon, RefreshCcwIcon, RefreshCwIcon, RepeatIcon, Rows3Icon, SaveIcon, SearchIcon, SendIcon, SettingsIcon, ShieldIcon, ShoppingCartIcon, SlidersHorizontalIcon, SquareIcon, StarIcon, StickyNoteIcon, StrikethroughIcon, SunIcon, SunMoonIcon, TableIcon, TagIcon, TerminalIcon, TextIcon, Trash2Icon, TrendingUpIcon, TypeIcon, UnderlineIcon, UndoIcon, UploadCloudIcon, UploadIcon, UserCheckIcon, UserIcon, UserPlus, UsersIcon, VideoIcon, VoteIcon, Wand2Icon, WrenchIcon, XCircleIcon, XIcon } from "lucide-react";
|
|
8
|
+
export { AlertCircleIcon, AlertTriangleIcon, AlignLeftIcon, AppWindow, ArrowDownIcon, ArrowDownToLineIcon, ArrowLeftIcon, ArrowRightFromLineIcon, ArrowRightIcon, ArrowRightLeftIcon, ArrowRightToLineIcon, ArrowUpDownIcon, ArrowUpIcon, ArrowUpToLineIcon, BoldIcon, BookOpenIcon, CalendarIcon, CheckCircle2Icon, CheckCircleIcon, CheckIcon, CheckSquareIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsLeftIcon, ChevronsRightIcon, ChevronsUpDownIcon, CircleDotIcon, CircleIcon, CircleUserIcon, CodeIcon, ColumnsIcon, CopyIcon, DatabaseIcon, DollarSignIcon, DownloadIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FileIcon, FileSearchIcon, FileTextIcon, FilterIcon, FilterXIcon, FlagIcon, FolderIcon, FolderKanbanIcon, FolderPlusIcon, FolderUpIcon, FunctionSquareIcon, GitBranchIcon, GlobeIcon, HashIcon, Heading1Icon, Heading2Icon, Heading3Icon, HelpCircleIcon, HistoryIcon, HomeIcon, ImageIcon, ImageOffIcon, InfoIcon, ItalicIcon, KanbanIcon, KeyIcon, KeyRoundIcon, LanguagesIcon, LayoutGridIcon, LinkIcon, Link2Icon, Unlink2Icon, ListIcon, LockIcon, ListOrderedIcon, ListPlusIcon, ListTodoIcon, LoaderIcon, LogOutIcon, MailIcon, Maximize2Icon, MenuIcon, MessageCircleIcon, MinusCircleIcon, MinusIcon, MoonIcon, MoreVerticalIcon, Music2Icon, PanelLeftCloseIcon, PanelLeftIcon, PanelLeftOpenIcon, PauseIcon, PenLineIcon, PencilIcon, PhoneIcon, PinIcon, PlayIcon, PlusIcon, QuoteIcon, RefreshCcwIcon, RefreshCwIcon, RepeatIcon, Rows3Icon, SaveIcon, SearchIcon, SendIcon, SettingsIcon, ShieldIcon, ShoppingCartIcon, SlidersHorizontalIcon, SquareIcon, StarIcon, StickyNoteIcon, StrikethroughIcon, SunIcon, SunMoonIcon, TableIcon, TagIcon, TerminalIcon, TextIcon, Trash2Icon, TrendingUpIcon, TypeIcon, UnderlineIcon, UndoIcon, UploadCloudIcon, UploadIcon, UserCheckIcon, UserIcon, UserPlus, UsersIcon, VideoIcon, VoteIcon, Wand2Icon, WrenchIcon, XCircleIcon, XIcon } from "lucide-react";
|
package/dist/index.es.js
CHANGED
|
@@ -5,7 +5,7 @@ import * as Collapsible from "@radix-ui/react-collapsible";
|
|
|
5
5
|
import { clsx } from "clsx";
|
|
6
6
|
import { twMerge } from "tailwind-merge";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
import { AlertCircleIcon, AlertCircleIcon as AlertCircleIcon$1, AlertTriangleIcon, AlignLeftIcon, AppWindow, ArrowDownIcon, ArrowDownToLineIcon, ArrowLeftIcon, ArrowLeftIcon as ArrowLeftIcon$1, ArrowRightFromLineIcon, ArrowRightIcon, ArrowRightLeftIcon, ArrowRightToLineIcon, ArrowUpDownIcon, ArrowUpIcon, ArrowUpIcon as ArrowUpIcon$1, ArrowUpToLineIcon, BoldIcon, BookOpenIcon, CalendarIcon, CalendarIcon as CalendarIcon$1, CheckCircle2Icon, CheckCircleIcon, CheckIcon, CheckIcon as CheckIcon$1, CheckSquareIcon, ChevronDownIcon, ChevronDownIcon as ChevronDownIcon$1, ChevronLeftIcon, ChevronLeftIcon as ChevronLeftIcon$1, ChevronRightIcon, ChevronRightIcon as ChevronRightIcon$1, ChevronUpIcon, ChevronUpIcon as ChevronUpIcon$1, ChevronsLeftIcon, ChevronsRightIcon, ChevronsUpDownIcon, CircleDotIcon, CircleIcon, CircleUserIcon, CodeIcon, ColumnsIcon, CopyIcon, DatabaseIcon, DollarSignIcon, DownloadIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FileIcon, FileSearchIcon, FileTextIcon, FilterIcon, FilterIcon as FilterIcon$1, FilterXIcon, FlagIcon, FolderIcon, FolderKanbanIcon, FolderPlusIcon, FolderUpIcon, FunctionSquareIcon, GitBranchIcon, GlobeIcon, HashIcon, Heading1Icon, Heading2Icon, Heading3Icon, HelpCircleIcon, HistoryIcon, HomeIcon, ImageIcon, ImageIcon as ImageIcon$1, ImageOffIcon, InfoIcon, ItalicIcon, Kanban, KanbanIcon, KeyIcon, KeyRoundIcon, LanguagesIcon, LayoutGrid, LayoutGridIcon, LayoutList, Link2Icon, LinkIcon, ListIcon, ListOrderedIcon, ListPlusIcon, ListTodoIcon, LoaderIcon, LockIcon, LogOutIcon, MailIcon, Maximize2Icon, MenuIcon, MessageCircleIcon, MinusCircleIcon, MinusIcon, MinusIcon as MinusIcon$1, MoonIcon, MoreVerticalIcon, Music2Icon, PanelLeftIcon, PauseIcon, PenLineIcon, PencilIcon, PhoneIcon, PinIcon, PlayIcon, PlusIcon, QuoteIcon, RefreshCcwIcon, RefreshCwIcon, RefreshCwIcon as RefreshCwIcon$1, RepeatIcon, Rows3Icon, SaveIcon, SearchIcon, SearchIcon as SearchIcon$1, SendIcon, Settings2, SettingsIcon, ShieldAlertIcon, ShieldIcon, ShoppingCartIcon, SlidersHorizontalIcon, SquareIcon, StarIcon, StickyNoteIcon, StrikethroughIcon, SunIcon, SunMoonIcon, Table2, TableIcon, TagIcon, TerminalIcon, TextIcon, Trash2Icon, TrendingUpIcon, TypeIcon, UnderlineIcon, UndoIcon, Unlink2Icon, UploadCloudIcon, UploadIcon, UserCheckIcon, UserIcon, UserPlus, UsersIcon, VideoIcon, VoteIcon, Wand2Icon, WrenchIcon, XCircleIcon, XIcon, XIcon as XIcon$1, icons as lucideIcons } from "lucide-react";
|
|
8
|
+
import { AlertCircleIcon, AlertCircleIcon as AlertCircleIcon$1, AlertTriangleIcon, AlignLeftIcon, AppWindow, ArrowDownIcon, ArrowDownToLineIcon, ArrowLeftIcon, ArrowLeftIcon as ArrowLeftIcon$1, ArrowRightFromLineIcon, ArrowRightIcon, ArrowRightLeftIcon, ArrowRightToLineIcon, ArrowUpDownIcon, ArrowUpIcon, ArrowUpIcon as ArrowUpIcon$1, ArrowUpToLineIcon, BoldIcon, BookOpenIcon, CalendarIcon, CalendarIcon as CalendarIcon$1, CheckCircle2Icon, CheckCircleIcon, CheckIcon, CheckIcon as CheckIcon$1, CheckSquareIcon, ChevronDownIcon, ChevronDownIcon as ChevronDownIcon$1, ChevronLeftIcon, ChevronLeftIcon as ChevronLeftIcon$1, ChevronRightIcon, ChevronRightIcon as ChevronRightIcon$1, ChevronUpIcon, ChevronUpIcon as ChevronUpIcon$1, ChevronsLeftIcon, ChevronsRightIcon, ChevronsUpDownIcon, CircleDotIcon, CircleIcon, CircleUserIcon, CodeIcon, ColumnsIcon, CopyIcon, DatabaseIcon, DollarSignIcon, DownloadIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FileIcon, FileSearchIcon, FileTextIcon, FilterIcon, FilterIcon as FilterIcon$1, FilterXIcon, FlagIcon, FolderIcon, FolderKanbanIcon, FolderPlusIcon, FolderUpIcon, FunctionSquareIcon, GitBranchIcon, GlobeIcon, HashIcon, Heading1Icon, Heading2Icon, Heading3Icon, HelpCircleIcon, HistoryIcon, HomeIcon, ImageIcon, ImageIcon as ImageIcon$1, ImageOffIcon, InfoIcon, ItalicIcon, Kanban, KanbanIcon, KeyIcon, KeyRoundIcon, LanguagesIcon, LayoutGrid, LayoutGridIcon, LayoutList, Link2Icon, LinkIcon, ListIcon, ListOrderedIcon, ListPlusIcon, ListTodoIcon, LoaderIcon, LockIcon, LogOutIcon, MailIcon, Maximize2Icon, MenuIcon, MessageCircleIcon, MinusCircleIcon, MinusIcon, MinusIcon as MinusIcon$1, MoonIcon, MoreVerticalIcon, Music2Icon, PanelLeftCloseIcon, PanelLeftIcon, PanelLeftOpenIcon, PauseIcon, PenLineIcon, PencilIcon, PhoneIcon, PinIcon, PlayIcon, PlusIcon, QuoteIcon, RefreshCcwIcon, RefreshCwIcon, RefreshCwIcon as RefreshCwIcon$1, RepeatIcon, Rows3Icon, SaveIcon, SearchIcon, SearchIcon as SearchIcon$1, SendIcon, Settings2, SettingsIcon, ShieldAlertIcon, ShieldIcon, ShoppingCartIcon, SlidersHorizontalIcon, SquareIcon, StarIcon, StickyNoteIcon, StrikethroughIcon, SunIcon, SunMoonIcon, Table2, TableIcon, TagIcon, TerminalIcon, TextIcon, Trash2Icon, TrendingUpIcon, TypeIcon, UnderlineIcon, UndoIcon, Unlink2Icon, UploadCloudIcon, UploadIcon, UserCheckIcon, UserIcon, UserPlus, UsersIcon, VideoIcon, VoteIcon, Wand2Icon, WrenchIcon, XCircleIcon, XIcon, XIcon as XIcon$1, icons as lucideIcons } from "lucide-react";
|
|
9
9
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
10
10
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
11
11
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
@@ -3210,7 +3210,7 @@ var Checkbox = React.memo(({ id, checked, indeterminate = false, padding = true,
|
|
|
3210
3210
|
className: "rounded-full focus:outline-none focus-visible:ring-2 focus-visible:ring-primary/50",
|
|
3211
3211
|
onCheckedChange: disabled ? void 0 : onCheckedChange,
|
|
3212
3212
|
children: /* @__PURE__ */ jsx("div", {
|
|
3213
|
-
className: cls(padding ? paddingClasses[size] : "", outerSizeClasses[size], "inline-flex items-center justify-center text-sm font-medium focus:outline-none transition-colors ease-in-out duration-150", onCheckedChange ? "rounded-full hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-700 dark:hover:bg-opacity-75 dark:hover:bg-surface-accent-700/75" : "", onCheckedChange ? "cursor-pointer" : "cursor-default"),
|
|
3213
|
+
className: cls(padding ? paddingClasses[size] : "", padding || onCheckedChange ? outerSizeClasses[size] : "", "inline-flex items-center justify-center text-sm font-medium focus:outline-none transition-colors ease-in-out duration-150", onCheckedChange ? "rounded-full hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-700 dark:hover:bg-opacity-75 dark:hover:bg-surface-accent-700/75" : "", onCheckedChange ? "cursor-pointer" : "cursor-default"),
|
|
3214
3214
|
children: /* @__PURE__ */ jsx("div", {
|
|
3215
3215
|
className: cls("border-2 shrink-0 relative transition-colors ease-in-out duration-150", sizeClasses$2[size], disabled ? indeterminate || isChecked ? "bg-surface-accent-400 dark:bg-surface-accent-600" : "bg-surface-accent-400 dark:bg-surface-accent-600" : indeterminate || isChecked ? colorClasses$2[color] : "bg-white dark:bg-surface-900", indeterminate || isChecked ? "text-surface-accent-100 dark:text-surface-accent-900" : "", disabled ? "border-transparent" : indeterminate || isChecked ? "border-transparent" : "border-surface-accent-800 dark:border-surface-accent-500"),
|
|
3216
3216
|
children: /* @__PURE__ */ jsx(CheckboxPrimitive.Indicator, {
|
|
@@ -3739,6 +3739,7 @@ var widthClasses = {
|
|
|
3739
3739
|
};
|
|
3740
3740
|
var Dialog = ({ open, onOpenChange, children, className, containerClassName, fullWidth = true, fullHeight, fullScreen, scrollable = true, maxWidth = "lg", modal = true, onOpenAutoFocus, onEscapeKeyDown, onPointerDownOutside, onInteractOutside, disableInitialFocus = true, portalContainer, "aria-describedby": ariaDescribedby }) => {
|
|
3741
3741
|
const [displayed, setDisplayed] = useState(false);
|
|
3742
|
+
const [popupHost, setPopupHost] = useState(null);
|
|
3742
3743
|
const contextContainer = usePortalContainer();
|
|
3743
3744
|
const finalContainer = portalContainer ?? contextContainer ?? void 0;
|
|
3744
3745
|
useEffect(() => {
|
|
@@ -3763,7 +3764,7 @@ var Dialog = ({ open, onOpenChange, children, className, containerClassName, ful
|
|
|
3763
3764
|
children: [/* @__PURE__ */ jsx(DialogPrimitive.Overlay, {
|
|
3764
3765
|
className: cls("fixed inset-0 transition-opacity ease-in-out duration-200 bg-black/50 dark:bg-black/60 backdrop-blur-sm", displayed && open ? "opacity-100" : "opacity-0", "z-50 fixed top-0 left-0 w-full h-full flex justify-center items-center"),
|
|
3765
3766
|
style: { pointerEvents: displayed ? "auto" : "none" }
|
|
3766
|
-
}), /* @__PURE__ */
|
|
3767
|
+
}), /* @__PURE__ */ jsxs(DialogPrimitive.Content, {
|
|
3767
3768
|
onEscapeKeyDown,
|
|
3768
3769
|
onOpenAutoFocus: (e) => {
|
|
3769
3770
|
if (disableInitialFocus) e.preventDefault();
|
|
@@ -3773,10 +3774,16 @@ var Dialog = ({ open, onOpenChange, children, className, containerClassName, ful
|
|
|
3773
3774
|
onInteractOutside,
|
|
3774
3775
|
"aria-describedby": ariaDescribedby,
|
|
3775
3776
|
className: cls("relative h-full outline-none flex justify-center items-center z-60 opacity-100 transition-all duration-200 ease-in-out"),
|
|
3776
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
3777
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
3777
3778
|
className: cls(paperMixin, "rounded-2xl", "z-60", "relative", "overflow-hidden", "outline-none focus:outline-none", fullWidth && !fullScreen ? "w-11/12" : void 0, fullHeight && !fullScreen ? "h-full" : void 0, "text-text-primary dark:text-text-primary-dark", "justify-center items-center", fullScreen ? "h-screen w-screen" : "max-h-[90vh] shadow-lg", "ease-in-out duration-200", scrollable && "overflow-y-auto", displayed && open ? "opacity-100 scale-100" : "opacity-0 scale-[0.97]", maxWidth && !fullScreen ? widthClasses[maxWidth] : void 0, className),
|
|
3778
|
-
children
|
|
3779
|
-
|
|
3779
|
+
children: /* @__PURE__ */ jsx(PortalContainerProvider, {
|
|
3780
|
+
container: popupHost,
|
|
3781
|
+
children
|
|
3782
|
+
})
|
|
3783
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
3784
|
+
ref: setPopupHost,
|
|
3785
|
+
className: "relative z-70 w-0 h-0"
|
|
3786
|
+
})]
|
|
3780
3787
|
})]
|
|
3781
3788
|
})
|
|
3782
3789
|
})
|
|
@@ -4051,7 +4058,7 @@ var Menu = React.forwardRef(({ children, trigger, open, defaultOpen, side, align
|
|
|
4051
4058
|
side,
|
|
4052
4059
|
sideOffset,
|
|
4053
4060
|
align,
|
|
4054
|
-
className: cls(paperMixin, focusedDisabled, "py-2 z-
|
|
4061
|
+
className: cls(paperMixin, focusedDisabled, "py-2 z-50", className),
|
|
4055
4062
|
children
|
|
4056
4063
|
})
|
|
4057
4064
|
})]
|
|
@@ -4104,7 +4111,7 @@ function MenubarPortal({ children, portalContainer }) {
|
|
|
4104
4111
|
function MenubarContent({ children, className, align, sideOffset, alignOffset, onSelect, ...rest }) {
|
|
4105
4112
|
return /* @__PURE__ */ jsx(MenubarPrimitive.Content, {
|
|
4106
4113
|
onSelect,
|
|
4107
|
-
className: cls("min-w-[220px] bg-white dark:bg-surface-900 rounded-md p-[6px] shadow-[0px_10px_38px_-10px_rgba(22,_23,_24,_0.35),_0px_10px_20px_-15px_rgba(22,_23,_24,_0.2)] [animation-duration:_400ms] [animation-timing-function:_cubic-bezier(0.16,_1,_0.3,_1)] will-change-[transform,opacity]", className),
|
|
4114
|
+
className: cls("z-50 min-w-[220px] bg-white dark:bg-surface-900 rounded-md p-[6px] shadow-[0px_10px_38px_-10px_rgba(22,_23,_24,_0.35),_0px_10px_20px_-15px_rgba(22,_23,_24,_0.2)] [animation-duration:_400ms] [animation-timing-function:_cubic-bezier(0.16,_1,_0.3,_1)] will-change-[transform,opacity]", className),
|
|
4108
4115
|
align: align ?? "start",
|
|
4109
4116
|
sideOffset: sideOffset ?? 5,
|
|
4110
4117
|
alignOffset: alignOffset ?? -3,
|
|
@@ -4289,10 +4296,9 @@ var MultiSelect = React$1.forwardRef(({ value, size = "large", label, error, onV
|
|
|
4289
4296
|
onPopoverOpenChange(false);
|
|
4290
4297
|
};
|
|
4291
4298
|
useInjectStyles("MultiSelect", `
|
|
4292
|
-
[cmdk-group] {
|
|
4299
|
+
[data-multi-select-content] [cmdk-group] {
|
|
4293
4300
|
max-height: 45vh;
|
|
4294
4301
|
overflow-y: auto;
|
|
4295
|
-
// width: 400px;
|
|
4296
4302
|
} `);
|
|
4297
4303
|
const contextValue = React$1.useMemo(() => ({
|
|
4298
4304
|
fieldValue: selectedValues,
|
|
@@ -4378,6 +4384,7 @@ var MultiSelect = React$1.forwardRef(({ value, size = "large", label, error, onV
|
|
|
4378
4384
|
}), /* @__PURE__ */ jsx(PopoverPrimitive.Portal, {
|
|
4379
4385
|
container: finalContainer,
|
|
4380
4386
|
children: /* @__PURE__ */ jsx(PopoverPrimitive.Content, {
|
|
4387
|
+
"data-multi-select-content": true,
|
|
4381
4388
|
className: cls("z-50 overflow-hidden border bg-white dark:bg-surface-800 rounded-lg w-[400px]", defaultBorderMixin),
|
|
4382
4389
|
align: "start",
|
|
4383
4390
|
sideOffset: 8,
|
|
@@ -5333,7 +5340,7 @@ function Popover({ trigger, children, open, onOpenChange, side, sideOffset = 5,
|
|
|
5333
5340
|
}), /* @__PURE__ */ jsx(PopoverPrimitive.Portal, {
|
|
5334
5341
|
container: finalContainer,
|
|
5335
5342
|
children: /* @__PURE__ */ jsxs(PopoverPrimitive.Content, {
|
|
5336
|
-
className: cls(paperMixin, "PopoverContent z-
|
|
5343
|
+
className: cls(paperMixin, "PopoverContent z-50", className),
|
|
5337
5344
|
side,
|
|
5338
5345
|
sideOffset,
|
|
5339
5346
|
align,
|
|
@@ -5521,10 +5528,10 @@ function Skeleton({ width, height, className }) {
|
|
|
5521
5528
|
useInjectStyles("Skeleton", styles);
|
|
5522
5529
|
return /* @__PURE__ */ jsx("span", {
|
|
5523
5530
|
style: {
|
|
5524
|
-
width: width ? `${width}px
|
|
5525
|
-
height: height ? `${height}px`
|
|
5531
|
+
width: width === void 0 ? void 0 : `${width}px`,
|
|
5532
|
+
height: height === void 0 ? void 0 : `${height}px`
|
|
5526
5533
|
},
|
|
5527
|
-
className: cls("block relative overflow-hidden", "bg-surface-accent-50 dark:bg-surface-accent-800 rounded-md", "max-w-full max-h-full", className),
|
|
5534
|
+
className: cls("block relative overflow-hidden", "bg-surface-accent-50 dark:bg-surface-accent-800 rounded-md", "max-w-full max-h-full", width === void 0 ? "w-full" : void 0, height === void 0 ? "h-3" : void 0, className),
|
|
5528
5535
|
children: /* @__PURE__ */ jsx("span", {
|
|
5529
5536
|
className: "absolute inset-0 bg-gradient-to-r from-transparent via-white/50 dark:via-white/8 to-transparent",
|
|
5530
5537
|
style: { animation: "shimmer 1.8s ease-in-out infinite" }
|
|
@@ -6417,6 +6424,8 @@ function VirtualTableInput(props) {
|
|
|
6417
6424
|
return /* @__PURE__ */ jsx(TextareaAutosize, {
|
|
6418
6425
|
className: focusedDisabled,
|
|
6419
6426
|
ref,
|
|
6427
|
+
disabled,
|
|
6428
|
+
readOnly: disabled,
|
|
6420
6429
|
style: {
|
|
6421
6430
|
padding: 0,
|
|
6422
6431
|
margin: 0,
|
|
@@ -6508,6 +6517,8 @@ function VirtualTableDateField(props) {
|
|
|
6508
6517
|
return /* @__PURE__ */ jsx(DateTimeField, {
|
|
6509
6518
|
value: internalValue ?? void 0,
|
|
6510
6519
|
onChange: (dateValue) => updateValue(dateValue ?? null),
|
|
6520
|
+
disabled,
|
|
6521
|
+
error: Boolean(error),
|
|
6511
6522
|
invisible: true,
|
|
6512
6523
|
size: small ? "small" : "medium",
|
|
6513
6524
|
inputClassName: cls("w-full h-full", focusedDisabled),
|
|
@@ -6616,8 +6627,9 @@ function getScrollParent$1(element) {
|
|
|
6616
6627
|
}
|
|
6617
6628
|
return document.documentElement;
|
|
6618
6629
|
}
|
|
6619
|
-
function ListView({ data, dataLoading = false, noMoreToLoad = false, dataLoadingError, itemCount, setItemCount, pageSize = 50, paginationEnabled = true, onItemClick, selectedIds, highlightedIds, selectionEnabled = true, onSelectionChange, emptyComponent, size = "m", selectedEntityId, renderRow }) {
|
|
6630
|
+
function ListView({ data, dataLoading = false, noMoreToLoad = false, dataLoadingError, itemCount, setItemCount, pageSize = 50, paginationEnabled = true, onItemClick, selectedIds, highlightedIds, selectionEnabled = true, onSelectionChange, emptyComponent, size = "m", selectedEntityId, header, renderRow }) {
|
|
6620
6631
|
const containerRef = useRef(null);
|
|
6632
|
+
const rowsRef = useRef(null);
|
|
6621
6633
|
const isLoadingMore = useRef(false);
|
|
6622
6634
|
useEffect(() => {
|
|
6623
6635
|
if (!dataLoading) isLoadingMore.current = false;
|
|
@@ -6653,7 +6665,7 @@ function ListView({ data, dataLoading = false, noMoreToLoad = false, dataLoading
|
|
|
6653
6665
|
const update = () => {
|
|
6654
6666
|
rafId = null;
|
|
6655
6667
|
const scrollRect = scrollEl.getBoundingClientRect();
|
|
6656
|
-
const listTopRelative = el.getBoundingClientRect().top - scrollRect.top;
|
|
6668
|
+
const listTopRelative = (rowsRef.current ?? el).getBoundingClientRect().top - scrollRect.top;
|
|
6657
6669
|
setEffectiveScrollTop(Math.max(0, -listTopRelative));
|
|
6658
6670
|
setViewportHeight(scrollRect.height);
|
|
6659
6671
|
const { paginationEnabled: pe, noMoreToLoad: nm, itemCount: ic, pageSize: ps } = paginationStateRef.current;
|
|
@@ -6710,7 +6722,8 @@ function ListView({ data, dataLoading = false, noMoreToLoad = false, dataLoading
|
|
|
6710
6722
|
color: "secondary",
|
|
6711
6723
|
children: "No entries found"
|
|
6712
6724
|
})
|
|
6713
|
-
}) : /* @__PURE__ */ jsxs("div", {
|
|
6725
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [header, /* @__PURE__ */ jsxs("div", {
|
|
6726
|
+
ref: rowsRef,
|
|
6714
6727
|
style: {
|
|
6715
6728
|
height: totalHeight + footerHeight,
|
|
6716
6729
|
position: "relative"
|
|
@@ -6785,7 +6798,7 @@ function ListView({ data, dataLoading = false, noMoreToLoad = false, dataLoading
|
|
|
6785
6798
|
})
|
|
6786
6799
|
})
|
|
6787
6800
|
]
|
|
6788
|
-
})
|
|
6801
|
+
})] })
|
|
6789
6802
|
});
|
|
6790
6803
|
}
|
|
6791
6804
|
//#endregion
|
|
@@ -8594,7 +8607,7 @@ function CollectionView({ dataController, properties, propertiesOrder, displayed
|
|
|
8594
8607
|
case "kanban": return resolvedKanbanProperty ? /* @__PURE__ */ jsx(CollectionKanbanView, {
|
|
8595
8608
|
...sharedProps,
|
|
8596
8609
|
kanbanProperty: resolvedKanbanProperty,
|
|
8597
|
-
onRowCreate
|
|
8610
|
+
onRowCreate: canCreate ? onRowCreate : void 0
|
|
8598
8611
|
}) : /* @__PURE__ */ jsx("div", {
|
|
8599
8612
|
className: "flex items-center justify-center p-8",
|
|
8600
8613
|
children: /* @__PURE__ */ jsx(Typography, {
|
|
@@ -8647,6 +8660,6 @@ function CollectionView({ dataController, properties, propertiesOrder, displayed
|
|
|
8647
8660
|
});
|
|
8648
8661
|
}
|
|
8649
8662
|
//#endregion
|
|
8650
|
-
export { Alert, AlertCircleIcon, AlertTriangleIcon, AlignLeftIcon, AppWindow, ArrowDownIcon, ArrowDownToLineIcon, ArrowLeftIcon, ArrowRightFromLineIcon, ArrowRightIcon, ArrowRightLeftIcon, ArrowRightToLineIcon, ArrowUpDownIcon, ArrowUpIcon, ArrowUpToLineIcon, Autocomplete, AutocompleteItem, Avatar, Badge, BoldIcon, BookOpenIcon, BooleanSwitch, BooleanSwitchWithLabel, Button, CHIP_COLORS, CHIP_HUES, CHIP_SEED_KEYS, CONTROL_HEIGHT, CalendarIcon, Card, CardView, CenteredView, CheckCircle2Icon, CheckCircleIcon, CheckIcon, CheckSquareIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsLeftIcon, ChevronsRightIcon, ChevronsUpDownIcon, Chip, CircleDotIcon, CircleIcon, CircleUserIcon, CircularProgress, CircularProgressCenter, CodeIcon, Collapse, CollectionView, ColorPicker, ColumnsIcon, Container, CopyIcon, DatabaseIcon, DateTimeField, DebouncedTextField, Dialog, DialogActions, DialogContent, DialogTitle, DollarSignIcon, DownloadIcon, ErrorBoundary, ExpandablePanel, ExternalLinkIcon, EyeIcon, EyeOffIcon, FileIcon, FileSearchIcon, FileTextIcon, FileUpload, FilterChip, FilterIcon, FilterXIcon, FlagIcon, FolderIcon, FolderKanbanIcon, FolderPlusIcon, FolderUpIcon, FunctionSquareIcon, GitBranchIcon, GitHubIcon, GlobeIcon, HandleIcon, HashIcon, Heading1Icon, Heading2Icon, Heading3Icon, HelpCircleIcon, HistoryIcon, HomeIcon, IconButton, ImageIcon, ImageOffIcon, InfoIcon, InfoLabel, InputLabel, ItalicIcon, KanbanIcon, KanbanView, KeyIcon, KeyRoundIcon, Label, LanguagesIcon, LayoutGridIcon, Link2Icon, LinkIcon, ListIcon, ListOrderedIcon, ListPlusIcon, ListTodoIcon, ListView, LoaderIcon, LoadingButton, LockIcon, LogOutIcon, MailIcon, Markdown, Maximize2Icon, Menu, MenuIcon, MenuItem, Menubar, MenubarCheckboxItem, MenubarContent, MenubarItem, MenubarItemIndicator, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarSubTriggerIndicator, MenubarTrigger, MessageCircleIcon, MinusCircleIcon, MinusIcon, MoonIcon, MoreVerticalIcon, MultiSelect, MultiSelectContext, MultiSelectItem, Music2Icon, PanelLeftIcon, Paper, PauseIcon, PenLineIcon, PencilIcon, PhoneIcon, PinIcon, PlayIcon, PlusIcon, Popover, PopoverPrimitive, Portal, PortalContainerProvider, QuoteIcon, RadioGroup, RadioGroupItem, RefreshCcwIcon, RefreshCwIcon, RepeatIcon, ResizablePanels, Rows3Icon, SaveIcon, SearchBar, SearchIcon, Select, SelectGroup, SelectItem, SendIcon, Separator, SettingsIcon, Sheet, ShieldIcon, ShoppingCartIcon, Skeleton, Slider, SlidersHorizontalIcon, Slot, SquareIcon, StarIcon, StickyNoteIcon, StrikethroughIcon, SunIcon, SunMoonIcon, Tab, Table, TableBody, TableCell, TableHeader, TableIcon, TableRow, Tabs, TagIcon, TerminalIcon, TextField, TextIcon, TextareaAutosize, ToggleButtonGroup, Tooltip, Trash2Icon, TrendingUpIcon, TypeIcon, Typography, UnderlineIcon, UndoIcon, Unlink2Icon, UploadCloudIcon, UploadIcon, UserCheckIcon, UserIcon, UserPlus, UsersIcon, VideoIcon, VirtualTable, VirtualTableDateField, VirtualTableInput, VirtualTableNumberInput, VirtualTableSelect, VirtualTableSelectionProvider, VirtualTableSwitch, VoteIcon, Wand2Icon, WrenchIcon, XCircleIcon, XIcon, cardClickableMixin, cardMixin, cardSelectedMixin, cls, colorClassesMapping, controlHeightMixin, controlPaddingMixin, coolIconKeys, createVirtualTableSelectionStore, debounce, defaultBorderMixin, fieldBackgroundDisabledMixin, fieldBackgroundHoverMixin, fieldBackgroundInvisibleMixin, fieldBackgroundMixin, focusedClasses, focusedDisabled, focusedInvisibleMixin, getColorSchemeForKey, getColorSchemeForSeed, iconKeys, iconSize, lucideIcons, paperMixin, useAutoComplete, useDebounceCallback, useDebounceValue, useDebouncedCallback, useInjectStyles, useOutsideAlerter, usePortalContainer, useVirtualTableCellSelected, useVirtualTableSelection };
|
|
8663
|
+
export { Alert, AlertCircleIcon, AlertTriangleIcon, AlignLeftIcon, AppWindow, ArrowDownIcon, ArrowDownToLineIcon, ArrowLeftIcon, ArrowRightFromLineIcon, ArrowRightIcon, ArrowRightLeftIcon, ArrowRightToLineIcon, ArrowUpDownIcon, ArrowUpIcon, ArrowUpToLineIcon, Autocomplete, AutocompleteItem, Avatar, Badge, BoldIcon, BookOpenIcon, BooleanSwitch, BooleanSwitchWithLabel, Button, CHIP_COLORS, CHIP_HUES, CHIP_SEED_KEYS, CONTROL_HEIGHT, CalendarIcon, Card, CardView, CenteredView, CheckCircle2Icon, CheckCircleIcon, CheckIcon, CheckSquareIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsLeftIcon, ChevronsRightIcon, ChevronsUpDownIcon, Chip, CircleDotIcon, CircleIcon, CircleUserIcon, CircularProgress, CircularProgressCenter, CodeIcon, Collapse, CollectionView, ColorPicker, ColumnsIcon, Container, CopyIcon, DatabaseIcon, DateTimeField, DebouncedTextField, Dialog, DialogActions, DialogContent, DialogTitle, DollarSignIcon, DownloadIcon, ErrorBoundary, ExpandablePanel, ExternalLinkIcon, EyeIcon, EyeOffIcon, FileIcon, FileSearchIcon, FileTextIcon, FileUpload, FilterChip, FilterIcon, FilterXIcon, FlagIcon, FolderIcon, FolderKanbanIcon, FolderPlusIcon, FolderUpIcon, FunctionSquareIcon, GitBranchIcon, GitHubIcon, GlobeIcon, HandleIcon, HashIcon, Heading1Icon, Heading2Icon, Heading3Icon, HelpCircleIcon, HistoryIcon, HomeIcon, IconButton, ImageIcon, ImageOffIcon, InfoIcon, InfoLabel, InputLabel, ItalicIcon, KanbanIcon, KanbanView, KeyIcon, KeyRoundIcon, Label, LanguagesIcon, LayoutGridIcon, Link2Icon, LinkIcon, ListIcon, ListOrderedIcon, ListPlusIcon, ListTodoIcon, ListView, LoaderIcon, LoadingButton, LockIcon, LogOutIcon, MailIcon, Markdown, Maximize2Icon, Menu, MenuIcon, MenuItem, Menubar, MenubarCheckboxItem, MenubarContent, MenubarItem, MenubarItemIndicator, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarSubTriggerIndicator, MenubarTrigger, MessageCircleIcon, MinusCircleIcon, MinusIcon, MoonIcon, MoreVerticalIcon, MultiSelect, MultiSelectContext, MultiSelectItem, Music2Icon, PanelLeftCloseIcon, PanelLeftIcon, PanelLeftOpenIcon, Paper, PauseIcon, PenLineIcon, PencilIcon, PhoneIcon, PinIcon, PlayIcon, PlusIcon, Popover, PopoverPrimitive, Portal, PortalContainerProvider, QuoteIcon, RadioGroup, RadioGroupItem, RefreshCcwIcon, RefreshCwIcon, RepeatIcon, ResizablePanels, Rows3Icon, SaveIcon, SearchBar, SearchIcon, Select, SelectGroup, SelectItem, SendIcon, Separator, SettingsIcon, Sheet, ShieldIcon, ShoppingCartIcon, Skeleton, Slider, SlidersHorizontalIcon, Slot, SquareIcon, StarIcon, StickyNoteIcon, StrikethroughIcon, SunIcon, SunMoonIcon, Tab, Table, TableBody, TableCell, TableHeader, TableIcon, TableRow, Tabs, TagIcon, TerminalIcon, TextField, TextIcon, TextareaAutosize, ToggleButtonGroup, Tooltip, Trash2Icon, TrendingUpIcon, TypeIcon, Typography, UnderlineIcon, UndoIcon, Unlink2Icon, UploadCloudIcon, UploadIcon, UserCheckIcon, UserIcon, UserPlus, UsersIcon, VideoIcon, VirtualTable, VirtualTableDateField, VirtualTableInput, VirtualTableNumberInput, VirtualTableSelect, VirtualTableSelectionProvider, VirtualTableSwitch, VoteIcon, Wand2Icon, WrenchIcon, XCircleIcon, XIcon, cardClickableMixin, cardMixin, cardSelectedMixin, cls, colorClassesMapping, controlHeightMixin, controlPaddingMixin, coolIconKeys, createVirtualTableSelectionStore, debounce, defaultBorderMixin, fieldBackgroundDisabledMixin, fieldBackgroundHoverMixin, fieldBackgroundInvisibleMixin, fieldBackgroundMixin, focusedClasses, focusedDisabled, focusedInvisibleMixin, getColorSchemeForKey, getColorSchemeForSeed, iconKeys, iconSize, lucideIcons, paperMixin, useAutoComplete, useDebounceCallback, useDebounceValue, useDebouncedCallback, useInjectStyles, useOutsideAlerter, usePortalContainer, useVirtualTableCellSelected, useVirtualTableSelection };
|
|
8651
8664
|
|
|
8652
8665
|
//# sourceMappingURL=index.es.js.map
|