@akira-io/ui 1.1.0 → 1.1.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/dist/blocks.d.ts +25 -25
- package/dist/blocks.js +74 -59
- package/dist/blocks.js.map +1 -1
- package/dist/{button-B6wQRe7p.d.ts → button-Bj6My68b.d.ts} +2 -1
- package/dist/{chunk-JAHTUAQL.js → chunk-2WIIRDHT.js} +5 -4
- package/dist/chunk-2WIIRDHT.js.map +1 -0
- package/dist/{chunk-KYWA5UYN.js → chunk-4SOQAVUP.js} +5 -5
- package/dist/{chunk-KYWA5UYN.js.map → chunk-4SOQAVUP.js.map} +1 -1
- package/dist/{chunk-UUTXPPRN.js → chunk-CFDDAFPJ.js} +125 -82
- package/dist/chunk-CFDDAFPJ.js.map +1 -0
- package/dist/{chunk-LKSM3WLK.js → chunk-FWQFB37J.js} +6 -5
- package/dist/chunk-FWQFB37J.js.map +1 -0
- package/dist/{chunk-DSD7MVLL.js → chunk-ODYCBCKS.js} +10 -7
- package/dist/chunk-ODYCBCKS.js.map +1 -0
- package/dist/{chunk-MNGNBEYN.js → chunk-QHZWW55M.js} +245 -156
- package/dist/chunk-QHZWW55M.js.map +1 -0
- package/dist/{chunk-SA5LM2GD.js → chunk-RPCL7VFQ.js} +41 -20
- package/dist/chunk-RPCL7VFQ.js.map +1 -0
- package/dist/{chunk-6QM5BA7B.js → chunk-T2INZOCM.js} +40 -23
- package/dist/chunk-T2INZOCM.js.map +1 -0
- package/dist/{chunk-UUEWFCKT.js → chunk-TGF54WAO.js} +6 -5
- package/dist/chunk-TGF54WAO.js.map +1 -0
- package/dist/{chunk-6X4TKSF6.js → chunk-XZCC6MTE.js} +11 -6
- package/dist/chunk-XZCC6MTE.js.map +1 -0
- package/dist/code.d.ts +5 -2
- package/dist/code.js +51 -52
- package/dist/code.js.map +1 -1
- package/dist/{context-VgHq4U98.d.ts → context-YWbxMH0C.d.ts} +26 -27
- package/dist/editor.d.ts +8 -6
- package/dist/editor.js +32 -18
- package/dist/editor.js.map +1 -1
- package/dist/index.d.ts +229 -229
- package/dist/index.js +431 -325
- package/dist/index.js.map +1 -1
- package/dist/inertia.d.ts +1 -1
- package/dist/inertia.js +5 -5
- package/dist/input-Dpi7pXeR.d.ts +6 -0
- package/dist/{json-viewer-BTHBACj9.d.ts → json-viewer-BARA2RCW.d.ts} +3 -2
- package/dist/locales/pt.d.ts +8 -8
- package/dist/{password-input-r39y2pCT.d.ts → password-input-DcXX7SG9.d.ts} +8 -7
- package/dist/shells.d.ts +7 -7
- package/dist/shells.js +10 -9
- package/dist/shells.js.map +1 -1
- package/dist/sidebar-DqkFRUxQ.d.ts +81 -0
- package/dist/{types-CT0rBsFc.d.ts → types-B-eGPoFD.d.ts} +3 -2
- package/dist/{types-B4QS3h5p.d.ts → types-cmBL8zOc.d.ts} +4 -1
- package/package.json +3 -3
- package/dist/chunk-6QM5BA7B.js.map +0 -1
- package/dist/chunk-6X4TKSF6.js.map +0 -1
- package/dist/chunk-DSD7MVLL.js.map +0 -1
- package/dist/chunk-JAHTUAQL.js.map +0 -1
- package/dist/chunk-LKSM3WLK.js.map +0 -1
- package/dist/chunk-MNGNBEYN.js.map +0 -1
- package/dist/chunk-SA5LM2GD.js.map +0 -1
- package/dist/chunk-UUEWFCKT.js.map +0 -1
- package/dist/chunk-UUTXPPRN.js.map +0 -1
- package/dist/input-4uxAHW6y.d.ts +0 -5
- package/dist/sidebar-BhOIlSjt.d.ts +0 -80
package/dist/inertia.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode, ReactElement, PropsWithChildren } from 'react';
|
|
2
2
|
import { d as TourLabels } from './types-u1qfmJQi.js';
|
|
3
|
-
import { U as UrlLike, N as NavGroup, b as NavItem,
|
|
3
|
+
import { U as UrlLike, N as NavGroup, b as NavItem, c as SharedUser, B as BreadcrumbItem, d as LinkComponent } from './types-cmBL8zOc.js';
|
|
4
4
|
import '@tanstack/react-table';
|
|
5
5
|
import 'lucide-react';
|
|
6
6
|
|
package/dist/inertia.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { TourProvider } from './chunk-YOVY3KT6.js';
|
|
2
2
|
import './chunk-5AJFQ6C4.js';
|
|
3
|
-
import { AppSidebar, AppSidebarHeader, Breadcrumbs, NavMain, SettingsLayout } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
import { AppSidebar, AppSidebarHeader, Breadcrumbs, NavMain, SettingsLayout } from './chunk-4SOQAVUP.js';
|
|
4
|
+
import './chunk-QHZWW55M.js';
|
|
5
5
|
import './chunk-L2H5GIF7.js';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
6
|
+
import './chunk-TGF54WAO.js';
|
|
7
|
+
import './chunk-XZCC6MTE.js';
|
|
8
|
+
import './chunk-ODYCBCKS.js';
|
|
9
9
|
import { Link, usePage, router } from '@inertiajs/react';
|
|
10
10
|
import { createElement, useState, useRef, useCallback, useEffect } from 'react';
|
|
11
11
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { S as SlotNameProps } from './types-cmBL8zOc.js';
|
|
2
3
|
|
|
3
4
|
interface CodeBlockLabels {
|
|
4
5
|
copyLabel: string;
|
|
@@ -20,7 +21,7 @@ interface CodeBlockProps extends Omit<React.ComponentProps<'div'>, 'children'> {
|
|
|
20
21
|
expandLabel?: CodeBlockLabels['expandLabel'];
|
|
21
22
|
collapseLabel?: CodeBlockLabels['collapseLabel'];
|
|
22
23
|
}
|
|
23
|
-
declare function CodeBlock({ code, language, html, filename, lineNumbers, highlightLines, maxHeight, copyLabel, copiedLabel, expandLabel, collapseLabel, className, ...props }: CodeBlockProps): React.JSX.Element;
|
|
24
|
+
declare function CodeBlock({ code, language, html, filename, lineNumbers, highlightLines, maxHeight, copyLabel, copiedLabel, expandLabel, collapseLabel, className, slotName, ...props }: CodeBlockProps & SlotNameProps): React.JSX.Element;
|
|
24
25
|
|
|
25
26
|
interface JsonNodeLabels {
|
|
26
27
|
expandLabel: string;
|
|
@@ -45,6 +46,6 @@ interface JsonViewerProps extends Omit<React.ComponentProps<'div'>, 'children'>
|
|
|
45
46
|
circularLabel?: JsonViewerLabels['circularLabel'];
|
|
46
47
|
entriesLabel?: JsonViewerLabels['entriesLabel'];
|
|
47
48
|
}
|
|
48
|
-
declare function JsonViewer({ value, initialDepth, maxHeight, copyLabel, copiedLabel, expandLabel, collapseLabel, circularLabel, entriesLabel, className, ...props }: JsonViewerProps): React.JSX.Element;
|
|
49
|
+
declare function JsonViewer({ value, initialDepth, maxHeight, copyLabel, copiedLabel, expandLabel, collapseLabel, circularLabel, entriesLabel, className, slotName, ...props }: JsonViewerProps & SlotNameProps): React.JSX.Element;
|
|
49
50
|
|
|
50
51
|
export { CodeBlock as C, JsonViewer as J, type CodeBlockLabels as a, type CodeBlockProps as b, type JsonViewerLabels as c, type JsonViewerProps as d, codeBlockLabels as e, jsonViewerLabels as j };
|
package/dist/locales/pt.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { E as AppearanceToggleLabels, I as ComboboxLabels,
|
|
2
|
-
import { e as DangerZoneLabels, a as FormOverlayLabels, i as TwoFactorLabels } from '../types-
|
|
1
|
+
import { E as AppearanceToggleLabels, I as ComboboxLabels, aj as CommandPaletteLabels, M as ConfirmDialogLabels, C as CopyButtonLabels, Q as DataTableFacetedFilterLabels, T as DataTableLabels, a as DateFilterLabels, b as DateFilterOption, Y as DatePickerLabels, $ as DateRangeFilterLabels, F as FloatingSheetLabels, v as UiLabels, a5 as SaveStatusLabels, q as SettingsLabels } from '../context-YWbxMH0C.js';
|
|
2
|
+
import { e as DangerZoneLabels, a as FormOverlayLabels, i as TwoFactorLabels } from '../types-B-eGPoFD.js';
|
|
3
3
|
import { d as TourLabels } from '../types-u1qfmJQi.js';
|
|
4
|
-
import { a as CodeBlockLabels, c as JsonViewerLabels } from '../json-viewer-
|
|
5
|
-
import { f as FieldLabels, h as PasswordInputLabels } from '../password-input-
|
|
4
|
+
import { a as CodeBlockLabels, c as JsonViewerLabels } from '../json-viewer-BARA2RCW.js';
|
|
5
|
+
import { f as FieldLabels, h as PasswordInputLabels } from '../password-input-DcXX7SG9.js';
|
|
6
6
|
import 'react';
|
|
7
7
|
import 'lucide-react';
|
|
8
|
-
import '../types-
|
|
8
|
+
import '../types-cmBL8zOc.js';
|
|
9
9
|
import '@tanstack/react-table';
|
|
10
|
-
import '
|
|
11
|
-
import '../button-B6wQRe7p.js';
|
|
10
|
+
import '../button-Bj6My68b.js';
|
|
12
11
|
import 'class-variance-authority/types';
|
|
12
|
+
import 'class-variance-authority';
|
|
13
13
|
import '@radix-ui/react-slot';
|
|
14
14
|
import '@radix-ui/react-label';
|
|
15
|
-
import '../input-
|
|
15
|
+
import '../input-Dpi7pXeR.js';
|
|
16
16
|
|
|
17
17
|
declare const appearanceToggleLabelsPt: AppearanceToggleLabels;
|
|
18
18
|
declare const dataTableLabelsPt: DataTableLabels;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Slot } from '@radix-ui/react-slot';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
4
|
-
import {
|
|
4
|
+
import { S as SlotNameProps } from './types-cmBL8zOc.js';
|
|
5
|
+
import { I as Input } from './input-Dpi7pXeR.js';
|
|
5
6
|
|
|
6
7
|
type FieldOrientation = 'vertical' | 'horizontal';
|
|
7
8
|
interface FieldContextValue {
|
|
@@ -16,7 +17,7 @@ interface FieldContextValue {
|
|
|
16
17
|
}
|
|
17
18
|
declare function useField(): FieldContextValue;
|
|
18
19
|
|
|
19
|
-
declare function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>): React.JSX.Element;
|
|
20
|
+
declare function Label({ className, slotName, ...props }: React.ComponentProps<typeof LabelPrimitive.Root> & SlotNameProps): React.JSX.Element;
|
|
20
21
|
|
|
21
22
|
interface FieldLabels {
|
|
22
23
|
requiredLabel: string;
|
|
@@ -27,13 +28,13 @@ interface FieldProps extends React.ComponentProps<'div'> {
|
|
|
27
28
|
invalid?: boolean;
|
|
28
29
|
required?: boolean;
|
|
29
30
|
}
|
|
30
|
-
declare function Field({ className, children, id, orientation, error, invalid, required, ...props }: FieldProps): React.JSX.Element;
|
|
31
|
-
declare function FieldGroup({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
31
|
+
declare function Field({ className, children, id, orientation, error, invalid, required, slotName, ...props }: FieldProps & SlotNameProps): React.JSX.Element;
|
|
32
|
+
declare function FieldGroup({ className, slotName, ...props }: React.ComponentProps<'div'> & SlotNameProps): React.JSX.Element;
|
|
32
33
|
interface FieldLabelProps extends React.ComponentProps<typeof Label> {
|
|
33
34
|
requiredLabel?: FieldLabels['requiredLabel'];
|
|
34
35
|
}
|
|
35
|
-
declare function FieldLabel({ className, children, requiredLabel, ...props }: FieldLabelProps): React.JSX.Element;
|
|
36
|
-
declare function FieldDescription({ className, ...props }: React.ComponentProps<'p'>): React.JSX.Element;
|
|
36
|
+
declare function FieldLabel({ className, children, requiredLabel, slotName, ...props }: FieldLabelProps & SlotNameProps): React.JSX.Element;
|
|
37
|
+
declare function FieldDescription({ className, slotName, ...props }: React.ComponentProps<'p'> & SlotNameProps): React.JSX.Element;
|
|
37
38
|
declare function FieldControl({ className, ...props }: React.ComponentProps<typeof Slot>): React.JSX.Element;
|
|
38
39
|
|
|
39
40
|
interface PasswordInputLabels {
|
|
@@ -45,6 +46,6 @@ interface PasswordInputProps extends Omit<React.ComponentProps<typeof Input>, 't
|
|
|
45
46
|
showLabel?: PasswordInputLabels['showLabel'];
|
|
46
47
|
hideLabel?: PasswordInputLabels['hideLabel'];
|
|
47
48
|
}
|
|
48
|
-
declare function PasswordInput({ className, revealable, showLabel, hideLabel, ...props }: PasswordInputProps): React.JSX.Element;
|
|
49
|
+
declare function PasswordInput({ className, revealable, showLabel, hideLabel, slotName, ...props }: PasswordInputProps & SlotNameProps): React.JSX.Element;
|
|
49
50
|
|
|
50
51
|
export { Field as F, Label as L, PasswordInput as P, type FieldContextValue as a, FieldControl as b, FieldDescription as c, FieldGroup as d, FieldLabel as e, type FieldLabels as f, type FieldOrientation as g, type PasswordInputLabels as h, useField as u };
|
package/dist/shells.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { U as UrlLike, N as NavGroup, b as NavItem,
|
|
2
|
-
export { C as Column, a as ColumnDef, F as FilterFn, I as IconComponent,
|
|
1
|
+
import { U as UrlLike, N as NavGroup, b as NavItem, c as SharedUser, d as LinkComponent, B as BreadcrumbItem, S as SlotNameProps } from './types-cmBL8zOc.js';
|
|
2
|
+
export { C as Column, a as ColumnDef, F as FilterFn, I as IconComponent, e as LinkProps, L as LucideIcon, R as Row, T as TableInstance } from './types-cmBL8zOc.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { ReactNode, ComponentPropsWithoutRef, PropsWithChildren } from 'react';
|
|
5
|
-
import { d as SidebarGroup } from './sidebar-
|
|
5
|
+
import { d as SidebarGroup } from './sidebar-DqkFRUxQ.js';
|
|
6
6
|
import '@tanstack/react-table';
|
|
7
7
|
import 'lucide-react';
|
|
8
8
|
import 'class-variance-authority/types';
|
|
9
9
|
import 'class-variance-authority';
|
|
10
|
-
import './button-
|
|
11
|
-
import './input-
|
|
10
|
+
import './button-Bj6My68b.js';
|
|
11
|
+
import './input-Dpi7pXeR.js';
|
|
12
12
|
import '@radix-ui/react-separator';
|
|
13
13
|
import '@radix-ui/react-tooltip';
|
|
14
14
|
|
|
@@ -91,7 +91,7 @@ interface AuthShellProps {
|
|
|
91
91
|
children: ReactNode;
|
|
92
92
|
className?: string;
|
|
93
93
|
}
|
|
94
|
-
declare function AuthShell({ logo, title, description, arrangement, panel, panelDecorative, footer, appearanceControl, surface, children, className, }: AuthShellProps): React.JSX.Element;
|
|
94
|
+
declare function AuthShell({ logo, title, description, arrangement, panel, panelDecorative, footer, appearanceControl, surface, children, className, slotName, }: AuthShellProps & SlotNameProps): React.JSX.Element;
|
|
95
95
|
|
|
96
96
|
declare function Breadcrumbs({ breadcrumbs, linkComponent, }: {
|
|
97
97
|
breadcrumbs: BreadcrumbItem[];
|
|
@@ -156,4 +156,4 @@ interface UserMenuContentProps {
|
|
|
156
156
|
}
|
|
157
157
|
declare function UserMenuContent({ user, settingsHref, logoutHref, linkComponent, onSettingsClick, onLogout, settingsLabel, logoutLabel, }: UserMenuContentProps): React.JSX.Element;
|
|
158
158
|
|
|
159
|
-
export { AppContent, AppShell, AppSidebar, AppSidebarHeader, type Appearance, type AuthArrangement, AuthShell, type AuthShellProps, BreadcrumbItem, Breadcrumbs, Heading, LinkComponent, NavFooter, NavGroup, NavItem, NavMain, type NavMainProps, NavUser, SIDEBAR_COLLAPSED_GROUPS_KEY, SettingsLayout, type SettingsLayoutProps, SharedUser, UrlLike, UserInfo, UserMenuContent, hrefToString, initializeTheme, useAppearance, useCollapsedGroup, useInitials, useIsMobile };
|
|
159
|
+
export { AppContent, AppShell, AppSidebar, AppSidebarHeader, type Appearance, type AuthArrangement, AuthShell, type AuthShellProps, BreadcrumbItem, Breadcrumbs, Heading, LinkComponent, NavFooter, NavGroup, NavItem, NavMain, type NavMainProps, NavUser, SIDEBAR_COLLAPSED_GROUPS_KEY, SettingsLayout, type SettingsLayoutProps, SharedUser, SlotNameProps, UrlLike, UserInfo, UserMenuContent, hrefToString, initializeTheme, useAppearance, useCollapsedGroup, useInitials, useIsMobile };
|
package/dist/shells.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { initializeTheme, useAppearance } from './chunk-IQMRJXEO.js';
|
|
2
|
-
import { Card } from './chunk-
|
|
3
|
-
export { AppSidebar, AppSidebarHeader, Breadcrumbs, Heading, NavFooter, NavMain, NavUser, SIDEBAR_COLLAPSED_GROUPS_KEY, SettingsLayout, UserInfo, UserMenuContent, useCollapsedGroup, useInitials } from './chunk-
|
|
4
|
-
import { SidebarInset, SidebarProvider } from './chunk-
|
|
5
|
-
export { useIsMobile } from './chunk-
|
|
2
|
+
import { Card } from './chunk-RPCL7VFQ.js';
|
|
3
|
+
export { AppSidebar, AppSidebarHeader, Breadcrumbs, Heading, NavFooter, NavMain, NavUser, SIDEBAR_COLLAPSED_GROUPS_KEY, SettingsLayout, UserInfo, UserMenuContent, useCollapsedGroup, useInitials } from './chunk-4SOQAVUP.js';
|
|
4
|
+
import { SidebarInset, SidebarProvider } from './chunk-QHZWW55M.js';
|
|
5
|
+
export { useIsMobile } from './chunk-QHZWW55M.js';
|
|
6
6
|
export { hrefToString } from './chunk-L2H5GIF7.js';
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import { cn } from './chunk-
|
|
7
|
+
import './chunk-TGF54WAO.js';
|
|
8
|
+
import './chunk-XZCC6MTE.js';
|
|
9
|
+
import { cn } from './chunk-ODYCBCKS.js';
|
|
10
10
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
11
11
|
|
|
12
12
|
function AppContent({
|
|
@@ -57,7 +57,8 @@ function AuthShell({
|
|
|
57
57
|
appearanceControl,
|
|
58
58
|
surface = true,
|
|
59
59
|
children,
|
|
60
|
-
className
|
|
60
|
+
className,
|
|
61
|
+
slotName = "auth-shell"
|
|
61
62
|
}) {
|
|
62
63
|
const split = arrangement === "split";
|
|
63
64
|
const form = /* @__PURE__ */ jsxs(
|
|
@@ -93,13 +94,13 @@ function AuthShell({
|
|
|
93
94
|
return /* @__PURE__ */ jsxs(
|
|
94
95
|
"div",
|
|
95
96
|
{
|
|
96
|
-
"data-slot": "auth-shell",
|
|
97
97
|
"data-arrangement": arrangement,
|
|
98
98
|
className: cn(
|
|
99
99
|
"relative flex min-h-screen w-full",
|
|
100
100
|
split && "lg:grid lg:grid-cols-2",
|
|
101
101
|
className
|
|
102
102
|
),
|
|
103
|
+
"data-slot": slotName,
|
|
103
104
|
children: [
|
|
104
105
|
split && panel && /* @__PURE__ */ jsx(
|
|
105
106
|
"aside",
|
package/dist/shells.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/shells/app-content.tsx","../src/shells/app-shell.tsx","../src/shells/auth-shell.tsx"],"names":["jsx"],"mappings":";;;;;;;;;;;AAQO,SAAS,UAAA,CAAW;AAAA,EACvB,OAAA,GAAU,QAAA;AAAA,EACV,QAAA;AAAA,EACA,GAAG;AACP,CAAA,EAAoB;AAChB,EAAA,IAAI,YAAY,SAAA,EAAW;AACvB,IAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAc,GAAG,KAAA,EAAQ,QAAA,EAAS,CAAA;AAAA,EAC9C;AAEA,EAAA,uBACI,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAU,uEAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACL;AAER;ACbO,SAAS,QAAA,CAAS;AAAA,EACrB,QAAA;AAAA,EACA,OAAA,GAAU,QAAA;AAAA,EACV,IAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA,GAAc;AAClB,CAAA,EAAkB;AACd,EAAA,IAAI,YAAY,QAAA,EAAU;AACtB,IAAA,uBACIA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qCAAqC,QAAA,EAAS,CAAA;AAAA,EAErE;AAEA,EAAA,uBACIA,GAAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACG,IAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MAEC;AAAA;AAAA,GACL;AAER;
|
|
1
|
+
{"version":3,"sources":["../src/shells/app-content.tsx","../src/shells/app-shell.tsx","../src/shells/auth-shell.tsx"],"names":["jsx"],"mappings":"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","file":"shells.js","sourcesContent":["import * as React from 'react';\n\nimport { SidebarInset } from '@/components/ui/sidebar';\n\ninterface AppContentProps extends React.ComponentProps<'main'> {\n variant?: 'header' | 'sidebar';\n}\n\nexport function AppContent({\n variant = 'header',\n children,\n ...props\n}: AppContentProps) {\n if (variant === 'sidebar') {\n return <SidebarInset {...props}>{children}</SidebarInset>;\n }\n\n return (\n <main\n className=\"max-w-7xl gap-4 rounded-xl mx-auto flex h-full w-full flex-1 flex-col\"\n {...props}\n >\n {children}\n </main>\n );\n}\n","import * as React from 'react';\n\nimport { SidebarProvider } from '@/components/ui/sidebar';\n\ninterface AppShellProps {\n children: React.ReactNode;\n variant?: 'header' | 'sidebar';\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n defaultOpen?: boolean;\n}\n\nexport function AppShell({\n children,\n variant = 'header',\n open,\n onOpenChange,\n defaultOpen = true,\n}: AppShellProps) {\n if (variant === 'header') {\n return (\n <div className=\"flex min-h-screen w-full flex-col\">{children}</div>\n );\n }\n\n return (\n <SidebarProvider\n open={open}\n onOpenChange={onOpenChange}\n defaultOpen={defaultOpen}\n >\n {children}\n </SidebarProvider>\n );\n}\n","import { Card } from '@/components/ui/card';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\nimport { type ReactNode } from 'react';\n\nexport type AuthArrangement = 'centred' | 'split';\n\nexport interface AuthShellProps {\n logo?: ReactNode;\n title: string;\n description?: string;\n arrangement?: AuthArrangement;\n panel?: ReactNode;\n panelDecorative?: boolean;\n footer?: ReactNode;\n appearanceControl?: ReactNode;\n surface?: boolean;\n children: ReactNode;\n className?: string;\n}\n\nexport function AuthShell({\n logo,\n title,\n description,\n arrangement = 'centred',\n panel,\n panelDecorative = true,\n footer,\n appearanceControl,\n surface = true,\n children,\n className,\n slotName = 'auth-shell',\n}: AuthShellProps & SlotNameProps) {\n const split = arrangement === 'split';\n\n const form = (\n <div\n data-slot=\"auth-shell-form\"\n className=\"gap-6 max-w-md flex w-full flex-col\"\n >\n {logo && (\n <div\n data-slot=\"auth-shell-logo\"\n className=\"flex justify-center\"\n >\n {logo}\n </div>\n )}\n\n <div data-slot=\"auth-shell-heading\" className=\"space-y-2\">\n <h1 className=\"text-xl font-bold tracking-tight text-foreground\">\n {title}\n </h1>\n {description && (\n <p className=\"text-sm font-medium text-muted-foreground\">\n {description}\n </p>\n )}\n </div>\n\n {surface ? (\n <Card className=\"p-6\">\n <div data-slot=\"auth-shell-body\">{children}</div>\n </Card>\n ) : (\n <div data-slot=\"auth-shell-body\">{children}</div>\n )}\n\n {footer && (\n <footer\n data-slot=\"auth-shell-footer\"\n className=\"gap-2 text-sm font-medium flex flex-wrap items-center justify-center text-muted-foreground\"\n >\n {footer}\n </footer>\n )}\n </div>\n );\n\n return (\n <div\n data-arrangement={arrangement}\n className={cn(\n 'relative flex min-h-screen w-full',\n split && 'lg:grid lg:grid-cols-2',\n className,\n )}\n data-slot={slotName}\n >\n {split && panel && (\n <aside\n data-slot=\"auth-shell-panel\"\n aria-hidden={panelDecorative || undefined}\n className=\"p-10 lg:flex hidden flex-col justify-between bg-primary text-primary-foreground\"\n >\n {panel}\n </aside>\n )}\n\n <main\n data-slot=\"auth-shell-main\"\n className=\"p-6 flex flex-1 items-center justify-center\"\n >\n {form}\n </main>\n\n {appearanceControl && (\n <div\n data-slot=\"auth-shell-appearance\"\n className=\"top-4 right-4 absolute\"\n >\n {appearanceControl}\n </div>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { B as Button } from './button-Bj6My68b.js';
|
|
5
|
+
import { I as Input } from './input-Dpi7pXeR.js';
|
|
6
|
+
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
7
|
+
import { S as SlotNameProps } from './types-cmBL8zOc.js';
|
|
8
|
+
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
9
|
+
|
|
10
|
+
declare function Separator({ className, orientation, decorative, slotName, ...props }: React.ComponentProps<typeof SeparatorPrimitive.Root> & SlotNameProps): React.JSX.Element;
|
|
11
|
+
|
|
12
|
+
declare function TooltipProvider({ delayDuration, slotName, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider> & SlotNameProps): React.JSX.Element;
|
|
13
|
+
declare function Tooltip({ slotName, ...props }: React.ComponentProps<typeof TooltipPrimitive.Root> & SlotNameProps): React.JSX.Element;
|
|
14
|
+
declare function TooltipTrigger({ slotName, ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger> & SlotNameProps): React.JSX.Element;
|
|
15
|
+
declare function TooltipContent({ className, sideOffset, children, slotName, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content> & SlotNameProps): React.JSX.Element;
|
|
16
|
+
|
|
17
|
+
type SidebarContext = {
|
|
18
|
+
state: 'expanded' | 'collapsed';
|
|
19
|
+
open: boolean;
|
|
20
|
+
setOpen: (open: boolean) => void;
|
|
21
|
+
openMobile: boolean;
|
|
22
|
+
setOpenMobile: (open: boolean) => void;
|
|
23
|
+
isMobile: boolean;
|
|
24
|
+
toggleSidebar: () => void;
|
|
25
|
+
};
|
|
26
|
+
declare const SidebarContext: React.Context<SidebarContext | null>;
|
|
27
|
+
declare function useSidebar(): SidebarContext;
|
|
28
|
+
declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, slotName, ...props }: React.ComponentProps<'div'> & {
|
|
29
|
+
defaultOpen?: boolean;
|
|
30
|
+
open?: boolean;
|
|
31
|
+
onOpenChange?: (open: boolean) => void;
|
|
32
|
+
} & SlotNameProps): React.JSX.Element;
|
|
33
|
+
declare function Sidebar({ side, variant, collapsible, className, children, slotName, ...props }: React.ComponentProps<'div'> & {
|
|
34
|
+
side?: 'left' | 'right';
|
|
35
|
+
variant?: 'sidebar' | 'floating' | 'inset';
|
|
36
|
+
collapsible?: 'offcanvas' | 'icon' | 'none';
|
|
37
|
+
} & SlotNameProps): React.JSX.Element;
|
|
38
|
+
declare function SidebarTrigger({ className, onClick, slotName, ...props }: React.ComponentProps<typeof Button> & SlotNameProps): React.JSX.Element;
|
|
39
|
+
declare function SidebarRail({ className, slotName, ...props }: React.ComponentProps<'button'> & SlotNameProps): React.JSX.Element;
|
|
40
|
+
declare function SidebarInset({ className, slotName, ...props }: React.ComponentProps<'main'> & SlotNameProps): React.JSX.Element;
|
|
41
|
+
declare function SidebarInput({ className, slotName, ...props }: React.ComponentProps<typeof Input> & SlotNameProps): React.JSX.Element;
|
|
42
|
+
declare function SidebarHeader({ className, slotName, ...props }: React.ComponentProps<'div'> & SlotNameProps): React.JSX.Element;
|
|
43
|
+
declare function SidebarFooter({ className, slotName, ...props }: React.ComponentProps<'div'> & SlotNameProps): React.JSX.Element;
|
|
44
|
+
declare function SidebarSeparator({ className, slotName, ...props }: React.ComponentProps<typeof Separator> & SlotNameProps): React.JSX.Element;
|
|
45
|
+
declare function SidebarContent({ className, slotName, ...props }: React.ComponentProps<'div'> & SlotNameProps): React.JSX.Element;
|
|
46
|
+
declare function SidebarGroup({ className, slotName, ...props }: React.ComponentProps<'div'> & SlotNameProps): React.JSX.Element;
|
|
47
|
+
declare function SidebarGroupLabel({ className, asChild, slotName, ...props }: React.ComponentProps<'div'> & {
|
|
48
|
+
asChild?: boolean;
|
|
49
|
+
} & SlotNameProps): React.JSX.Element;
|
|
50
|
+
declare function SidebarGroupAction({ className, asChild, slotName, ...props }: React.ComponentProps<'button'> & {
|
|
51
|
+
asChild?: boolean;
|
|
52
|
+
} & SlotNameProps): React.JSX.Element;
|
|
53
|
+
declare function SidebarGroupContent({ className, slotName, ...props }: React.ComponentProps<'div'> & SlotNameProps): React.JSX.Element;
|
|
54
|
+
declare function SidebarMenu({ className, slotName, ...props }: React.ComponentProps<'ul'> & SlotNameProps): React.JSX.Element;
|
|
55
|
+
declare function SidebarMenuItem({ className, slotName, ...props }: React.ComponentProps<'li'> & SlotNameProps): React.JSX.Element;
|
|
56
|
+
declare const sidebarMenuButtonVariants: (props?: ({
|
|
57
|
+
variant?: "default" | "outline" | null | undefined;
|
|
58
|
+
size?: "sm" | "default" | "lg" | null | undefined;
|
|
59
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
60
|
+
declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, slotName, ...props }: React.ComponentProps<'button'> & {
|
|
61
|
+
asChild?: boolean;
|
|
62
|
+
isActive?: boolean;
|
|
63
|
+
tooltip?: string | React.ComponentProps<typeof TooltipContent>;
|
|
64
|
+
} & VariantProps<typeof sidebarMenuButtonVariants> & SlotNameProps): React.JSX.Element;
|
|
65
|
+
declare function SidebarMenuAction({ className, asChild, showOnHover, slotName, ...props }: React.ComponentProps<'button'> & {
|
|
66
|
+
asChild?: boolean;
|
|
67
|
+
showOnHover?: boolean;
|
|
68
|
+
} & SlotNameProps): React.JSX.Element;
|
|
69
|
+
declare function SidebarMenuBadge({ className, slotName, ...props }: React.ComponentProps<'div'> & SlotNameProps): React.JSX.Element;
|
|
70
|
+
declare function SidebarMenuSkeleton({ className, showIcon, slotName, ...props }: React.ComponentProps<'div'> & {
|
|
71
|
+
showIcon?: boolean;
|
|
72
|
+
} & SlotNameProps): React.JSX.Element;
|
|
73
|
+
declare function SidebarMenuSub({ className, slotName, ...props }: React.ComponentProps<'ul'> & SlotNameProps): React.JSX.Element;
|
|
74
|
+
declare function SidebarMenuSubItem({ className, slotName, ...props }: React.ComponentProps<'li'> & SlotNameProps): React.JSX.Element;
|
|
75
|
+
declare function SidebarMenuSubButton({ asChild, size, isActive, className, slotName, ...props }: React.ComponentProps<'a'> & {
|
|
76
|
+
asChild?: boolean;
|
|
77
|
+
size?: 'sm' | 'md';
|
|
78
|
+
isActive?: boolean;
|
|
79
|
+
} & SlotNameProps): React.JSX.Element;
|
|
80
|
+
|
|
81
|
+
export { useSidebar as A, Separator as S, Tooltip as T, Sidebar as a, SidebarContent as b, SidebarFooter as c, SidebarGroup as d, SidebarGroupAction as e, SidebarGroupContent as f, SidebarGroupLabel as g, SidebarHeader as h, SidebarInput as i, SidebarInset as j, SidebarMenu as k, SidebarMenuAction as l, SidebarMenuBadge as m, SidebarMenuButton as n, SidebarMenuItem as o, SidebarMenuSkeleton as p, SidebarMenuSub as q, SidebarMenuSubButton as r, SidebarMenuSubItem as s, SidebarProvider as t, SidebarRail as u, SidebarSeparator as v, SidebarTrigger as w, TooltipContent as x, TooltipProvider as y, TooltipTrigger as z };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
+
import { S as SlotNameProps } from './types-cmBL8zOc.js';
|
|
3
4
|
|
|
4
5
|
interface DangerZoneLabels {
|
|
5
6
|
title: string;
|
|
@@ -35,7 +36,7 @@ interface DangerZoneProps {
|
|
|
35
36
|
footer?: ReactNode;
|
|
36
37
|
className?: string;
|
|
37
38
|
}
|
|
38
|
-
declare function DangerZone({ title, description, actions, processing, labels, footer, className, }: DangerZoneProps): React.JSX.Element;
|
|
39
|
+
declare function DangerZone({ title, description, actions, processing, labels, footer, className, slotName, }: DangerZoneProps & SlotNameProps): React.JSX.Element;
|
|
39
40
|
|
|
40
41
|
interface FormOverlayLabels {
|
|
41
42
|
cancelLabel: string;
|
|
@@ -53,7 +54,7 @@ interface FormOverlayActionsProps {
|
|
|
53
54
|
onCancel: () => void;
|
|
54
55
|
onSave?: () => void;
|
|
55
56
|
}
|
|
56
|
-
declare function FormOverlayActions({ labels, processing, intent, submit, className, onCancel, onSave, }: FormOverlayActionsProps): React.JSX.Element;
|
|
57
|
+
declare function FormOverlayActions({ labels, processing, intent, submit, className, onCancel, onSave, slotName, }: FormOverlayActionsProps & SlotNameProps): React.JSX.Element;
|
|
57
58
|
|
|
58
59
|
type TwoFactorSetupStep = 'pending' | 'scan' | 'confirm' | 'recovery';
|
|
59
60
|
type TwoFactorCodeMode = 'code' | 'recovery';
|
|
@@ -2,6 +2,9 @@ import { Column as Column$1, ColumnDef as ColumnDef$1, FilterFn as FilterFn$1, R
|
|
|
2
2
|
import { LucideIcon as LucideIcon$1 } from 'lucide-react';
|
|
3
3
|
import { ComponentType, ReactNode, MouseEvent } from 'react';
|
|
4
4
|
|
|
5
|
+
interface SlotNameProps {
|
|
6
|
+
slotName?: string;
|
|
7
|
+
}
|
|
5
8
|
type UrlLike = string | {
|
|
6
9
|
url: string;
|
|
7
10
|
method?: string;
|
|
@@ -45,4 +48,4 @@ interface LinkProps {
|
|
|
45
48
|
}
|
|
46
49
|
type LinkComponent = ComponentType<LinkProps>;
|
|
47
50
|
|
|
48
|
-
export type { BreadcrumbItem as B, Column as C, FilterFn as F, IconComponent as I, LucideIcon as L, NavGroup as N, Row as R,
|
|
51
|
+
export type { BreadcrumbItem as B, Column as C, FilterFn as F, IconComponent as I, LucideIcon as L, NavGroup as N, Row as R, SlotNameProps as S, TableInstance as T, UrlLike as U, ColumnDef as a, NavItem as b, SharedUser as c, LinkComponent as d, LinkProps as e };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akira-io/ui",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Open-source React component library: the full shadcn/ui set on an OKLCH design-token system with swappable brand palettes.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
"dev": "tsup --watch",
|
|
76
76
|
"test": "vitest run",
|
|
77
77
|
"typecheck": "tsc --noEmit",
|
|
78
|
-
"format": "prettier --write \"src/**/*.{ts,tsx}\" \"tests/**/*.ts\" theme.css",
|
|
79
|
-
"format:check": "prettier --check \"src/**/*.{ts,tsx}\" \"tests/**/*.ts\" theme.css",
|
|
78
|
+
"format": "prettier --write \"src/**/*.{ts,tsx}\" \"tests/**/*.{ts,tsx}\" theme.css",
|
|
79
|
+
"format:check": "prettier --check \"src/**/*.{ts,tsx}\" \"tests/**/*.{ts,tsx}\" theme.css",
|
|
80
80
|
"prepublishOnly": "bun run build"
|
|
81
81
|
},
|
|
82
82
|
"dependencies": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/dialog.tsx","../src/components/ui/label.tsx"],"names":["DialogPrimitive","jsx"],"mappings":"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","file":"chunk-6QM5BA7B.js","sourcesContent":["import { XIcon } from 'lucide-react';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { modalSurface } from '@/lib/language';\nimport { cn } from '@/lib/utils';\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 inset-0 bg-black/60 backdrop-blur-sm fixed z-50',\n className,\n )}\n {...props}\n />\n );\n}\n\ninterface DialogContentProps extends React.ComponentProps<\n typeof DialogPrimitive.Content\n> {\n hideCloseButton?: boolean;\n}\n\nfunction DialogContent({\n className,\n children,\n hideCloseButton = false,\n ...props\n}: DialogContentProps) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n `${modalSurface} 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 gap-6 p-6 sm:w-full sm:max-w-lg fixed top-[50%] left-[50%] z-50 grid w-[calc(100%-2rem)] max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] overflow-hidden duration-200`,\n className,\n )}\n {...props}\n >\n {children}\n {!hideCloseButton && (\n <DialogPrimitive.Close className=\"top-6 right-6 h-10 w-10 shadow-xs absolute z-50 flex items-center justify-center rounded-full border border-border bg-muted text-muted-foreground transition-colors hover:bg-accent hover:text-foreground\">\n <XIcon className=\"h-5 w-5\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\n 'gap-2 p-6 md:p-8 flex flex-col text-center',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n 'gap-3 p-6 md:p-8 sm:flex-row sm:justify-end flex flex-col-reverse border-t border-border',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\n 'text-2xl font-bold tracking-tight md:text-3xl text-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\n 'text-base font-medium leading-relaxed text-muted-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n","import * as LabelPrimitive from '@radix-ui/react-label';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'text-sm font-medium text-foreground select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/input.tsx"],"names":[],"mappings":";;;AAKA,SAAS,MAAM,EAAE,SAAA,EAAW,IAAA,EAAM,GAAG,OAAM,EAAkC;AACzE,EAAA,uBACI,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACG,IAAA;AAAA,MACA,WAAA,EAAU,OAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACP,CAAA,oOAAA,EAAuO,YAAY,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA;AAAA,QAChQ;AAAA,OACJ;AAAA,MACC,GAAG;AAAA;AAAA,GACR;AAER","file":"chunk-6X4TKSF6.js","sourcesContent":["import * as React from 'react';\n\nimport { fieldSurface, focusRing } from '@/lib/language';\nimport { cn } from '@/lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n `h-11 min-w-0 px-4 text-sm font-medium flex w-full transition-all placeholder:text-muted-foreground focus:bg-muted disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 ${fieldSurface} ${focusRing}`,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts","../src/lib/language.ts","../src/components/ui/spinner.tsx","../src/components/ui/button.tsx"],"names":["cva","mappedSpinnerSize","items","first","iconOnly","hasLeadingVisual","leadingVisual","label","jsxs","jsx"],"mappings":"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","file":"chunk-DSD7MVLL.js","sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","export const surfaceRadius = 'rounded-3xl';\n\nexport const controlRadius = 'rounded-2xl';\n\nexport const compactRadius = 'rounded-xl';\n\nexport const glassEdge =\n 'ring-1 ring-surface-ring backdrop-blur-2xl backdrop-saturate-150';\n\nexport const elevatedSurface = `${glassEdge} ${surfaceRadius} border-0 shadow-(--glass-elevation)`;\n\nexport const floatingSurface = `${glassEdge} border-0 bg-popover/85 text-popover-foreground shadow-(--glass-elevation)`;\n\nexport const modalSurface = `${floatingSurface} ${surfaceRadius}`;\n\nexport const panelSurface = `${floatingSurface} ${controlRadius}`;\n\nexport const menuSurface = `${panelSurface} bg-popover/80`;\n\nexport const recessedSurface = `${controlRadius} border-0 bg-surface-recessed/30 text-foreground shadow-none ring-0 backdrop-blur-none`;\n\nexport const nestedRadius = controlRadius;\n\nexport const nestedSurfaceReset =\n 'nested-surface:border-0 nested-surface:ring-0 nested-surface:bg-transparent nested-surface:shadow-none nested-surface:backdrop-blur-none';\n\nexport const nestedEdgeToEdge = 'nested-surface:rounded-none';\n\nexport const glassControl =\n 'ring-1 ring-surface-ring border-0 shadow-(--glass-shadow) backdrop-blur-md backdrop-saturate-150';\n\nexport const controlFill = 'bg-surface-control';\n\nexport const fieldSurface = `${glassControl} ${controlFill} ${controlRadius} text-foreground`;\n\nexport const focusRing =\n 'outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50';\n\nexport const menuHighlight =\n 'outline-hidden focus:bg-accent focus:text-accent-foreground';\n\nexport interface SurfaceProps {\n inset?: boolean;\n}\n\nexport function surface(inset?: boolean | null): string {\n return inset ? `${elevatedSurface} ${recessedSurface}` : elevatedSurface;\n}\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport { LoaderCircle } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst spinnerVariants = cva('inline-flex shrink-0', {\n variants: {\n size: {\n sm: 'size-3.5',\n default: 'size-4',\n lg: 'size-5',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n});\n\ninterface SpinnerProps\n extends React.ComponentProps<'span'>, VariantProps<typeof spinnerVariants> {\n label?: string;\n}\n\nfunction Spinner({\n className,\n label = 'Loading',\n size = 'default',\n ...props\n}: SpinnerProps) {\n return (\n <span\n {...props}\n data-slot=\"spinner\"\n data-size={size}\n role=\"status\"\n className={cn(spinnerVariants({ size }), className)}\n >\n <LoaderCircle\n aria-hidden=\"true\"\n className=\"animate-spin size-full text-current motion-reduce:animate-none\"\n />\n <span className=\"sr-only\">{label}</span>\n </span>\n );\n}\n\nexport { Spinner, spinnerVariants, type SpinnerProps };\n","import { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport {\n Spinner,\n spinnerVariants,\n type SpinnerProps,\n} from '@/components/ui/spinner';\nimport { controlFill, focusRing, glassControl } from '@/lib/language';\nimport { cn } from '@/lib/utils';\n\nconst buttonVariants = cva(\n `inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-2xl text-sm font-semibold transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 aria-invalid:ring-destructive/20 aria-invalid:border-destructive ${focusRing}`,\n {\n variants: {\n variant: {\n default:\n 'bg-primary text-primary-foreground shadow-xl hover:bg-primary/90 hover:scale-[1.02] active:scale-[0.98]',\n destructive:\n 'bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/40',\n outline: `${glassControl} ${controlFill} hover:bg-accent hover:text-accent-foreground`,\n secondary: `${glassControl} bg-secondary/80 text-secondary-foreground hover:bg-secondary`,\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-11 px-4 has-[>svg]:px-3',\n sm: 'h-9 gap-1.5 rounded-xl px-3 has-[>svg]:px-2.5',\n lg: 'h-12 px-6 has-[>svg]:px-5 text-base',\n icon: 'size-11',\n 'icon-sm': 'size-9 rounded-xl',\n 'icon-lg': 'size-12',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\ntype ButtonSize = NonNullable<VariantProps<typeof buttonVariants>['size']>;\n\ninterface ButtonProps\n extends\n React.ComponentProps<'button'>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n loading?: boolean;\n loadingLabel?: string;\n}\n\nfunction spinnerSize(size: ButtonSize): SpinnerProps['size'] {\n if (size === 'sm' || size === 'icon-sm') return 'sm';\n if (size === 'lg' || size === 'icon-lg') return 'lg';\n return 'default';\n}\n\nfunction loadingPadding(size: ButtonSize): string | undefined {\n if (size === 'sm') return 'px-2.5';\n if (size === 'lg') return 'px-5';\n if (size === 'default') return 'px-3';\n return undefined;\n}\n\nfunction Button({\n className,\n variant = 'default',\n size = 'default',\n asChild = false,\n loading,\n loadingLabel = 'Loading',\n disabled,\n children,\n onClick,\n ...props\n}: ButtonProps) {\n const isLoading = loading === true;\n const hasLoadingState = loading !== undefined;\n const resolvedSize: ButtonSize = size ?? 'default';\n const baseClasses = buttonVariants({ variant, size: resolvedSize });\n const classes = cn(baseClasses, className);\n const loadingClasses = cn(\n baseClasses,\n loadingPadding(resolvedSize),\n className,\n );\n\n if (asChild) {\n const Comp = asChild ? Slot : 'button';\n const mappedSpinnerSize = spinnerSize(resolvedSize);\n const slottedChild = React.isValidElement<\n React.HTMLAttributes<HTMLElement>\n >(children)\n ? children\n : undefined;\n const items = React.Children.toArray(slottedChild?.props.children);\n const first = items[0];\n const iconOnly = resolvedSize.startsWith('icon');\n const hasLeadingVisual =\n React.isValidElement(first) && (items.length > 1 || iconOnly);\n const leadingVisual = hasLeadingVisual ? first : undefined;\n const label = hasLeadingVisual ? items.slice(1) : items;\n const slottedChildren =\n hasLoadingState && slottedChild\n ? React.cloneElement(\n slottedChild,\n isLoading\n ? {\n onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n },\n }\n : undefined,\n <span\n data-slot=\"button-content\"\n className=\"inline-flex items-center gap-[inherit]\"\n >\n <span\n data-slot=\"button-leading\"\n className={cn(\n 'inline-grid shrink-0 place-items-center',\n spinnerVariants({ size: mappedSpinnerSize }),\n )}\n >\n {isLoading ? (\n <Spinner\n size={mappedSpinnerSize}\n label={loadingLabel}\n className=\"size-full\"\n />\n ) : (\n leadingVisual\n )}\n </span>\n <span data-slot=\"button-label\">{label}</span>\n {!hasLeadingVisual && !iconOnly && (\n <span\n aria-hidden=\"true\"\n data-slot=\"button-balance\"\n className={spinnerVariants({\n size: mappedSpinnerSize,\n })}\n />\n )}\n </span>,\n )\n : children;\n\n return (\n <Comp\n {...props}\n data-slot=\"button\"\n data-variant={variant}\n data-size={resolvedSize}\n data-loading={isLoading || undefined}\n className={hasLoadingState ? loadingClasses : classes}\n disabled={disabled || isLoading}\n aria-busy={isLoading ? true : props['aria-busy']}\n aria-disabled={isLoading ? true : props['aria-disabled']}\n onClick={isLoading ? undefined : onClick}\n >\n {slottedChildren}\n </Comp>\n );\n }\n\n if (loading === undefined) {\n return (\n <button\n {...props}\n data-slot=\"button\"\n data-variant={variant}\n data-size={resolvedSize}\n className={classes}\n disabled={disabled}\n onClick={onClick}\n >\n {children}\n </button>\n );\n }\n\n const items = React.Children.toArray(children);\n const first = items[0];\n const iconOnly = resolvedSize.startsWith('icon');\n const hasLeadingVisual =\n React.isValidElement(first) && (items.length > 1 || iconOnly);\n const leadingVisual = hasLeadingVisual ? first : undefined;\n const label = hasLeadingVisual ? items.slice(1) : items;\n const mappedSpinnerSize = spinnerSize(resolvedSize);\n\n return (\n <button\n {...props}\n data-slot=\"button\"\n data-variant={variant}\n data-size={resolvedSize}\n data-loading={isLoading || undefined}\n className={loadingClasses}\n disabled={disabled || isLoading}\n aria-busy={isLoading ? true : props['aria-busy']}\n onClick={onClick}\n >\n <span\n data-slot=\"button-content\"\n className=\"inline-flex items-center gap-[inherit]\"\n >\n <span\n data-slot=\"button-leading\"\n className={cn(\n 'inline-grid shrink-0 place-items-center',\n spinnerVariants({ size: mappedSpinnerSize }),\n )}\n >\n {isLoading ? (\n <Spinner\n size={mappedSpinnerSize}\n label={loadingLabel}\n className=\"size-full\"\n />\n ) : (\n leadingVisual\n )}\n </span>\n <span data-slot=\"button-label\">{label}</span>\n {!hasLeadingVisual && !iconOnly && (\n <span\n aria-hidden=\"true\"\n data-slot=\"button-balance\"\n className={spinnerVariants({\n size: mappedSpinnerSize,\n })}\n />\n )}\n </span>\n </button>\n );\n}\n\nexport { Button, buttonVariants, type ButtonProps };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/copy-button.tsx"],"names":[],"mappings":";;;;;;AAYO,IAAM,gBAAA,GAAqC;AAAA,EAC9C,SAAA,EAAW,MAAA;AAAA,EACX,WAAA,EAAa;AACjB;AAcA,eAAe,iBAAiB,KAAA,EAA8B;AAC1D,EAAA,MAAM,SAAA,GAAY,WAAW,SAAA,EAAW,SAAA;AAExC,EAAA,IAAI,OAAO,SAAA,EAAW,SAAA,KAAc,UAAA,EAAY;AAC5C,IAAA,MAAM,IAAI,MAAM,iDAAiD,CAAA;AAAA,EACrE;AAEA,EAAA,MAAM,SAAA,CAAU,UAAU,KAAK,CAAA;AACnC;AAEA,SAAS,UAAA,CAAW;AAAA,EAChB,KAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,uBAAA,GAA0B,GAAA;AAAA,EAC1B,QAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA,GAAU,OAAA;AAAA,EACV,IAAA,GAAO,SAAA;AAAA,EACP,SAAA;AAAA,EACA,GAAG;AACP,CAAA,EAAoB;AAChB,EAAA,MAAM,MAAA,GAAS,WAAA,CAAY,YAAA,EAAc,gBAAA,EAAkB;AAAA,IACvD,SAAA;AAAA,IACA;AAAA,GACH,CAAA;AACD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAU,eAAS,KAAK,CAAA;AAChD,EAAA,MAAM,KAAA,GAAc,aAAsC,MAAS,CAAA;AAEnE,EAAM,KAAA,CAAA,SAAA,CAAU,MAAM,MAAM,YAAA,CAAa,MAAM,OAAO,CAAA,EAAG,EAAE,CAAA;AAE3D,EAAA,eAAe,KAAK,KAAA,EAA4C;AAC5D,IAAA,OAAA,GAAU,KAAK,CAAA;AAEf,IAAA,IAAI;AACA,MAAA,MAAM,iBAAiB,KAAK,CAAA;AAAA,IAChC,SAAS,MAAA,EAAQ;AACb,MAAA,YAAA,GAAe,MAAM,CAAA;AAErB,MAAA;AAAA,IACJ;AAEA,IAAA,SAAA,CAAU,IAAI,CAAA;AACd,IAAA,QAAA,GAAW,KAAK,CAAA;AAEhB,IAAA,YAAA,CAAa,MAAM,OAAO,CAAA;AAC1B,IAAA,KAAA,CAAM,OAAA,GAAU,UAAA;AAAA,MACZ,MAAM,UAAU,KAAK,CAAA;AAAA,MACrB;AAAA,KACJ;AAAA,EACJ;AAEA,EAAA,2BACK,MAAA,EAAA,EAAO,OAAA,EAAO,IAAA,EAAC,OAAA,EAAkB,MAAY,SAAA,EAC1C,QAAA,kBAAA,IAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACI,GAAG,KAAA;AAAA,MACJ,IAAA,EAAK,QAAA;AAAA,MACL,WAAA,EAAU,aAAA;AAAA,MACV,eAAa,MAAA,IAAU,MAAA;AAAA,MACvB,YAAA,EAAY,MAAA,GAAS,MAAA,CAAO,WAAA,GAAc,MAAA,CAAO,SAAA;AAAA,MACjD,OAAA,EAAS,IAAA;AAAA,MAER,QAAA,EAAA;AAAA,QAAA,MAAA,mBACG,GAAA,CAAC,SAAM,aAAA,EAAY,MAAA,EAAO,oBAE1B,GAAA,CAAC,IAAA,EAAA,EAAK,eAAY,MAAA,EAAO,CAAA;AAAA,wBAE7B,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACG,WAAA,EAAU,oBAAA;AAAA,YACV,IAAA,EAAK,QAAA;AAAA,YACL,WAAA,EAAU,QAAA;AAAA,YACV,SAAA,EAAU,SAAA;AAAA,YAET,QAAA,EAAA,MAAA,GAAS,OAAO,WAAA,GAAc;AAAA;AAAA;AACnC;AAAA;AAAA,GACJ,EACJ,CAAA;AAER","file":"chunk-JAHTUAQL.js","sourcesContent":["import { type VariantProps } from 'class-variance-authority';\nimport { Check, Copy } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button, buttonVariants } from '@/components/ui/button';\nimport { useUiLabels } from '@/locales/context';\n\nexport interface CopyButtonLabels {\n copyLabel: string;\n copiedLabel: string;\n}\n\nexport const copyButtonLabels: CopyButtonLabels = {\n copyLabel: 'Copy',\n copiedLabel: 'Copied',\n};\n\ninterface CopyButtonProps\n extends\n Omit<React.ComponentProps<'button'>, 'value' | 'onCopy' | 'onError'>,\n VariantProps<typeof buttonVariants> {\n value: string;\n copyLabel?: CopyButtonLabels['copyLabel'];\n copiedLabel?: CopyButtonLabels['copiedLabel'];\n acknowledgementDuration?: number;\n onCopied?: (value: string) => void;\n onCopyFailed?: (reason: unknown) => void;\n}\n\nasync function writeToClipboard(value: string): Promise<void> {\n const clipboard = globalThis.navigator?.clipboard;\n\n if (typeof clipboard?.writeText !== 'function') {\n throw new Error('The clipboard is not available in this context.');\n }\n\n await clipboard.writeText(value);\n}\n\nfunction CopyButton({\n value,\n copyLabel,\n copiedLabel,\n acknowledgementDuration = 2000,\n onCopied,\n onCopyFailed,\n onClick,\n variant = 'ghost',\n size = 'icon-sm',\n className,\n ...props\n}: CopyButtonProps) {\n const labels = useUiLabels('copyButton', copyButtonLabels, {\n copyLabel,\n copiedLabel,\n });\n const [copied, setCopied] = React.useState(false);\n const timer = React.useRef<ReturnType<typeof setTimeout>>(undefined);\n\n React.useEffect(() => () => clearTimeout(timer.current), []);\n\n async function copy(event: React.MouseEvent<HTMLButtonElement>) {\n onClick?.(event);\n\n try {\n await writeToClipboard(value);\n } catch (reason) {\n onCopyFailed?.(reason);\n\n return;\n }\n\n setCopied(true);\n onCopied?.(value);\n\n clearTimeout(timer.current);\n timer.current = setTimeout(\n () => setCopied(false),\n acknowledgementDuration,\n );\n }\n\n return (\n <Button asChild variant={variant} size={size} className={className}>\n <button\n {...props}\n type=\"button\"\n data-slot=\"copy-button\"\n data-copied={copied || undefined}\n aria-label={copied ? labels.copiedLabel : labels.copyLabel}\n onClick={copy}\n >\n {copied ? (\n <Check aria-hidden=\"true\" />\n ) : (\n <Copy aria-hidden=\"true\" />\n )}\n <span\n data-slot=\"copy-button-status\"\n role=\"status\"\n aria-live=\"polite\"\n className=\"sr-only\"\n >\n {copied ? labels.copiedLabel : ''}\n </span>\n </button>\n </Button>\n );\n}\n\nexport { CopyButton, type CopyButtonProps };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/toggle.tsx"],"names":[],"mappings":";;;;;AAOA,IAAM,cAAA,GAAiB,GAAA;AAAA,EACnB,4bAA4b,SAAS,CAAA,CAAA;AAAA,EACrc;AAAA,IACI,QAAA,EAAU;AAAA,MACN,OAAA,EAAS;AAAA,QACL,OAAA,EAAS,gBAAA;AAAA,QACT,OAAA,EAAS,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,WAAW,CAAA,6CAAA;AAAA,OAC3C;AAAA,MACA,IAAA,EAAM;AAAA,QACF,OAAA,EAAS,oBAAA;AAAA,QACT,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACR,KACJ;AAAA,IACA,eAAA,EAAiB;AAAA,MACb,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACV;AAER;AAEA,SAAS,MAAA,CAAO;AAAA,EACZ,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACP,CAAA,EACyC;AACrC,EAAA,uBACI,GAAA;AAAA,IAAiB,eAAA,CAAA,IAAA;AAAA,IAAhB;AAAA,MACG,WAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,GAAG,cAAA,CAAe,EAAE,SAAS,IAAA,EAAM,SAAA,EAAW,CAAC,CAAA;AAAA,MACzD,GAAG;AAAA;AAAA,GACR;AAER","file":"chunk-LKSM3WLK.js","sourcesContent":["import * as TogglePrimitive from '@radix-ui/react-toggle';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { controlFill, focusRing, glassControl } from '@/lib/language';\nimport { cn } from '@/lib/utils';\n\nconst toggleVariants = cva(\n `inline-flex items-center justify-center gap-2 rounded-xl text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:font-semibold data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 transition-[color,box-shadow] aria-invalid:ring-destructive/20 aria-invalid:border-destructive ${focusRing}`,\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: `${glassControl} ${controlFill} hover:bg-accent hover:text-accent-foreground`,\n },\n size: {\n default: 'h-11 px-4 min-w-11',\n sm: 'h-9 px-3 min-w-9',\n lg: 'h-12 px-6 min-w-12',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Toggle, toggleVariants };\n"]}
|