@ciridae/ui 0.3.2 → 0.3.5
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/assets/ciridae/brand-background-dark.webp +0 -0
- package/dist/assets/ciridae/brand-background-light.webp +0 -0
- package/dist/assets/ciridae/ciridae-black.svg +17 -0
- package/dist/assets/ciridae/ciridae-brand-assets.d.ts +25 -0
- package/dist/assets/ciridae/ciridae-brand-assets.js +25 -0
- package/dist/assets/ciridae/ciridae-icon-black.png +0 -0
- package/dist/assets/ciridae/ciridae-icon-white.png +0 -0
- package/dist/assets/ciridae/ciridae-ui-wordmark-black.png +0 -0
- package/dist/assets/ciridae/ciridae-ui-wordmark-white.png +0 -0
- package/dist/assets/ciridae/ciridae-white.svg +17 -0
- package/dist/assets/ciridae/ciridae-wordmark-black.png +0 -0
- package/dist/assets/ciridae/ciridae-wordmark-white.png +0 -0
- package/dist/assets/ciridae/favicon.ico +0 -0
- package/dist/assets/ciridae/logo-white.png +0 -0
- package/dist/assets/ciridae/sign-in-screenshot.png +0 -0
- package/dist/components/blocks/admin-users-table.d.ts +22 -0
- package/dist/components/blocks/admin-users-table.js +115 -0
- package/dist/components/blocks/comment-composer.d.ts +16 -0
- package/dist/components/blocks/comment-composer.js +113 -0
- package/dist/components/blocks/comment-item.d.ts +8 -0
- package/dist/components/blocks/comment-item.js +45 -0
- package/dist/components/blocks/comment-thread.d.ts +18 -0
- package/dist/components/blocks/comment-thread.js +30 -0
- package/dist/components/blocks/comment-types.d.ts +18 -0
- package/dist/components/blocks/comment-types.js +11 -0
- package/dist/components/blocks/feedback-center-comments.d.ts +12 -0
- package/dist/components/blocks/feedback-center-comments.js +11 -0
- package/dist/components/blocks/feedback-center-sheet-parts.d.ts +34 -0
- package/dist/components/blocks/feedback-center-sheet-parts.js +44 -0
- package/dist/components/blocks/feedback-center-sheet.d.ts +19 -0
- package/dist/components/blocks/feedback-center-sheet.js +46 -0
- package/dist/components/blocks/feedback-composer-parts.d.ts +16 -0
- package/dist/components/blocks/feedback-composer-parts.js +43 -0
- package/dist/components/blocks/feedback-composer-types.d.ts +11 -0
- package/dist/components/blocks/feedback-composer-types.js +1 -0
- package/dist/components/blocks/feedback-composer.d.ts +17 -0
- package/dist/components/blocks/feedback-composer.js +112 -0
- package/dist/components/blocks/feedback-date-format.d.ts +5 -0
- package/dist/components/blocks/feedback-date-format.js +11 -0
- package/dist/components/blocks/feedback-detail-sheet.d.ts +9 -0
- package/dist/components/blocks/feedback-detail-sheet.js +41 -0
- package/dist/components/blocks/feedback-metrics.d.ts +6 -0
- package/dist/components/blocks/feedback-metrics.js +15 -0
- package/dist/components/blocks/feedback-sheet.d.ts +8 -0
- package/dist/components/blocks/feedback-sheet.js +16 -0
- package/dist/components/blocks/feedback-status-badge.d.ts +6 -0
- package/dist/components/blocks/feedback-status-badge.js +14 -0
- package/dist/components/blocks/feedback-table-row.d.ts +6 -0
- package/dist/components/blocks/feedback-table-row.js +37 -0
- package/dist/components/blocks/feedback-table-sort.d.ts +11 -0
- package/dist/components/blocks/feedback-table-sort.js +81 -0
- package/dist/components/blocks/feedback-table.d.ts +16 -0
- package/dist/components/blocks/feedback-table.js +45 -0
- package/dist/components/blocks/feedback-tracking-types.d.ts +78 -0
- package/dist/components/blocks/feedback-tracking-types.js +36 -0
- package/dist/components/blocks/feedback-type-badge.d.ts +6 -0
- package/dist/components/blocks/feedback-type-badge.js +12 -0
- package/dist/components/blocks/feedback-user-detail.d.ts +10 -0
- package/dist/components/blocks/feedback-user-detail.js +57 -0
- package/dist/components/blocks/feedback-user-list.d.ts +9 -0
- package/dist/components/blocks/feedback-user-list.js +33 -0
- package/dist/components/blocks/invite-user-sheet.d.ts +20 -0
- package/dist/components/blocks/invite-user-sheet.js +72 -0
- package/dist/components/blocks/kanban-board-parts.d.ts +26 -0
- package/dist/components/blocks/kanban-board-parts.js +85 -0
- package/dist/components/blocks/kanban-board-utils.d.ts +42 -0
- package/dist/components/blocks/kanban-board-utils.js +115 -0
- package/dist/components/blocks/kanban-board.d.ts +16 -0
- package/dist/components/blocks/kanban-board.js +36 -0
- package/dist/components/blocks/kanban-card.d.ts +10 -0
- package/dist/components/blocks/kanban-card.js +34 -0
- package/dist/components/blocks/kanban-column.d.ts +17 -0
- package/dist/components/blocks/kanban-column.js +34 -0
- package/dist/components/blocks/kanban-detail-sheet.d.ts +17 -0
- package/dist/components/blocks/kanban-detail-sheet.js +34 -0
- package/dist/components/blocks/kanban-types.d.ts +24 -0
- package/dist/components/blocks/kanban-types.js +1 -0
- package/dist/components/blocks/timestamp-format.d.ts +8 -0
- package/dist/components/blocks/timestamp-format.js +66 -0
- package/dist/components/pages/admin-users-page.d.ts +11 -0
- package/dist/components/pages/admin-users-page.js +30 -0
- package/dist/components/pages/feedback-stakeholder-page-parts.d.ts +18 -0
- package/dist/components/pages/feedback-stakeholder-page-parts.js +36 -0
- package/dist/components/pages/feedback-stakeholder-page.d.ts +9 -0
- package/dist/components/pages/feedback-stakeholder-page.js +66 -0
- package/dist/components/pages/kanban-page.d.ts +13 -0
- package/dist/components/pages/kanban-page.js +68 -0
- package/dist/components/ui/calendar.d.ts +2 -1
- package/dist/components/ui/calendar.js +1 -1
- package/dist/components/ui/dialog.d.ts +2 -1
- package/dist/components/ui/dialog.js +2 -2
- package/dist/components/ui/page-header.d.ts +15 -1
- package/dist/components/ui/page-header.js +20 -2
- package/dist/components/ui/resizable.d.ts +9 -2
- package/dist/components/ui/resizable.js +3 -3
- package/dist/components/ui/sidebar-account-menu.d.ts +3 -1
- package/dist/components/ui/sidebar-account-menu.js +5 -5
- package/dist/components/ui/sonner.d.ts +2 -2
- package/dist/components/ui/sonner.js +2 -2
- package/dist/styled-system/css/css.d.ts +11 -16
- package/dist/styled-system/css/cva.d.ts +2 -4
- package/dist/styled-system/css/cx.d.ts +2 -3
- package/dist/styled-system/css/index.d.ts +1 -1
- package/dist/styled-system/css/sva.d.ts +1 -2
- package/dist/styled-system/patterns/aspect-ratio.d.ts +5 -9
- package/dist/styled-system/patterns/bleed.d.ts +6 -10
- package/dist/styled-system/patterns/box.d.ts +4 -9
- package/dist/styled-system/patterns/center.d.ts +5 -9
- package/dist/styled-system/patterns/circle.d.ts +5 -9
- package/dist/styled-system/patterns/container.d.ts +4 -9
- package/dist/styled-system/patterns/cq.d.ts +6 -10
- package/dist/styled-system/patterns/divider.d.ts +7 -11
- package/dist/styled-system/patterns/flex.d.ts +11 -15
- package/dist/styled-system/patterns/float.d.ts +8 -12
- package/dist/styled-system/patterns/grid-item.d.ts +10 -14
- package/dist/styled-system/patterns/grid.d.ts +9 -13
- package/dist/styled-system/patterns/hstack.d.ts +6 -10
- package/dist/styled-system/patterns/index.d.ts +1 -1
- package/dist/styled-system/patterns/link-overlay.d.ts +4 -9
- package/dist/styled-system/patterns/spacer.d.ts +5 -9
- package/dist/styled-system/patterns/square.d.ts +5 -9
- package/dist/styled-system/patterns/stack.d.ts +8 -12
- package/dist/styled-system/patterns/visually-hidden.d.ts +4 -9
- package/dist/styled-system/patterns/vstack.d.ts +6 -10
- package/dist/styled-system/patterns/wrap.d.ts +9 -13
- package/dist/styled-system/tokens/index.d.ts +4 -6
- package/dist/styled-system/tokens/tokens.d.ts +42 -61
- package/dist/styled-system/types/composition.d.ts +20 -211
- package/dist/styled-system/types/conditions.d.ts +297 -303
- package/dist/styled-system/types/csstype.d.ts +20289 -22518
- package/dist/styled-system/types/global.d.ts +11 -12
- package/dist/styled-system/types/index.d.ts +2 -2
- package/dist/styled-system/types/parts.d.ts +2 -3
- package/dist/styled-system/types/pattern.d.ts +75 -71
- package/dist/styled-system/types/prop-type.d.ts +236 -233
- package/dist/styled-system/types/recipe.d.ts +114 -155
- package/dist/styled-system/types/selectors.d.ts +8 -58
- package/dist/styled-system/types/static-css.d.ts +40 -47
- package/dist/styled-system/types/style-props.d.ts +8078 -8082
- package/dist/styled-system/types/system-types.d.ts +69 -111
- package/dist/styles.css +490 -1
- package/package.json +159 -7
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { PlusIcon, SearchIcon } from "lucide-react";
|
|
4
|
+
import { KanbanBoard } from "@ciridae/ui/kanban-board";
|
|
5
|
+
import { KanbanDetailSheet } from "@ciridae/ui/kanban-detail-sheet";
|
|
6
|
+
import { Button } from "@ciridae/ui/button";
|
|
7
|
+
import { InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, } from "@ciridae/ui/input-group";
|
|
8
|
+
import { PageHeader, PageHeaderActions, PageHeaderContent, PageHeaderDescription, PageHeaderMain, PageHeaderTitle, } from "@ciridae/ui/page-header";
|
|
9
|
+
function KanbanPage({ cards, columns, isLoading = false, onCardMove, onCreateCard, renderCardActions, renderColumnActions, }) {
|
|
10
|
+
const [search, setSearch] = React.useState("");
|
|
11
|
+
const [selectedCardId, setSelectedCardId] = React.useState();
|
|
12
|
+
const filteredCards = React.useMemo(() => filterKanbanCards(cards, search), [cards, search]);
|
|
13
|
+
const selectedCard = React.useMemo(() => cards.find((card) => card.id === selectedCardId), [cards, selectedCardId]);
|
|
14
|
+
const selectedColumn = getSelectedColumn(columns, selectedCard);
|
|
15
|
+
return (_jsxs("div", { className: "min-h-svh bg-background text-foreground", children: [_jsx(KanbanPageHeader, { onCreateCard: onCreateCard }), _jsxs("main", { className: "grid gap-4 px-4 py-4 md:px-6 lg:px-8", children: [_jsx(KanbanPageToolbar, { filteredCount: filteredCards.length, onSearchChange: setSearch, search: search, totalCount: cards.length }), _jsx(KanbanBoard, { cards: filteredCards, columnMaxHeight: "calc(100vh - 18rem)", columns: columns, empty: getBoardEmptyMessage(search), isLoading: isLoading, onCardMove: onCardMove
|
|
16
|
+
? (move) => onCardMove(getUnfilteredMoveEvent(move, filteredCards, cards))
|
|
17
|
+
: undefined, onCardSelect: (card) => setSelectedCardId(card.id), renderCardActions: renderCardActions, renderColumnActions: renderColumnActions })] }), _jsx(KanbanDetailSheet, { card: selectedCard, column: selectedColumn, onOpenChange: (open) => {
|
|
18
|
+
if (!open)
|
|
19
|
+
setSelectedCardId(undefined);
|
|
20
|
+
}, open: Boolean(selectedCard) })] }));
|
|
21
|
+
}
|
|
22
|
+
function KanbanPageHeader({ onCreateCard }) {
|
|
23
|
+
return (_jsx(PageHeader, { children: _jsxs(PageHeaderMain, { children: [_jsxs(PageHeaderContent, { children: [_jsx(PageHeaderTitle, { children: "Work board" }), _jsx(PageHeaderDescription, { children: "Track work across status columns and open cards for detail." })] }), onCreateCard ? (_jsx(PageHeaderActions, { children: _jsxs(Button, { onClick: onCreateCard, type: "button", children: [_jsx(PlusIcon, {}), "New card"] }) })) : null] }) }));
|
|
24
|
+
}
|
|
25
|
+
function KanbanPageToolbar({ filteredCount, onSearchChange, search, totalCount, }) {
|
|
26
|
+
return (_jsxs("div", { className: "flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between", children: [_jsx("div", { className: "w-full sm:max-w-sm", children: _jsxs(InputGroup, { children: [_jsx(InputGroupAddon, { children: _jsx(KanbanSearchAdornment, {}) }), _jsx(InputGroupInput, { "aria-label": "Search cards", onChange: (event) => onSearchChange(event.target.value), placeholder: "Search cards...", value: search })] }) }), _jsxs("div", { className: "font-mono text-xs text-muted-foreground tabular-nums", children: [filteredCount, " of ", totalCount, " cards"] })] }));
|
|
27
|
+
}
|
|
28
|
+
function KanbanSearchAdornment() {
|
|
29
|
+
return (_jsxs(InputGroupText, { children: [_jsx(SearchIcon, {}), _jsx("span", { className: "sr-only", children: "Search" })] }));
|
|
30
|
+
}
|
|
31
|
+
function filterKanbanCards(cards, search) {
|
|
32
|
+
const query = search.trim().toLowerCase();
|
|
33
|
+
if (!query)
|
|
34
|
+
return cards;
|
|
35
|
+
return cards.filter((card) => matchesKanbanSearch(card, query));
|
|
36
|
+
}
|
|
37
|
+
function matchesKanbanSearch(card, query) {
|
|
38
|
+
return [card.id, card.title, card.description]
|
|
39
|
+
.filter(Boolean)
|
|
40
|
+
.some((value) => value?.toLowerCase().includes(query));
|
|
41
|
+
}
|
|
42
|
+
function getSelectedColumn(columns, selectedCard) {
|
|
43
|
+
if (!selectedCard)
|
|
44
|
+
return undefined;
|
|
45
|
+
return columns.find((column) => column.id === selectedCard.columnId);
|
|
46
|
+
}
|
|
47
|
+
function getUnfilteredMoveEvent(move, filteredCards, cards) {
|
|
48
|
+
const fromIndex = cards
|
|
49
|
+
.filter((card) => card.columnId === move.fromColumnId)
|
|
50
|
+
.findIndex((card) => card.id === move.cardId);
|
|
51
|
+
const filteredTargetCards = filteredCards.filter((card) => card.columnId === move.toColumnId);
|
|
52
|
+
const targetCard = filteredTargetCards[move.toIndex];
|
|
53
|
+
const unfilteredTargetCards = cards.filter((card) => card.columnId === move.toColumnId);
|
|
54
|
+
const toIndex = targetCard
|
|
55
|
+
? unfilteredTargetCards.findIndex((card) => card.id === targetCard.id)
|
|
56
|
+
: unfilteredTargetCards.length;
|
|
57
|
+
return {
|
|
58
|
+
...move,
|
|
59
|
+
fromIndex: fromIndex >= 0 ? fromIndex : move.fromIndex,
|
|
60
|
+
toIndex: toIndex >= 0 ? toIndex : move.toIndex,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function getBoardEmptyMessage(search) {
|
|
64
|
+
if (search.trim())
|
|
65
|
+
return "No cards match this search";
|
|
66
|
+
return "No cards";
|
|
67
|
+
}
|
|
68
|
+
export { KanbanPage };
|
|
@@ -3,7 +3,8 @@ import { DayPicker, type DayButton } from "react-day-picker";
|
|
|
3
3
|
import { Button } from "@ciridae/ui/button";
|
|
4
4
|
type CalendarProps = React.ComponentProps<typeof DayPicker> & {
|
|
5
5
|
buttonVariant?: React.ComponentProps<typeof Button>["variant"];
|
|
6
|
+
initialFocus?: boolean;
|
|
6
7
|
};
|
|
7
|
-
declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: CalendarProps): React.JSX.Element;
|
|
8
|
+
declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, initialFocus: _initialFocus, components, ...props }: CalendarProps): React.JSX.Element;
|
|
8
9
|
declare function CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>): React.JSX.Element;
|
|
9
10
|
export { Calendar, CalendarDayButton };
|
|
@@ -5,7 +5,7 @@ import { DayPicker, getDefaultClassNames } from "react-day-picker";
|
|
|
5
5
|
import { cn } from "@ciridae/ui/utils";
|
|
6
6
|
import { Button } from "@ciridae/ui/button";
|
|
7
7
|
import { buttonVariants } from "@ciridae/ui/button-variants";
|
|
8
|
-
function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
|
|
8
|
+
function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, initialFocus: _initialFocus, components, ...props }) {
|
|
9
9
|
const defaultClassNames = getDefaultClassNames();
|
|
10
10
|
const mergedClassNames = getCalendarClassNames({
|
|
11
11
|
buttonVariant,
|
|
@@ -10,7 +10,8 @@ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogP
|
|
|
10
10
|
declare function DialogPortal({ container, ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): React.JSX.Element;
|
|
11
11
|
declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): React.JSX.Element;
|
|
12
12
|
declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): React.JSX.Element;
|
|
13
|
-
declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
13
|
+
declare function DialogContent({ className, children, overlayClassName, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
14
|
+
overlayClassName?: string;
|
|
14
15
|
showCloseButton?: boolean;
|
|
15
16
|
}): React.JSX.Element;
|
|
16
17
|
declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
@@ -30,8 +30,8 @@ function DialogClose({ ...props }) {
|
|
|
30
30
|
function DialogOverlay({ className, ...props }) {
|
|
31
31
|
return (_jsx(DialogPrimitive.Overlay, { "data-slot": "dialog-overlay", className: cn("fixed inset-0 z-50 bg-overlay data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0", className), ...props }));
|
|
32
32
|
}
|
|
33
|
-
function DialogContent({ className, children, showCloseButton = true, ...props }) {
|
|
34
|
-
return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-(--panel-gap) rounded-lg border bg-background p-(--panel-padding) shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0 sm:max-w-lg", className), ...props, children: [children, showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-[var(--focus-ring-width)] focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
|
|
33
|
+
function DialogContent({ className, children, overlayClassName, showCloseButton = true, ...props }) {
|
|
34
|
+
return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, { className: overlayClassName }), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-(--panel-gap) rounded-lg border bg-background p-(--panel-padding) shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0 sm:max-w-lg", className), ...props, children: [children, showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-[var(--focus-ring-width)] focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
|
|
35
35
|
}
|
|
36
36
|
function DialogHeader({ className, ...props }) {
|
|
37
37
|
return (_jsx("div", { "data-slot": "dialog-header", className: cn("flex flex-col gap-2 text-center sm:text-left", className), ...props }));
|
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Button } from "@ciridae/ui/button";
|
|
3
|
-
|
|
3
|
+
type PageHeaderBreadcrumbItem = {
|
|
4
|
+
label: string;
|
|
5
|
+
to?: string;
|
|
6
|
+
};
|
|
7
|
+
type PageHeaderProps = React.ComponentProps<"header"> & {
|
|
8
|
+
actions?: React.ReactNode;
|
|
9
|
+
backLink?: {
|
|
10
|
+
label: string;
|
|
11
|
+
to?: string;
|
|
12
|
+
};
|
|
13
|
+
breadcrumbItems?: PageHeaderBreadcrumbItem[];
|
|
14
|
+
subtitle?: React.ReactNode;
|
|
15
|
+
title?: React.ReactNode;
|
|
16
|
+
};
|
|
17
|
+
declare function PageHeader({ actions, backLink, breadcrumbItems, children, className, subtitle, title, ...props }: PageHeaderProps): React.JSX.Element;
|
|
4
18
|
declare function PageHeaderMain({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
5
19
|
declare function PageHeaderContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
6
20
|
type PageHeaderBackButtonProps = (Omit<React.ComponentProps<typeof Button>, "asChild" | "children"> & {
|
|
@@ -2,8 +2,26 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { ArrowLeftIcon } from "lucide-react";
|
|
3
3
|
import { Button } from "@ciridae/ui/button";
|
|
4
4
|
import { cn } from "@ciridae/ui/utils";
|
|
5
|
-
function PageHeader({ className, ...props }) {
|
|
6
|
-
|
|
5
|
+
function PageHeader({ actions, backLink, breadcrumbItems, children, className, subtitle, title, ...props }) {
|
|
6
|
+
if (hasPageHeaderConvenienceContent({ actions, backLink, breadcrumbItems, subtitle, title })) {
|
|
7
|
+
return (_jsx("header", { "data-slot": "page-header", className: cn("border-b bg-background text-foreground", className), ...props, children: _jsx(PageHeaderConvenienceLayout, { actions: actions, backLink: backLink, breadcrumbItems: breadcrumbItems, subtitle: subtitle, title: title, children: children }) }));
|
|
8
|
+
}
|
|
9
|
+
return (_jsx("header", { "data-slot": "page-header", className: cn("border-b bg-background text-foreground", className), ...props, children: children }));
|
|
10
|
+
}
|
|
11
|
+
function hasPageHeaderConvenienceContent({ actions, backLink, breadcrumbItems, subtitle, title, }) {
|
|
12
|
+
return Boolean(title || subtitle || actions || backLink || breadcrumbItems);
|
|
13
|
+
}
|
|
14
|
+
function PageHeaderConvenienceLayout({ actions, backLink, breadcrumbItems, children, subtitle, title, }) {
|
|
15
|
+
return (_jsxs(PageHeaderMain, { children: [_jsxs(PageHeaderContent, { children: [backLink ? _jsx(PageHeaderBackLink, { backLink: backLink }) : null, breadcrumbItems?.length ? _jsx(PageHeaderBreadcrumbs, { items: breadcrumbItems }) : null, title ? _jsx(PageHeaderTitle, { children: title }) : null, subtitle ? _jsx(PageHeaderDescription, { children: subtitle }) : null, children] }), actions ? _jsx(PageHeaderActions, { children: actions }) : null] }));
|
|
16
|
+
}
|
|
17
|
+
function PageHeaderBackLink({ backLink }) {
|
|
18
|
+
if (backLink.to) {
|
|
19
|
+
return (_jsx(PageHeaderBackButton, { asChild: true, children: _jsx("a", { href: backLink.to, children: backLink.label }) }));
|
|
20
|
+
}
|
|
21
|
+
return _jsx(PageHeaderBackButton, { children: backLink.label });
|
|
22
|
+
}
|
|
23
|
+
function PageHeaderBreadcrumbs({ items }) {
|
|
24
|
+
return (_jsx(PageHeaderMeta, { children: items.map((item) => (_jsx("span", { children: item.label }, `${item.label}:${item.to ?? ""}`))) }));
|
|
7
25
|
}
|
|
8
26
|
function PageHeaderMain({ className, ...props }) {
|
|
9
27
|
return (_jsx("div", { "data-slot": "page-header-main", className: cn("flex flex-col gap-3 px-4 py-3 md:flex-row md:items-center md:justify-between md:px-6 lg:px-8", className), ...props }));
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type ResizablePanelGroupProps = ResizablePrimitive.GroupProps & {
|
|
3
|
+
autoSaveId?: string;
|
|
4
|
+
direction?: "horizontal" | "vertical";
|
|
5
|
+
};
|
|
6
|
+
type ResizablePanelProps = ResizablePrimitive.PanelProps & {
|
|
7
|
+
order?: number;
|
|
8
|
+
};
|
|
9
|
+
declare function ResizablePanelGroup({ autoSaveId: _autoSaveId, className, direction, ...props }: ResizablePanelGroupProps): import("react").JSX.Element;
|
|
10
|
+
declare function ResizablePanel({ order: _order, ...props }: ResizablePanelProps): import("react").JSX.Element;
|
|
4
11
|
declare function ResizableHandle({ withHandle, className, ...props }: ResizablePrimitive.SeparatorProps & {
|
|
5
12
|
withHandle?: boolean;
|
|
6
13
|
}): import("react").JSX.Element;
|
|
@@ -3,10 +3,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { GripVerticalIcon } from "lucide-react";
|
|
4
4
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
5
5
|
import { cn } from "@ciridae/ui/utils";
|
|
6
|
-
function ResizablePanelGroup({ className, ...props }) {
|
|
7
|
-
return (_jsx(ResizablePrimitive.Group, { "data-slot": "resizable-panel-group", className: cn("flex h-full w-full aria-[orientation=vertical]:flex-col", className), ...props }));
|
|
6
|
+
function ResizablePanelGroup({ autoSaveId: _autoSaveId, className, direction, ...props }) {
|
|
7
|
+
return (_jsx(ResizablePrimitive.Group, { "data-slot": "resizable-panel-group", className: cn("flex h-full w-full aria-[orientation=vertical]:flex-col", className), ...props, orientation: props.orientation ?? direction }));
|
|
8
8
|
}
|
|
9
|
-
function ResizablePanel({ ...props }) {
|
|
9
|
+
function ResizablePanel({ order: _order, ...props }) {
|
|
10
10
|
return _jsx(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
|
|
11
11
|
}
|
|
12
12
|
function ResizableHandle({ withHandle, className, ...props }) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
1
2
|
import { type SidebarAccountThemeMode } from "@ciridae/ui/sidebar-account-menu-theme";
|
|
2
3
|
type SidebarAccountMenuProps = {
|
|
3
4
|
username?: string | null;
|
|
@@ -8,7 +9,8 @@ type SidebarAccountMenuProps = {
|
|
|
8
9
|
themeMode?: SidebarAccountThemeMode;
|
|
9
10
|
onThemeModeChange?: (mode: SidebarAccountThemeMode) => void;
|
|
10
11
|
className?: string;
|
|
12
|
+
children?: ReactNode;
|
|
11
13
|
};
|
|
12
|
-
declare function SidebarAccountMenu({ username, email, imageUrl, onSignOut, isSigningOut, themeMode, onThemeModeChange, className, }: SidebarAccountMenuProps): import("react").JSX.Element;
|
|
14
|
+
declare function SidebarAccountMenu({ username, email, imageUrl, onSignOut, isSigningOut, themeMode, onThemeModeChange, className, children, }: SidebarAccountMenuProps): import("react").JSX.Element;
|
|
13
15
|
export { SidebarAccountMenu };
|
|
14
16
|
export type { SidebarAccountMenuProps, SidebarAccountThemeMode };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ChevronUpIcon, LogOutIcon } from "lucide-react";
|
|
3
3
|
import { Avatar, AvatarFallback, AvatarImage } from "@ciridae/ui/avatar";
|
|
4
4
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@ciridae/ui/dropdown-menu";
|
|
@@ -7,16 +7,16 @@ import { useSidebar } from "@ciridae/ui/sidebar/context";
|
|
|
7
7
|
import { AccountThemeSection, } from "@ciridae/ui/sidebar-account-menu-theme";
|
|
8
8
|
import { Spinner } from "@ciridae/ui/spinner";
|
|
9
9
|
import { cn } from "@ciridae/ui/utils";
|
|
10
|
-
function SidebarAccountMenu({ username, email, imageUrl, onSignOut, isSigningOut = false, themeMode, onThemeModeChange, className, }) {
|
|
10
|
+
function SidebarAccountMenu({ username, email, imageUrl, onSignOut, isSigningOut = false, themeMode, onThemeModeChange, className, children, }) {
|
|
11
11
|
const { isMobile, state } = useSidebar();
|
|
12
12
|
const label = getAccountLabel(username, email);
|
|
13
13
|
const detail = email ?? "Signed in";
|
|
14
14
|
const accountMark = getAccountMark(label);
|
|
15
15
|
const isCollapsed = state === "collapsed" && !isMobile;
|
|
16
|
-
return (_jsx(SidebarMenu, { className: cn("group-data-[collapsible=icon]:-mx-0.5", className), children: _jsx(SidebarMenuItem, { children: _jsx(AccountDropdown, { detail: detail, imageUrl: imageUrl, accountMark: accountMark, isCollapsed: isCollapsed, isSigningOut: isSigningOut, label: label, onSignOut: onSignOut, onThemeModeChange: onThemeModeChange, themeMode: themeMode }) }) }));
|
|
16
|
+
return (_jsx(SidebarMenu, { className: cn("group-data-[collapsible=icon]:-mx-0.5", className), children: _jsx(SidebarMenuItem, { children: _jsx(AccountDropdown, { detail: detail, imageUrl: imageUrl, accountMark: accountMark, isCollapsed: isCollapsed, isSigningOut: isSigningOut, label: label, onSignOut: onSignOut, onThemeModeChange: onThemeModeChange, themeMode: themeMode, children: children }) }) }));
|
|
17
17
|
}
|
|
18
|
-
function AccountDropdown({ accountMark, detail, imageUrl, isCollapsed, isSigningOut, label, onSignOut, onThemeModeChange, themeMode, }) {
|
|
19
|
-
return (_jsxs(DropdownMenu, { children: [_jsx(AccountMenuTrigger, { accountMark: accountMark, detail: detail, imageUrl: imageUrl, label: label }), _jsxs(DropdownMenuContent, { align: isCollapsed ? "end" : "start", className: cn("shadow-sm", isCollapsed ? "w-44" : "w-52"), side: isCollapsed ? "right" : "top", sideOffset: 4, children: [_jsx(AccountMenuLabel, { accountMark: accountMark, detail: detail, imageUrl: imageUrl, label: label }), _jsx(AccountThemeSection, { mode: themeMode, onModeChange: onThemeModeChange }), _jsx(DropdownMenuSeparator, {}), _jsx(AccountSignOutItem, { isSigningOut: isSigningOut, onSignOut: onSignOut })] })] }));
|
|
18
|
+
function AccountDropdown({ accountMark, detail, imageUrl, isCollapsed, isSigningOut, label, onSignOut, onThemeModeChange, themeMode, children, }) {
|
|
19
|
+
return (_jsxs(DropdownMenu, { children: [_jsx(AccountMenuTrigger, { accountMark: accountMark, detail: detail, imageUrl: imageUrl, label: label }), _jsxs(DropdownMenuContent, { align: isCollapsed ? "end" : "start", className: cn("shadow-sm", isCollapsed ? "w-44" : "w-52"), side: isCollapsed ? "right" : "top", sideOffset: 4, children: [_jsx(AccountMenuLabel, { accountMark: accountMark, detail: detail, imageUrl: imageUrl, label: label }), _jsx(AccountThemeSection, { mode: themeMode, onModeChange: onThemeModeChange }), children ? (_jsxs(_Fragment, { children: [_jsx(DropdownMenuSeparator, {}), children] })) : null, _jsx(DropdownMenuSeparator, {}), _jsx(AccountSignOutItem, { isSigningOut: isSigningOut, onSignOut: onSignOut })] })] }));
|
|
20
20
|
}
|
|
21
21
|
function AccountMenuTrigger({ accountMark, detail, imageUrl, label, }) {
|
|
22
22
|
return (_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(SidebarMenuButton, { "aria-label": `Open account menu for ${label}`, className: cn("h-auto min-h-(--control-height) py-1", "text-sidebar-foreground/78 hover:text-sidebar-accent-foreground", "data-[state=open]:bg-sidebar-accent/45 data-[state=open]:text-sidebar-accent-foreground", "group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:p-0!"), tooltip: label, children: [_jsx(AccountAvatar, { accountMark: accountMark, imageUrl: imageUrl }), _jsx(AccountTriggerText, { detail: detail, label: label }), _jsx(ChevronUpIcon, { className: "ml-auto size-3.5 text-sidebar-foreground/42 group-data-[collapsible=icon]:hidden" })] }) }));
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type ToasterProps } from "sonner";
|
|
1
|
+
import { toast, type ToasterProps } from "sonner";
|
|
2
2
|
declare const Toaster: ({ theme, ...props }: ToasterProps) => import("react").JSX.Element;
|
|
3
|
-
export { Toaster };
|
|
3
|
+
export { toast, Toaster };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { CircleCheckIcon, InfoIcon, OctagonXIcon, TriangleAlertIcon } from "lucide-react";
|
|
4
|
-
import { Toaster as Sonner } from "sonner";
|
|
4
|
+
import { toast, Toaster as Sonner } from "sonner";
|
|
5
5
|
import { Spinner } from "@ciridae/ui/spinner";
|
|
6
6
|
const toasterStyle = {
|
|
7
7
|
"--normal-bg": "var(--popover)",
|
|
@@ -30,4 +30,4 @@ const Toaster = ({ theme = "system", ...props }) => {
|
|
|
30
30
|
loading: _jsx(Spinner, { className: "size-4" }),
|
|
31
31
|
}, style: toasterStyle, ...props }));
|
|
32
32
|
};
|
|
33
|
-
export { Toaster };
|
|
33
|
+
export { toast, Toaster };
|
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import type { SystemStyleObject } from '../types/index';
|
|
3
|
-
|
|
4
|
-
type Styles = SystemStyleObject | undefined | null | false
|
|
5
|
-
|
|
3
|
+
type Styles = SystemStyleObject | undefined | null | false;
|
|
6
4
|
interface CssRawFunction {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
(styles: Styles): SystemStyleObject;
|
|
6
|
+
(styles: Styles[]): SystemStyleObject;
|
|
7
|
+
(...styles: Array<Styles | Styles[]>): SystemStyleObject;
|
|
8
|
+
(styles: Styles): SystemStyleObject;
|
|
11
9
|
}
|
|
12
|
-
|
|
13
10
|
interface CssFunction {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
raw: CssRawFunction
|
|
11
|
+
(styles: Styles): string;
|
|
12
|
+
(styles: Styles[]): string;
|
|
13
|
+
(...styles: Array<Styles | Styles[]>): string;
|
|
14
|
+
(styles: Styles): string;
|
|
15
|
+
raw: CssRawFunction;
|
|
20
16
|
}
|
|
21
|
-
|
|
22
|
-
export declare const css: CssFunction;
|
|
17
|
+
export declare const css: CssFunction;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import type { RecipeCreatorFn } from '../types/recipe';
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
export type { RecipeVariant, RecipeVariantProps } from '../types/recipe';
|
|
3
|
+
export declare const cva: RecipeCreatorFn;
|
|
4
|
+
export type { RecipeVariant, RecipeVariantProps } from '../types/recipe';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
type Argument = string | boolean | null | undefined
|
|
3
|
-
|
|
2
|
+
type Argument = string | boolean | null | undefined;
|
|
4
3
|
/** Conditionally join classNames into a single string */
|
|
5
|
-
export declare function cx(...args: Argument[]): string
|
|
4
|
+
export declare function cx(...args: Argument[]): string;
|
|
@@ -4,17 +4,13 @@ import type { Properties } from '../types/csstype';
|
|
|
4
4
|
import type { SystemProperties } from '../types/style-props';
|
|
5
5
|
import type { DistributiveOmit } from '../types/system-types';
|
|
6
6
|
import type { Tokens } from '../tokens/index';
|
|
7
|
-
|
|
8
7
|
export interface AspectRatioProperties {
|
|
9
|
-
|
|
8
|
+
ratio?: ConditionalValue<number>;
|
|
9
|
+
}
|
|
10
|
+
interface AspectRatioStyles extends AspectRatioProperties, DistributiveOmit<SystemStyleObject, keyof AspectRatioProperties | 'aspectRatio'> {
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
interface AspectRatioStyles extends AspectRatioProperties, DistributiveOmit<SystemStyleObject, keyof AspectRatioProperties | 'aspectRatio'> {}
|
|
13
|
-
|
|
14
12
|
interface AspectRatioPatternFn {
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
(styles?: AspectRatioStyles): string;
|
|
14
|
+
raw: (styles?: AspectRatioStyles) => SystemStyleObject;
|
|
17
15
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
16
|
export declare const aspectRatio: AspectRatioPatternFn;
|
|
@@ -4,18 +4,14 @@ import type { Properties } from '../types/csstype';
|
|
|
4
4
|
import type { SystemProperties } from '../types/style-props';
|
|
5
5
|
import type { DistributiveOmit } from '../types/system-types';
|
|
6
6
|
import type { Tokens } from '../tokens/index';
|
|
7
|
-
|
|
8
7
|
export interface BleedProperties {
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
inline?: SystemProperties["marginInline"];
|
|
9
|
+
block?: SystemProperties["marginBlock"];
|
|
10
|
+
}
|
|
11
|
+
interface BleedStyles extends BleedProperties, DistributiveOmit<SystemStyleObject, keyof BleedProperties> {
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
interface BleedStyles extends BleedProperties, DistributiveOmit<SystemStyleObject, keyof BleedProperties > {}
|
|
14
|
-
|
|
15
13
|
interface BleedPatternFn {
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
(styles?: BleedStyles): string;
|
|
15
|
+
raw: (styles?: BleedStyles) => SystemStyleObject;
|
|
18
16
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
17
|
export declare const bleed: BleedPatternFn;
|
|
@@ -4,17 +4,12 @@ import type { Properties } from '../types/csstype';
|
|
|
4
4
|
import type { SystemProperties } from '../types/style-props';
|
|
5
5
|
import type { DistributiveOmit } from '../types/system-types';
|
|
6
6
|
import type { Tokens } from '../tokens/index';
|
|
7
|
-
|
|
8
7
|
export interface BoxProperties {
|
|
9
|
-
|
|
10
8
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
interface BoxStyles extends BoxProperties, DistributiveOmit<SystemStyleObject, keyof BoxProperties> {
|
|
10
|
+
}
|
|
14
11
|
interface BoxPatternFn {
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
(styles?: BoxStyles): string;
|
|
13
|
+
raw: (styles?: BoxStyles) => SystemStyleObject;
|
|
17
14
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
15
|
export declare const box: BoxPatternFn;
|
|
@@ -4,17 +4,13 @@ import type { Properties } from '../types/csstype';
|
|
|
4
4
|
import type { SystemProperties } from '../types/style-props';
|
|
5
5
|
import type { DistributiveOmit } from '../types/system-types';
|
|
6
6
|
import type { Tokens } from '../tokens/index';
|
|
7
|
-
|
|
8
7
|
export interface CenterProperties {
|
|
9
|
-
|
|
8
|
+
inline?: ConditionalValue<boolean>;
|
|
9
|
+
}
|
|
10
|
+
interface CenterStyles extends CenterProperties, DistributiveOmit<SystemStyleObject, keyof CenterProperties> {
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
interface CenterStyles extends CenterProperties, DistributiveOmit<SystemStyleObject, keyof CenterProperties > {}
|
|
13
|
-
|
|
14
12
|
interface CenterPatternFn {
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
(styles?: CenterStyles): string;
|
|
14
|
+
raw: (styles?: CenterStyles) => SystemStyleObject;
|
|
17
15
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
16
|
export declare const center: CenterPatternFn;
|
|
@@ -4,17 +4,13 @@ import type { Properties } from '../types/csstype';
|
|
|
4
4
|
import type { SystemProperties } from '../types/style-props';
|
|
5
5
|
import type { DistributiveOmit } from '../types/system-types';
|
|
6
6
|
import type { Tokens } from '../tokens/index';
|
|
7
|
-
|
|
8
7
|
export interface CircleProperties {
|
|
9
|
-
|
|
8
|
+
size?: SystemProperties["width"];
|
|
9
|
+
}
|
|
10
|
+
interface CircleStyles extends CircleProperties, DistributiveOmit<SystemStyleObject, keyof CircleProperties> {
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
interface CircleStyles extends CircleProperties, DistributiveOmit<SystemStyleObject, keyof CircleProperties > {}
|
|
13
|
-
|
|
14
12
|
interface CirclePatternFn {
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
(styles?: CircleStyles): string;
|
|
14
|
+
raw: (styles?: CircleStyles) => SystemStyleObject;
|
|
17
15
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
16
|
export declare const circle: CirclePatternFn;
|
|
@@ -4,17 +4,12 @@ import type { Properties } from '../types/csstype';
|
|
|
4
4
|
import type { SystemProperties } from '../types/style-props';
|
|
5
5
|
import type { DistributiveOmit } from '../types/system-types';
|
|
6
6
|
import type { Tokens } from '../tokens/index';
|
|
7
|
-
|
|
8
7
|
export interface ContainerProperties {
|
|
9
|
-
|
|
10
8
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
interface ContainerStyles extends ContainerProperties, DistributiveOmit<SystemStyleObject, keyof ContainerProperties> {
|
|
10
|
+
}
|
|
14
11
|
interface ContainerPatternFn {
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
(styles?: ContainerStyles): string;
|
|
13
|
+
raw: (styles?: ContainerStyles) => SystemStyleObject;
|
|
17
14
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
15
|
export declare const container: ContainerPatternFn;
|
|
@@ -4,18 +4,14 @@ import type { Properties } from '../types/csstype';
|
|
|
4
4
|
import type { SystemProperties } from '../types/style-props';
|
|
5
5
|
import type { DistributiveOmit } from '../types/system-types';
|
|
6
6
|
import type { Tokens } from '../tokens/index';
|
|
7
|
-
|
|
8
7
|
export interface CqProperties {
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
name?: ConditionalValue<Tokens["containerNames"] | Properties["containerName"]>;
|
|
9
|
+
type?: SystemProperties["containerType"];
|
|
10
|
+
}
|
|
11
|
+
interface CqStyles extends CqProperties, DistributiveOmit<SystemStyleObject, keyof CqProperties> {
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
interface CqStyles extends CqProperties, DistributiveOmit<SystemStyleObject, keyof CqProperties > {}
|
|
14
|
-
|
|
15
13
|
interface CqPatternFn {
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
(styles?: CqStyles): string;
|
|
15
|
+
raw: (styles?: CqStyles) => SystemStyleObject;
|
|
18
16
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
17
|
export declare const cq: CqPatternFn;
|
|
@@ -4,19 +4,15 @@ import type { Properties } from '../types/csstype';
|
|
|
4
4
|
import type { SystemProperties } from '../types/style-props';
|
|
5
5
|
import type { DistributiveOmit } from '../types/system-types';
|
|
6
6
|
import type { Tokens } from '../tokens/index';
|
|
7
|
-
|
|
8
7
|
export interface DividerProperties {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
orientation?: ConditionalValue<"horizontal" | "vertical">;
|
|
9
|
+
thickness?: ConditionalValue<Tokens["sizes"] | Properties["borderWidth"]>;
|
|
10
|
+
color?: ConditionalValue<Tokens["colors"] | Properties["borderColor"]>;
|
|
11
|
+
}
|
|
12
|
+
interface DividerStyles extends DividerProperties, DistributiveOmit<SystemStyleObject, keyof DividerProperties> {
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
-
interface DividerStyles extends DividerProperties, DistributiveOmit<SystemStyleObject, keyof DividerProperties > {}
|
|
15
|
-
|
|
16
14
|
interface DividerPatternFn {
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
(styles?: DividerStyles): string;
|
|
16
|
+
raw: (styles?: DividerStyles) => SystemStyleObject;
|
|
19
17
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
18
|
export declare const divider: DividerPatternFn;
|
|
@@ -4,23 +4,19 @@ import type { Properties } from '../types/csstype';
|
|
|
4
4
|
import type { SystemProperties } from '../types/style-props';
|
|
5
5
|
import type { DistributiveOmit } from '../types/system-types';
|
|
6
6
|
import type { Tokens } from '../tokens/index';
|
|
7
|
-
|
|
8
7
|
export interface FlexProperties {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
align?: SystemProperties["alignItems"];
|
|
9
|
+
justify?: SystemProperties["justifyContent"];
|
|
10
|
+
direction?: SystemProperties["flexDirection"];
|
|
11
|
+
wrap?: SystemProperties["flexWrap"];
|
|
12
|
+
basis?: SystemProperties["flexBasis"];
|
|
13
|
+
grow?: SystemProperties["flexGrow"];
|
|
14
|
+
shrink?: SystemProperties["flexShrink"];
|
|
15
|
+
}
|
|
16
|
+
interface FlexStyles extends FlexProperties, DistributiveOmit<SystemStyleObject, keyof FlexProperties> {
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
interface FlexStyles extends FlexProperties, DistributiveOmit<SystemStyleObject, keyof FlexProperties > {}
|
|
19
|
-
|
|
20
18
|
interface FlexPatternFn {
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
(styles?: FlexStyles): string;
|
|
20
|
+
raw: (styles?: FlexStyles) => SystemStyleObject;
|
|
23
21
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
22
|
export declare const flex: FlexPatternFn;
|
|
@@ -4,20 +4,16 @@ import type { Properties } from '../types/csstype';
|
|
|
4
4
|
import type { SystemProperties } from '../types/style-props';
|
|
5
5
|
import type { DistributiveOmit } from '../types/system-types';
|
|
6
6
|
import type { Tokens } from '../tokens/index';
|
|
7
|
-
|
|
8
7
|
export interface FloatProperties {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
offsetX?: ConditionalValue<Tokens["spacing"] | Properties["left"]>;
|
|
9
|
+
offsetY?: ConditionalValue<Tokens["spacing"] | Properties["top"]>;
|
|
10
|
+
offset?: ConditionalValue<Tokens["spacing"] | Properties["top"]>;
|
|
11
|
+
placement?: ConditionalValue<"bottom-end" | "bottom-start" | "top-end" | "top-start" | "bottom-center" | "top-center" | "middle-center" | "middle-end" | "middle-start">;
|
|
12
|
+
}
|
|
13
|
+
interface FloatStyles extends FloatProperties, DistributiveOmit<SystemStyleObject, keyof FloatProperties> {
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
-
interface FloatStyles extends FloatProperties, DistributiveOmit<SystemStyleObject, keyof FloatProperties > {}
|
|
16
|
-
|
|
17
15
|
interface FloatPatternFn {
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
(styles?: FloatStyles): string;
|
|
17
|
+
raw: (styles?: FloatStyles) => SystemStyleObject;
|
|
20
18
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
19
|
export declare const float: FloatPatternFn;
|