@evinvest/uikit 0.19.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -5
- package/dist/components/accordion.js +136 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.js +175 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/alert.js +49 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/avatar.js +54 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.js +25 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/band.js +75 -0
- package/dist/components/band.js.map +1 -0
- package/dist/components/breadcrumb.js +132 -0
- package/dist/components/breadcrumb.js.map +1 -0
- package/dist/components/button-group.js +61 -0
- package/dist/components/button-group.js.map +1 -0
- package/dist/components/button.js +55 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.js +226 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/card.js +98 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/carousel.js +262 -0
- package/dist/components/carousel.js.map +1 -0
- package/dist/components/chart.js +151 -0
- package/dist/components/chart.js.map +1 -0
- package/dist/components/checkbox.js +68 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/collapsible.js +60 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/command.js +274 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/container.js +18 -0
- package/dist/components/container.js.map +1 -0
- package/dist/components/context-menu.js +337 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/date-time-picker.js +301 -0
- package/dist/components/date-time-picker.js.map +1 -0
- package/dist/components/dialog.js +207 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/drawer.js +351 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/dropdown-menu.js +356 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/empty.js +91 -0
- package/dist/components/empty.js.map +1 -0
- package/dist/components/field-context.js +30 -0
- package/dist/components/field-context.js.map +1 -0
- package/dist/components/field.js +216 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/footer.js +89 -0
- package/dist/components/footer.js.map +1 -0
- package/dist/components/form.js +101 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/hover-card.js +90 -0
- package/dist/components/hover-card.js.map +1 -0
- package/dist/components/info-tip.js +161 -0
- package/dist/components/info-tip.js.map +1 -0
- package/dist/components/input-group.js +124 -0
- package/dist/components/input-group.js.map +1 -0
- package/dist/components/input-otp.js +120 -0
- package/dist/components/input-otp.js.map +1 -0
- package/dist/components/input.js +26 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/item.js +167 -0
- package/dist/components/item.js.map +1 -0
- package/dist/components/kbd.js +29 -0
- package/dist/components/kbd.js.map +1 -0
- package/dist/components/label.js +11 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/logo.js +41 -0
- package/dist/components/logo.js.map +1 -0
- package/dist/components/menubar.js +330 -0
- package/dist/components/menubar.js.map +1 -0
- package/dist/components/native-select.js +62 -0
- package/dist/components/native-select.js.map +1 -0
- package/dist/components/navigation-menu.js +204 -0
- package/dist/components/navigation-menu.js.map +1 -0
- package/dist/components/pagination.js +138 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/popover.js +104 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/progress.js +30 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.js +113 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/resizable.js +193 -0
- package/dist/components/resizable.js.map +1 -0
- package/dist/components/scroll-area.js +40 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/section-descriptor.js +88 -0
- package/dist/components/section-descriptor.js.map +1 -0
- package/dist/components/select-chevron.js +25 -0
- package/dist/components/select-chevron.js.map +1 -0
- package/dist/components/select.js +288 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.js +31 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/sheet.js +200 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/sidebar.js +326 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/skeleton.js +18 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.js +138 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/sonner.js +319 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/spinner.js +23 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/status-screen.js +145 -0
- package/dist/components/status-screen.js.map +1 -0
- package/dist/components/switch.js +54 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.js +124 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.js +133 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/terminal.js +206 -0
- package/dist/components/terminal.js.map +1 -0
- package/dist/components/textarea.js +22 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/toggle-group.js +105 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle.js +53 -0
- package/dist/components/toggle.js.map +1 -0
- package/dist/components/tooltip.js +102 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/generated/accent.js +27 -0
- package/dist/generated/accent.js.map +1 -0
- package/dist/generated/accordion.js +13 -0
- package/dist/generated/accordion.js.map +1 -0
- package/dist/generated/alert-dialog.js +15 -0
- package/dist/generated/alert-dialog.js.map +1 -0
- package/dist/generated/alert.js +16 -0
- package/dist/generated/alert.js.map +1 -0
- package/dist/generated/avatar.js +9 -0
- package/dist/generated/avatar.js.map +1 -0
- package/dist/generated/badge.js +13 -0
- package/dist/generated/badge.js.map +1 -0
- package/dist/generated/band.js +39 -0
- package/dist/generated/band.js.map +1 -0
- package/dist/generated/breadcrumb.js +15 -0
- package/dist/generated/breadcrumb.js.map +1 -0
- package/dist/generated/button-group.js +14 -0
- package/dist/generated/button-group.js.map +1 -0
- package/dist/generated/button.js +30 -0
- package/dist/generated/button.js.map +1 -0
- package/dist/generated/calendar.js +29 -0
- package/dist/generated/calendar.js.map +1 -0
- package/dist/generated/card.js +17 -0
- package/dist/generated/card.js.map +1 -0
- package/dist/generated/carousel.js +31 -0
- package/dist/generated/carousel.js.map +1 -0
- package/dist/generated/chart.js +9 -0
- package/dist/generated/chart.js.map +1 -0
- package/dist/generated/checkbox.js +7 -0
- package/dist/generated/checkbox.js.map +1 -0
- package/dist/generated/command.js +27 -0
- package/dist/generated/command.js.map +1 -0
- package/dist/generated/container.js +5 -0
- package/dist/generated/container.js.map +1 -0
- package/dist/generated/context-menu.js +19 -0
- package/dist/generated/context-menu.js.map +1 -0
- package/dist/generated/date-time-picker.js +15 -0
- package/dist/generated/date-time-picker.js.map +1 -0
- package/dist/generated/dialog.js +17 -0
- package/dist/generated/dialog.js.map +1 -0
- package/dist/generated/drawer.js +26 -0
- package/dist/generated/drawer.js.map +1 -0
- package/dist/generated/dropdown-menu.js +21 -0
- package/dist/generated/dropdown-menu.js.map +1 -0
- package/dist/generated/empty.js +20 -0
- package/dist/generated/empty.js.map +1 -0
- package/dist/generated/field.js +33 -0
- package/dist/generated/field.js.map +1 -0
- package/dist/generated/focus.js +5 -0
- package/dist/generated/focus.js.map +1 -0
- package/dist/generated/form.js +11 -0
- package/dist/generated/form.js.map +1 -0
- package/dist/generated/hover-card.js +5 -0
- package/dist/generated/hover-card.js.map +1 -0
- package/dist/generated/input-group.js +29 -0
- package/dist/generated/input-group.js.map +1 -0
- package/dist/generated/input-otp.js +15 -0
- package/dist/generated/input-otp.js.map +1 -0
- package/dist/generated/input.js +11 -0
- package/dist/generated/input.js.map +1 -0
- package/dist/generated/item.js +40 -0
- package/dist/generated/item.js.map +1 -0
- package/dist/generated/kbd.js +7 -0
- package/dist/generated/kbd.js.map +1 -0
- package/dist/generated/label.js +5 -0
- package/dist/generated/label.js.map +1 -0
- package/dist/generated/menubar.js +27 -0
- package/dist/generated/menubar.js.map +1 -0
- package/dist/generated/navigation-menu.js +19 -0
- package/dist/generated/navigation-menu.js.map +1 -0
- package/dist/generated/popover.js +5 -0
- package/dist/generated/popover.js.map +1 -0
- package/dist/generated/progress.js +7 -0
- package/dist/generated/progress.js.map +1 -0
- package/dist/generated/radio-group.js +7 -0
- package/dist/generated/radio-group.js.map +1 -0
- package/dist/generated/resizable.js +11 -0
- package/dist/generated/resizable.js.map +1 -0
- package/dist/generated/scroll-area.js +14 -0
- package/dist/generated/scroll-area.js.map +1 -0
- package/dist/generated/select.js +15 -0
- package/dist/generated/select.js.map +1 -0
- package/dist/generated/separator.js +10 -0
- package/dist/generated/separator.js.map +1 -0
- package/dist/generated/sheet.js +25 -0
- package/dist/generated/sheet.js.map +1 -0
- package/dist/generated/sidebar.js +41 -0
- package/dist/generated/sidebar.js.map +1 -0
- package/dist/generated/skeleton.js +5 -0
- package/dist/generated/skeleton.js.map +1 -0
- package/dist/generated/slider.js +11 -0
- package/dist/generated/slider.js.map +1 -0
- package/dist/generated/sonner.js +30 -0
- package/dist/generated/sonner.js.map +1 -0
- package/dist/generated/switch.js +7 -0
- package/dist/generated/switch.js.map +1 -0
- package/dist/generated/table.js +21 -0
- package/dist/generated/table.js.map +1 -0
- package/dist/generated/tabs.js +11 -0
- package/dist/generated/tabs.js.map +1 -0
- package/dist/generated/terminal.js +70 -0
- package/dist/generated/terminal.js.map +1 -0
- package/dist/generated/textarea.js +11 -0
- package/dist/generated/textarea.js.map +1 -0
- package/dist/generated/toggle.js +18 -0
- package/dist/generated/toggle.js.map +1 -0
- package/dist/generated/tooltip.js +5 -0
- package/dist/generated/tooltip.js.map +1 -0
- package/dist/index.d.ts +43 -10
- package/dist/index.js +73 -8805
- package/dist/lib/cn.js +12 -0
- package/dist/lib/cn.js.map +1 -0
- package/dist/lib/focus.js +5 -0
- package/dist/lib/focus.js.map +1 -0
- package/dist/primitives/dismissable-layer.js +35 -0
- package/dist/primitives/dismissable-layer.js.map +1 -0
- package/dist/primitives/focus-scope.js +58 -0
- package/dist/primitives/focus-scope.js.map +1 -0
- package/dist/primitives/merge-refs.js +13 -0
- package/dist/primitives/merge-refs.js.map +1 -0
- package/dist/primitives/portal.js +19 -0
- package/dist/primitives/portal.js.map +1 -0
- package/dist/primitives/presence.js +45 -0
- package/dist/primitives/presence.js.map +1 -0
- package/dist/primitives/slot.js +39 -0
- package/dist/primitives/slot.js.map +1 -0
- package/dist/primitives/use-controllable-state.js +24 -0
- package/dist/primitives/use-controllable-state.js.map +1 -0
- package/dist/primitives/use-floating.js +128 -0
- package/dist/primitives/use-floating.js.map +1 -0
- package/dist/primitives/use-hover-intent.js +50 -0
- package/dist/primitives/use-hover-intent.js.map +1 -0
- package/dist/primitives/use-roving-focus.js +40 -0
- package/dist/primitives/use-roving-focus.js.map +1 -0
- package/dist/primitives/walk-elements.js +13 -0
- package/dist/primitives/walk-elements.js.map +1 -0
- package/package.json +5 -4
- package/styles/theme.css +5 -1
- package/styles/tokens.css +5 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "../lib/cn.js";
|
|
5
|
+
import { useControllableState } from "../primitives/use-controllable-state.js";
|
|
6
|
+
import {
|
|
7
|
+
TOGGLE_BASE,
|
|
8
|
+
toggleSizeClasses,
|
|
9
|
+
toggleVariantClasses
|
|
10
|
+
} from "../generated/toggle.js";
|
|
11
|
+
function toggleVariants({
|
|
12
|
+
variant = "bare",
|
|
13
|
+
size = "md",
|
|
14
|
+
className
|
|
15
|
+
} = {}) {
|
|
16
|
+
return cn(TOGGLE_BASE, toggleVariantClasses[variant], toggleSizeClasses[size], className);
|
|
17
|
+
}
|
|
18
|
+
function Toggle({
|
|
19
|
+
className,
|
|
20
|
+
variant = "bare",
|
|
21
|
+
size = "md",
|
|
22
|
+
pressed,
|
|
23
|
+
defaultPressed = false,
|
|
24
|
+
onPressedChange,
|
|
25
|
+
onClick,
|
|
26
|
+
...props
|
|
27
|
+
}) {
|
|
28
|
+
const [on, setOn] = useControllableState({
|
|
29
|
+
...pressed !== void 0 ? { value: pressed } : {},
|
|
30
|
+
defaultValue: defaultPressed,
|
|
31
|
+
...onPressedChange ? { onChange: onPressedChange } : {}
|
|
32
|
+
});
|
|
33
|
+
return /* @__PURE__ */ jsx(
|
|
34
|
+
"button",
|
|
35
|
+
{
|
|
36
|
+
type: "button",
|
|
37
|
+
"data-slot": "toggle",
|
|
38
|
+
"data-state": on ? "on" : "off",
|
|
39
|
+
"aria-pressed": on,
|
|
40
|
+
className: cn(toggleVariants({ variant, size }), className),
|
|
41
|
+
onClick: (e) => {
|
|
42
|
+
onClick?.(e);
|
|
43
|
+
setOn(!on);
|
|
44
|
+
},
|
|
45
|
+
...props
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
Toggle,
|
|
51
|
+
toggleVariants
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/toggle.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"../lib/cn\";\nimport { useControllableState } from \"../primitives/use-controllable-state\";\nimport {\n TOGGLE_BASE,\n toggleSizeClasses,\n toggleVariantClasses,\n type ToggleSize,\n type ToggleVariant,\n} from \"../generated/toggle\";\n\nexport type { ToggleSize, ToggleVariant };\n\nexport interface ToggleVariantsOptions {\n variant?: ToggleVariant;\n size?: ToggleSize;\n className?: string;\n}\n\n/**\n * Returns the fused canonical toggle class string. Reused by `toggle-group` so\n * its items adopt the same styling, mirroring Rust's `toggle_classes`.\n */\nexport function toggleVariants({\n variant = \"bare\",\n size = \"md\",\n className,\n}: ToggleVariantsOptions = {}): string {\n return cn(TOGGLE_BASE, toggleVariantClasses[variant], toggleSizeClasses[size], className);\n}\n\nexport interface ToggleProps\n extends Omit<React.ComponentProps<\"button\">, \"onChange\"> {\n variant?: ToggleVariant;\n size?: ToggleSize;\n pressed?: boolean;\n defaultPressed?: boolean;\n onPressedChange?: (pressed: boolean) => void;\n}\n\nexport function Toggle({\n className,\n variant = \"bare\",\n size = \"md\",\n pressed,\n defaultPressed = false,\n onPressedChange,\n onClick,\n ...props\n}: ToggleProps) {\n const [on, setOn] = useControllableState<boolean>({\n ...(pressed !== undefined ? { value: pressed } : {}),\n defaultValue: defaultPressed,\n ...(onPressedChange ? { onChange: onPressedChange } : {}),\n });\n return (\n <button\n type=\"button\"\n data-slot=\"toggle\"\n data-state={on ? \"on\" : \"off\"}\n aria-pressed={on}\n className={cn(toggleVariants({ variant, size }), className)}\n onClick={(e) => {\n onClick?.(e);\n setOn(!on);\n }}\n {...props}\n />\n );\n}\n"],"mappings":";AA0DI;AAxDJ,YAAY,WAAW;AACvB,SAAS,UAAU;AACnB,SAAS,4BAA4B;AACrC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAcA,SAAS,eAAe;AAAA,EAC7B,UAAU;AAAA,EACV,OAAO;AAAA,EACP;AACF,IAA2B,CAAC,GAAW;AACrC,SAAO,GAAG,aAAa,qBAAqB,OAAO,GAAG,kBAAkB,IAAI,GAAG,SAAS;AAC1F;AAWO,SAAS,OAAO;AAAA,EACrB;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAgB;AACd,QAAM,CAAC,IAAI,KAAK,IAAI,qBAA8B;AAAA,IAChD,GAAI,YAAY,SAAY,EAAE,OAAO,QAAQ,IAAI,CAAC;AAAA,IAClD,cAAc;AAAA,IACd,GAAI,kBAAkB,EAAE,UAAU,gBAAgB,IAAI,CAAC;AAAA,EACzD,CAAC;AACD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAY,KAAK,OAAO;AAAA,MACxB,gBAAc;AAAA,MACd,WAAW,GAAG,eAAe,EAAE,SAAS,KAAK,CAAC,GAAG,SAAS;AAAA,MAC1D,SAAS,CAAC,MAAM;AACd,kBAAU,CAAC;AACX,cAAM,CAAC,EAAE;AAAA,MACX;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "../lib/cn.js";
|
|
5
|
+
import { useControllableState } from "../primitives/use-controllable-state.js";
|
|
6
|
+
import { useFloating } from "../primitives/use-floating.js";
|
|
7
|
+
import { usePresence } from "../primitives/presence.js";
|
|
8
|
+
import { mergeRefs } from "../primitives/merge-refs.js";
|
|
9
|
+
import { Portal } from "../primitives/portal.js";
|
|
10
|
+
import { Slot } from "../primitives/slot.js";
|
|
11
|
+
import { TOOLTIP_CONTENT } from "../generated/tooltip.js";
|
|
12
|
+
const TooltipContext = React.createContext(null);
|
|
13
|
+
function useTooltip() {
|
|
14
|
+
const ctx = React.useContext(TooltipContext);
|
|
15
|
+
if (!ctx) throw new Error("Tooltip parts must be used within <Tooltip>");
|
|
16
|
+
return ctx;
|
|
17
|
+
}
|
|
18
|
+
function TooltipProvider({ children }) {
|
|
19
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
20
|
+
}
|
|
21
|
+
function Tooltip({ open, defaultOpen = false, onOpenChange, children }) {
|
|
22
|
+
const [isOpen, setOpen] = useControllableState({
|
|
23
|
+
...open !== void 0 ? { value: open } : {},
|
|
24
|
+
defaultValue: defaultOpen,
|
|
25
|
+
...onOpenChange ? { onChange: onOpenChange } : {}
|
|
26
|
+
});
|
|
27
|
+
const anchorRef = React.useRef(null);
|
|
28
|
+
return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipContext.Provider, { value: { open: isOpen, setOpen, anchorRef }, children }) });
|
|
29
|
+
}
|
|
30
|
+
function TooltipTrigger({
|
|
31
|
+
asChild = false,
|
|
32
|
+
onPointerEnter,
|
|
33
|
+
onPointerLeave,
|
|
34
|
+
onFocus,
|
|
35
|
+
onBlur,
|
|
36
|
+
...props
|
|
37
|
+
}) {
|
|
38
|
+
const { setOpen, anchorRef } = useTooltip();
|
|
39
|
+
const Comp = asChild ? Slot : "button";
|
|
40
|
+
return /* @__PURE__ */ jsx(
|
|
41
|
+
Comp,
|
|
42
|
+
{
|
|
43
|
+
"data-slot": "tooltip-trigger",
|
|
44
|
+
ref: anchorRef,
|
|
45
|
+
onPointerEnter: (e) => {
|
|
46
|
+
onPointerEnter?.(e);
|
|
47
|
+
setOpen(true);
|
|
48
|
+
},
|
|
49
|
+
onPointerLeave: (e) => {
|
|
50
|
+
onPointerLeave?.(e);
|
|
51
|
+
setOpen(false);
|
|
52
|
+
},
|
|
53
|
+
onFocus: (e) => {
|
|
54
|
+
onFocus?.(e);
|
|
55
|
+
setOpen(true);
|
|
56
|
+
},
|
|
57
|
+
onBlur: (e) => {
|
|
58
|
+
onBlur?.(e);
|
|
59
|
+
setOpen(false);
|
|
60
|
+
},
|
|
61
|
+
...props
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
function TooltipContent({
|
|
66
|
+
className,
|
|
67
|
+
side: sideProp = "top",
|
|
68
|
+
sideOffset = 0,
|
|
69
|
+
children,
|
|
70
|
+
...props
|
|
71
|
+
}) {
|
|
72
|
+
const { open, anchorRef } = useTooltip();
|
|
73
|
+
const { isPresent, ref: presRef } = usePresence(open);
|
|
74
|
+
const { floatingRef, style, side } = useFloating({
|
|
75
|
+
anchorRef,
|
|
76
|
+
open,
|
|
77
|
+
side: sideProp,
|
|
78
|
+
offset: sideOffset
|
|
79
|
+
});
|
|
80
|
+
if (!isPresent) return null;
|
|
81
|
+
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
|
|
82
|
+
"div",
|
|
83
|
+
{
|
|
84
|
+
"data-slot": "tooltip-content",
|
|
85
|
+
role: "tooltip",
|
|
86
|
+
"data-state": open ? "open" : "closed",
|
|
87
|
+
"data-side": side,
|
|
88
|
+
ref: mergeRefs(floatingRef, presRef),
|
|
89
|
+
style,
|
|
90
|
+
className: cn(TOOLTIP_CONTENT, className),
|
|
91
|
+
...props,
|
|
92
|
+
children
|
|
93
|
+
}
|
|
94
|
+
) });
|
|
95
|
+
}
|
|
96
|
+
export {
|
|
97
|
+
Tooltip,
|
|
98
|
+
TooltipContent,
|
|
99
|
+
TooltipProvider,
|
|
100
|
+
TooltipTrigger
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"../lib/cn\";\nimport { useControllableState } from \"../primitives/use-controllable-state\";\nimport { useFloating } from \"../primitives/use-floating\";\nimport { usePresence } from \"../primitives/presence\";\nimport { mergeRefs } from \"../primitives/merge-refs\";\nimport { Portal } from \"../primitives/portal\";\nimport { Slot } from \"../primitives/slot\";\nimport { TOOLTIP_CONTENT } from \"../generated/tooltip\";\n\ninterface TooltipContextValue {\n open: boolean;\n setOpen: (next: boolean) => void;\n anchorRef: React.RefObject<HTMLElement | null>;\n}\n\nconst TooltipContext = React.createContext<TooltipContextValue | null>(null);\n\nfunction useTooltip(): TooltipContextValue {\n const ctx = React.useContext(TooltipContext);\n if (!ctx) throw new Error(\"Tooltip parts must be used within <Tooltip>\");\n return ctx;\n}\n\nexport interface TooltipProviderProps {\n children?: React.ReactNode;\n}\n\nexport function TooltipProvider({ children }: TooltipProviderProps) {\n return <>{children}</>;\n}\n\nexport interface TooltipProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: React.ReactNode;\n}\n\nexport function Tooltip({ open, defaultOpen = false, onOpenChange, children }: TooltipProps) {\n const [isOpen, setOpen] = useControllableState<boolean>({\n ...(open !== undefined ? { value: open } : {}),\n defaultValue: defaultOpen,\n ...(onOpenChange ? { onChange: onOpenChange } : {}),\n });\n const anchorRef = React.useRef<HTMLElement | null>(null);\n return (\n <TooltipProvider>\n <TooltipContext.Provider value={{ open: isOpen, setOpen, anchorRef }}>\n {children}\n </TooltipContext.Provider>\n </TooltipProvider>\n );\n}\n\nexport interface TooltipTriggerProps extends React.ComponentProps<\"button\"> {\n asChild?: boolean;\n}\n\nexport function TooltipTrigger({\n asChild = false,\n onPointerEnter,\n onPointerLeave,\n onFocus,\n onBlur,\n ...props\n}: TooltipTriggerProps) {\n const { setOpen, anchorRef } = useTooltip();\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp\n data-slot=\"tooltip-trigger\"\n ref={anchorRef as React.Ref<never>}\n onPointerEnter={(e: React.PointerEvent<HTMLButtonElement>) => {\n onPointerEnter?.(e);\n setOpen(true);\n }}\n onPointerLeave={(e: React.PointerEvent<HTMLButtonElement>) => {\n onPointerLeave?.(e);\n setOpen(false);\n }}\n onFocus={(e: React.FocusEvent<HTMLButtonElement>) => {\n onFocus?.(e);\n setOpen(true);\n }}\n onBlur={(e: React.FocusEvent<HTMLButtonElement>) => {\n onBlur?.(e);\n setOpen(false);\n }}\n {...(props as Record<string, unknown>)}\n />\n );\n}\n\nexport interface TooltipContentProps extends React.ComponentProps<\"div\"> {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n sideOffset?: number;\n}\n\nexport function TooltipContent({\n className,\n side: sideProp = \"top\",\n sideOffset = 0,\n children,\n ...props\n}: TooltipContentProps) {\n const { open, anchorRef } = useTooltip();\n const { isPresent, ref: presRef } = usePresence(open);\n const { floatingRef, style, side } = useFloating({\n anchorRef,\n open,\n side: sideProp,\n offset: sideOffset,\n });\n if (!isPresent) return null;\n return (\n <Portal>\n <div\n data-slot=\"tooltip-content\"\n role=\"tooltip\"\n data-state={open ? \"open\" : \"closed\"}\n data-side={side}\n ref={mergeRefs(floatingRef, presRef)}\n style={style}\n className={cn(TOOLTIP_CONTENT, className)}\n {...(props as Record<string, unknown>)}\n >\n {children}\n </div>\n </Portal>\n );\n}\n"],"mappings":";AA+BS;AA7BT,YAAY,WAAW;AACvB,SAAS,UAAU;AACnB,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAC5B,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,uBAAuB;AAQhC,MAAM,iBAAiB,MAAM,cAA0C,IAAI;AAE3E,SAAS,aAAkC;AACzC,QAAM,MAAM,MAAM,WAAW,cAAc;AAC3C,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM,6CAA6C;AACvE,SAAO;AACT;AAMO,SAAS,gBAAgB,EAAE,SAAS,GAAyB;AAClE,SAAO,gCAAG,UAAS;AACrB;AASO,SAAS,QAAQ,EAAE,MAAM,cAAc,OAAO,cAAc,SAAS,GAAiB;AAC3F,QAAM,CAAC,QAAQ,OAAO,IAAI,qBAA8B;AAAA,IACtD,GAAI,SAAS,SAAY,EAAE,OAAO,KAAK,IAAI,CAAC;AAAA,IAC5C,cAAc;AAAA,IACd,GAAI,eAAe,EAAE,UAAU,aAAa,IAAI,CAAC;AAAA,EACnD,CAAC;AACD,QAAM,YAAY,MAAM,OAA2B,IAAI;AACvD,SACE,oBAAC,mBACC,8BAAC,eAAe,UAAf,EAAwB,OAAO,EAAE,MAAM,QAAQ,SAAS,UAAU,GAChE,UACH,GACF;AAEJ;AAMO,SAAS,eAAe;AAAA,EAC7B,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,QAAM,EAAE,SAAS,UAAU,IAAI,WAAW;AAC1C,QAAM,OAAO,UAAU,OAAO;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,KAAK;AAAA,MACL,gBAAgB,CAAC,MAA6C;AAC5D,yBAAiB,CAAC;AAClB,gBAAQ,IAAI;AAAA,MACd;AAAA,MACA,gBAAgB,CAAC,MAA6C;AAC5D,yBAAiB,CAAC;AAClB,gBAAQ,KAAK;AAAA,MACf;AAAA,MACA,SAAS,CAAC,MAA2C;AACnD,kBAAU,CAAC;AACX,gBAAQ,IAAI;AAAA,MACd;AAAA,MACA,QAAQ,CAAC,MAA2C;AAClD,iBAAS,CAAC;AACV,gBAAQ,KAAK;AAAA,MACf;AAAA,MACC,GAAI;AAAA;AAAA,EACP;AAEJ;AAOO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA,MAAM,WAAW;AAAA,EACjB,aAAa;AAAA,EACb;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,QAAM,EAAE,MAAM,UAAU,IAAI,WAAW;AACvC,QAAM,EAAE,WAAW,KAAK,QAAQ,IAAI,YAAY,IAAI;AACpD,QAAM,EAAE,aAAa,OAAO,KAAK,IAAI,YAAY;AAAA,IAC/C;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,CAAC;AACD,MAAI,CAAC,UAAW,QAAO;AACvB,SACE,oBAAC,UACC;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,cAAY,OAAO,SAAS;AAAA,MAC5B,aAAW;AAAA,MACX,KAAK,UAAU,aAAa,OAAO;AAAA,MACnC;AAAA,MACA,WAAW,GAAG,iBAAiB,SAAS;AAAA,MACvC,GAAI;AAAA,MAEJ;AAAA;AAAA,EACH,GACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const accentTextClasses = {
|
|
2
|
+
"trace": "text-accent-trace",
|
|
3
|
+
"debug": "text-accent-debug",
|
|
4
|
+
"info": "text-accent-info",
|
|
5
|
+
"warn": "text-accent-warn",
|
|
6
|
+
"error": "text-accent-error"
|
|
7
|
+
};
|
|
8
|
+
const accentFillClasses = {
|
|
9
|
+
"trace": "bg-accent-trace text-on-accent-trace hover:bg-accent-trace/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
10
|
+
"debug": "bg-accent-debug text-on-accent-debug hover:bg-accent-debug/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
11
|
+
"info": "bg-accent-info text-on-accent-info hover:bg-accent-info/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
12
|
+
"warn": "bg-accent-warn text-on-accent-warn hover:bg-accent-warn/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
13
|
+
"error": "bg-accent-error text-on-accent-error hover:bg-accent-error/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring"
|
|
14
|
+
};
|
|
15
|
+
const accentOutlineClasses = {
|
|
16
|
+
"trace": "border border-accent-trace/40 text-accent-trace hover:bg-accent-trace/10",
|
|
17
|
+
"debug": "border border-accent-debug/40 text-accent-debug hover:bg-accent-debug/10",
|
|
18
|
+
"info": "border border-accent-info/40 text-accent-info hover:bg-accent-info/10",
|
|
19
|
+
"warn": "border border-accent-warn/40 text-accent-warn hover:bg-accent-warn/10",
|
|
20
|
+
"error": "border border-accent-error/40 text-accent-error hover:bg-accent-error/10"
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
accentFillClasses,
|
|
24
|
+
accentOutlineClasses,
|
|
25
|
+
accentTextClasses
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=accent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/accent.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const accentTextClasses = {\n \"trace\": \"text-accent-trace\",\n \"debug\": \"text-accent-debug\",\n \"info\": \"text-accent-info\",\n \"warn\": \"text-accent-warn\",\n \"error\": \"text-accent-error\",\n} as const;\nexport type Accent = keyof typeof accentTextClasses;\n\nexport const accentFillClasses = {\n \"trace\": \"bg-accent-trace text-on-accent-trace hover:bg-accent-trace/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n \"debug\": \"bg-accent-debug text-on-accent-debug hover:bg-accent-debug/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n \"info\": \"bg-accent-info text-on-accent-info hover:bg-accent-info/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n \"warn\": \"bg-accent-warn text-on-accent-warn hover:bg-accent-warn/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n \"error\": \"bg-accent-error text-on-accent-error hover:bg-accent-error/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n} as const;\nexport type AccentFill = keyof typeof accentFillClasses;\n\nexport const accentOutlineClasses = {\n \"trace\": \"border border-accent-trace/40 text-accent-trace hover:bg-accent-trace/10\",\n \"debug\": \"border border-accent-debug/40 text-accent-debug hover:bg-accent-debug/10\",\n \"info\": \"border border-accent-info/40 text-accent-info hover:bg-accent-info/10\",\n \"warn\": \"border border-accent-warn/40 text-accent-warn hover:bg-accent-warn/10\",\n \"error\": \"border border-accent-error/40 text-accent-error hover:bg-accent-error/10\",\n} as const;\nexport type AccentOutline = keyof typeof accentOutlineClasses;\n"],"mappings":"AAEO,MAAM,oBAAoB;AAAA,EAC/B,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AACX;AAGO,MAAM,oBAAoB;AAAA,EAC/B,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AACX;AAGO,MAAM,uBAAuB;AAAA,EAClC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AACX;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const ACCORDION_ITEM = "border-b border-border last:border-b-0";
|
|
2
|
+
const ACCORDION_HEADER = "flex";
|
|
3
|
+
const ACCORDION_TRIGGER = "focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180";
|
|
4
|
+
const ACCORDION_CONTENT = "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm";
|
|
5
|
+
const ACCORDION_CONTENT_INNER = "pt-0 pb-4";
|
|
6
|
+
export {
|
|
7
|
+
ACCORDION_CONTENT,
|
|
8
|
+
ACCORDION_CONTENT_INNER,
|
|
9
|
+
ACCORDION_HEADER,
|
|
10
|
+
ACCORDION_ITEM,
|
|
11
|
+
ACCORDION_TRIGGER
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/accordion.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const ACCORDION_ITEM = \"border-b border-border last:border-b-0\";\n\nexport const ACCORDION_HEADER = \"flex\";\n\nexport const ACCORDION_TRIGGER = \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\";\n\nexport const ACCORDION_CONTENT = \"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\";\n\nexport const ACCORDION_CONTENT_INNER = \"pt-0 pb-4\";\n"],"mappings":"AAEO,MAAM,iBAAiB;AAEvB,MAAM,mBAAmB;AAEzB,MAAM,oBAAoB;AAE1B,MAAM,oBAAoB;AAE1B,MAAM,0BAA0B;","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const ALERT_DIALOG_OVERLAY = "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50";
|
|
2
|
+
const ALERT_DIALOG_CONTENT = "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-border p-6 shadow-lg duration-200 sm:max-w-lg";
|
|
3
|
+
const ALERT_DIALOG_HEADER = "flex flex-col gap-2 text-center sm:text-left";
|
|
4
|
+
const ALERT_DIALOG_FOOTER = "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end";
|
|
5
|
+
const ALERT_DIALOG_TITLE = "text-lg font-semibold";
|
|
6
|
+
const ALERT_DIALOG_DESCRIPTION = "text-ink-soft text-sm";
|
|
7
|
+
export {
|
|
8
|
+
ALERT_DIALOG_CONTENT,
|
|
9
|
+
ALERT_DIALOG_DESCRIPTION,
|
|
10
|
+
ALERT_DIALOG_FOOTER,
|
|
11
|
+
ALERT_DIALOG_HEADER,
|
|
12
|
+
ALERT_DIALOG_OVERLAY,
|
|
13
|
+
ALERT_DIALOG_TITLE
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=alert-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/alert-dialog.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const ALERT_DIALOG_OVERLAY = \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\";\n\nexport const ALERT_DIALOG_CONTENT = \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-border p-6 shadow-lg duration-200 sm:max-w-lg\";\n\nexport const ALERT_DIALOG_HEADER = \"flex flex-col gap-2 text-center sm:text-left\";\n\nexport const ALERT_DIALOG_FOOTER = \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\";\n\nexport const ALERT_DIALOG_TITLE = \"text-lg font-semibold\";\n\nexport const ALERT_DIALOG_DESCRIPTION = \"text-ink-soft text-sm\";\n"],"mappings":"AAEO,MAAM,uBAAuB;AAE7B,MAAM,uBAAuB;AAE7B,MAAM,sBAAsB;AAE5B,MAAM,sBAAsB;AAE5B,MAAM,qBAAqB;AAE3B,MAAM,2BAA2B;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const ALERT_BASE = "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current";
|
|
2
|
+
const alertVariants = {
|
|
3
|
+
"neutral": "bg-card text-ink border-border",
|
|
4
|
+
"destructive": "text-accent-error bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-ink-mid",
|
|
5
|
+
"success": "text-positive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-ink-mid",
|
|
6
|
+
"info": "text-accent-info bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-ink-mid"
|
|
7
|
+
};
|
|
8
|
+
const ALERT_TITLE = "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight";
|
|
9
|
+
const ALERT_DESCRIPTION = "text-ink-soft col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed";
|
|
10
|
+
export {
|
|
11
|
+
ALERT_BASE,
|
|
12
|
+
ALERT_DESCRIPTION,
|
|
13
|
+
ALERT_TITLE,
|
|
14
|
+
alertVariants
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/alert.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const ALERT_BASE = \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\";\n\nexport const alertVariants = {\n \"neutral\": \"bg-card text-ink border-border\",\n \"destructive\": \"text-accent-error bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-ink-mid\",\n \"success\": \"text-positive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-ink-mid\",\n \"info\": \"text-accent-info bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-ink-mid\",\n} as const;\nexport type AlertVariant = keyof typeof alertVariants;\n\nexport const ALERT_TITLE = \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\";\n\nexport const ALERT_DESCRIPTION = \"text-ink-soft col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\";\n"],"mappings":"AAEO,MAAM,aAAa;AAEnB,MAAM,gBAAgB;AAAA,EAC3B,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,QAAQ;AACV;AAGO,MAAM,cAAc;AAEpB,MAAM,oBAAoB;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const AVATAR = "relative flex size-8 shrink-0 overflow-hidden rounded-full";
|
|
2
|
+
const AVATAR_IMAGE = "aspect-square size-full";
|
|
3
|
+
const AVATAR_FALLBACK = "bg-muted flex size-full items-center justify-center rounded-full";
|
|
4
|
+
export {
|
|
5
|
+
AVATAR,
|
|
6
|
+
AVATAR_FALLBACK,
|
|
7
|
+
AVATAR_IMAGE
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/avatar.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const AVATAR = \"relative flex size-8 shrink-0 overflow-hidden rounded-full\";\n\nexport const AVATAR_IMAGE = \"aspect-square size-full\";\n\nexport const AVATAR_FALLBACK = \"bg-muted flex size-full items-center justify-center rounded-full\";\n"],"mappings":"AAEO,MAAM,SAAS;AAEf,MAAM,eAAe;AAErB,MAAM,kBAAkB;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const BADGE_BASE = "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 gap-1 overflow-hidden [&>svg]:size-3 [&>svg]:pointer-events-none transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error";
|
|
2
|
+
const badgeVariants = {
|
|
3
|
+
"primary": "border-transparent bg-primary text-on-primary [a&]:hover:bg-primary/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
4
|
+
"secondary": "border-transparent bg-secondary text-on-secondary [a&]:hover:bg-secondary/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
5
|
+
"destructive": "border-transparent bg-accent-error text-on-accent-error [a&]:hover:bg-accent-error/90 focus-visible:ring-accent-error/20 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
6
|
+
"outline": "border-border text-ink [a&]:hover:bg-hover [a&]:hover:text-ink",
|
|
7
|
+
"success": "border-transparent bg-positive/20 text-positive"
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
BADGE_BASE,
|
|
11
|
+
badgeVariants
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/badge.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const BADGE_BASE = \"inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 gap-1 overflow-hidden [&>svg]:size-3 [&>svg]:pointer-events-none transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error\";\n\nexport const badgeVariants = {\n \"primary\": \"border-transparent bg-primary text-on-primary [a&]:hover:bg-primary/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n \"secondary\": \"border-transparent bg-secondary text-on-secondary [a&]:hover:bg-secondary/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n \"destructive\": \"border-transparent bg-accent-error text-on-accent-error [a&]:hover:bg-accent-error/90 focus-visible:ring-accent-error/20 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n \"outline\": \"border-border text-ink [a&]:hover:bg-hover [a&]:hover:text-ink\",\n \"success\": \"border-transparent bg-positive/20 text-positive\",\n} as const;\nexport type BadgeVariant = keyof typeof badgeVariants;\n"],"mappings":"AAEO,MAAM,aAAa;AAEnB,MAAM,gBAAgB;AAAA,EAC3B,WAAW;AAAA,EACX,aAAa;AAAA,EACb,eAAe;AAAA,EACf,WAAW;AAAA,EACX,WAAW;AACb;","names":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const polarityClasses = {
|
|
2
|
+
"light": "light",
|
|
3
|
+
"dark": "dark"
|
|
4
|
+
};
|
|
5
|
+
const surfaceClasses = {
|
|
6
|
+
"background": "bg-background text-ink",
|
|
7
|
+
"card": "bg-card text-ink",
|
|
8
|
+
"muted": "bg-muted text-ink",
|
|
9
|
+
"primary": "bg-primary text-on-primary"
|
|
10
|
+
};
|
|
11
|
+
const SECTION_BASE = "w-full px-[var(--page-px)]";
|
|
12
|
+
const SECTION_PY = "py-[var(--band-py)]";
|
|
13
|
+
const SECTION_PY_TIGHT = "py-[var(--band-py-tight)]";
|
|
14
|
+
const SECTION_HEAD = "flex flex-col gap-2 md:gap-3.5";
|
|
15
|
+
const EYEBROW = "font-medium text-[10px] md:text-[11.5px] tracking-[0.15em] md:tracking-[0.16em] text-primary-ink [.bg-primary_&]:text-on-primary";
|
|
16
|
+
const DISPLAY_BASE = "font-display [font-weight:700] max-w-[54rem] tracking-[-0.005em] leading-[1.16] md:leading-[1.14] text-[calc(1.5625rem*var(--display-scale))] md:text-[calc(2.625rem*var(--display-scale))]";
|
|
17
|
+
const LEDE = "max-w-[52rem] text-[15px] md:text-[17px] leading-[1.58] text-ink-soft";
|
|
18
|
+
const PROSE = "text-[14px] md:text-[15px] leading-[1.62] text-ink-soft";
|
|
19
|
+
const STAT = "flex items-center gap-[7px] whitespace-nowrap";
|
|
20
|
+
const STAT_FIGURE = "font-semibold";
|
|
21
|
+
const STAT_LABEL = "text-ink-soft";
|
|
22
|
+
const CHECK = "font-semibold text-positive";
|
|
23
|
+
export {
|
|
24
|
+
CHECK,
|
|
25
|
+
DISPLAY_BASE,
|
|
26
|
+
EYEBROW,
|
|
27
|
+
LEDE,
|
|
28
|
+
PROSE,
|
|
29
|
+
SECTION_BASE,
|
|
30
|
+
SECTION_HEAD,
|
|
31
|
+
SECTION_PY,
|
|
32
|
+
SECTION_PY_TIGHT,
|
|
33
|
+
STAT,
|
|
34
|
+
STAT_FIGURE,
|
|
35
|
+
STAT_LABEL,
|
|
36
|
+
polarityClasses,
|
|
37
|
+
surfaceClasses
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=band.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/band.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const polarityClasses = {\n \"light\": \"light\",\n \"dark\": \"dark\",\n} as const;\nexport type Polarity = keyof typeof polarityClasses;\n\nexport const surfaceClasses = {\n \"background\": \"bg-background text-ink\",\n \"card\": \"bg-card text-ink\",\n \"muted\": \"bg-muted text-ink\",\n \"primary\": \"bg-primary text-on-primary\",\n} as const;\nexport type Surface = keyof typeof surfaceClasses;\n\nexport const SECTION_BASE = \"w-full px-[var(--page-px)]\";\n\nexport const SECTION_PY = \"py-[var(--band-py)]\";\n\nexport const SECTION_PY_TIGHT = \"py-[var(--band-py-tight)]\";\n\nexport const SECTION_HEAD = \"flex flex-col gap-2 md:gap-3.5\";\n\nexport const EYEBROW = \"font-medium text-[10px] md:text-[11.5px] tracking-[0.15em] md:tracking-[0.16em] text-primary-ink [.bg-primary_&]:text-on-primary\";\n\nexport const DISPLAY_BASE = \"font-display [font-weight:700] max-w-[54rem] tracking-[-0.005em] leading-[1.16] md:leading-[1.14] text-[calc(1.5625rem*var(--display-scale))] md:text-[calc(2.625rem*var(--display-scale))]\";\n\nexport const LEDE = \"max-w-[52rem] text-[15px] md:text-[17px] leading-[1.58] text-ink-soft\";\n\nexport const PROSE = \"text-[14px] md:text-[15px] leading-[1.62] text-ink-soft\";\n\nexport const STAT = \"flex items-center gap-[7px] whitespace-nowrap\";\n\nexport const STAT_FIGURE = \"font-semibold\";\n\nexport const STAT_LABEL = \"text-ink-soft\";\n\nexport const CHECK = \"font-semibold text-positive\";\n"],"mappings":"AAEO,MAAM,kBAAkB;AAAA,EAC7B,SAAS;AAAA,EACT,QAAQ;AACV;AAGO,MAAM,iBAAiB;AAAA,EAC5B,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,WAAW;AACb;AAGO,MAAM,eAAe;AAErB,MAAM,aAAa;AAEnB,MAAM,mBAAmB;AAEzB,MAAM,eAAe;AAErB,MAAM,UAAU;AAEhB,MAAM,eAAe;AAErB,MAAM,OAAO;AAEb,MAAM,QAAQ;AAEd,MAAM,OAAO;AAEb,MAAM,cAAc;AAEpB,MAAM,aAAa;AAEnB,MAAM,QAAQ;","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const BREADCRUMB_LIST = "text-ink-soft flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5";
|
|
2
|
+
const BREADCRUMB_ITEM = "inline-flex items-center gap-1.5";
|
|
3
|
+
const BREADCRUMB_LINK = "hover:text-ink transition-colors";
|
|
4
|
+
const BREADCRUMB_PAGE = "text-ink font-normal";
|
|
5
|
+
const BREADCRUMB_SEPARATOR = "[&>svg]:size-3.5";
|
|
6
|
+
const BREADCRUMB_ELLIPSIS = "flex size-9 items-center justify-center";
|
|
7
|
+
export {
|
|
8
|
+
BREADCRUMB_ELLIPSIS,
|
|
9
|
+
BREADCRUMB_ITEM,
|
|
10
|
+
BREADCRUMB_LINK,
|
|
11
|
+
BREADCRUMB_LIST,
|
|
12
|
+
BREADCRUMB_PAGE,
|
|
13
|
+
BREADCRUMB_SEPARATOR
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=breadcrumb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/breadcrumb.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const BREADCRUMB_LIST = \"text-ink-soft flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5\";\n\nexport const BREADCRUMB_ITEM = \"inline-flex items-center gap-1.5\";\n\nexport const BREADCRUMB_LINK = \"hover:text-ink transition-colors\";\n\nexport const BREADCRUMB_PAGE = \"text-ink font-normal\";\n\nexport const BREADCRUMB_SEPARATOR = \"[&>svg]:size-3.5\";\n\nexport const BREADCRUMB_ELLIPSIS = \"flex size-9 items-center justify-center\";\n"],"mappings":"AAEO,MAAM,kBAAkB;AAExB,MAAM,kBAAkB;AAExB,MAAM,kBAAkB;AAExB,MAAM,kBAAkB;AAExB,MAAM,uBAAuB;AAE7B,MAAM,sBAAsB;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const BUTTON_GROUP_BASE = "flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2";
|
|
2
|
+
const buttonGroupOrientationClasses = {
|
|
3
|
+
"horizontal": "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",
|
|
4
|
+
"vertical": "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"
|
|
5
|
+
};
|
|
6
|
+
const BUTTON_GROUP_TEXT_BASE = "bg-muted flex items-center gap-2 rounded-md border border-border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4";
|
|
7
|
+
const BUTTON_GROUP_SEPARATOR_BASE = "bg-input relative !m-0 self-stretch shrink-0 data-[orientation=vertical]:h-auto";
|
|
8
|
+
export {
|
|
9
|
+
BUTTON_GROUP_BASE,
|
|
10
|
+
BUTTON_GROUP_SEPARATOR_BASE,
|
|
11
|
+
BUTTON_GROUP_TEXT_BASE,
|
|
12
|
+
buttonGroupOrientationClasses
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=button-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/button-group.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const BUTTON_GROUP_BASE = \"flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2\";\n\nexport const buttonGroupOrientationClasses = {\n \"horizontal\": \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n \"vertical\": \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\n} as const;\nexport type ButtonGroupOrientation = keyof typeof buttonGroupOrientationClasses;\n\nexport const BUTTON_GROUP_TEXT_BASE = \"bg-muted flex items-center gap-2 rounded-md border border-border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\";\n\nexport const BUTTON_GROUP_SEPARATOR_BASE = \"bg-input relative !m-0 self-stretch shrink-0 data-[orientation=vertical]:h-auto\";\n"],"mappings":"AAEO,MAAM,oBAAoB;AAE1B,MAAM,gCAAgC;AAAA,EAC3C,cAAc;AAAA,EACd,YAAY;AACd;AAGO,MAAM,yBAAyB;AAE/B,MAAM,8BAA8B;","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const BUTTON_BASE = "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-[var(--control-radius)] text-sm font-medium transition-all cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error";
|
|
2
|
+
const buttonVariantClasses = {
|
|
3
|
+
"primary": "bg-primary text-on-primary hover:bg-primary/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
4
|
+
"secondary": "bg-secondary text-on-secondary hover:bg-secondary/80 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
5
|
+
"outline": "border border-input bg-transparent shadow-xs hover:bg-hover hover:text-ink",
|
|
6
|
+
"ghost": "hover:bg-hover hover:text-ink",
|
|
7
|
+
"destructive": "bg-accent-error text-on-accent-error hover:bg-accent-error/90 focus-visible:ring-accent-error/20 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
8
|
+
"link": "text-primary-ink underline-offset-4 hover:underline"
|
|
9
|
+
};
|
|
10
|
+
const buttonSizeClasses = {
|
|
11
|
+
"xs": "h-7 gap-1 px-2 text-xs has-[>svg]:px-1.5",
|
|
12
|
+
"sm": "h-8 gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
13
|
+
"md": "h-9 px-4 py-[var(--control-py)] has-[>svg]:px-3",
|
|
14
|
+
"lg": "h-10 px-6 has-[>svg]:px-4",
|
|
15
|
+
"xl": "px-[var(--control-px)] py-[var(--control-py)] text-[length:var(--control-text)]"
|
|
16
|
+
};
|
|
17
|
+
const buttonIconSizeClasses = {
|
|
18
|
+
"xs": "h-7 aspect-square px-0",
|
|
19
|
+
"sm": "h-8 aspect-square px-0",
|
|
20
|
+
"md": "h-9 aspect-square px-0",
|
|
21
|
+
"lg": "h-10 aspect-square px-0",
|
|
22
|
+
"xl": "aspect-square p-[var(--control-py)]"
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
BUTTON_BASE,
|
|
26
|
+
buttonIconSizeClasses,
|
|
27
|
+
buttonSizeClasses,
|
|
28
|
+
buttonVariantClasses
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/button.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const BUTTON_BASE = \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-[var(--control-radius)] text-sm font-medium transition-all cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error\";\n\nexport const buttonVariantClasses = {\n \"primary\": \"bg-primary text-on-primary hover:bg-primary/90 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n \"secondary\": \"bg-secondary text-on-secondary hover:bg-secondary/80 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n \"outline\": \"border border-input bg-transparent shadow-xs hover:bg-hover hover:text-ink\",\n \"ghost\": \"hover:bg-hover hover:text-ink\",\n \"destructive\": \"bg-accent-error text-on-accent-error hover:bg-accent-error/90 focus-visible:ring-accent-error/20 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\",\n \"link\": \"text-primary-ink underline-offset-4 hover:underline\",\n} as const;\nexport type ButtonVariant = keyof typeof buttonVariantClasses;\n\nexport const buttonSizeClasses = {\n \"xs\": \"h-7 gap-1 px-2 text-xs has-[>svg]:px-1.5\",\n \"sm\": \"h-8 gap-1.5 px-3 has-[>svg]:px-2.5\",\n \"md\": \"h-9 px-4 py-[var(--control-py)] has-[>svg]:px-3\",\n \"lg\": \"h-10 px-6 has-[>svg]:px-4\",\n \"xl\": \"px-[var(--control-px)] py-[var(--control-py)] text-[length:var(--control-text)]\",\n} as const;\nexport type ButtonSize = keyof typeof buttonSizeClasses;\n\nexport const buttonIconSizeClasses = {\n \"xs\": \"h-7 aspect-square px-0\",\n \"sm\": \"h-8 aspect-square px-0\",\n \"md\": \"h-9 aspect-square px-0\",\n \"lg\": \"h-10 aspect-square px-0\",\n \"xl\": \"aspect-square p-[var(--control-py)]\",\n} as const;\nexport type ButtonIconSize = keyof typeof buttonIconSizeClasses;\n"],"mappings":"AAEO,MAAM,cAAc;AAEpB,MAAM,uBAAuB;AAAA,EAClC,WAAW;AAAA,EACX,aAAa;AAAA,EACb,WAAW;AAAA,EACX,SAAS;AAAA,EACT,eAAe;AAAA,EACf,QAAQ;AACV;AAGO,MAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AACR;AAGO,MAAM,wBAAwB;AAAA,EACnC,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AACR;","names":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const CALENDAR_ROOT = "p-3 w-fit";
|
|
2
|
+
const CALENDAR_NAV_BUTTON = "size-8 p-0 select-none";
|
|
3
|
+
const CALENDAR_NAV = "flex items-center justify-between gap-1 w-full px-1";
|
|
4
|
+
const CALENDAR_CAPTION = "text-sm font-medium select-none";
|
|
5
|
+
const CALENDAR_GRID = "w-full border-collapse mt-4";
|
|
6
|
+
const CALENDAR_WEEKDAY_ROW = "flex";
|
|
7
|
+
const CALENDAR_WEEKDAY = "text-ink-soft rounded-md w-9 shrink-0 font-normal text-[0.8rem] select-none whitespace-nowrap";
|
|
8
|
+
const CALENDAR_WEEK = "flex w-full mt-2";
|
|
9
|
+
const CALENDAR_DAY_EMPTY = "relative size-9 shrink-0 p-0 select-none";
|
|
10
|
+
const CALENDAR_DAY_CELL = "relative size-9 shrink-0 p-0 text-center select-none";
|
|
11
|
+
const CALENDAR_DAY = "size-auto w-full aspect-square font-normal leading-none tabular-nums";
|
|
12
|
+
const CALENDAR_DAY_SELECTED = "bg-primary text-on-primary";
|
|
13
|
+
const CALENDAR_DAY_TODAY = "bg-hover text-ink rounded-md";
|
|
14
|
+
export {
|
|
15
|
+
CALENDAR_CAPTION,
|
|
16
|
+
CALENDAR_DAY,
|
|
17
|
+
CALENDAR_DAY_CELL,
|
|
18
|
+
CALENDAR_DAY_EMPTY,
|
|
19
|
+
CALENDAR_DAY_SELECTED,
|
|
20
|
+
CALENDAR_DAY_TODAY,
|
|
21
|
+
CALENDAR_GRID,
|
|
22
|
+
CALENDAR_NAV,
|
|
23
|
+
CALENDAR_NAV_BUTTON,
|
|
24
|
+
CALENDAR_ROOT,
|
|
25
|
+
CALENDAR_WEEK,
|
|
26
|
+
CALENDAR_WEEKDAY,
|
|
27
|
+
CALENDAR_WEEKDAY_ROW
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=calendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/calendar.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const CALENDAR_ROOT = \"p-3 w-fit\";\n\nexport const CALENDAR_NAV_BUTTON = \"size-8 p-0 select-none\";\n\nexport const CALENDAR_NAV = \"flex items-center justify-between gap-1 w-full px-1\";\n\nexport const CALENDAR_CAPTION = \"text-sm font-medium select-none\";\n\nexport const CALENDAR_GRID = \"w-full border-collapse mt-4\";\n\nexport const CALENDAR_WEEKDAY_ROW = \"flex\";\n\nexport const CALENDAR_WEEKDAY = \"text-ink-soft rounded-md w-9 shrink-0 font-normal text-[0.8rem] select-none whitespace-nowrap\";\n\nexport const CALENDAR_WEEK = \"flex w-full mt-2\";\n\nexport const CALENDAR_DAY_EMPTY = \"relative size-9 shrink-0 p-0 select-none\";\n\nexport const CALENDAR_DAY_CELL = \"relative size-9 shrink-0 p-0 text-center select-none\";\n\nexport const CALENDAR_DAY = \"size-auto w-full aspect-square font-normal leading-none tabular-nums\";\n\nexport const CALENDAR_DAY_SELECTED = \"bg-primary text-on-primary\";\n\nexport const CALENDAR_DAY_TODAY = \"bg-hover text-ink rounded-md\";\n"],"mappings":"AAEO,MAAM,gBAAgB;AAEtB,MAAM,sBAAsB;AAE5B,MAAM,eAAe;AAErB,MAAM,mBAAmB;AAEzB,MAAM,gBAAgB;AAEtB,MAAM,uBAAuB;AAE7B,MAAM,mBAAmB;AAEzB,MAAM,gBAAgB;AAEtB,MAAM,qBAAqB;AAE3B,MAAM,oBAAoB;AAE1B,MAAM,eAAe;AAErB,MAAM,wBAAwB;AAE9B,MAAM,qBAAqB;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const CARD = "bg-card text-ink flex flex-col gap-6 rounded-xl border border-border py-6 shadow-sm";
|
|
2
|
+
const CARD_HEADER = "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6";
|
|
3
|
+
const CARD_TITLE = "leading-none font-semibold";
|
|
4
|
+
const CARD_DESCRIPTION = "text-ink-soft text-sm";
|
|
5
|
+
const CARD_ACTION = "col-start-2 row-span-2 row-start-1 self-start justify-self-end";
|
|
6
|
+
const CARD_CONTENT = "px-6";
|
|
7
|
+
const CARD_FOOTER = "flex items-center px-6 [.border-t]:pt-6";
|
|
8
|
+
export {
|
|
9
|
+
CARD,
|
|
10
|
+
CARD_ACTION,
|
|
11
|
+
CARD_CONTENT,
|
|
12
|
+
CARD_DESCRIPTION,
|
|
13
|
+
CARD_FOOTER,
|
|
14
|
+
CARD_HEADER,
|
|
15
|
+
CARD_TITLE
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/card.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const CARD = \"bg-card text-ink flex flex-col gap-6 rounded-xl border border-border py-6 shadow-sm\";\n\nexport const CARD_HEADER = \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\";\n\nexport const CARD_TITLE = \"leading-none font-semibold\";\n\nexport const CARD_DESCRIPTION = \"text-ink-soft text-sm\";\n\nexport const CARD_ACTION = \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\";\n\nexport const CARD_CONTENT = \"px-6\";\n\nexport const CARD_FOOTER = \"flex items-center px-6 [.border-t]:pt-6\";\n"],"mappings":"AAEO,MAAM,OAAO;AAEb,MAAM,cAAc;AAEpB,MAAM,aAAa;AAEnB,MAAM,mBAAmB;AAEzB,MAAM,cAAc;AAEpB,MAAM,eAAe;AAErB,MAAM,cAAc;","names":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const CAROUSEL_CONTENT_VIEWPORT = "overflow-hidden";
|
|
2
|
+
const CAROUSEL_CONTENT_TRACK = "flex transition-transform";
|
|
3
|
+
const CAROUSEL_CONTENT_TRACK_HORIZONTAL = "-ml-4";
|
|
4
|
+
const CAROUSEL_CONTENT_TRACK_VERTICAL = "-mt-4 flex-col";
|
|
5
|
+
const CAROUSEL_ITEM = "min-w-0 shrink-0 grow-0 basis-full";
|
|
6
|
+
const CAROUSEL_ITEM_HORIZONTAL = "pl-4";
|
|
7
|
+
const CAROUSEL_ITEM_VERTICAL = "pt-4";
|
|
8
|
+
const CAROUSEL_NAV = "absolute size-8 rounded-full";
|
|
9
|
+
const CAROUSEL_PREVIOUS_HORIZONTAL = "top-1/2 -left-12 -translate-y-1/2";
|
|
10
|
+
const CAROUSEL_PREVIOUS_VERTICAL = "-top-12 left-1/2 -translate-x-1/2 rotate-90";
|
|
11
|
+
const CAROUSEL_NEXT_HORIZONTAL = "top-1/2 -right-12 -translate-y-1/2";
|
|
12
|
+
const CAROUSEL_NEXT_VERTICAL = "-bottom-12 left-1/2 -translate-x-1/2 rotate-90";
|
|
13
|
+
const CAROUSEL_EDGE_FADE_PREV = "pointer-events-none absolute inset-y-0 left-0 w-24 bg-gradient-to-r from-background/45 via-background/20 to-transparent";
|
|
14
|
+
const CAROUSEL_EDGE_FADE_NEXT = "pointer-events-none absolute inset-y-0 right-0 w-24 bg-gradient-to-l from-background/45 via-background/20 to-transparent";
|
|
15
|
+
export {
|
|
16
|
+
CAROUSEL_CONTENT_TRACK,
|
|
17
|
+
CAROUSEL_CONTENT_TRACK_HORIZONTAL,
|
|
18
|
+
CAROUSEL_CONTENT_TRACK_VERTICAL,
|
|
19
|
+
CAROUSEL_CONTENT_VIEWPORT,
|
|
20
|
+
CAROUSEL_EDGE_FADE_NEXT,
|
|
21
|
+
CAROUSEL_EDGE_FADE_PREV,
|
|
22
|
+
CAROUSEL_ITEM,
|
|
23
|
+
CAROUSEL_ITEM_HORIZONTAL,
|
|
24
|
+
CAROUSEL_ITEM_VERTICAL,
|
|
25
|
+
CAROUSEL_NAV,
|
|
26
|
+
CAROUSEL_NEXT_HORIZONTAL,
|
|
27
|
+
CAROUSEL_NEXT_VERTICAL,
|
|
28
|
+
CAROUSEL_PREVIOUS_HORIZONTAL,
|
|
29
|
+
CAROUSEL_PREVIOUS_VERTICAL
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=carousel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/carousel.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const CAROUSEL_CONTENT_VIEWPORT = \"overflow-hidden\";\n\nexport const CAROUSEL_CONTENT_TRACK = \"flex transition-transform\";\n\nexport const CAROUSEL_CONTENT_TRACK_HORIZONTAL = \"-ml-4\";\n\nexport const CAROUSEL_CONTENT_TRACK_VERTICAL = \"-mt-4 flex-col\";\n\nexport const CAROUSEL_ITEM = \"min-w-0 shrink-0 grow-0 basis-full\";\n\nexport const CAROUSEL_ITEM_HORIZONTAL = \"pl-4\";\n\nexport const CAROUSEL_ITEM_VERTICAL = \"pt-4\";\n\nexport const CAROUSEL_NAV = \"absolute size-8 rounded-full\";\n\nexport const CAROUSEL_PREVIOUS_HORIZONTAL = \"top-1/2 -left-12 -translate-y-1/2\";\n\nexport const CAROUSEL_PREVIOUS_VERTICAL = \"-top-12 left-1/2 -translate-x-1/2 rotate-90\";\n\nexport const CAROUSEL_NEXT_HORIZONTAL = \"top-1/2 -right-12 -translate-y-1/2\";\n\nexport const CAROUSEL_NEXT_VERTICAL = \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\";\n\nexport const CAROUSEL_EDGE_FADE_PREV = \"pointer-events-none absolute inset-y-0 left-0 w-24 bg-gradient-to-r from-background/45 via-background/20 to-transparent\";\n\nexport const CAROUSEL_EDGE_FADE_NEXT = \"pointer-events-none absolute inset-y-0 right-0 w-24 bg-gradient-to-l from-background/45 via-background/20 to-transparent\";\n"],"mappings":"AAEO,MAAM,4BAA4B;AAElC,MAAM,yBAAyB;AAE/B,MAAM,oCAAoC;AAE1C,MAAM,kCAAkC;AAExC,MAAM,gBAAgB;AAEtB,MAAM,2BAA2B;AAEjC,MAAM,yBAAyB;AAE/B,MAAM,eAAe;AAErB,MAAM,+BAA+B;AAErC,MAAM,6BAA6B;AAEnC,MAAM,2BAA2B;AAEjC,MAAM,yBAAyB;AAE/B,MAAM,0BAA0B;AAEhC,MAAM,0BAA0B;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const CHART_CONTAINER = "flex aspect-video justify-center text-xs [&_.recharts-layer]:outline-hidden [&_.recharts-surface]:outline-hidden [&_svg]:outline-hidden";
|
|
2
|
+
const CHART_TOOLTIP = "border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl";
|
|
3
|
+
const CHART_LEGEND = "flex items-center justify-center gap-4";
|
|
4
|
+
export {
|
|
5
|
+
CHART_CONTAINER,
|
|
6
|
+
CHART_LEGEND,
|
|
7
|
+
CHART_TOOLTIP
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=chart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/chart.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const CHART_CONTAINER = \"flex aspect-video justify-center text-xs [&_.recharts-layer]:outline-hidden [&_.recharts-surface]:outline-hidden [&_svg]:outline-hidden\";\n\nexport const CHART_TOOLTIP = \"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\";\n\nexport const CHART_LEGEND = \"flex items-center justify-center gap-4\";\n"],"mappings":"AAEO,MAAM,kBAAkB;AAExB,MAAM,gBAAgB;AAEtB,MAAM,eAAe;","names":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const CHECKBOX_BASE = "peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-on-primary data-[state=checked]:border-primary focus-visible:border-ring aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring";
|
|
2
|
+
const CHECKBOX_INDICATOR = "flex items-center justify-center text-current transition-none";
|
|
3
|
+
export {
|
|
4
|
+
CHECKBOX_BASE,
|
|
5
|
+
CHECKBOX_INDICATOR
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/checkbox.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const CHECKBOX_BASE = \"peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-on-primary data-[state=checked]:border-primary focus-visible:border-ring aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:ring-0 focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\";\n\nexport const CHECKBOX_INDICATOR = \"flex items-center justify-center text-current transition-none\";\n"],"mappings":"AAEO,MAAM,gBAAgB;AAEtB,MAAM,qBAAqB;","names":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const COMMAND_ROOT = "bg-popover text-ink flex h-full w-full flex-col overflow-hidden rounded-md";
|
|
2
|
+
const COMMAND_DIALOG_OVERLAY = "fixed inset-0 z-50 bg-black/50";
|
|
3
|
+
const COMMAND_DIALOG_CONTENT = "fixed top-1/2 left-1/2 z-50 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-lg border border-border p-0 shadow-lg";
|
|
4
|
+
const COMMAND_DIALOG_COMMAND = "[&_[data-slot=command-input-wrapper]]:h-12 [&_[data-slot=command-input]]:h-12";
|
|
5
|
+
const COMMAND_INPUT_WRAPPER = "flex h-9 items-center gap-2 border-b border-border px-3";
|
|
6
|
+
const COMMAND_INPUT = "placeholder:text-ink-soft flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50";
|
|
7
|
+
const COMMAND_LIST = "max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto";
|
|
8
|
+
const COMMAND_EMPTY = "py-6 text-center text-sm";
|
|
9
|
+
const COMMAND_GROUP = "text-ink [&_[data-slot=command-group-heading]]:text-ink-soft overflow-hidden p-1 [&_[data-slot=command-group-heading]]:px-2 [&_[data-slot=command-group-heading]]:py-1.5 [&_[data-slot=command-group-heading]]:text-xs [&_[data-slot=command-group-heading]]:font-medium";
|
|
10
|
+
const COMMAND_ITEM = "data-[selected=true]:bg-hover data-[selected=true]:text-ink [&_svg:not([class*='text-'])]:text-ink-soft relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
11
|
+
const COMMAND_SEPARATOR = "bg-border -mx-1 h-px";
|
|
12
|
+
const COMMAND_SHORTCUT = "text-ink-soft ml-auto text-xs tracking-widest";
|
|
13
|
+
export {
|
|
14
|
+
COMMAND_DIALOG_COMMAND,
|
|
15
|
+
COMMAND_DIALOG_CONTENT,
|
|
16
|
+
COMMAND_DIALOG_OVERLAY,
|
|
17
|
+
COMMAND_EMPTY,
|
|
18
|
+
COMMAND_GROUP,
|
|
19
|
+
COMMAND_INPUT,
|
|
20
|
+
COMMAND_INPUT_WRAPPER,
|
|
21
|
+
COMMAND_ITEM,
|
|
22
|
+
COMMAND_LIST,
|
|
23
|
+
COMMAND_ROOT,
|
|
24
|
+
COMMAND_SEPARATOR,
|
|
25
|
+
COMMAND_SHORTCUT
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/generated/command.ts"],"sourcesContent":["// AUTO-GENERATED by `nix run .#gen` — do not edit.\n\nexport const COMMAND_ROOT = \"bg-popover text-ink flex h-full w-full flex-col overflow-hidden rounded-md\";\n\nexport const COMMAND_DIALOG_OVERLAY = \"fixed inset-0 z-50 bg-black/50\";\n\nexport const COMMAND_DIALOG_CONTENT = \"fixed top-1/2 left-1/2 z-50 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-lg border border-border p-0 shadow-lg\";\n\nexport const COMMAND_DIALOG_COMMAND = \"[&_[data-slot=command-input-wrapper]]:h-12 [&_[data-slot=command-input]]:h-12\";\n\nexport const COMMAND_INPUT_WRAPPER = \"flex h-9 items-center gap-2 border-b border-border px-3\";\n\nexport const COMMAND_INPUT = \"placeholder:text-ink-soft flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50\";\n\nexport const COMMAND_LIST = \"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\";\n\nexport const COMMAND_EMPTY = \"py-6 text-center text-sm\";\n\nexport const COMMAND_GROUP = \"text-ink [&_[data-slot=command-group-heading]]:text-ink-soft overflow-hidden p-1 [&_[data-slot=command-group-heading]]:px-2 [&_[data-slot=command-group-heading]]:py-1.5 [&_[data-slot=command-group-heading]]:text-xs [&_[data-slot=command-group-heading]]:font-medium\";\n\nexport const COMMAND_ITEM = \"data-[selected=true]:bg-hover data-[selected=true]:text-ink [&_svg:not([class*='text-'])]:text-ink-soft relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\";\n\nexport const COMMAND_SEPARATOR = \"bg-border -mx-1 h-px\";\n\nexport const COMMAND_SHORTCUT = \"text-ink-soft ml-auto text-xs tracking-widest\";\n"],"mappings":"AAEO,MAAM,eAAe;AAErB,MAAM,yBAAyB;AAE/B,MAAM,yBAAyB;AAE/B,MAAM,yBAAyB;AAE/B,MAAM,wBAAwB;AAE9B,MAAM,gBAAgB;AAEtB,MAAM,eAAe;AAErB,MAAM,gBAAgB;AAEtB,MAAM,gBAAgB;AAEtB,MAAM,eAAe;AAErB,MAAM,oBAAoB;AAE1B,MAAM,mBAAmB;","names":[]}
|