@nextworks/blocks-core 0.2.0-alpha.0 → 0.2.0-alpha.2
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/AppProviders.client.d.ts +12 -0
- package/dist/components/AppProviders.client.d.ts.map +1 -0
- package/dist/components/AppProviders.client.js +12 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist-cjs/components/AppProviders.client.cjs +15 -0
- package/dist-cjs/components/AppProviders.server.cjs +10 -0
- package/dist-cjs/components/enhanced-theme-provider.cjs +142 -0
- package/dist-cjs/components/theme-provider.cjs +9 -0
- package/dist-cjs/index.cjs +51 -0
- package/dist-cjs/lib/themes.cjs +399 -0
- package/dist-cjs/lib/utils.cjs +8 -0
- package/dist-cjs/providers/BlocksAppProviders.cjs +14 -0
- package/dist-cjs/server/theme-vars.cjs +47 -0
- package/dist-cjs/server.cjs +10 -0
- package/dist-cjs/ui/alert-dialog.cjs +105 -0
- package/dist-cjs/ui/brand-node.cjs +46 -0
- package/dist-cjs/ui/button.cjs +108 -0
- package/dist-cjs/ui/card.cjs +54 -0
- package/dist-cjs/ui/checkbox.cjs +60 -0
- package/dist-cjs/ui/cta-button.cjs +53 -0
- package/dist-cjs/ui/dropdown-menu.cjs +122 -0
- package/dist-cjs/ui/feature-card.cjs +20 -0
- package/dist-cjs/ui/input.cjs +60 -0
- package/dist-cjs/ui/label.cjs +61 -0
- package/dist-cjs/ui/pricing-card.cjs +28 -0
- package/dist-cjs/ui/select.cjs +56 -0
- package/dist-cjs/ui/skeleton.cjs +20 -0
- package/dist-cjs/ui/switch.cjs +60 -0
- package/dist-cjs/ui/table.cjs +48 -0
- package/dist-cjs/ui/testimonial-card.cjs +39 -0
- package/dist-cjs/ui/textarea.cjs +60 -0
- package/dist-cjs/ui/theme-selector.cjs +92 -0
- package/dist-cjs/ui/theme-toggle.cjs +22 -0
- package/dist-cjs/ui/toaster.cjs +9 -0
- package/package.json +19 -6
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type AppProvidersClientProps = Readonly<{
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
}>;
|
|
5
|
+
/**
|
|
6
|
+
* Client-safe AppProviders for Pages Router.
|
|
7
|
+
*
|
|
8
|
+
* Unlike the App Router server variant, this version does not read cookies
|
|
9
|
+
* or inject server-rendered theme CSS.
|
|
10
|
+
*/
|
|
11
|
+
export default function AppProvidersClient({ children, }: AppProvidersClientProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=AppProviders.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppProviders.client.d.ts","sourceRoot":"","sources":["../../src/components/AppProviders.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,QAAQ,GACT,EAAE,uBAAuB,2CAMzB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { BlocksAppProviders } from "../providers/BlocksAppProviders";
|
|
4
|
+
/**
|
|
5
|
+
* Client-safe AppProviders for Pages Router.
|
|
6
|
+
*
|
|
7
|
+
* Unlike the App Router server variant, this version does not read cookies
|
|
8
|
+
* or inject server-rendered theme CSS.
|
|
9
|
+
*/
|
|
10
|
+
export default function AppProvidersClient({ children, }) {
|
|
11
|
+
return (_jsx("div", { className: "antialiased", children: _jsx(BlocksAppProviders, { children: children }) }));
|
|
12
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
// Auto-generated by scripts/postbuild.js
|
|
3
1
|
export * from "./lib/themes";
|
|
4
2
|
export * from "./lib/utils";
|
|
5
3
|
export * from "./components/enhanced-theme-provider";
|
|
6
4
|
export * from "./components/theme-provider";
|
|
5
|
+
export { default as AppProvidersClient } from "./components/AppProviders.client";
|
|
7
6
|
export * from "./providers/BlocksAppProviders";
|
|
8
7
|
export * from "./ui/alert-dialog";
|
|
9
8
|
export * from "./ui/brand-node";
|
|
@@ -25,3 +24,4 @@ export * from "./ui/textarea";
|
|
|
25
24
|
export * from "./ui/theme-selector";
|
|
26
25
|
export * from "./ui/theme-toggle";
|
|
27
26
|
export * from "./ui/toaster";
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAG5B,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAG5B,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGjF,cAAc,gCAAgC,CAAC;AAG/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./lib/utils";
|
|
|
4
4
|
// Client-safe providers/hooks
|
|
5
5
|
export * from "./components/enhanced-theme-provider";
|
|
6
6
|
export * from "./components/theme-provider";
|
|
7
|
+
export { default as AppProvidersClient } from "./components/AppProviders.client";
|
|
7
8
|
// Provider composition (no next/* imports)
|
|
8
9
|
export * from "./providers/BlocksAppProviders";
|
|
9
10
|
// UI primitives
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.default = AppProvidersClient;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const BlocksAppProviders_1 = require("../providers/BlocksAppProviders");
|
|
7
|
+
/**
|
|
8
|
+
* Client-safe AppProviders for Pages Router.
|
|
9
|
+
*
|
|
10
|
+
* Unlike the App Router server variant, this version does not read cookies
|
|
11
|
+
* or inject server-rendered theme CSS.
|
|
12
|
+
*/
|
|
13
|
+
function AppProvidersClient({ children, }) {
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "antialiased", children: (0, jsx_runtime_1.jsx)(BlocksAppProviders_1.BlocksAppProviders, { children: children }) }));
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = AppProviders;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const BlocksAppProviders_1 = require("../providers/BlocksAppProviders");
|
|
6
|
+
const theme_vars_1 = require("../server/theme-vars");
|
|
7
|
+
async function AppProviders({ children, }) {
|
|
8
|
+
const { variant, styleTag } = await (0, theme_vars_1.getInitialThemeFromCookies)();
|
|
9
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [styleTag, (0, jsx_runtime_1.jsx)("div", { className: "antialiased", children: (0, jsx_runtime_1.jsx)(BlocksAppProviders_1.BlocksAppProviders, { defaultThemeVariant: variant, children: children }) })] }));
|
|
10
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.useThemeVariant = useThemeVariant;
|
|
38
|
+
exports.EnhancedThemeProvider = EnhancedThemeProvider;
|
|
39
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
+
const React = __importStar(require("react"));
|
|
41
|
+
const next_themes_1 = require("next-themes");
|
|
42
|
+
const themes_1 = require("../lib/themes");
|
|
43
|
+
const CUSTOM_STORAGE_KEY = "nxw-theme-custom";
|
|
44
|
+
const ThemeContext = React.createContext(undefined);
|
|
45
|
+
function useThemeVariant() {
|
|
46
|
+
const context = React.useContext(ThemeContext);
|
|
47
|
+
if (context === undefined) {
|
|
48
|
+
throw new Error("useThemeVariant must be used within an EnhancedThemeProvider");
|
|
49
|
+
}
|
|
50
|
+
return context;
|
|
51
|
+
}
|
|
52
|
+
function EnhancedThemeProvider({ children, attribute = "class", defaultTheme = "system", enableSystem = true, disableTransitionOnChange = false, defaultThemeVariant = "monochrome", defaultCustomTokens = null, }) {
|
|
53
|
+
const [themeVariant, setThemeVariant] = React.useState(defaultThemeVariant);
|
|
54
|
+
const [customTheme, setCustomThemeState] = React.useState(defaultCustomTokens);
|
|
55
|
+
const writeCustomCookies = React.useCallback((tokens) => {
|
|
56
|
+
if (tokens) {
|
|
57
|
+
document.cookie = `theme-variant=custom; Path=/; Max-Age=31536000; SameSite=Lax`;
|
|
58
|
+
document.cookie = `theme-custom=${encodeURIComponent(JSON.stringify(tokens))}; Path=/; Max-Age=31536000; SameSite=Lax`;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
document.cookie = `theme-custom=; Path=/; Max-Age=0; SameSite=Lax`;
|
|
62
|
+
}
|
|
63
|
+
}, []);
|
|
64
|
+
const setCustomTheme = React.useCallback((tokens) => {
|
|
65
|
+
setCustomThemeState(tokens);
|
|
66
|
+
try {
|
|
67
|
+
if (tokens) {
|
|
68
|
+
localStorage.setItem(CUSTOM_STORAGE_KEY, JSON.stringify(tokens));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
localStorage.removeItem(CUSTOM_STORAGE_KEY);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (_a) { }
|
|
75
|
+
writeCustomCookies(tokens !== null && tokens !== void 0 ? tokens : null);
|
|
76
|
+
}, [writeCustomCookies]);
|
|
77
|
+
const setCustomBrandColors = React.useCallback((tokens) => {
|
|
78
|
+
setThemeVariant("custom");
|
|
79
|
+
setCustomTheme(tokens);
|
|
80
|
+
}, [setCustomTheme]);
|
|
81
|
+
const applyTheme = React.useCallback((variant, isDark = false) => {
|
|
82
|
+
const base = isDark ? themes_1.darkThemes[variant].colors : themes_1.themes[variant].colors;
|
|
83
|
+
const merged = variant === "custom" && customTheme
|
|
84
|
+
? Object.assign(Object.assign({}, base), customTheme) : base;
|
|
85
|
+
// Apply CSS custom properties to the document root
|
|
86
|
+
const root = document.documentElement;
|
|
87
|
+
// Reflect the current variant for CSS selectors
|
|
88
|
+
root.setAttribute("data-theme-variant", variant);
|
|
89
|
+
Object.entries(merged).forEach(([key, value]) => {
|
|
90
|
+
const cssVar = `--${key.replace(/([A-Z])/g, "-$1").toLowerCase()}`;
|
|
91
|
+
root.style.setProperty(cssVar, value);
|
|
92
|
+
});
|
|
93
|
+
}, [customTheme]);
|
|
94
|
+
// Apply theme when variant or custom tokens change
|
|
95
|
+
React.useEffect(() => {
|
|
96
|
+
const isDark = document.documentElement.classList.contains("dark");
|
|
97
|
+
applyTheme(themeVariant, isDark);
|
|
98
|
+
}, [themeVariant, customTheme, applyTheme]);
|
|
99
|
+
// Load custom tokens from localStorage on mount (overrides defaultCustomTokens if present)
|
|
100
|
+
React.useEffect(() => {
|
|
101
|
+
try {
|
|
102
|
+
const raw = localStorage.getItem(CUSTOM_STORAGE_KEY);
|
|
103
|
+
if (raw) {
|
|
104
|
+
const parsed = JSON.parse(raw);
|
|
105
|
+
setCustomThemeState(parsed);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (_a) { }
|
|
109
|
+
}, []);
|
|
110
|
+
// Listen for theme changes from next-themes
|
|
111
|
+
React.useEffect(() => {
|
|
112
|
+
const observer = new MutationObserver((mutations) => {
|
|
113
|
+
mutations.forEach((mutation) => {
|
|
114
|
+
if (mutation.type === "attributes" &&
|
|
115
|
+
mutation.attributeName === "class") {
|
|
116
|
+
const isDark = document.documentElement.classList.contains("dark");
|
|
117
|
+
applyTheme(themeVariant, isDark);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
observer.observe(document.documentElement, {
|
|
122
|
+
attributes: true,
|
|
123
|
+
attributeFilter: ["class"],
|
|
124
|
+
});
|
|
125
|
+
return () => observer.disconnect();
|
|
126
|
+
}, [themeVariant, applyTheme]);
|
|
127
|
+
const contextValue = React.useMemo(() => ({
|
|
128
|
+
themeVariant,
|
|
129
|
+
setThemeVariant,
|
|
130
|
+
customTheme,
|
|
131
|
+
setCustomTheme,
|
|
132
|
+
setCustomBrandColors,
|
|
133
|
+
applyTheme,
|
|
134
|
+
}), [
|
|
135
|
+
themeVariant,
|
|
136
|
+
customTheme,
|
|
137
|
+
setCustomTheme,
|
|
138
|
+
setCustomBrandColors,
|
|
139
|
+
applyTheme,
|
|
140
|
+
]);
|
|
141
|
+
return ((0, jsx_runtime_1.jsx)(next_themes_1.ThemeProvider, { attribute: attribute, defaultTheme: defaultTheme, enableSystem: enableSystem, disableTransitionOnChange: disableTransitionOnChange, children: (0, jsx_runtime_1.jsx)(ThemeContext.Provider, { value: contextValue, children: children }) }));
|
|
142
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ThemeProvider = ThemeProvider;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const next_themes_1 = require("next-themes");
|
|
7
|
+
function ThemeProvider({ children, attribute = "class", defaultTheme = "system", enableSystem = true, disableTransitionOnChange = false, }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)(next_themes_1.ThemeProvider, { attribute: attribute, defaultTheme: defaultTheme, enableSystem: enableSystem, disableTransitionOnChange: disableTransitionOnChange, children: children }));
|
|
9
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.AppProvidersClient = void 0;
|
|
21
|
+
// Theme data & utilities
|
|
22
|
+
__exportStar(require("./lib/themes.cjs"), exports);
|
|
23
|
+
__exportStar(require("./lib/utils.cjs"), exports);
|
|
24
|
+
// Client-safe providers/hooks
|
|
25
|
+
__exportStar(require("./components/enhanced-theme-provider.cjs"), exports);
|
|
26
|
+
__exportStar(require("./components/theme-provider.cjs"), exports);
|
|
27
|
+
var AppProviders_client_1 = require("./components/AppProviders.client.cjs");
|
|
28
|
+
Object.defineProperty(exports, "AppProvidersClient", { enumerable: true, get: function () { return __importDefault(AppProviders_client_1).default; } });
|
|
29
|
+
// Provider composition (no next/* imports)
|
|
30
|
+
__exportStar(require("./providers/BlocksAppProviders.cjs"), exports);
|
|
31
|
+
// UI primitives
|
|
32
|
+
__exportStar(require("./ui/alert-dialog.cjs"), exports);
|
|
33
|
+
__exportStar(require("./ui/brand-node.cjs"), exports);
|
|
34
|
+
__exportStar(require("./ui/button.cjs"), exports);
|
|
35
|
+
__exportStar(require("./ui/card.cjs"), exports);
|
|
36
|
+
__exportStar(require("./ui/checkbox.cjs"), exports);
|
|
37
|
+
__exportStar(require("./ui/cta-button.cjs"), exports);
|
|
38
|
+
__exportStar(require("./ui/dropdown-menu.cjs"), exports);
|
|
39
|
+
__exportStar(require("./ui/feature-card.cjs"), exports);
|
|
40
|
+
__exportStar(require("./ui/input.cjs"), exports);
|
|
41
|
+
__exportStar(require("./ui/label.cjs"), exports);
|
|
42
|
+
__exportStar(require("./ui/pricing-card.cjs"), exports);
|
|
43
|
+
__exportStar(require("./ui/select.cjs"), exports);
|
|
44
|
+
__exportStar(require("./ui/skeleton.cjs"), exports);
|
|
45
|
+
__exportStar(require("./ui/switch.cjs"), exports);
|
|
46
|
+
__exportStar(require("./ui/table.cjs"), exports);
|
|
47
|
+
__exportStar(require("./ui/testimonial-card.cjs"), exports);
|
|
48
|
+
__exportStar(require("./ui/textarea.cjs"), exports);
|
|
49
|
+
__exportStar(require("./ui/theme-selector.cjs"), exports);
|
|
50
|
+
__exportStar(require("./ui/theme-toggle.cjs"), exports);
|
|
51
|
+
__exportStar(require("./ui/toaster.cjs"), exports);
|