@aback-ui/ui 0.0.0-stage → 0.2.1
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/LICENSE +21 -0
- package/README.md +69 -2
- package/dist/components/accordion.d.ts +8 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/accordion.js +17 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.d.ts +15 -0
- package/dist/components/alert-dialog.d.ts.map +1 -0
- package/dist/components/alert-dialog.js +38 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/alert.d.ts +12 -0
- package/dist/components/alert.d.ts.map +1 -0
- package/dist/components/alert.js +28 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/avatar.d.ts +25 -0
- package/dist/components/avatar.d.ts.map +1 -0
- package/dist/components/avatar.js +34 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.d.ts +15 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/badge.js +27 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/breadcrumbs.d.ts +11 -0
- package/dist/components/breadcrumbs.d.ts.map +1 -0
- package/dist/components/breadcrumbs.js +11 -0
- package/dist/components/breadcrumbs.js.map +1 -0
- package/dist/components/button.d.ts +12 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +43 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.d.ts +25 -0
- package/dist/components/calendar.d.ts.map +1 -0
- package/dist/components/calendar.js +87 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/card.d.ts +12 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js +25 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/checkbox.d.ts +5 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox.js +10 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/code-block.d.ts +25 -0
- package/dist/components/code-block.d.ts.map +1 -0
- package/dist/components/code-block.js +19 -0
- package/dist/components/code-block.js.map +1 -0
- package/dist/components/collapsible.d.ts +7 -0
- package/dist/components/collapsible.d.ts.map +1 -0
- package/dist/components/collapsible.js +11 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/combobox.d.ts +40 -0
- package/dist/components/combobox.d.ts.map +1 -0
- package/dist/components/combobox.js +27 -0
- package/dist/components/combobox.js.map +1 -0
- package/dist/components/command.d.ts +24 -0
- package/dist/components/command.d.ts.map +1 -0
- package/dist/components/command.js +35 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/copy-button.d.ts +32 -0
- package/dist/components/copy-button.d.ts.map +1 -0
- package/dist/components/copy-button.js +65 -0
- package/dist/components/copy-button.js.map +1 -0
- package/dist/components/date-picker.d.ts +66 -0
- package/dist/components/date-picker.d.ts.map +1 -0
- package/dist/components/date-picker.js +75 -0
- package/dist/components/date-picker.js.map +1 -0
- package/dist/components/description-list.d.ts +29 -0
- package/dist/components/description-list.d.ts.map +1 -0
- package/dist/components/description-list.js +28 -0
- package/dist/components/description-list.js.map +1 -0
- package/dist/components/dialog.d.ts +16 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/dialog.js +29 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +26 -0
- package/dist/components/dropdown-menu.d.ts.map +1 -0
- package/dist/components/dropdown-menu.js +41 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/dropzone.d.ts +47 -0
- package/dist/components/dropzone.d.ts.map +1 -0
- package/dist/components/dropzone.js +125 -0
- package/dist/components/dropzone.js.map +1 -0
- package/dist/components/empty-state.d.ts +10 -0
- package/dist/components/empty-state.d.ts.map +1 -0
- package/dist/components/empty-state.js +8 -0
- package/dist/components/empty-state.js.map +1 -0
- package/dist/components/field.d.ts +17 -0
- package/dist/components/field.d.ts.map +1 -0
- package/dist/components/field.js +13 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/hover-card.d.ts +7 -0
- package/dist/components/hover-card.d.ts.map +1 -0
- package/dist/components/hover-card.js +11 -0
- package/dist/components/hover-card.js.map +1 -0
- package/dist/components/input-group.d.ts +26 -0
- package/dist/components/input-group.d.ts.map +1 -0
- package/dist/components/input-group.js +41 -0
- package/dist/components/input-group.js.map +1 -0
- package/dist/components/input.d.ts +5 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/input.js +19 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/kbd.d.ts +4 -0
- package/dist/components/kbd.d.ts.map +1 -0
- package/dist/components/kbd.js +7 -0
- package/dist/components/kbd.js.map +1 -0
- package/dist/components/label.d.ts +4 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/label.js +9 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/layout.d.ts +69 -0
- package/dist/components/layout.d.ts.map +1 -0
- package/dist/components/layout.js +61 -0
- package/dist/components/layout.js.map +1 -0
- package/dist/components/page-header.d.ts +20 -0
- package/dist/components/page-header.d.ts.map +1 -0
- package/dist/components/page-header.js +11 -0
- package/dist/components/page-header.js.map +1 -0
- package/dist/components/pagination.d.ts +20 -0
- package/dist/components/pagination.d.ts.map +1 -0
- package/dist/components/pagination.js +51 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/popover.d.ts +8 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/popover.js +12 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/progress.d.ts +12 -0
- package/dist/components/progress.d.ts.map +1 -0
- package/dist/components/progress.js +11 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.d.ts +6 -0
- package/dist/components/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group.js +12 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/rating.d.ts +33 -0
- package/dist/components/rating.d.ts.map +1 -0
- package/dist/components/rating.js +52 -0
- package/dist/components/rating.js.map +1 -0
- package/dist/components/reading-progress.d.ts +16 -0
- package/dist/components/reading-progress.d.ts.map +1 -0
- package/dist/components/reading-progress.js +54 -0
- package/dist/components/reading-progress.js.map +1 -0
- package/dist/components/relative-time.d.ts +26 -0
- package/dist/components/relative-time.d.ts.map +1 -0
- package/dist/components/relative-time.js +83 -0
- package/dist/components/relative-time.js.map +1 -0
- package/dist/components/scroll-area.d.ts +10 -0
- package/dist/components/scroll-area.d.ts.map +1 -0
- package/dist/components/scroll-area.js +9 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/section-heading.d.ts +28 -0
- package/dist/components/section-heading.d.ts.map +1 -0
- package/dist/components/section-heading.js +23 -0
- package/dist/components/section-heading.js.map +1 -0
- package/dist/components/select.d.ts +5 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +17 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +5 -0
- package/dist/components/separator.d.ts.map +1 -0
- package/dist/components/separator.js +9 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/share-buttons.d.ts +25 -0
- package/dist/components/share-buttons.d.ts.map +1 -0
- package/dist/components/share-buttons.js +67 -0
- package/dist/components/share-buttons.js.map +1 -0
- package/dist/components/sheet.d.ts +18 -0
- package/dist/components/sheet.d.ts.map +1 -0
- package/dist/components/sheet.js +35 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/skeleton.d.ts +4 -0
- package/dist/components/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton.js +7 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/skip-link.d.ts +13 -0
- package/dist/components/skip-link.d.ts.map +1 -0
- package/dist/components/skip-link.js +12 -0
- package/dist/components/skip-link.js.map +1 -0
- package/dist/components/slider.d.ts +9 -0
- package/dist/components/slider.d.ts.map +1 -0
- package/dist/components/slider.js +9 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/spinner.d.ts +14 -0
- package/dist/components/spinner.d.ts.map +1 -0
- package/dist/components/spinner.js +13 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/stat.d.ts +54 -0
- package/dist/components/stat.d.ts.map +1 -0
- package/dist/components/stat.js +62 -0
- package/dist/components/stat.js.map +1 -0
- package/dist/components/steps.d.ts +21 -0
- package/dist/components/steps.d.ts.map +1 -0
- package/dist/components/steps.js +26 -0
- package/dist/components/steps.js.map +1 -0
- package/dist/components/switch.d.ts +5 -0
- package/dist/components/switch.d.ts.map +1 -0
- package/dist/components/switch.js +9 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table-of-contents.d.ts +28 -0
- package/dist/components/table-of-contents.d.ts.map +1 -0
- package/dist/components/table-of-contents.js +79 -0
- package/dist/components/table-of-contents.js.map +1 -0
- package/dist/components/table.d.ts +15 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/table.js +29 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +8 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +16 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/textarea.d.ts +5 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/textarea.js +18 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/theme-toggle.d.ts +43 -0
- package/dist/components/theme-toggle.d.ts.map +1 -0
- package/dist/components/theme-toggle.js +99 -0
- package/dist/components/theme-toggle.js.map +1 -0
- package/dist/components/toaster.d.ts +27 -0
- package/dist/components/toaster.d.ts.map +1 -0
- package/dist/components/toaster.js +52 -0
- package/dist/components/toaster.js.map +1 -0
- package/dist/components/toggle-group.d.ts +12 -0
- package/dist/components/toggle-group.d.ts.map +1 -0
- package/dist/components/toggle-group.js +39 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/tooltip.d.ts +10 -0
- package/dist/components/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip.js +14 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/index.d.ts +59 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/package.json +76 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../src/components/textarea.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,iBAAiB,GAAG;IACxB,wGAAwG;IACxG,uFAAuF;IACvF,mCAAmC;IACnC,+IAA+I;IAC/I,iDAAiD;IACjD,kEAAkE;IAClE,kBAAkB;CACnB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IAC9C,OAAO,CACL,mBACE,GAAG,EAAE,GAAG,eACE,UAAU,EACpB,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,KACvC,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type ButtonProps } from "./button.js";
|
|
3
|
+
export type ThemePreference = "light" | "dark" | "system";
|
|
4
|
+
export type ResolvedTheme = "light" | "dark";
|
|
5
|
+
export interface UseThemeResult {
|
|
6
|
+
/** What the visitor chose, including "system". */
|
|
7
|
+
theme: ThemePreference;
|
|
8
|
+
/** What is on screen. "light" during the server render. */
|
|
9
|
+
resolvedTheme: ResolvedTheme;
|
|
10
|
+
setTheme: (theme: ThemePreference) => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Reads and writes the colour theme. The contract is the one the Aback theme
|
|
14
|
+
* CSS expects: a `dark` class on `<html>`, with the choice stored under
|
|
15
|
+
* `storageKey`. Every component using the hook stays in sync, and so do
|
|
16
|
+
* other tabs.
|
|
17
|
+
*/
|
|
18
|
+
declare function useTheme(storageKey?: string): UseThemeResult;
|
|
19
|
+
export interface ThemeToggleProps extends Omit<ButtonProps, "onClick" | "children" | "asChild"> {
|
|
20
|
+
storageKey?: string;
|
|
21
|
+
/** Accessible name while the light theme is showing. */
|
|
22
|
+
toDarkLabel?: string;
|
|
23
|
+
/** Accessible name while the dark theme is showing. */
|
|
24
|
+
toLightLabel?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* A light and dark switch. The icon follows the `dark` class through CSS, so
|
|
28
|
+
* it is right before hydration; the accessible name follows the state.
|
|
29
|
+
*/
|
|
30
|
+
declare function ThemeToggle({ storageKey, toDarkLabel, toLightLabel, variant, size, className, ...props }: ThemeToggleProps): React.JSX.Element;
|
|
31
|
+
export interface ThemeScriptProps {
|
|
32
|
+
storageKey?: string;
|
|
33
|
+
/** Content Security Policy nonce for the inline script. */
|
|
34
|
+
nonce?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Applies the stored theme before the first paint, so a dark-mode visitor
|
|
38
|
+
* never sees a white flash. Render it in `<head>`, or first in `<body>`, and
|
|
39
|
+
* add `suppressHydrationWarning` to `<html>` because the class changes early.
|
|
40
|
+
*/
|
|
41
|
+
declare function ThemeScript({ storageKey, nonce }: ThemeScriptProps): React.JSX.Element;
|
|
42
|
+
export { ThemeScript, ThemeToggle, useTheme };
|
|
43
|
+
//# sourceMappingURL=theme-toggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../src/components/theme-toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAoD7C,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,KAAK,EAAE,eAAe,CAAC;IACvB,2DAA2D;IAC3D,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,iBAAS,QAAQ,CAAC,UAAU,GAAE,MAA4B,GAAG,cAAc,CA8B1E;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,iBAAS,WAAW,CAAC,EACnB,UAAU,EACV,WAAoC,EACpC,YAAsC,EACtC,OAAiB,EACjB,IAAa,EACb,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,qBAoBlB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,iBAAS,WAAW,CAAC,EAAE,UAAgC,EAAE,KAAK,EAAE,EAAE,gBAAgB,qBAKjF;AAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { IconMoon, IconSun } from "@tabler/icons-react";
|
|
5
|
+
import { cn } from "../lib/utils.js";
|
|
6
|
+
import { Button } from "./button.js";
|
|
7
|
+
const DEFAULT_STORAGE_KEY = "theme";
|
|
8
|
+
const CHANGE_EVENT = "aback-ui:themechange";
|
|
9
|
+
function readPreference(storageKey) {
|
|
10
|
+
try {
|
|
11
|
+
const stored = window.localStorage.getItem(storageKey);
|
|
12
|
+
if (stored === "light" || stored === "dark" || stored === "system")
|
|
13
|
+
return stored;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
// Storage throws in some privacy modes and sandboxed frames.
|
|
17
|
+
}
|
|
18
|
+
return "system";
|
|
19
|
+
}
|
|
20
|
+
function systemTheme() {
|
|
21
|
+
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
22
|
+
}
|
|
23
|
+
function resolve(preference) {
|
|
24
|
+
return preference === "system" ? systemTheme() : preference;
|
|
25
|
+
}
|
|
26
|
+
function applyTheme(theme) {
|
|
27
|
+
document.documentElement.classList.toggle("dark", theme === "dark");
|
|
28
|
+
}
|
|
29
|
+
function subscribe(storageKey, onChange) {
|
|
30
|
+
const media = window.matchMedia("(prefers-color-scheme: dark)");
|
|
31
|
+
function onSystemChange() {
|
|
32
|
+
if (readPreference(storageKey) !== "system")
|
|
33
|
+
return;
|
|
34
|
+
applyTheme(systemTheme());
|
|
35
|
+
onChange();
|
|
36
|
+
}
|
|
37
|
+
function onStorage(event) {
|
|
38
|
+
if (event.key !== storageKey)
|
|
39
|
+
return;
|
|
40
|
+
applyTheme(resolve(readPreference(storageKey)));
|
|
41
|
+
onChange();
|
|
42
|
+
}
|
|
43
|
+
media.addEventListener("change", onSystemChange);
|
|
44
|
+
window.addEventListener("storage", onStorage);
|
|
45
|
+
window.addEventListener(CHANGE_EVENT, onChange);
|
|
46
|
+
return () => {
|
|
47
|
+
media.removeEventListener("change", onSystemChange);
|
|
48
|
+
window.removeEventListener("storage", onStorage);
|
|
49
|
+
window.removeEventListener(CHANGE_EVENT, onChange);
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Reads and writes the colour theme. The contract is the one the Aback theme
|
|
54
|
+
* CSS expects: a `dark` class on `<html>`, with the choice stored under
|
|
55
|
+
* `storageKey`. Every component using the hook stays in sync, and so do
|
|
56
|
+
* other tabs.
|
|
57
|
+
*/
|
|
58
|
+
function useTheme(storageKey = DEFAULT_STORAGE_KEY) {
|
|
59
|
+
const subscribeToTheme = React.useCallback((onChange) => subscribe(storageKey, onChange), [storageKey]);
|
|
60
|
+
// A string snapshot keeps the value primitive, so React can compare it.
|
|
61
|
+
const snapshot = React.useSyncExternalStore(subscribeToTheme, () => {
|
|
62
|
+
const preference = readPreference(storageKey);
|
|
63
|
+
return `${preference}:${document.documentElement.classList.contains("dark") ? "dark" : "light"}`;
|
|
64
|
+
}, () => "system:light");
|
|
65
|
+
const [theme, resolvedTheme] = snapshot.split(":");
|
|
66
|
+
const setTheme = React.useCallback((next) => {
|
|
67
|
+
try {
|
|
68
|
+
window.localStorage.setItem(storageKey, next);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// Not persisted, but the theme still changes for this page view.
|
|
72
|
+
}
|
|
73
|
+
applyTheme(resolve(next));
|
|
74
|
+
window.dispatchEvent(new Event(CHANGE_EVENT));
|
|
75
|
+
}, [storageKey]);
|
|
76
|
+
return { theme, resolvedTheme, setTheme };
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* A light and dark switch. The icon follows the `dark` class through CSS, so
|
|
80
|
+
* it is right before hydration; the accessible name follows the state.
|
|
81
|
+
*/
|
|
82
|
+
function ThemeToggle({ storageKey, toDarkLabel = "Switch to dark theme", toLightLabel = "Switch to light theme", variant = "ghost", size = "icon", className, ...props }) {
|
|
83
|
+
const { resolvedTheme, setTheme } = useTheme(storageKey);
|
|
84
|
+
const label = resolvedTheme === "dark" ? toLightLabel : toDarkLabel;
|
|
85
|
+
return (_jsxs(Button, { type: "button", "data-slot": "theme-toggle", variant: variant, size: size, "aria-label": label, title: label, onClick: () => setTheme(resolvedTheme === "dark" ? "light" : "dark"), className: cn(className), ...props, children: [_jsx(IconMoon, { "aria-hidden": "true", className: "dark:hidden" }), _jsx(IconSun, { "aria-hidden": "true", className: "hidden dark:block" })] }));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Applies the stored theme before the first paint, so a dark-mode visitor
|
|
89
|
+
* never sees a white flash. Render it in `<head>`, or first in `<body>`, and
|
|
90
|
+
* add `suppressHydrationWarning` to `<html>` because the class changes early.
|
|
91
|
+
*/
|
|
92
|
+
function ThemeScript({ storageKey = DEFAULT_STORAGE_KEY, nonce }) {
|
|
93
|
+
// JSON.stringify quotes the key, and the escape keeps it inside the script.
|
|
94
|
+
const key = JSON.stringify(storageKey).replace(/</g, "\\u003c");
|
|
95
|
+
const code = `(function(){try{var t=localStorage.getItem(${key});var d=t==="dark"||((!t||t==="system")&&window.matchMedia("(prefers-color-scheme: dark)").matches);document.documentElement.classList.toggle("dark",d);}catch(e){}})();`;
|
|
96
|
+
return _jsx("script", { nonce: nonce, dangerouslySetInnerHTML: { __html: code } });
|
|
97
|
+
}
|
|
98
|
+
export { ThemeScript, ThemeToggle, useTheme };
|
|
99
|
+
//# sourceMappingURL=theme-toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-toggle.js","sourceRoot":"","sources":["../../src/components/theme-toggle.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { toast, type ToasterProps as SonnerToasterProps } from "sonner";
|
|
2
|
+
/**
|
|
3
|
+
* The toast surface.
|
|
4
|
+
*
|
|
5
|
+
* `Toaster` is the Aback presentation of sonner: the same toast API the rest of
|
|
6
|
+
* the ecosystem uses, drawn with the design tokens instead of sonner's own
|
|
7
|
+
* palette. Mount it once near the root of the app, then call `toast()` from
|
|
8
|
+
* anywhere — including event handlers and non-React modules.
|
|
9
|
+
*
|
|
10
|
+
* The status colours are read from the token layer, so a toast, an `Alert`, and
|
|
11
|
+
* a `Badge` in the same viewport are the same green or red. The normal toast is
|
|
12
|
+
* a popover surface, not a signal. The shape is square, like every other Aback
|
|
13
|
+
* surface.
|
|
14
|
+
*
|
|
15
|
+
* Toasts are supplementary: a message that must be seen belongs inline, next to
|
|
16
|
+
* the thing it is about. Use a toast when the failure has no natural home on the
|
|
17
|
+
* page (an optimistic background mutation) or to confirm an action whose result
|
|
18
|
+
* is no longer visible.
|
|
19
|
+
*/
|
|
20
|
+
export interface ToasterProps extends Omit<SonnerToasterProps, "className" | "style" | "theme"> {
|
|
21
|
+
/** Force a theme. Defaults to `system`; pass the app's resolved theme when it is class-based. */
|
|
22
|
+
theme?: "light" | "dark" | "system";
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
declare function Toaster({ theme, position, closeButton, richColors, className, toastOptions, ...props }: ToasterProps): import("react").JSX.Element;
|
|
26
|
+
export { Toaster, toast };
|
|
27
|
+
//# sourceMappingURL=toaster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toaster.d.ts","sourceRoot":"","sources":["../../src/components/toaster.tsx"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,EACL,KAAK,YAAY,IAAI,kBAAkB,EACxC,MAAM,QAAQ,CAAC;AAIhB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,YACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;IACjE,iGAAiG;IACjG,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+BD,iBAAS,OAAO,CAAC,EACf,KAAgB,EAChB,QAAsB,EACtB,WAAkB,EAClB,UAAiB,EACjB,SAAS,EACT,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,YAAY,+BAkCd;AAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { IconAlertTriangle, IconCircleCheck, IconCircleX, IconInfoCircle, IconX, } from "@tabler/icons-react";
|
|
4
|
+
import { Toaster as SonnerToaster, toast, } from "sonner";
|
|
5
|
+
import { cn } from "../lib/utils.js";
|
|
6
|
+
const iconProps = { size: 16, stroke: 2, "aria-hidden": true };
|
|
7
|
+
const tokenVariables = {
|
|
8
|
+
// Neutral toast: a popover surface, so it follows the theme.
|
|
9
|
+
"--normal-bg": "var(--popover)",
|
|
10
|
+
"--normal-bg-hover": "var(--muted)",
|
|
11
|
+
"--normal-border": "var(--border)",
|
|
12
|
+
"--normal-border-hover": "var(--separator)",
|
|
13
|
+
"--normal-text": "var(--popover-foreground)",
|
|
14
|
+
// Status toasts: the same soft/strong pairs the Alert uses.
|
|
15
|
+
"--success-bg": "var(--success-soft)",
|
|
16
|
+
"--success-border": "color-mix(in oklab, var(--success) 30%, transparent)",
|
|
17
|
+
"--success-text": "var(--success-strong)",
|
|
18
|
+
"--error-bg": "var(--danger-soft)",
|
|
19
|
+
"--error-border": "color-mix(in oklab, var(--danger) 30%, transparent)",
|
|
20
|
+
"--error-text": "var(--danger-strong)",
|
|
21
|
+
"--warning-bg": "var(--warning-soft)",
|
|
22
|
+
"--warning-border": "color-mix(in oklab, var(--warning) 30%, transparent)",
|
|
23
|
+
"--warning-text": "var(--warning-strong)",
|
|
24
|
+
"--info-bg": "var(--info-soft)",
|
|
25
|
+
"--info-border": "color-mix(in oklab, var(--info) 30%, transparent)",
|
|
26
|
+
"--info-text": "var(--info)",
|
|
27
|
+
// Square everywhere, like the rest of the system.
|
|
28
|
+
"--border-radius": "0px",
|
|
29
|
+
"--width": "22.5rem",
|
|
30
|
+
};
|
|
31
|
+
function Toaster({ theme = "system", position = "top-right", closeButton = true, richColors = true, className, toastOptions, ...props }) {
|
|
32
|
+
return (_jsx(SonnerToaster, { theme: theme, position: position, closeButton: closeButton, richColors: richColors, className: cn("font-sans", className), style: { ...tokenVariables, fontFamily: "var(--font-sans)" }, icons: {
|
|
33
|
+
success: _jsx(IconCircleCheck, { ...iconProps }),
|
|
34
|
+
error: _jsx(IconCircleX, { ...iconProps }),
|
|
35
|
+
warning: _jsx(IconAlertTriangle, { ...iconProps }),
|
|
36
|
+
info: _jsx(IconInfoCircle, { ...iconProps }),
|
|
37
|
+
close: _jsx(IconX, { size: 13, stroke: 2, "aria-hidden": "true" }),
|
|
38
|
+
}, toastOptions: {
|
|
39
|
+
...toastOptions,
|
|
40
|
+
classNames: {
|
|
41
|
+
toast: "!rounded-none !p-3.5 !gap-2.5",
|
|
42
|
+
title: "!text-sm !font-semibold",
|
|
43
|
+
description: "!text-xs !leading-relaxed",
|
|
44
|
+
actionButton: "!rounded-none !bg-primary !text-primary-foreground !text-xs !font-semibold",
|
|
45
|
+
cancelButton: "!rounded-none !bg-muted !text-foreground !text-xs !font-semibold",
|
|
46
|
+
closeButton: "!rounded-none !border-border !bg-popover !text-muted-foreground hover:!text-foreground",
|
|
47
|
+
...toastOptions?.classNames,
|
|
48
|
+
},
|
|
49
|
+
}, ...props }));
|
|
50
|
+
}
|
|
51
|
+
export { Toaster, toast };
|
|
52
|
+
//# sourceMappingURL=toaster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toaster.js","sourceRoot":"","sources":["../../src/components/toaster.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,EACd,KAAK,GACN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,OAAO,IAAI,aAAa,EACxB,KAAK,GAEN,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AA2BlC,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAW,CAAC;AAExE,MAAM,cAAc,GAAG;IACrB,6DAA6D;IAC7D,aAAa,EAAE,gBAAgB;IAC/B,mBAAmB,EAAE,cAAc;IACnC,iBAAiB,EAAE,eAAe;IAClC,uBAAuB,EAAE,kBAAkB;IAC3C,eAAe,EAAE,2BAA2B;IAE5C,4DAA4D;IAC5D,cAAc,EAAE,qBAAqB;IACrC,kBAAkB,EAAE,sDAAsD;IAC1E,gBAAgB,EAAE,uBAAuB;IACzC,YAAY,EAAE,oBAAoB;IAClC,gBAAgB,EAAE,qDAAqD;IACvE,cAAc,EAAE,sBAAsB;IACtC,cAAc,EAAE,qBAAqB;IACrC,kBAAkB,EAAE,sDAAsD;IAC1E,gBAAgB,EAAE,uBAAuB;IACzC,WAAW,EAAE,kBAAkB;IAC/B,eAAe,EAAE,mDAAmD;IACpE,aAAa,EAAE,aAAa;IAE5B,kDAAkD;IAClD,iBAAiB,EAAE,KAAK;IACxB,SAAS,EAAE,SAAS;CACE,CAAC;AAEzB,SAAS,OAAO,CAAC,EACf,KAAK,GAAG,QAAQ,EAChB,QAAQ,GAAG,WAAW,EACtB,WAAW,GAAG,IAAI,EAClB,UAAU,GAAG,IAAI,EACjB,SAAS,EACT,YAAY,EACZ,GAAG,KAAK,EACK;IACb,OAAO,CACL,KAAC,aAAa,IACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EACrC,KAAK,EAAE,EAAE,GAAG,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAC5D,KAAK,EAAE;YACL,OAAO,EAAE,KAAC,eAAe,OAAK,SAAS,GAAI;YAC3C,KAAK,EAAE,KAAC,WAAW,OAAK,SAAS,GAAI;YACrC,OAAO,EAAE,KAAC,iBAAiB,OAAK,SAAS,GAAI;YAC7C,IAAI,EAAE,KAAC,cAAc,OAAK,SAAS,GAAI;YACvC,KAAK,EAAE,KAAC,KAAK,IAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,iBAAc,MAAM,GAAG;SACzD,EACD,YAAY,EAAE;YACZ,GAAG,YAAY;YACf,UAAU,EAAE;gBACV,KAAK,EAAE,+BAA+B;gBACtC,KAAK,EAAE,yBAAyB;gBAChC,WAAW,EAAE,2BAA2B;gBACxC,YAAY,EACV,4EAA4E;gBAC9E,YAAY,EACV,kEAAkE;gBACpE,WAAW,EACT,wFAAwF;gBAC1F,GAAG,YAAY,EAAE,UAAU;aAC5B;SACF,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { ToggleGroup as ToggleGroupPrimitive } from "radix-ui";
|
|
3
|
+
import { type VariantProps } from "class-variance-authority";
|
|
4
|
+
declare const toggleGroupItemVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "outline" | null | undefined;
|
|
6
|
+
size?: "sm" | "default" | "lg" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export type ToggleGroupProps = React.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleGroupItemVariants>;
|
|
9
|
+
declare function ToggleGroup({ className, variant, size, ...props }: ToggleGroupProps): React.JSX.Element;
|
|
10
|
+
declare function ToggleGroupItem({ className, variant, size, ...props }: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleGroupItemVariants>): React.JSX.Element;
|
|
11
|
+
export { ToggleGroup, ToggleGroupItem, toggleGroupItemVariants };
|
|
12
|
+
//# sourceMappingURL=toggle-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle-group.d.ts","sourceRoot":"","sources":["../../src/components/toggle-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,uBAAuB;;;8EA0B5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,GACnF,YAAY,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAM/C,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,OAAmB,EACnB,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,gBAAgB,qBAalB;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,OAAmB,EACnB,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,GACvD,YAAY,CAAC,OAAO,uBAAuB,CAAC,qBAQ7C;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { ToggleGroup as ToggleGroupPrimitive } from "radix-ui";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { cn } from "../lib/utils.js";
|
|
6
|
+
const toggleGroupItemVariants = cva([
|
|
7
|
+
"inline-flex shrink-0 items-center justify-center gap-1.5 text-sm font-medium whitespace-nowrap",
|
|
8
|
+
"outline-none transition-colors duration-150",
|
|
9
|
+
"focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-inset",
|
|
10
|
+
"disabled:pointer-events-none disabled:opacity-50",
|
|
11
|
+
"data-[state=on]:bg-primary data-[state=on]:text-primary-foreground",
|
|
12
|
+
], {
|
|
13
|
+
variants: {
|
|
14
|
+
variant: {
|
|
15
|
+
default: "bg-transparent text-foreground hover:bg-muted",
|
|
16
|
+
outline: "border border-input bg-background text-foreground hover:bg-muted data-[state=on]:border-primary",
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
sm: "h-8 min-w-8 px-2.5 text-xs [&_svg:not([class*='size-'])]:size-3.5",
|
|
20
|
+
default: "h-9 min-w-9 px-3 [&_svg:not([class*='size-'])]:size-4",
|
|
21
|
+
lg: "h-10 min-w-10 px-4 [&_svg:not([class*='size-'])]:size-4",
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
variant: "default",
|
|
26
|
+
size: "default",
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
// Root is a single/multiple discriminated union; the wrapper keeps the same
|
|
30
|
+
// contract and forwards `type` untouched.
|
|
31
|
+
const ToggleGroupRoot = ToggleGroupPrimitive.Root;
|
|
32
|
+
function ToggleGroup({ className, variant = "default", size = "default", ...props }) {
|
|
33
|
+
return (_jsx(ToggleGroupRoot, { "data-slot": "toggle-group", "data-variant": variant, "data-size": size, className: cn("inline-flex w-fit divide-x divide-border border border-border bg-background", className), ...props }));
|
|
34
|
+
}
|
|
35
|
+
function ToggleGroupItem({ className, variant = "default", size = "default", ...props }) {
|
|
36
|
+
return (_jsx(ToggleGroupPrimitive.Item, { "data-slot": "toggle-group-item", className: cn(toggleGroupItemVariants({ variant, size }), className), ...props }));
|
|
37
|
+
}
|
|
38
|
+
export { ToggleGroup, ToggleGroupItem, toggleGroupItemVariants };
|
|
39
|
+
//# sourceMappingURL=toggle-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle-group.js","sourceRoot":"","sources":["../../src/components/toggle-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,uBAAuB,GAAG,GAAG,CACjC;IACE,gGAAgG;IAChG,6CAA6C;IAC7C,6EAA6E;IAC7E,kDAAkD;IAClD,oEAAoE;CACrE,EACD;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,+CAA+C;YACxD,OAAO,EACL,iGAAiG;SACpG;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,mEAAmE;YACvE,OAAO,EAAE,uDAAuD;YAChE,EAAE,EAAE,yDAAyD;SAC9D;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAKF,4EAA4E;AAC5E,0CAA0C;AAC1C,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAA6C,CAAC;AAE3F,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,GAAG,KAAK,EACS;IACjB,OAAO,CACL,KAAC,eAAe,iBACJ,cAAc,kBACV,OAAO,eACV,IAAI,EACf,SAAS,EAAE,EAAE,CACX,6EAA6E,EAC7E,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,GAAG,KAAK,EAEoC;IAC5C,OAAO,CACL,KAAC,oBAAoB,CAAC,IAAI,iBACd,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,KAChE,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Tooltip as TooltipPrimitive } from "radix-ui";
|
|
3
|
+
declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
|
|
4
|
+
declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
+
declare function Tooltip({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Root> & {
|
|
6
|
+
delayDuration?: number;
|
|
7
|
+
}): React.JSX.Element;
|
|
8
|
+
declare function TooltipContent({ className, sideOffset, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): React.JSX.Element;
|
|
9
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
|
|
10
|
+
//# sourceMappingURL=tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/components/tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIvD,QAAA,MAAM,eAAe,iDAA4B,CAAC;AAClD,QAAA,MAAM,cAAc,gHAA2B,CAAC;AAEhD,iBAAS,OAAO,CAAC,EACf,aAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,qBAMA;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,UAAc,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,qBAiBvD;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Tooltip as TooltipPrimitive } from "radix-ui";
|
|
4
|
+
import { cn } from "../lib/utils.js";
|
|
5
|
+
const TooltipProvider = TooltipPrimitive.Provider;
|
|
6
|
+
const TooltipTrigger = TooltipPrimitive.Trigger;
|
|
7
|
+
function Tooltip({ delayDuration = 200, ...props }) {
|
|
8
|
+
return (_jsx(TooltipPrimitive.Provider, { delayDuration: delayDuration, children: _jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) }));
|
|
9
|
+
}
|
|
10
|
+
function TooltipContent({ className, sideOffset = 6, ...props }) {
|
|
11
|
+
return (_jsx(TooltipPrimitive.Portal, { children: _jsx(TooltipPrimitive.Content, { "data-slot": "tooltip-content", sideOffset: sideOffset, className: cn("z-[70] max-w-xs border border-border bg-popover px-2.5 py-1.5", "text-xs leading-relaxed text-popover-foreground shadow-md", "animate-in fade-in-0 zoom-in-95 duration-150", "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95", className), ...props }) }));
|
|
12
|
+
}
|
|
13
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
|
|
14
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/components/tooltip.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC;AAClD,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAEhD,SAAS,OAAO,CAAC,EACf,aAAa,GAAG,GAAG,EACnB,GAAG,KAAK,EAGT;IACC,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,aAAa,EAAE,aAAa,YACrD,KAAC,gBAAgB,CAAC,IAAI,iBAAW,SAAS,KAAK,KAAK,GAAI,GAC9B,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,SAAS,EACT,UAAU,GAAG,CAAC,EACd,GAAG,KAAK,EAC8C;IACtD,OAAO,CACL,KAAC,gBAAgB,CAAC,MAAM,cACtB,KAAC,gBAAgB,CAAC,OAAO,iBACb,iBAAiB,EAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,2DAA2D,EAC3D,8CAA8C,EAC9C,gGAAgG,EAChG,SAAS,CACV,KACG,KAAK,GACT,GACsB,CAC3B,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export * from "./components/accordion.js";
|
|
2
|
+
export * from "./components/alert.js";
|
|
3
|
+
export * from "./components/alert-dialog.js";
|
|
4
|
+
export * from "./components/avatar.js";
|
|
5
|
+
export * from "./components/badge.js";
|
|
6
|
+
export * from "./components/breadcrumbs.js";
|
|
7
|
+
export * from "./components/button.js";
|
|
8
|
+
export * from "./components/calendar.js";
|
|
9
|
+
export * from "./components/card.js";
|
|
10
|
+
export * from "./components/checkbox.js";
|
|
11
|
+
export * from "./components/code-block.js";
|
|
12
|
+
export * from "./components/collapsible.js";
|
|
13
|
+
export * from "./components/combobox.js";
|
|
14
|
+
export * from "./components/command.js";
|
|
15
|
+
export * from "./components/copy-button.js";
|
|
16
|
+
export * from "./components/date-picker.js";
|
|
17
|
+
export * from "./components/description-list.js";
|
|
18
|
+
export * from "./components/dialog.js";
|
|
19
|
+
export * from "./components/dropdown-menu.js";
|
|
20
|
+
export * from "./components/dropzone.js";
|
|
21
|
+
export * from "./components/empty-state.js";
|
|
22
|
+
export * from "./components/field.js";
|
|
23
|
+
export * from "./components/hover-card.js";
|
|
24
|
+
export * from "./components/input.js";
|
|
25
|
+
export * from "./components/input-group.js";
|
|
26
|
+
export * from "./components/kbd.js";
|
|
27
|
+
export * from "./components/label.js";
|
|
28
|
+
export * from "./components/layout.js";
|
|
29
|
+
export * from "./components/page-header.js";
|
|
30
|
+
export * from "./components/pagination.js";
|
|
31
|
+
export * from "./components/popover.js";
|
|
32
|
+
export * from "./components/progress.js";
|
|
33
|
+
export * from "./components/radio-group.js";
|
|
34
|
+
export * from "./components/rating.js";
|
|
35
|
+
export * from "./components/reading-progress.js";
|
|
36
|
+
export * from "./components/relative-time.js";
|
|
37
|
+
export * from "./components/select.js";
|
|
38
|
+
export * from "./components/scroll-area.js";
|
|
39
|
+
export * from "./components/section-heading.js";
|
|
40
|
+
export * from "./components/separator.js";
|
|
41
|
+
export * from "./components/share-buttons.js";
|
|
42
|
+
export * from "./components/sheet.js";
|
|
43
|
+
export * from "./components/skeleton.js";
|
|
44
|
+
export * from "./components/skip-link.js";
|
|
45
|
+
export * from "./components/slider.js";
|
|
46
|
+
export * from "./components/spinner.js";
|
|
47
|
+
export * from "./components/stat.js";
|
|
48
|
+
export * from "./components/steps.js";
|
|
49
|
+
export * from "./components/switch.js";
|
|
50
|
+
export * from "./components/table.js";
|
|
51
|
+
export * from "./components/table-of-contents.js";
|
|
52
|
+
export * from "./components/tabs.js";
|
|
53
|
+
export * from "./components/textarea.js";
|
|
54
|
+
export * from "./components/theme-toggle.js";
|
|
55
|
+
export * from "./components/toaster.js";
|
|
56
|
+
export * from "./components/toggle-group.js";
|
|
57
|
+
export * from "./components/tooltip.js";
|
|
58
|
+
export { cn } from "./lib/utils.js";
|
|
59
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export * from "./components/accordion.js";
|
|
2
|
+
export * from "./components/alert.js";
|
|
3
|
+
export * from "./components/alert-dialog.js";
|
|
4
|
+
export * from "./components/avatar.js";
|
|
5
|
+
export * from "./components/badge.js";
|
|
6
|
+
export * from "./components/breadcrumbs.js";
|
|
7
|
+
export * from "./components/button.js";
|
|
8
|
+
export * from "./components/calendar.js";
|
|
9
|
+
export * from "./components/card.js";
|
|
10
|
+
export * from "./components/checkbox.js";
|
|
11
|
+
export * from "./components/code-block.js";
|
|
12
|
+
export * from "./components/collapsible.js";
|
|
13
|
+
export * from "./components/combobox.js";
|
|
14
|
+
export * from "./components/command.js";
|
|
15
|
+
export * from "./components/copy-button.js";
|
|
16
|
+
export * from "./components/date-picker.js";
|
|
17
|
+
export * from "./components/description-list.js";
|
|
18
|
+
export * from "./components/dialog.js";
|
|
19
|
+
export * from "./components/dropdown-menu.js";
|
|
20
|
+
export * from "./components/dropzone.js";
|
|
21
|
+
export * from "./components/empty-state.js";
|
|
22
|
+
export * from "./components/field.js";
|
|
23
|
+
export * from "./components/hover-card.js";
|
|
24
|
+
export * from "./components/input.js";
|
|
25
|
+
export * from "./components/input-group.js";
|
|
26
|
+
export * from "./components/kbd.js";
|
|
27
|
+
export * from "./components/label.js";
|
|
28
|
+
export * from "./components/layout.js";
|
|
29
|
+
export * from "./components/page-header.js";
|
|
30
|
+
export * from "./components/pagination.js";
|
|
31
|
+
export * from "./components/popover.js";
|
|
32
|
+
export * from "./components/progress.js";
|
|
33
|
+
export * from "./components/radio-group.js";
|
|
34
|
+
export * from "./components/rating.js";
|
|
35
|
+
export * from "./components/reading-progress.js";
|
|
36
|
+
export * from "./components/relative-time.js";
|
|
37
|
+
export * from "./components/select.js";
|
|
38
|
+
export * from "./components/scroll-area.js";
|
|
39
|
+
export * from "./components/section-heading.js";
|
|
40
|
+
export * from "./components/separator.js";
|
|
41
|
+
export * from "./components/share-buttons.js";
|
|
42
|
+
export * from "./components/sheet.js";
|
|
43
|
+
export * from "./components/skeleton.js";
|
|
44
|
+
export * from "./components/skip-link.js";
|
|
45
|
+
export * from "./components/slider.js";
|
|
46
|
+
export * from "./components/spinner.js";
|
|
47
|
+
export * from "./components/stat.js";
|
|
48
|
+
export * from "./components/steps.js";
|
|
49
|
+
export * from "./components/switch.js";
|
|
50
|
+
export * from "./components/table.js";
|
|
51
|
+
export * from "./components/table-of-contents.js";
|
|
52
|
+
export * from "./components/tabs.js";
|
|
53
|
+
export * from "./components/textarea.js";
|
|
54
|
+
export * from "./components/theme-toggle.js";
|
|
55
|
+
export * from "./components/toaster.js";
|
|
56
|
+
export * from "./components/toggle-group.js";
|
|
57
|
+
export * from "./components/tooltip.js";
|
|
58
|
+
export { cn } from "./lib/utils.js";
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,78 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aback-ui/ui",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Accessible, square-cornered React components for the Aback design system.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Aback Group",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/devvrat-hans/aback-ui.git",
|
|
11
|
+
"directory": "packages/ui"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://abackui.com/docs/installation",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/devvrat-hans/aback-ui/issues"
|
|
16
|
+
},
|
|
17
|
+
"engines": {
|
|
18
|
+
"node": ">=20.9.0"
|
|
19
|
+
},
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"sideEffects": false,
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"import": "./dist/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./package.json": "./package.json"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist",
|
|
33
|
+
"LICENSE",
|
|
34
|
+
"README.md"
|
|
35
|
+
],
|
|
36
|
+
"scripts": {
|
|
37
|
+
"build": "rm -rf dist node_modules/.cache && tsc -p tsconfig.build.json && bun ../../scripts/fix-dist-extensions.mjs",
|
|
38
|
+
"dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput",
|
|
39
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
40
|
+
"test": "vitest run",
|
|
41
|
+
"test:watch": "vitest",
|
|
42
|
+
"prepublishOnly": "bun run typecheck && bun run test && bun run build && bun ../../scripts/verify-publishable.mjs"
|
|
43
|
+
},
|
|
44
|
+
"peerDependencies": {
|
|
45
|
+
"react": "^19.0.0",
|
|
46
|
+
"react-dom": "^19.0.0"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@tabler/icons-react": "^3.49.0",
|
|
50
|
+
"class-variance-authority": "^0.7.1",
|
|
51
|
+
"clsx": "^2.1.1",
|
|
52
|
+
"cmdk": "^1.1.1",
|
|
53
|
+
"radix-ui": "^1.8.1",
|
|
54
|
+
"react-day-picker": "^10.0.2",
|
|
55
|
+
"sonner": "^2.0.8",
|
|
56
|
+
"tailwind-merge": "^3.7.0"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
60
|
+
"@testing-library/react": "^16.3.3",
|
|
61
|
+
"@testing-library/user-event": "^14.6.8",
|
|
62
|
+
"@types/react": "^19.3.0",
|
|
63
|
+
"@types/react-dom": "^19.3.0",
|
|
64
|
+
"axe-core": "^4.14.0",
|
|
65
|
+
"jsdom": "^30.1.3",
|
|
66
|
+
"react": "^19.3.1",
|
|
67
|
+
"react-dom": "^19.3.1",
|
|
68
|
+
"typescript": "^5.9.3",
|
|
69
|
+
"vitest": "^5.0.5"
|
|
70
|
+
},
|
|
71
|
+
"keywords": [
|
|
72
|
+
"aback",
|
|
73
|
+
"design-system",
|
|
74
|
+
"react",
|
|
75
|
+
"tailwindcss",
|
|
76
|
+
"radix-ui"
|
|
77
|
+
]
|
|
78
|
+
}
|