@inf-monkeys-tech/monkeys-design 0.4.33 → 0.4.35

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.
@@ -0,0 +1,273 @@
1
+ import { isValidElement, useRef, useEffect, useCallback } from 'react';
2
+ import { toast as toast$1, Toaster } from 'sonner';
3
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
+
5
+ // src/components/toast/index.tsx
6
+ var DEFAULT_TOAST_DURATION = 5200;
7
+ var TOAST_DEDUPE_WINDOW = 1200;
8
+ var DEFAULT_MESSAGES = {
9
+ errorTitle: "Error",
10
+ warningTitle: "Warning",
11
+ defaultErrorDescription: "Something went wrong.",
12
+ defaultWarningDescription: "Please check and try again."
13
+ };
14
+ var ACTIONABLE_TOAST_PATTERNS = [
15
+ /^(please|select|enter|provide|write|choose|confirm|fill)\b/i,
16
+ /^(请|请选择|请先|请输入|请填写|请确认|请留意)/
17
+ ];
18
+ var DEFAULT_TOAST_CLASS_NAMES = {
19
+ toast: "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
20
+ description: "group-[.toast]:text-muted-foreground",
21
+ actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
22
+ cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"
23
+ };
24
+ var recentToastSignatures = /* @__PURE__ */ new Map();
25
+ function cn(...classNames) {
26
+ return classNames.filter(Boolean).join(" ");
27
+ }
28
+ function isToastInput(input) {
29
+ if (!input || typeof input !== "object" || isValidElement(input)) {
30
+ return false;
31
+ }
32
+ return "title" in input || "description" in input || "variant" in input;
33
+ }
34
+ function isEmptyToastContent(value) {
35
+ return value == null || typeof value === "string" && !value.trim();
36
+ }
37
+ function normalizeToastInput(input, variant, options) {
38
+ const { description: _description, ...baseOptions } = options ?? {};
39
+ if (isToastInput(input)) {
40
+ return {
41
+ ...baseOptions,
42
+ ...input,
43
+ variant: input.variant ?? variant
44
+ };
45
+ }
46
+ return {
47
+ ...baseOptions,
48
+ title: input,
49
+ variant
50
+ };
51
+ }
52
+ function resolveValue(candidate, value) {
53
+ if (typeof candidate === "function") {
54
+ return candidate(value);
55
+ }
56
+ return candidate;
57
+ }
58
+ function shouldEmitToast(signature) {
59
+ const now = Date.now();
60
+ for (const [key, timestamp] of recentToastSignatures.entries()) {
61
+ if (now - timestamp > TOAST_DEDUPE_WINDOW) {
62
+ recentToastSignatures.delete(key);
63
+ }
64
+ }
65
+ const previousTimestamp = recentToastSignatures.get(signature);
66
+ if (previousTimestamp && now - previousTimestamp < TOAST_DEDUPE_WINDOW) {
67
+ return false;
68
+ }
69
+ recentToastSignatures.set(signature, now);
70
+ return true;
71
+ }
72
+ function translateMessage(translate, value) {
73
+ return translate ? translate(value, { defaultValue: value }) : value;
74
+ }
75
+ function getDefaultMessage(messages, key) {
76
+ return messages?.[key] ?? DEFAULT_MESSAGES[key];
77
+ }
78
+ function emitToast(input) {
79
+ const { title, description, duration, variant = "info", ...options } = input;
80
+ const message = isEmptyToastContent(title) ? description : title;
81
+ if (isEmptyToastContent(message)) {
82
+ return void 0;
83
+ }
84
+ const descriptionValue = !isEmptyToastContent(description) && description !== message ? description : void 0;
85
+ const sonnerOptions = {
86
+ ...options,
87
+ description: descriptionValue,
88
+ duration: duration ?? DEFAULT_TOAST_DURATION
89
+ };
90
+ switch (variant) {
91
+ case "error":
92
+ return toast$1.error(message, sonnerOptions);
93
+ case "warning":
94
+ return toast$1.warning(message, sonnerOptions);
95
+ case "success":
96
+ return toast$1.success(message, sonnerOptions);
97
+ default:
98
+ return toast$1(message, sonnerOptions);
99
+ }
100
+ }
101
+ function extractToastMessage(value, fallback = "") {
102
+ if (!value) return fallback;
103
+ if (typeof value === "string") {
104
+ const nextMessage = value.trim();
105
+ return nextMessage || fallback;
106
+ }
107
+ if (value instanceof Error) {
108
+ const nextMessage = String(value.message || "").trim();
109
+ return nextMessage || fallback;
110
+ }
111
+ if (typeof value === "object" && typeof value.message === "string") {
112
+ const nextMessage = value.message.trim();
113
+ if (nextMessage) return nextMessage;
114
+ }
115
+ if (typeof value === "object" && typeof value.title === "string") {
116
+ const nextTitle = value.title.trim();
117
+ if (nextTitle) return nextTitle;
118
+ }
119
+ return fallback;
120
+ }
121
+ function resolveToastVariantForMessage(value) {
122
+ const message = extractToastMessage(value);
123
+ if (ACTIONABLE_TOAST_PATTERNS.some((pattern) => pattern.test(message))) {
124
+ return "warning";
125
+ }
126
+ return "error";
127
+ }
128
+ function MonkeysToaster({
129
+ className,
130
+ closeButton = true,
131
+ position = "bottom-right",
132
+ richColors = true,
133
+ toastOptions,
134
+ useThemeClassNames = true,
135
+ visibleToasts = 10,
136
+ ...props
137
+ }) {
138
+ return /* @__PURE__ */ jsx(
139
+ Toaster,
140
+ {
141
+ className: cn("pointer-events-auto toaster group", className),
142
+ closeButton,
143
+ position,
144
+ richColors,
145
+ toastOptions: {
146
+ ...toastOptions,
147
+ classNames: useThemeClassNames ? {
148
+ ...DEFAULT_TOAST_CLASS_NAMES,
149
+ ...toastOptions?.classNames
150
+ } : toastOptions?.classNames
151
+ },
152
+ visibleToasts,
153
+ ...props
154
+ }
155
+ );
156
+ }
157
+ function MonkeysToastProvider({ children, toasterProps }) {
158
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
159
+ children,
160
+ /* @__PURE__ */ jsx(MonkeysToaster, { ...toasterProps })
161
+ ] });
162
+ }
163
+ function useToastOnValue(value, options = {}) {
164
+ const previousSignatureRef = useRef(null);
165
+ const translate = options.translate;
166
+ useEffect(() => {
167
+ if (!value) {
168
+ previousSignatureRef.current = null;
169
+ return;
170
+ }
171
+ const variant = resolveValue(options.variant, value) ?? "error";
172
+ const rawTitle = resolveValue(options.title, value);
173
+ const rawFallbackDescription = resolveValue(options.fallbackDescription, value);
174
+ const rawDescription = resolveValue(options.description, value) ?? extractToastMessage(value, rawFallbackDescription || "");
175
+ const title = translateMessage(
176
+ translate,
177
+ rawTitle || getDefaultMessage(options.messages, variant === "warning" ? "warningTitle" : "errorTitle")
178
+ );
179
+ const description = translateMessage(
180
+ translate,
181
+ rawDescription || getDefaultMessage(
182
+ options.messages,
183
+ variant === "warning" ? "defaultWarningDescription" : "defaultErrorDescription"
184
+ )
185
+ );
186
+ const signature = resolveValue(options.signature, value) || [variant, title, description].join("|");
187
+ if (previousSignatureRef.current === signature) {
188
+ return;
189
+ }
190
+ previousSignatureRef.current = signature;
191
+ if (!shouldEmitToast(signature)) {
192
+ return;
193
+ }
194
+ toast.show({
195
+ variant,
196
+ title,
197
+ description,
198
+ duration: resolveValue(options.duration, value)
199
+ });
200
+ }, [
201
+ options.description,
202
+ options.duration,
203
+ options.fallbackDescription,
204
+ options.messages,
205
+ options.signature,
206
+ options.title,
207
+ options.variant,
208
+ translate,
209
+ value
210
+ ]);
211
+ }
212
+ function useToastFeed(items, options = {}) {
213
+ const previousVisibleSignaturesRef = useRef(/* @__PURE__ */ new Set());
214
+ const translate = options.translate;
215
+ const emitItem = useCallback(
216
+ (item, index, visibleSignatures) => {
217
+ const variant = item.variant ?? "info";
218
+ const title = translateMessage(
219
+ translate,
220
+ item.title || getDefaultMessage(options.messages, variant === "warning" ? "warningTitle" : "errorTitle")
221
+ );
222
+ const description = translateMessage(
223
+ translate,
224
+ item.description || getDefaultMessage(
225
+ options.messages,
226
+ variant === "warning" ? "defaultWarningDescription" : "defaultErrorDescription"
227
+ )
228
+ );
229
+ const signature = item.signature || [variant, title, description, index].join("|");
230
+ visibleSignatures.add(signature);
231
+ if (previousVisibleSignaturesRef.current.has(signature) || !shouldEmitToast(signature)) {
232
+ return;
233
+ }
234
+ toast.show({
235
+ variant,
236
+ title,
237
+ description,
238
+ duration: item.duration
239
+ });
240
+ },
241
+ [options.messages, translate]
242
+ );
243
+ useEffect(() => {
244
+ const visibleSignatures = /* @__PURE__ */ new Set();
245
+ items.forEach((item, index) => {
246
+ if (item) {
247
+ emitItem(item, index, visibleSignatures);
248
+ }
249
+ });
250
+ previousVisibleSignaturesRef.current = visibleSignatures;
251
+ }, [emitItem, items]);
252
+ }
253
+ var toast = Object.assign(
254
+ (message, options) => toast$1(message, options),
255
+ {
256
+ show: emitToast,
257
+ error: (input, options) => emitToast(normalizeToastInput(input, "error", options)),
258
+ warning: (input, options) => emitToast(normalizeToastInput(input, "warning", options)),
259
+ success: (input, options) => emitToast(normalizeToastInput(input, "success", options)),
260
+ info: (input, options) => emitToast(normalizeToastInput(input, "info", options)),
261
+ message: toast$1.message,
262
+ promise: toast$1.promise,
263
+ dismiss: toast$1.dismiss,
264
+ loading: toast$1.loading,
265
+ custom: toast$1.custom,
266
+ getHistory: toast$1.getHistory,
267
+ getToasts: toast$1.getToasts
268
+ }
269
+ );
270
+
271
+ export { MonkeysToastProvider, MonkeysToaster, MonkeysToastProvider as ToastProvider, MonkeysToaster as Toaster, extractToastMessage, resolveToastVariantForMessage, toast, useToastFeed, useToastOnValue };
272
+ //# sourceMappingURL=index.mjs.map
273
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/toast/index.tsx"],"names":["sonnerToast","SonnerToaster"],"mappings":"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","file":"index.mjs","sourcesContent":["import {\n isValidElement,\n type ReactElement,\n type ReactNode,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\nimport {\n Toaster as SonnerToaster,\n toast as sonnerToast,\n type ExternalToast,\n type ToastT,\n type ToastToDismiss,\n type ToasterProps,\n} from 'sonner';\n\nexport type ToastVariant = 'error' | 'warning' | 'success' | 'info';\n\nexport type ToastInput = Omit<ExternalToast, 'description'> & {\n title?: ReactNode;\n description?: ReactNode;\n variant?: ToastVariant;\n};\n\nexport type MonkeysToasterProps = ToasterProps & {\n useThemeClassNames?: boolean;\n};\n\nexport type MonkeysToastProviderProps = {\n children: ReactNode;\n toasterProps?: MonkeysToasterProps;\n};\n\ntype ToastValue =\n | Error\n | string\n | {\n message?: unknown;\n title?: unknown;\n }\n | null\n | undefined;\n\ntype ToastResolver<T> = T | ((value: ToastValue) => T);\ntype ToastTranslate = (value: string, params?: Record<string, unknown>) => string;\n\ntype ToastValueOptions = {\n variant?: ToastResolver<ToastVariant | undefined>;\n title?: ToastResolver<string | undefined>;\n description?: ToastResolver<string | undefined>;\n fallbackDescription?: ToastResolver<string | undefined>;\n signature?: ToastResolver<string | undefined>;\n duration?: ToastResolver<number | undefined>;\n translate?: ToastTranslate;\n messages?: Partial<ToastDefaultMessages>;\n};\n\ntype ToastFeedEntry =\n | {\n variant?: ToastVariant;\n title?: string;\n description?: string;\n duration?: number;\n signature?: string;\n }\n | null\n | undefined;\n\ntype ToastDefaultMessages = {\n errorTitle: string;\n warningTitle: string;\n defaultErrorDescription: string;\n defaultWarningDescription: string;\n};\n\ntype ToastPromiseInput<T = unknown> = Promise<T> | (() => Promise<T>);\ntype ToastPromiseReturn<T = unknown> = string | number | { unwrap: () => Promise<T> };\n\nexport type MonkeysToastApi = {\n (message: ReactNode, options?: ExternalToast): string | number;\n show: (input: ToastInput) => string | number | undefined;\n error: (input: ReactNode | ToastInput, options?: ExternalToast) => string | number | undefined;\n warning: (input: ReactNode | ToastInput, options?: ExternalToast) => string | number | undefined;\n success: (input: ReactNode | ToastInput, options?: ExternalToast) => string | number | undefined;\n info: (input: ReactNode | ToastInput, options?: ExternalToast) => string | number | undefined;\n message: (message: ReactNode, options?: ExternalToast) => string | number;\n promise: <T = unknown>(promise: ToastPromiseInput<T>, data?: unknown) => ToastPromiseReturn<T>;\n dismiss: (id?: number | string) => string | number;\n loading: (message: ReactNode, options?: ExternalToast) => string | number;\n custom: (jsx: (id: number | string) => ReactElement, data?: ExternalToast) => string | number;\n getHistory: () => Array<ToastT | ToastToDismiss>;\n getToasts: () => Array<ToastT | ToastToDismiss>;\n};\n\nconst DEFAULT_TOAST_DURATION = 5200;\nconst TOAST_DEDUPE_WINDOW = 1200;\n\nconst DEFAULT_MESSAGES: ToastDefaultMessages = {\n errorTitle: 'Error',\n warningTitle: 'Warning',\n defaultErrorDescription: 'Something went wrong.',\n defaultWarningDescription: 'Please check and try again.',\n};\n\nconst ACTIONABLE_TOAST_PATTERNS = [\n /^(please|select|enter|provide|write|choose|confirm|fill)\\b/i,\n /^(请|请选择|请先|请输入|请填写|请确认|请留意)/,\n];\n\nconst DEFAULT_TOAST_CLASS_NAMES = {\n toast:\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n description: 'group-[.toast]:text-muted-foreground',\n actionButton: 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',\n cancelButton: 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground',\n};\n\nconst recentToastSignatures = new Map<string, number>();\n\nfunction cn(...classNames: Array<string | undefined | false>) {\n return classNames.filter(Boolean).join(' ');\n}\n\nfunction isToastInput(input: unknown): input is ToastInput {\n if (!input || typeof input !== 'object' || isValidElement(input)) {\n return false;\n }\n\n return 'title' in input || 'description' in input || 'variant' in input;\n}\n\nfunction isEmptyToastContent(value: ReactNode) {\n return value == null || (typeof value === 'string' && !value.trim());\n}\n\nfunction normalizeToastInput(input: ReactNode | ToastInput, variant: ToastVariant, options?: ExternalToast): ToastInput {\n const { description: _description, ...baseOptions } = options ?? {};\n\n if (isToastInput(input)) {\n return {\n ...baseOptions,\n ...input,\n variant: input.variant ?? variant,\n };\n }\n\n return {\n ...baseOptions,\n title: input,\n variant,\n };\n}\n\nfunction resolveValue<T>(candidate: ToastResolver<T> | undefined, value: ToastValue) {\n if (typeof candidate === 'function') {\n return (candidate as (input: ToastValue) => T)(value);\n }\n\n return candidate;\n}\n\nfunction shouldEmitToast(signature: string) {\n const now = Date.now();\n\n for (const [key, timestamp] of recentToastSignatures.entries()) {\n if (now - timestamp > TOAST_DEDUPE_WINDOW) {\n recentToastSignatures.delete(key);\n }\n }\n\n const previousTimestamp = recentToastSignatures.get(signature);\n if (previousTimestamp && now - previousTimestamp < TOAST_DEDUPE_WINDOW) {\n return false;\n }\n\n recentToastSignatures.set(signature, now);\n return true;\n}\n\nfunction translateMessage(translate: ToastTranslate | undefined, value: string) {\n return translate ? translate(value, { defaultValue: value }) : value;\n}\n\nfunction getDefaultMessage(messages: Partial<ToastDefaultMessages> | undefined, key: keyof ToastDefaultMessages) {\n return messages?.[key] ?? DEFAULT_MESSAGES[key];\n}\n\nfunction emitToast(input: ToastInput) {\n const { title, description, duration, variant = 'info', ...options } = input;\n const message = isEmptyToastContent(title) ? description : title;\n\n if (isEmptyToastContent(message)) {\n return undefined;\n }\n\n const descriptionValue =\n !isEmptyToastContent(description) && description !== message ? description : undefined;\n const sonnerOptions: ExternalToast = {\n ...options,\n description: descriptionValue,\n duration: duration ?? DEFAULT_TOAST_DURATION,\n };\n\n switch (variant) {\n case 'error':\n return sonnerToast.error(message, sonnerOptions);\n case 'warning':\n return sonnerToast.warning(message, sonnerOptions);\n case 'success':\n return sonnerToast.success(message, sonnerOptions);\n default:\n return sonnerToast(message, sonnerOptions);\n }\n}\n\nexport function extractToastMessage(value: ToastValue, fallback = '') {\n if (!value) return fallback;\n\n if (typeof value === 'string') {\n const nextMessage = value.trim();\n return nextMessage || fallback;\n }\n\n if (value instanceof Error) {\n const nextMessage = String(value.message || '').trim();\n return nextMessage || fallback;\n }\n\n if (typeof value === 'object' && typeof value.message === 'string') {\n const nextMessage = value.message.trim();\n if (nextMessage) return nextMessage;\n }\n\n if (typeof value === 'object' && typeof value.title === 'string') {\n const nextTitle = value.title.trim();\n if (nextTitle) return nextTitle;\n }\n\n return fallback;\n}\n\nexport function resolveToastVariantForMessage(value: ToastValue): ToastVariant {\n const message = extractToastMessage(value);\n\n if (ACTIONABLE_TOAST_PATTERNS.some((pattern) => pattern.test(message))) {\n return 'warning';\n }\n\n return 'error';\n}\n\nexport function MonkeysToaster({\n className,\n closeButton = true,\n position = 'bottom-right',\n richColors = true,\n toastOptions,\n useThemeClassNames = true,\n visibleToasts = 10,\n ...props\n}: MonkeysToasterProps) {\n return (\n <SonnerToaster\n className={cn('pointer-events-auto toaster group', className)}\n closeButton={closeButton}\n position={position}\n richColors={richColors}\n toastOptions={{\n ...toastOptions,\n classNames: useThemeClassNames\n ? {\n ...DEFAULT_TOAST_CLASS_NAMES,\n ...toastOptions?.classNames,\n }\n : toastOptions?.classNames,\n }}\n visibleToasts={visibleToasts}\n {...props}\n />\n );\n}\n\nexport function MonkeysToastProvider({ children, toasterProps }: MonkeysToastProviderProps) {\n return (\n <>\n {children}\n <MonkeysToaster {...toasterProps} />\n </>\n );\n}\n\nexport function useToastOnValue(value: ToastValue, options: ToastValueOptions = {}) {\n const previousSignatureRef = useRef<string | null>(null);\n const translate = options.translate;\n\n useEffect(() => {\n if (!value) {\n previousSignatureRef.current = null;\n return;\n }\n\n const variant = resolveValue(options.variant, value) ?? 'error';\n const rawTitle = resolveValue(options.title, value);\n const rawFallbackDescription = resolveValue(options.fallbackDescription, value);\n const rawDescription =\n resolveValue(options.description, value) ?? extractToastMessage(value, rawFallbackDescription || '');\n const title = translateMessage(\n translate,\n rawTitle || getDefaultMessage(options.messages, variant === 'warning' ? 'warningTitle' : 'errorTitle'),\n );\n const description = translateMessage(\n translate,\n rawDescription ||\n getDefaultMessage(\n options.messages,\n variant === 'warning' ? 'defaultWarningDescription' : 'defaultErrorDescription',\n ),\n );\n const signature = resolveValue(options.signature, value) || [variant, title, description].join('|');\n\n if (previousSignatureRef.current === signature) {\n return;\n }\n\n previousSignatureRef.current = signature;\n\n if (!shouldEmitToast(signature)) {\n return;\n }\n\n toast.show({\n variant,\n title,\n description,\n duration: resolveValue(options.duration, value),\n });\n }, [\n options.description,\n options.duration,\n options.fallbackDescription,\n options.messages,\n options.signature,\n options.title,\n options.variant,\n translate,\n value,\n ]);\n}\n\nexport function useToastFeed(items: ToastFeedEntry[], options: Pick<ToastValueOptions, 'messages' | 'translate'> = {}) {\n const previousVisibleSignaturesRef = useRef<Set<string>>(new Set());\n const translate = options.translate;\n const emitItem = useCallback(\n (item: NonNullable<ToastFeedEntry>, index: number, visibleSignatures: Set<string>) => {\n const variant = item.variant ?? 'info';\n const title = translateMessage(\n translate,\n item.title || getDefaultMessage(options.messages, variant === 'warning' ? 'warningTitle' : 'errorTitle'),\n );\n const description = translateMessage(\n translate,\n item.description ||\n getDefaultMessage(\n options.messages,\n variant === 'warning' ? 'defaultWarningDescription' : 'defaultErrorDescription',\n ),\n );\n const signature = item.signature || [variant, title, description, index].join('|');\n\n visibleSignatures.add(signature);\n\n if (previousVisibleSignaturesRef.current.has(signature) || !shouldEmitToast(signature)) {\n return;\n }\n\n toast.show({\n variant,\n title,\n description,\n duration: item.duration,\n });\n },\n [options.messages, translate],\n );\n\n useEffect(() => {\n const visibleSignatures = new Set<string>();\n\n items.forEach((item, index) => {\n if (item) {\n emitItem(item, index, visibleSignatures);\n }\n });\n\n previousVisibleSignaturesRef.current = visibleSignatures;\n }, [emitItem, items]);\n}\n\nexport const toast: MonkeysToastApi = Object.assign(\n (message: ReactNode, options?: ExternalToast) => sonnerToast(message, options),\n {\n show: emitToast,\n error: (input: ReactNode | ToastInput, options?: ExternalToast) =>\n emitToast(normalizeToastInput(input, 'error', options)),\n warning: (input: ReactNode | ToastInput, options?: ExternalToast) =>\n emitToast(normalizeToastInput(input, 'warning', options)),\n success: (input: ReactNode | ToastInput, options?: ExternalToast) =>\n emitToast(normalizeToastInput(input, 'success', options)),\n info: (input: ReactNode | ToastInput, options?: ExternalToast) =>\n emitToast(normalizeToastInput(input, 'info', options)),\n message: sonnerToast.message,\n promise: sonnerToast.promise as MonkeysToastApi['promise'],\n dismiss: sonnerToast.dismiss,\n loading: sonnerToast.loading,\n custom: sonnerToast.custom as (jsx: (id: number | string) => ReactElement, data?: ExternalToast) => string | number,\n getHistory: sonnerToast.getHistory,\n getToasts: sonnerToast.getToasts,\n },\n);\n\nexport { MonkeysToaster as Toaster, MonkeysToastProvider as ToastProvider };\nexport type { ExternalToast, ToasterProps };\n"]}
package/dist/index.d.mts CHANGED
@@ -9,11 +9,13 @@ export { CONCEPT_CONFIG, CONCEPT_DEFAULT_QUICK_ACTIONS, ConceptDesignLandingPage
9
9
  export { AuthDivider, AuthDividerProps, EmailAuth, EmailAuthProps, LoginLayout, LoginLayoutProps, OAuthButton, OAuthButtonProps, OIDCButton, OIDCButtonProps, PendingApproval, PendingApprovalProps } from './components/login/index.mjs';
10
10
  export { AppHeader, AppHeaderLogo, AppHeaderProps, AppHeaderUser, AppLayout, AppLayoutProps, AppSidebar, AppSidebarProps, HeaderTab, NavButton, NavButtonProps, SidebarAccount, SidebarNavItem, cn } from './components/layout/index.mjs';
11
11
  export { InteractiveTable, InteractiveTableClassNames, InteractiveTableColumn, InteractiveTableColumnMenuLabels, InteractiveTableEditableTextCell, InteractiveTableEditableTextCellProps, InteractiveTableHeaderContext, InteractiveTableHeaderProps, InteractiveTableProps, InteractiveTableReadonlyCell, InteractiveTableReadonlyCellProps, InteractiveTableRenderContext, InteractiveTableRowState, InteractiveTableSelectCell, InteractiveTableSelectCellProps, InteractiveTableSelectOption, WorkbenchContentPane, WorkbenchContentPaneBodyProps, WorkbenchContentPaneClassNames, WorkbenchContentPaneProps, WorkbenchContentToolbar, WorkbenchContentToolbarClassNames, WorkbenchContentToolbarProps, WorkbenchContentToolbarViewModeOption, WorkbenchDetailSidebar, WorkbenchDetailSidebarBodyProps, WorkbenchDetailSidebarClassNames, WorkbenchDetailSidebarField, WorkbenchDetailSidebarProps, WorkbenchDetailSidebarRenderContext, WorkbenchDetailSidebarSection, WorkbenchGalleryCard, WorkbenchGalleryCardMetaContext, WorkbenchGalleryCardProps, WorkbenchGalleryCardRenderContext, WorkbenchGalleryColumn, WorkbenchGalleryLabels, WorkbenchGalleryRecordVisual, WorkbenchGallerySettingsButton, WorkbenchGallerySettingsButtonClassNames, WorkbenchGallerySettingsButtonProps, WorkbenchGallerySettingsLabels, WorkbenchGallerySettingsOption, WorkbenchGallerySettingsPanel, WorkbenchGallerySettingsPanelClassNames, WorkbenchGallerySettingsPanelProps, WorkbenchGallerySettingsValue, WorkbenchGalleryView, WorkbenchGalleryViewProps, WorkbenchLaneClassNames, WorkbenchLaneColumn, WorkbenchLaneRenderCardContext, WorkbenchLaneView, WorkbenchLaneViewProps, WorkbenchMasonryItemSize, WorkbenchMasonryLayout, WorkbenchMasonryLayoutContext, WorkbenchMasonryLayoutProps, WorkbenchResizableSidebar, WorkbenchResizableSidebarClassNames, WorkbenchResizableSidebarItem, WorkbenchResizableSidebarProps, WorkbenchTableView, WorkbenchTableViewClassNames, WorkbenchTableViewColumn, WorkbenchTableViewHeaderContext, WorkbenchTableViewProps, WorkbenchTableViewRenderContext } from './components/workbench/index.mjs';
12
+ export { MonkeysToastApi, ToastProvider as MonkeysToastProvider, MonkeysToastProviderProps, Toaster as MonkeysToaster, MonkeysToasterProps, ToastInput, ToastProvider, ToastVariant, Toaster, extractToastMessage, resolveToastVariantForMessage, toast, useToastFeed, useToastOnValue } from './components/toast/index.mjs';
12
13
  export { B as BaseAccordion, a as BaseAvatar, b as BaseBadge, c as BaseBreadcrumb, d as BaseButton, e as BaseCheckbox, f as BaseContextMenu, g as BaseContextMenuCheckboxItem, h as BaseContextMenuContent, i as BaseContextMenuItem, j as BaseContextMenuLabel, k as BaseContextMenuRadioGroup, l as BaseContextMenuRadioItem, m as BaseContextMenuSeparator, n as BaseContextMenuSub, o as BaseContextMenuSubContent, p as BaseContextMenuSubTrigger, q as BaseContextMenuTrigger, r as BaseDescriptionList, s as BaseDialog, t as BaseDivider, u as BaseDropdownMenu, v as BaseEmptyState, w as BaseField, x as BaseInput, y as BaseLayout, z as BaseLayoutPane, A as BaseLayoutResizeHandle, C as BaseLayoutSplit, D as BaseLoadingState, E as BaseNotice, G as BasePagination, F as BasePanel, H as BaseProgress, I as BaseRadioGroup, K as BaseSectionHeader, L as BaseSegmentedControl, J as BaseSelect, M as BaseSkeleton, N as BaseSwitch, O as BaseTable, P as BaseTableBody, Q as BaseTableCaption, R as BaseTableCell, S as BaseTableContainer, T as BaseTableEmpty, U as BaseTableFooter, V as BaseTableFooterBar, W as BaseTableHead, X as BaseTableHeader, Y as BaseTableLoading, Z as BaseTableRow, _ as BaseTabs, $ as BaseTextarea, a1 as BaseToolbar, a0 as BaseTooltip, a2 as getBaseBadgeToneClassName, a3 as getBaseButtonToneClassName, a4 as getBaseMenuItemToneClassName, a5 as getBaseNoticeToneClassName, a6 as resolveBaseAppearance } from './theme-CoG9vCPT.mjs';
13
14
  export { B as BaseAccordionClassNames, a as BaseAccordionItem, b as BaseAccordionProps, c as BaseAppearance, d as BaseAvatarClassNames, e as BaseAvatarProps, f as BaseBackground, g as BaseBadgeClassNames, h as BaseBadgeProps, i as BaseBorder, j as BaseBreadcrumbClassNames, k as BaseBreadcrumbItem, l as BaseBreadcrumbProps, m as BaseButtonClassNames, n as BaseButtonProps, o as BaseCheckboxClassNames, p as BaseCheckboxProps, s as BaseContextMenuCheckboxItemProps, t as BaseContextMenuClassNames, u as BaseContextMenuContentClassNames, v as BaseContextMenuContentProps, w as BaseContextMenuItemClassNames, x as BaseContextMenuItemProps, y as BaseContextMenuLabelProps, z as BaseContextMenuProps, A as BaseContextMenuRadioGroupProps, C as BaseContextMenuRadioItemProps, D as BaseContextMenuSeparatorProps, E as BaseContextMenuSubContentProps, F as BaseContextMenuSubProps, G as BaseContextMenuSubTriggerProps, H as BaseContextMenuTriggerProps, q as BaseControlClassNames, r as BaseControlTone, I as BaseDensity, J as BaseDescriptionListClassNames, K as BaseDescriptionListItem, L as BaseDescriptionListProps, M as BaseDialogClassNames, N as BaseDialogProps, O as BaseDividerClassNames, P as BaseDividerProps, Q as BaseDropdownMenuClassNames, R as BaseDropdownMenuItem, S as BaseDropdownMenuPlacement, T as BaseDropdownMenuProps, U as BaseEmptyStateProps, V as BaseFieldClassNames, W as BaseFieldProps, X as BaseInputProps, Y as BaseLayoutClassNames, Z as BaseLayoutGap, _ as BaseLayoutOrientation, $ as BaseLayoutPaneClassNames, a0 as BaseLayoutPaneProps, a1 as BaseLayoutPaneSurface, a2 as BaseLayoutProps, a3 as BaseLayoutResizeHandleClassNames, a4 as BaseLayoutResizeHandleProps, a5 as BaseLayoutSize, a6 as BaseLayoutSplitClassNames, a7 as BaseLayoutSplitProps, a8 as BaseLoadingStateProps, a9 as BaseNoticeClassNames, aa as BaseNoticeProps, ad as BasePaginationClassNames, ae as BasePaginationProps, ab as BasePanelClassNames, ac as BasePanelProps, af as BaseProgressClassNames, ag as BaseProgressProps, ai as BaseRadioGroupClassNames, aj as BaseRadioGroupProps, ak as BaseRadioOption, ah as BaseRadius, al as BaseResolvedTheme, am as BaseSectionHeaderClassNames, an as BaseSectionHeaderProps, aq as BaseSegmentedControlClassNames, ar as BaseSegmentedControlOption, as as BaseSegmentedControlProps, ao as BaseSelectOption, ap as BaseSelectProps, at as BaseSkeletonClassNames, au as BaseSkeletonProps, av as BaseStateClassNames, aw as BaseSwitchClassNames, ax as BaseSwitchProps, ay as BaseTableAlign, az as BaseTableBodyProps, aA as BaseTableCaptionClassNames, aB as BaseTableCaptionProps, aC as BaseTableCellClassNames, aD as BaseTableCellProps, aE as BaseTableClassNames, aF as BaseTableColumnInteractionOptions, aG as BaseTableColumnOrderChangeDetail, aH as BaseTableColumnSizeChangeDetail, aI as BaseTableColumnSizes, aJ as BaseTableContainerClassNames, aK as BaseTableContainerProps, aL as BaseTableEmptyClassNames, aM as BaseTableEmptyProps, aN as BaseTableFooterBarClassNames, aO as BaseTableFooterBarProps, aP as BaseTableFooterProps, aR as BaseTableHeadClassNames, aS as BaseTableHeadProps, aQ as BaseTableHeaderProps, aT as BaseTableLoadingClassNames, aU as BaseTableLoadingProps, aV as BaseTableProps, aW as BaseTableRowClassNames, aX as BaseTableRowProps, aY as BaseTableSectionClassNames, aZ as BaseTableSortDirection, a_ as BaseTabsClassNames, a$ as BaseTabsItem, b0 as BaseTabsProps, b1 as BaseTextareaProps, b7 as BaseThemePresetId, b8 as BaseThemeSlots, b9 as BaseThemeStyles, b5 as BaseToolbarClassNames, b6 as BaseToolbarProps, b2 as BaseTooltipClassNames, b3 as BaseTooltipPlacement, b4 as BaseTooltipProps } from './types-CZALgtez.mjs';
14
15
  export { DataExplorerActionBar, DataExplorerButton, DataExplorerCheckbox, DataExplorerCollectionFooter, DataExplorerDetailField, DataExplorerDetailSection, DataExplorerDetailShell, DataExplorerDisplayActionMenu, DataExplorerDisplayCard, DataExplorerDisplayCollectionView, DataExplorerDisplayListItem, DataExplorerDisplayMedia, DataExplorerImagePreview, DataExplorerPage, DataExplorerRecordCard, DataExplorerSelect, DataExplorerToolbarActions, DataExplorerToolbarShell, DataExplorerTree, DataExplorerTreeShell, DataExplorerView, DataExplorerViewCollection, DataExplorerViewItem, DataExplorerViewItemShell, DataExplorerViewShell, DataExplorerViewTree, getDataExplorerActionToneClassName, getDataExplorerMenuItemToneClassName, resolveDataExplorerAppearance } from './components/data-explorer/index.mjs';
15
16
  export { b as DataExplorerAction, D as DataExplorerActionBarClassNames, a as DataExplorerActionBarProps, c as DataExplorerAppearance, d as DataExplorerBackground, e as DataExplorerBorder, f as DataExplorerButtonClassNames, g as DataExplorerButtonProps, h as DataExplorerCapabilities, i as DataExplorerCheckboxClassNames, j as DataExplorerCheckboxProps, k as DataExplorerCollectionFooterClassNames, l as DataExplorerCollectionFooterProps, m as DataExplorerControlOption, n as DataExplorerControlTone, o as DataExplorerDensity, p as DataExplorerDetailFieldClassNames, q as DataExplorerDetailFieldDefinition, r as DataExplorerDetailFieldProps, s as DataExplorerDetailNavigation, t as DataExplorerDetailSectionClassNames, u as DataExplorerDetailSectionDefinition, v as DataExplorerDetailSectionProps, w as DataExplorerDetailShellClassNames, x as DataExplorerDetailShellProps, B as DataExplorerDisplayAction, C as DataExplorerDisplayActionContext, E as DataExplorerDisplayActionMenuClassNames, F as DataExplorerDisplayActionMenuProps, G as DataExplorerDisplayBadge, H as DataExplorerDisplayCardClassNames, I as DataExplorerDisplayCardProps, J as DataExplorerDisplayCollectionItemContext, K as DataExplorerDisplayCollectionItemPropsResolver, L as DataExplorerDisplayCollectionViewProps, M as DataExplorerDisplayItem, N as DataExplorerDisplayListItemClassNames, O as DataExplorerDisplayListItemProps, P as DataExplorerDisplayMediaClassNames, Q as DataExplorerDisplayMediaItem, R as DataExplorerDisplayMediaKind, S as DataExplorerDisplayMediaProps, T as DataExplorerDisplayMetadata, y as DataExplorerImagePreviewClassNames, z as DataExplorerImagePreviewNaturalSize, A as DataExplorerImagePreviewProps, a4 as DataExplorerMeasuredGridOptions, U as DataExplorerPageClassNames, V as DataExplorerPageProps, _ as DataExplorerRadius, W as DataExplorerRecordCardClassNames, X as DataExplorerRecordCardProps, Y as DataExplorerResolvedTheme, Z as DataExplorerResolver, $ as DataExplorerSelectClassNames, a0 as DataExplorerSelectProps, a1 as DataExplorerThemePresetId, a3 as DataExplorerThemeSlots, a2 as DataExplorerThemeStyles, a5 as DataExplorerToolbarAction, a6 as DataExplorerToolbarActionItem, a7 as DataExplorerToolbarActionKind, a8 as DataExplorerToolbarActionOption, a9 as DataExplorerToolbarActionsClassNames, aa as DataExplorerToolbarActionsLayout, ab as DataExplorerToolbarActionsProps, ac as DataExplorerToolbarShellClassNames, ad as DataExplorerToolbarShellProps, ae as DataExplorerToolbarViewOption, af as DataExplorerTreeClassNames, aj as DataExplorerTreeProps, ag as DataExplorerTreeRenderProps, ah as DataExplorerTreeShellClassNames, ai as DataExplorerTreeShellProps, at as DataExplorerViewClassNames, au as DataExplorerViewCollectionClassNames, av as DataExplorerViewCollectionLayout, aw as DataExplorerViewCollectionOptions, ax as DataExplorerViewCollectionProps, ay as DataExplorerViewDefinition, az as DataExplorerViewId, aB as DataExplorerViewItemDefinition, aD as DataExplorerViewItemProps, aA as DataExplorerViewItemShellClassNames, aC as DataExplorerViewItemShellProps, aE as DataExplorerViewOption, aI as DataExplorerViewProps, aF as DataExplorerViewRenderProps, aG as DataExplorerViewShellClassNames, aH as DataExplorerViewShellProps, ak as DataExplorerViewTreeAction, al as DataExplorerViewTreeActionContext, am as DataExplorerViewTreeClassNames, an as DataExplorerViewTreeEntryType, ao as DataExplorerViewTreeGroup, ap as DataExplorerViewTreeLabels, aq as DataExplorerViewTreeNode, ar as DataExplorerViewTreeProps, as as DataExplorerViewTreeReorderPayload } from './types-B81dpI1o.mjs';
16
17
  export { DarkModeSelector, DarkModeSelectorProps, DarkModeSubMenu, DarkModeSubMenuProps, DarkModeValue, I18nLanguage, I18nSelector, I18nSelectorProps, UseDarkModeReturn, useDarkMode } from './components/toolbar/index.mjs';
18
+ export { ExternalToast, ToasterProps } from 'sonner';
17
19
  import 'lodash';
18
20
  import 'chroma-js';
19
21
  import 'react/jsx-runtime';
package/dist/index.d.ts CHANGED
@@ -9,11 +9,13 @@ export { CONCEPT_CONFIG, CONCEPT_DEFAULT_QUICK_ACTIONS, ConceptDesignLandingPage
9
9
  export { AuthDivider, AuthDividerProps, EmailAuth, EmailAuthProps, LoginLayout, LoginLayoutProps, OAuthButton, OAuthButtonProps, OIDCButton, OIDCButtonProps, PendingApproval, PendingApprovalProps } from './components/login/index.js';
10
10
  export { AppHeader, AppHeaderLogo, AppHeaderProps, AppHeaderUser, AppLayout, AppLayoutProps, AppSidebar, AppSidebarProps, HeaderTab, NavButton, NavButtonProps, SidebarAccount, SidebarNavItem, cn } from './components/layout/index.js';
11
11
  export { InteractiveTable, InteractiveTableClassNames, InteractiveTableColumn, InteractiveTableColumnMenuLabels, InteractiveTableEditableTextCell, InteractiveTableEditableTextCellProps, InteractiveTableHeaderContext, InteractiveTableHeaderProps, InteractiveTableProps, InteractiveTableReadonlyCell, InteractiveTableReadonlyCellProps, InteractiveTableRenderContext, InteractiveTableRowState, InteractiveTableSelectCell, InteractiveTableSelectCellProps, InteractiveTableSelectOption, WorkbenchContentPane, WorkbenchContentPaneBodyProps, WorkbenchContentPaneClassNames, WorkbenchContentPaneProps, WorkbenchContentToolbar, WorkbenchContentToolbarClassNames, WorkbenchContentToolbarProps, WorkbenchContentToolbarViewModeOption, WorkbenchDetailSidebar, WorkbenchDetailSidebarBodyProps, WorkbenchDetailSidebarClassNames, WorkbenchDetailSidebarField, WorkbenchDetailSidebarProps, WorkbenchDetailSidebarRenderContext, WorkbenchDetailSidebarSection, WorkbenchGalleryCard, WorkbenchGalleryCardMetaContext, WorkbenchGalleryCardProps, WorkbenchGalleryCardRenderContext, WorkbenchGalleryColumn, WorkbenchGalleryLabels, WorkbenchGalleryRecordVisual, WorkbenchGallerySettingsButton, WorkbenchGallerySettingsButtonClassNames, WorkbenchGallerySettingsButtonProps, WorkbenchGallerySettingsLabels, WorkbenchGallerySettingsOption, WorkbenchGallerySettingsPanel, WorkbenchGallerySettingsPanelClassNames, WorkbenchGallerySettingsPanelProps, WorkbenchGallerySettingsValue, WorkbenchGalleryView, WorkbenchGalleryViewProps, WorkbenchLaneClassNames, WorkbenchLaneColumn, WorkbenchLaneRenderCardContext, WorkbenchLaneView, WorkbenchLaneViewProps, WorkbenchMasonryItemSize, WorkbenchMasonryLayout, WorkbenchMasonryLayoutContext, WorkbenchMasonryLayoutProps, WorkbenchResizableSidebar, WorkbenchResizableSidebarClassNames, WorkbenchResizableSidebarItem, WorkbenchResizableSidebarProps, WorkbenchTableView, WorkbenchTableViewClassNames, WorkbenchTableViewColumn, WorkbenchTableViewHeaderContext, WorkbenchTableViewProps, WorkbenchTableViewRenderContext } from './components/workbench/index.js';
12
+ export { MonkeysToastApi, ToastProvider as MonkeysToastProvider, MonkeysToastProviderProps, Toaster as MonkeysToaster, MonkeysToasterProps, ToastInput, ToastProvider, ToastVariant, Toaster, extractToastMessage, resolveToastVariantForMessage, toast, useToastFeed, useToastOnValue } from './components/toast/index.js';
12
13
  export { B as BaseAccordion, a as BaseAvatar, b as BaseBadge, c as BaseBreadcrumb, d as BaseButton, e as BaseCheckbox, f as BaseContextMenu, g as BaseContextMenuCheckboxItem, h as BaseContextMenuContent, i as BaseContextMenuItem, j as BaseContextMenuLabel, k as BaseContextMenuRadioGroup, l as BaseContextMenuRadioItem, m as BaseContextMenuSeparator, n as BaseContextMenuSub, o as BaseContextMenuSubContent, p as BaseContextMenuSubTrigger, q as BaseContextMenuTrigger, r as BaseDescriptionList, s as BaseDialog, t as BaseDivider, u as BaseDropdownMenu, v as BaseEmptyState, w as BaseField, x as BaseInput, y as BaseLayout, z as BaseLayoutPane, A as BaseLayoutResizeHandle, C as BaseLayoutSplit, D as BaseLoadingState, E as BaseNotice, G as BasePagination, F as BasePanel, H as BaseProgress, I as BaseRadioGroup, K as BaseSectionHeader, L as BaseSegmentedControl, J as BaseSelect, M as BaseSkeleton, N as BaseSwitch, O as BaseTable, P as BaseTableBody, Q as BaseTableCaption, R as BaseTableCell, S as BaseTableContainer, T as BaseTableEmpty, U as BaseTableFooter, V as BaseTableFooterBar, W as BaseTableHead, X as BaseTableHeader, Y as BaseTableLoading, Z as BaseTableRow, _ as BaseTabs, $ as BaseTextarea, a1 as BaseToolbar, a0 as BaseTooltip, a2 as getBaseBadgeToneClassName, a3 as getBaseButtonToneClassName, a4 as getBaseMenuItemToneClassName, a5 as getBaseNoticeToneClassName, a6 as resolveBaseAppearance } from './theme-Cuy60thu.js';
13
14
  export { B as BaseAccordionClassNames, a as BaseAccordionItem, b as BaseAccordionProps, c as BaseAppearance, d as BaseAvatarClassNames, e as BaseAvatarProps, f as BaseBackground, g as BaseBadgeClassNames, h as BaseBadgeProps, i as BaseBorder, j as BaseBreadcrumbClassNames, k as BaseBreadcrumbItem, l as BaseBreadcrumbProps, m as BaseButtonClassNames, n as BaseButtonProps, o as BaseCheckboxClassNames, p as BaseCheckboxProps, s as BaseContextMenuCheckboxItemProps, t as BaseContextMenuClassNames, u as BaseContextMenuContentClassNames, v as BaseContextMenuContentProps, w as BaseContextMenuItemClassNames, x as BaseContextMenuItemProps, y as BaseContextMenuLabelProps, z as BaseContextMenuProps, A as BaseContextMenuRadioGroupProps, C as BaseContextMenuRadioItemProps, D as BaseContextMenuSeparatorProps, E as BaseContextMenuSubContentProps, F as BaseContextMenuSubProps, G as BaseContextMenuSubTriggerProps, H as BaseContextMenuTriggerProps, q as BaseControlClassNames, r as BaseControlTone, I as BaseDensity, J as BaseDescriptionListClassNames, K as BaseDescriptionListItem, L as BaseDescriptionListProps, M as BaseDialogClassNames, N as BaseDialogProps, O as BaseDividerClassNames, P as BaseDividerProps, Q as BaseDropdownMenuClassNames, R as BaseDropdownMenuItem, S as BaseDropdownMenuPlacement, T as BaseDropdownMenuProps, U as BaseEmptyStateProps, V as BaseFieldClassNames, W as BaseFieldProps, X as BaseInputProps, Y as BaseLayoutClassNames, Z as BaseLayoutGap, _ as BaseLayoutOrientation, $ as BaseLayoutPaneClassNames, a0 as BaseLayoutPaneProps, a1 as BaseLayoutPaneSurface, a2 as BaseLayoutProps, a3 as BaseLayoutResizeHandleClassNames, a4 as BaseLayoutResizeHandleProps, a5 as BaseLayoutSize, a6 as BaseLayoutSplitClassNames, a7 as BaseLayoutSplitProps, a8 as BaseLoadingStateProps, a9 as BaseNoticeClassNames, aa as BaseNoticeProps, ad as BasePaginationClassNames, ae as BasePaginationProps, ab as BasePanelClassNames, ac as BasePanelProps, af as BaseProgressClassNames, ag as BaseProgressProps, ai as BaseRadioGroupClassNames, aj as BaseRadioGroupProps, ak as BaseRadioOption, ah as BaseRadius, al as BaseResolvedTheme, am as BaseSectionHeaderClassNames, an as BaseSectionHeaderProps, aq as BaseSegmentedControlClassNames, ar as BaseSegmentedControlOption, as as BaseSegmentedControlProps, ao as BaseSelectOption, ap as BaseSelectProps, at as BaseSkeletonClassNames, au as BaseSkeletonProps, av as BaseStateClassNames, aw as BaseSwitchClassNames, ax as BaseSwitchProps, ay as BaseTableAlign, az as BaseTableBodyProps, aA as BaseTableCaptionClassNames, aB as BaseTableCaptionProps, aC as BaseTableCellClassNames, aD as BaseTableCellProps, aE as BaseTableClassNames, aF as BaseTableColumnInteractionOptions, aG as BaseTableColumnOrderChangeDetail, aH as BaseTableColumnSizeChangeDetail, aI as BaseTableColumnSizes, aJ as BaseTableContainerClassNames, aK as BaseTableContainerProps, aL as BaseTableEmptyClassNames, aM as BaseTableEmptyProps, aN as BaseTableFooterBarClassNames, aO as BaseTableFooterBarProps, aP as BaseTableFooterProps, aR as BaseTableHeadClassNames, aS as BaseTableHeadProps, aQ as BaseTableHeaderProps, aT as BaseTableLoadingClassNames, aU as BaseTableLoadingProps, aV as BaseTableProps, aW as BaseTableRowClassNames, aX as BaseTableRowProps, aY as BaseTableSectionClassNames, aZ as BaseTableSortDirection, a_ as BaseTabsClassNames, a$ as BaseTabsItem, b0 as BaseTabsProps, b1 as BaseTextareaProps, b7 as BaseThemePresetId, b8 as BaseThemeSlots, b9 as BaseThemeStyles, b5 as BaseToolbarClassNames, b6 as BaseToolbarProps, b2 as BaseTooltipClassNames, b3 as BaseTooltipPlacement, b4 as BaseTooltipProps } from './types-CZALgtez.js';
14
15
  export { DataExplorerActionBar, DataExplorerButton, DataExplorerCheckbox, DataExplorerCollectionFooter, DataExplorerDetailField, DataExplorerDetailSection, DataExplorerDetailShell, DataExplorerDisplayActionMenu, DataExplorerDisplayCard, DataExplorerDisplayCollectionView, DataExplorerDisplayListItem, DataExplorerDisplayMedia, DataExplorerImagePreview, DataExplorerPage, DataExplorerRecordCard, DataExplorerSelect, DataExplorerToolbarActions, DataExplorerToolbarShell, DataExplorerTree, DataExplorerTreeShell, DataExplorerView, DataExplorerViewCollection, DataExplorerViewItem, DataExplorerViewItemShell, DataExplorerViewShell, DataExplorerViewTree, getDataExplorerActionToneClassName, getDataExplorerMenuItemToneClassName, resolveDataExplorerAppearance } from './components/data-explorer/index.js';
15
16
  export { b as DataExplorerAction, D as DataExplorerActionBarClassNames, a as DataExplorerActionBarProps, c as DataExplorerAppearance, d as DataExplorerBackground, e as DataExplorerBorder, f as DataExplorerButtonClassNames, g as DataExplorerButtonProps, h as DataExplorerCapabilities, i as DataExplorerCheckboxClassNames, j as DataExplorerCheckboxProps, k as DataExplorerCollectionFooterClassNames, l as DataExplorerCollectionFooterProps, m as DataExplorerControlOption, n as DataExplorerControlTone, o as DataExplorerDensity, p as DataExplorerDetailFieldClassNames, q as DataExplorerDetailFieldDefinition, r as DataExplorerDetailFieldProps, s as DataExplorerDetailNavigation, t as DataExplorerDetailSectionClassNames, u as DataExplorerDetailSectionDefinition, v as DataExplorerDetailSectionProps, w as DataExplorerDetailShellClassNames, x as DataExplorerDetailShellProps, B as DataExplorerDisplayAction, C as DataExplorerDisplayActionContext, E as DataExplorerDisplayActionMenuClassNames, F as DataExplorerDisplayActionMenuProps, G as DataExplorerDisplayBadge, H as DataExplorerDisplayCardClassNames, I as DataExplorerDisplayCardProps, J as DataExplorerDisplayCollectionItemContext, K as DataExplorerDisplayCollectionItemPropsResolver, L as DataExplorerDisplayCollectionViewProps, M as DataExplorerDisplayItem, N as DataExplorerDisplayListItemClassNames, O as DataExplorerDisplayListItemProps, P as DataExplorerDisplayMediaClassNames, Q as DataExplorerDisplayMediaItem, R as DataExplorerDisplayMediaKind, S as DataExplorerDisplayMediaProps, T as DataExplorerDisplayMetadata, y as DataExplorerImagePreviewClassNames, z as DataExplorerImagePreviewNaturalSize, A as DataExplorerImagePreviewProps, a4 as DataExplorerMeasuredGridOptions, U as DataExplorerPageClassNames, V as DataExplorerPageProps, _ as DataExplorerRadius, W as DataExplorerRecordCardClassNames, X as DataExplorerRecordCardProps, Y as DataExplorerResolvedTheme, Z as DataExplorerResolver, $ as DataExplorerSelectClassNames, a0 as DataExplorerSelectProps, a1 as DataExplorerThemePresetId, a3 as DataExplorerThemeSlots, a2 as DataExplorerThemeStyles, a5 as DataExplorerToolbarAction, a6 as DataExplorerToolbarActionItem, a7 as DataExplorerToolbarActionKind, a8 as DataExplorerToolbarActionOption, a9 as DataExplorerToolbarActionsClassNames, aa as DataExplorerToolbarActionsLayout, ab as DataExplorerToolbarActionsProps, ac as DataExplorerToolbarShellClassNames, ad as DataExplorerToolbarShellProps, ae as DataExplorerToolbarViewOption, af as DataExplorerTreeClassNames, aj as DataExplorerTreeProps, ag as DataExplorerTreeRenderProps, ah as DataExplorerTreeShellClassNames, ai as DataExplorerTreeShellProps, at as DataExplorerViewClassNames, au as DataExplorerViewCollectionClassNames, av as DataExplorerViewCollectionLayout, aw as DataExplorerViewCollectionOptions, ax as DataExplorerViewCollectionProps, ay as DataExplorerViewDefinition, az as DataExplorerViewId, aB as DataExplorerViewItemDefinition, aD as DataExplorerViewItemProps, aA as DataExplorerViewItemShellClassNames, aC as DataExplorerViewItemShellProps, aE as DataExplorerViewOption, aI as DataExplorerViewProps, aF as DataExplorerViewRenderProps, aG as DataExplorerViewShellClassNames, aH as DataExplorerViewShellProps, ak as DataExplorerViewTreeAction, al as DataExplorerViewTreeActionContext, am as DataExplorerViewTreeClassNames, an as DataExplorerViewTreeEntryType, ao as DataExplorerViewTreeGroup, ap as DataExplorerViewTreeLabels, aq as DataExplorerViewTreeNode, ar as DataExplorerViewTreeProps, as as DataExplorerViewTreeReorderPayload } from './types-B81dpI1o.js';
16
17
  export { DarkModeSelector, DarkModeSelectorProps, DarkModeSubMenu, DarkModeSubMenuProps, DarkModeValue, I18nLanguage, I18nSelector, I18nSelectorProps, UseDarkModeReturn, useDarkMode } from './components/toolbar/index.js';
18
+ export { ExternalToast, ToasterProps } from 'sonner';
17
19
  import 'lodash';
18
20
  import 'chroma-js';
19
21
  import 'react/jsx-runtime';