@rebasepro/ui 0.13.1-canary.gf57a27e → 0.14.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/README.md +3 -1
- package/dist/components/DateTimeField.d.ts +5 -0
- package/dist/icons/LucideIconByName.d.ts +62 -0
- package/dist/icons/index.d.ts +27 -0
- package/dist/index.es.js +87 -5
- package/dist/index.es.js.map +1 -1
- package/dist/src/theme.css +9 -1
- package/dist/theme.css +9 -1
- package/package.json +2 -2
- package/src/components/DateTimeField.tsx +18 -2
- package/src/components/FilterChip.tsx +12 -2
- package/src/components/TextField.tsx +8 -2
- package/src/icons/LucideIconByName.tsx +117 -0
- package/src/icons/index.ts +28 -1
- package/src/theme.css +9 -1
package/README.md
CHANGED
|
@@ -112,7 +112,9 @@ Tailwind class-string constants for consistent styling:
|
|
|
112
112
|
|
|
113
113
|
### Icons
|
|
114
114
|
|
|
115
|
-
Re-exports ~100 individual lucide-react icon components (e.g. `ArrowRightIcon`, `SearchIcon`, `PlusIcon`), the
|
|
115
|
+
Re-exports ~100 individual lucide-react icon components (e.g. `ArrowRightIcon`, `SearchIcon`, `PlusIcon`), the `Icon` component, `GitHubIcon`, `HandleIcon`, `iconKeys`, and `coolIconKeys`.
|
|
116
|
+
|
|
117
|
+
To render an icon whose name is only known at runtime, use `<LucideIconByName name="ShoppingCart" />` (or `loadLucideIcons()` / `useLucideIcons()` for the map itself). The full `icons` map is still re-exported as `lucideIcons`, but reach for it last: it holds a reference to every icon in the library, so importing it pulls the whole 822 kB set into whatever chunk you import it from, and no tree-shaking helps. Nothing in this package imports it, so it costs nothing unless you ask for it.
|
|
116
118
|
|
|
117
119
|
## Quick Start
|
|
118
120
|
|
|
@@ -20,5 +20,10 @@ export type DateTimeFieldProps = {
|
|
|
20
20
|
* If not provided, uses the user's local timezone.
|
|
21
21
|
*/
|
|
22
22
|
timezone?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Names the control when there is no `label` — e.g. when the surrounding
|
|
25
|
+
* form draws the label itself and passes `label={undefined}`.
|
|
26
|
+
*/
|
|
27
|
+
"aria-label"?: string;
|
|
23
28
|
};
|
|
24
29
|
export declare const DateTimeField: React.FC<DateTimeFieldProps>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { LucideIcon } from "lucide-react";
|
|
3
|
+
/**
|
|
4
|
+
* Rendering a Lucide icon chosen at runtime, without shipping all 1,600 of them
|
|
5
|
+
* on the login screen.
|
|
6
|
+
*
|
|
7
|
+
* `@rebasepro/ui` used to re-export lucide's whole `icons` map:
|
|
8
|
+
*
|
|
9
|
+
* export { icons as lucideIcons } from "lucide-react";
|
|
10
|
+
*
|
|
11
|
+
* That map is an object literal holding a reference to every icon component in
|
|
12
|
+
* the library, so a tree-shaker cannot drop a single one — reaching the map
|
|
13
|
+
* reaches all of them. Two callers reached it, both by name lookup: `getIcon`
|
|
14
|
+
* in `@rebasepro/app` (a collection's `icon: "ShoppingCart"`) and the admin's
|
|
15
|
+
* icon picker. That put 822 kB of SVG components into the entry chunk's static
|
|
16
|
+
* graph, `modulepreload`ed before authentication.
|
|
17
|
+
*
|
|
18
|
+
* The ~130 icons the product's own chrome uses are still plain named imports
|
|
19
|
+
* from `lucide-react`, which tree-shake to just those. Only the by-name lookup
|
|
20
|
+
* goes through here, and it pays for the map once, asynchronously, the first
|
|
21
|
+
* time a runtime-chosen icon is rendered.
|
|
22
|
+
*/
|
|
23
|
+
type IconsMap = Record<string, LucideIcon | undefined>;
|
|
24
|
+
/**
|
|
25
|
+
* The full lucide icon map, fetched on first use and cached for the session.
|
|
26
|
+
*
|
|
27
|
+
* Prefer {@link LucideIconByName}. This is here for callers that need to know
|
|
28
|
+
* whether a name resolves, such as the icon picker's grid.
|
|
29
|
+
*/
|
|
30
|
+
export declare function loadLucideIcons(): Promise<IconsMap>;
|
|
31
|
+
/** The map if it has already been fetched, otherwise `undefined`. Never fetches. */
|
|
32
|
+
export declare function getLoadedLucideIcons(): IconsMap | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Subscribe to the icon map.
|
|
35
|
+
*
|
|
36
|
+
* Returns it synchronously once loaded — including on the very first render of
|
|
37
|
+
* every icon after the first one anywhere, which is what stops a page full of
|
|
38
|
+
* icons from each flashing its placeholder.
|
|
39
|
+
*/
|
|
40
|
+
export declare function useLucideIcons(): IconsMap | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* The same resolution order the two call sites used against the eager map:
|
|
43
|
+
* exact name, then PascalCase, then `CircleAlert` as the visible "unknown icon".
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveLucideIcon(icons: IconsMap, name: string): LucideIcon | undefined;
|
|
46
|
+
export type LucideIconByNameProps = {
|
|
47
|
+
/**
|
|
48
|
+
* A PascalCase lucide icon name, e.g. `"ShoppingCart"`. Whether a name
|
|
49
|
+
* exists can be answered ahead of the fetch with `iconKeys`, which is a
|
|
50
|
+
* plain string array and costs nothing.
|
|
51
|
+
*/
|
|
52
|
+
name: string;
|
|
53
|
+
size?: number;
|
|
54
|
+
className?: string;
|
|
55
|
+
/** Rendered while the icon set is in flight. Defaults to a blank box of `size`. */
|
|
56
|
+
fallback?: React.ReactNode;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* An icon named at runtime. Renders `fallback` until the icon set arrives.
|
|
60
|
+
*/
|
|
61
|
+
export declare const LucideIconByName: React.MemoExoticComponent<({ name, size, className, fallback }: LucideIconByNameProps) => React.JSX.Element>;
|
|
62
|
+
export {};
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -4,5 +4,32 @@ export * from "./Icon";
|
|
|
4
4
|
export * from "./GitHubIcon";
|
|
5
5
|
export * from "./HandleIcon";
|
|
6
6
|
export type { LucideProps, LucideIcon } from "lucide-react";
|
|
7
|
+
export * from "./LucideIconByName";
|
|
8
|
+
/**
|
|
9
|
+
* lucide's full `icons` map, keyed by PascalCase name.
|
|
10
|
+
*
|
|
11
|
+
* Read the cost before reaching for it. The map holds a reference to every
|
|
12
|
+
* icon in the library, so importing it pulls all ~1,750 into whatever chunk
|
|
13
|
+
* you import it from — measured at **822 kB uncompressed**. There is no
|
|
14
|
+
* tree-shaking that helps: the object literal names them all.
|
|
15
|
+
*
|
|
16
|
+
* It used to be reached by this package's own navigation chrome, which put
|
|
17
|
+
* that 822 kB in the entry chunk, modulepreloaded on the login screen, for
|
|
18
|
+
* every visitor of every Rebase admin panel. Those call sites now use
|
|
19
|
+
* {@link LucideIconByName}, so the weight is no longer anybody's by default —
|
|
20
|
+
* it is yours only if you import this binding.
|
|
21
|
+
*
|
|
22
|
+
* Prefer, in order:
|
|
23
|
+
*
|
|
24
|
+
* - {@link LucideIconByName} — renders by name, fetches the set on first use;
|
|
25
|
+
* - {@link iconKeys} — a plain string array, if you only need to know whether
|
|
26
|
+
* a name exists (costs nothing);
|
|
27
|
+
* - {@link loadLucideIcons} — the same map, `await`ed, so it lands in an async
|
|
28
|
+
* chunk instead of your entry;
|
|
29
|
+
* - this, when you genuinely need the whole map synchronously at module scope.
|
|
30
|
+
*
|
|
31
|
+
* @see LucideIconByName
|
|
32
|
+
* @see loadLucideIcons
|
|
33
|
+
*/
|
|
7
34
|
export { icons as lucideIcons } from "lucide-react";
|
|
8
35
|
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
|
@@ -2617,6 +2617,81 @@ function HandleIcon({ size = 24, color, className, onClick, style }) {
|
|
|
2617
2617
|
});
|
|
2618
2618
|
}
|
|
2619
2619
|
//#endregion
|
|
2620
|
+
//#region src/icons/LucideIconByName.tsx
|
|
2621
|
+
var loaded;
|
|
2622
|
+
var pending;
|
|
2623
|
+
/**
|
|
2624
|
+
* The full lucide icon map, fetched on first use and cached for the session.
|
|
2625
|
+
*
|
|
2626
|
+
* Prefer {@link LucideIconByName}. This is here for callers that need to know
|
|
2627
|
+
* whether a name resolves, such as the icon picker's grid.
|
|
2628
|
+
*/
|
|
2629
|
+
function loadLucideIcons() {
|
|
2630
|
+
if (loaded) return Promise.resolve(loaded);
|
|
2631
|
+
pending ??= import("lucide-react").then(({ icons }) => {
|
|
2632
|
+
loaded = icons;
|
|
2633
|
+
return loaded;
|
|
2634
|
+
});
|
|
2635
|
+
return pending;
|
|
2636
|
+
}
|
|
2637
|
+
/** The map if it has already been fetched, otherwise `undefined`. Never fetches. */
|
|
2638
|
+
function getLoadedLucideIcons() {
|
|
2639
|
+
return loaded;
|
|
2640
|
+
}
|
|
2641
|
+
/**
|
|
2642
|
+
* Subscribe to the icon map.
|
|
2643
|
+
*
|
|
2644
|
+
* Returns it synchronously once loaded — including on the very first render of
|
|
2645
|
+
* every icon after the first one anywhere, which is what stops a page full of
|
|
2646
|
+
* icons from each flashing its placeholder.
|
|
2647
|
+
*/
|
|
2648
|
+
function useLucideIcons() {
|
|
2649
|
+
const [map, setMap] = React.useState(loaded);
|
|
2650
|
+
React.useEffect(() => {
|
|
2651
|
+
if (map) return;
|
|
2652
|
+
let cancelled = false;
|
|
2653
|
+
loadLucideIcons().then((resolved) => {
|
|
2654
|
+
if (!cancelled) setMap(resolved);
|
|
2655
|
+
}).catch((error) => console.error("[rebase] could not load the icon set", error));
|
|
2656
|
+
return () => {
|
|
2657
|
+
cancelled = true;
|
|
2658
|
+
};
|
|
2659
|
+
}, [map]);
|
|
2660
|
+
return map;
|
|
2661
|
+
}
|
|
2662
|
+
function toPascalCase(str) {
|
|
2663
|
+
return str.split(/[-_]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join("");
|
|
2664
|
+
}
|
|
2665
|
+
/**
|
|
2666
|
+
* The same resolution order the two call sites used against the eager map:
|
|
2667
|
+
* exact name, then PascalCase, then `CircleAlert` as the visible "unknown icon".
|
|
2668
|
+
*/
|
|
2669
|
+
function resolveLucideIcon(icons, name) {
|
|
2670
|
+
return icons[name] ?? icons[toPascalCase(name)] ?? icons.CircleAlert;
|
|
2671
|
+
}
|
|
2672
|
+
/**
|
|
2673
|
+
* An icon named at runtime. Renders `fallback` until the icon set arrives.
|
|
2674
|
+
*/
|
|
2675
|
+
var LucideIconByName = React.memo(function LucideIconByName({ name, size, className, fallback }) {
|
|
2676
|
+
const icons = useLucideIcons();
|
|
2677
|
+
const Icon = icons ? resolveLucideIcon(icons, name) : void 0;
|
|
2678
|
+
if (!Icon) {
|
|
2679
|
+
if (fallback !== void 0) return /* @__PURE__ */ jsx(Fragment, { children: fallback });
|
|
2680
|
+
return /* @__PURE__ */ jsx("span", {
|
|
2681
|
+
"aria-hidden": true,
|
|
2682
|
+
className: "inline-block shrink-0",
|
|
2683
|
+
style: {
|
|
2684
|
+
width: size,
|
|
2685
|
+
height: size
|
|
2686
|
+
}
|
|
2687
|
+
});
|
|
2688
|
+
}
|
|
2689
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
2690
|
+
size,
|
|
2691
|
+
className
|
|
2692
|
+
});
|
|
2693
|
+
});
|
|
2694
|
+
//#endregion
|
|
2620
2695
|
//#region src/components/Alert.tsx
|
|
2621
2696
|
var getSizeClasses = (size) => {
|
|
2622
2697
|
switch (size) {
|
|
@@ -3537,9 +3612,11 @@ var InputLabel = React$1.forwardRef(function InputLabel(inProps, ref) {
|
|
|
3537
3612
|
});
|
|
3538
3613
|
//#endregion
|
|
3539
3614
|
//#region src/components/DateTimeField.tsx
|
|
3540
|
-
var DateTimeField = ({ value, label, onChange, disabled, clearable, mode = "date", error, size = "large", className, style, inputClassName, invisible, timezone }) => {
|
|
3615
|
+
var DateTimeField = ({ value, label, onChange, disabled, clearable, mode = "date", error, size = "large", className, style, inputClassName, invisible, timezone, "aria-label": ariaLabel }) => {
|
|
3541
3616
|
const inputRef = useRef(null);
|
|
3542
3617
|
const [focused, setFocused] = useState(false);
|
|
3618
|
+
const inputId = useId();
|
|
3619
|
+
const labelId = `${inputId}-label`;
|
|
3543
3620
|
const [internalValue, setInternalValue] = useState("");
|
|
3544
3621
|
const [isTyping, setIsTyping] = useState(false);
|
|
3545
3622
|
const invalidValue = value !== void 0 && value !== null && (!(value instanceof Date) || isNaN(value.getTime()));
|
|
@@ -3649,12 +3726,17 @@ var DateTimeField = ({ value, label, onChange, disabled, clearable, mode = "date
|
|
|
3649
3726
|
},
|
|
3650
3727
|
children: [
|
|
3651
3728
|
label && /* @__PURE__ */ jsx(InputLabel, {
|
|
3729
|
+
id: labelId,
|
|
3730
|
+
htmlFor: inputId,
|
|
3652
3731
|
className: cls("absolute top-1 pointer-events-none", !error ? focused ? "text-primary" : "text-text-secondary dark:text-text-secondary-dark" : "text-red-600 dark:text-red-500", disabled ? "opacity-50" : ""),
|
|
3653
3732
|
shrink: true,
|
|
3654
3733
|
children: label
|
|
3655
3734
|
}),
|
|
3656
3735
|
/* @__PURE__ */ jsx("input", {
|
|
3657
3736
|
ref: inputRef,
|
|
3737
|
+
id: inputId,
|
|
3738
|
+
"aria-labelledby": label ? labelId : void 0,
|
|
3739
|
+
"aria-label": label ? void 0 : ariaLabel,
|
|
3658
3740
|
type: mode === "date_time" ? "datetime-local" : "date",
|
|
3659
3741
|
value: isTyping ? internalValue : valueAsInputValue(value ?? null, mode),
|
|
3660
3742
|
onChange: handleInputChange,
|
|
@@ -3962,7 +4044,7 @@ var FilterChip = React.forwardRef(function FilterChip({ children, active = false
|
|
|
3962
4044
|
type: "button",
|
|
3963
4045
|
onClick,
|
|
3964
4046
|
disabled,
|
|
3965
|
-
className: cls("inline-flex items-center gap-1 rounded-full", "font-medium whitespace-nowrap select-none shrink-0", "transition-colors duration-150", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50", sizeClasses[size], active ? "bg-primary/12 text-primary dark:bg-primary/20 dark:text-primary shadow-[inset_0_0_0_1.5px_var(--color-primary)]" : cls("bg-surface-accent-100 text-text-secondary dark:bg-surface-accent-800 dark:text-text-secondary-dark", !disabled && "
|
|
4047
|
+
className: cls("inline-flex items-center gap-1 rounded-full", "font-medium whitespace-nowrap select-none shrink-0", "transition-colors duration-150", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50", sizeClasses[size], !disabled && "cursor-pointer", active ? cls("bg-primary/12 text-primary dark:bg-primary/20 dark:text-primary shadow-[inset_0_0_0_1.5px_var(--color-primary)]", !disabled && "hover:bg-primary/20 dark:hover:bg-primary/30") : cls("bg-surface-accent-100 text-text-secondary dark:bg-surface-accent-800 dark:text-text-secondary-dark", !disabled && "hover:bg-surface-accent-200 dark:hover:bg-surface-accent-700"), disabled && "opacity-50 cursor-not-allowed", className),
|
|
3966
4048
|
...rest,
|
|
3967
4049
|
children: [icon, children]
|
|
3968
4050
|
});
|
|
@@ -5100,7 +5182,7 @@ var TextField = forwardRef(({ value, onChange, label, type = "text", multiline =
|
|
|
5100
5182
|
...inputProps,
|
|
5101
5183
|
ref: inputRef,
|
|
5102
5184
|
id: inputId,
|
|
5103
|
-
"aria-labelledby": label ? labelId :
|
|
5185
|
+
"aria-labelledby": label ? labelId : inputProps["aria-labelledby"],
|
|
5104
5186
|
"aria-invalid": error || void 0,
|
|
5105
5187
|
"aria-disabled": disabled || void 0,
|
|
5106
5188
|
placeholder: focused || hasValue || !label ? placeholder : void 0,
|
|
@@ -5116,7 +5198,7 @@ var TextField = forwardRef(({ value, onChange, label, type = "text", multiline =
|
|
|
5116
5198
|
...inputProps,
|
|
5117
5199
|
ref: inputRef,
|
|
5118
5200
|
id: inputId,
|
|
5119
|
-
"aria-labelledby": label ? labelId :
|
|
5201
|
+
"aria-labelledby": label ? labelId : inputProps["aria-labelledby"],
|
|
5120
5202
|
"aria-invalid": error || void 0,
|
|
5121
5203
|
"aria-disabled": disabled || void 0,
|
|
5122
5204
|
disabled,
|
|
@@ -8660,6 +8742,6 @@ function CollectionView({ dataController, properties, propertiesOrder, displayed
|
|
|
8660
8742
|
});
|
|
8661
8743
|
}
|
|
8662
8744
|
//#endregion
|
|
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 };
|
|
8745
|
+
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, LucideIconByName, 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, getLoadedLucideIcons, iconKeys, iconSize, loadLucideIcons, lucideIcons, paperMixin, resolveLucideIcon, useAutoComplete, useDebounceCallback, useDebounceValue, useDebouncedCallback, useInjectStyles, useLucideIcons, useOutsideAlerter, usePortalContainer, useVirtualTableCellSelected, useVirtualTableSelection };
|
|
8664
8746
|
|
|
8665
8747
|
//# sourceMappingURL=index.es.js.map
|