achery-ui 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +125 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +129 -129
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +48 -1
- package/dist/index.d.ts +48 -1
- package/dist/index.js +123 -60
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -583,6 +583,53 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
583
583
|
*/
|
|
584
584
|
declare function Button({ variant, size, glyph, glyphPosition, kbd, loading, loadingLabel, children, className, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
585
585
|
|
|
586
|
+
interface ConfirmOptions {
|
|
587
|
+
/** Modal title. */
|
|
588
|
+
title?: ReactNode;
|
|
589
|
+
/** Body message. */
|
|
590
|
+
message: ReactNode;
|
|
591
|
+
/** Label for the confirm button. @default 'Confirm' */
|
|
592
|
+
confirmLabel?: string;
|
|
593
|
+
/** Variant for the confirm button. @default 'accent' */
|
|
594
|
+
confirmVariant?: 'accent' | 'secondary' | 'ghost';
|
|
595
|
+
/** Label for the cancel button. @default 'Cancel' */
|
|
596
|
+
cancelLabel?: string;
|
|
597
|
+
/**
|
|
598
|
+
* When true, the confirm button is rendered in a destructive style
|
|
599
|
+
* (terracotta-deep background, matching the existing danger idiom).
|
|
600
|
+
* @default false
|
|
601
|
+
*/
|
|
602
|
+
destructive?: boolean;
|
|
603
|
+
}
|
|
604
|
+
type ConfirmFn = (opts: ConfirmOptions) => Promise<boolean>;
|
|
605
|
+
/** Renders a single in-theme confirm dialog. Mount once at your app root. */
|
|
606
|
+
declare const ConfirmDialogProvider: ({ children }: {
|
|
607
|
+
children: ReactNode;
|
|
608
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
609
|
+
/**
|
|
610
|
+
* Returns an async `confirm(opts)` function that resolves `true` if the user
|
|
611
|
+
* clicks confirm, `false` if they cancel or close the dialog.
|
|
612
|
+
*
|
|
613
|
+
* Requires `<ConfirmDialogProvider>` to be mounted above the calling component.
|
|
614
|
+
*
|
|
615
|
+
* @example
|
|
616
|
+
* ```tsx
|
|
617
|
+
* const confirm = useConfirm()
|
|
618
|
+
*
|
|
619
|
+
* async function handleDelete() {
|
|
620
|
+
* const ok = await confirm({
|
|
621
|
+
* title: 'Delete task',
|
|
622
|
+
* message: 'This cannot be undone.',
|
|
623
|
+
* confirmLabel: 'Delete',
|
|
624
|
+
* destructive: true,
|
|
625
|
+
* })
|
|
626
|
+
* if (!ok) return
|
|
627
|
+
* await deleteTask(id)
|
|
628
|
+
* }
|
|
629
|
+
* ```
|
|
630
|
+
*/
|
|
631
|
+
declare const useConfirm: () => ConfirmFn;
|
|
632
|
+
|
|
586
633
|
/** Props for the {@link Field} wrapper component. */
|
|
587
634
|
interface FieldProps {
|
|
588
635
|
/** Visible label rendered above the input. */
|
|
@@ -1901,4 +1948,4 @@ interface AvatarProps {
|
|
|
1901
1948
|
}
|
|
1902
1949
|
declare function Avatar({ initials, size, tone, loading, className }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
1903
1950
|
|
|
1904
|
-
export { AccentColor, AcheryProvider, type AcheryProviderProps, AppBar, type AppBarProps, Avatar, type AvatarProps, type AvatarSize, type AvatarTone, Badge, type BadgeProps, type BadgeTone, Body, type BodyProps, Button, type ButtonProps, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, type ColumnDef, Combobox, type ComboboxProps, type ComponentSize, DatePicker, type DatePickerProps, Display, EntityPill, type EntityPillProps, Eyebrow, type EyebrowProps, Field, type FieldProps, Glyph, type GlyphName, type GlyphProps, Heading, type HeadingProps, Input, type InputProps, type InputStatus, KpiTile, type KpiTileProps, LetterStamp, type LetterStampProps, type LetterStampSize, type LetterStampTone, Marginalia, type MarginaliaProps, Menu, type MenuItemDef, type MenuProps, type MenuSeparator, Modal, type ModalProps, Mono, type MonoProps, type NavGroupDef, type NavItemDef, ProgressBar, type ProgressBarProps, SearchInput, type SearchInputProps, Select, type SelectProps, Sidebar, type SidebarLinkProps, type SidebarProps, SingleCombobox, type SingleComboboxProps, Skeleton, type SkeletonProps, type SortDirection, Sparkline, type SparklineProps, type SparklineTone, StatePill, type StatePillProps, type SubscriptionState, type TabItem, Table, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, type ThemeMode, type ToastData, ToastProvider, type ToastProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, type TransactionType, TypeTag, type TypeTagProps, useTheme, useToast, vars };
|
|
1951
|
+
export { AccentColor, AcheryProvider, type AcheryProviderProps, AppBar, type AppBarProps, Avatar, type AvatarProps, type AvatarSize, type AvatarTone, Badge, type BadgeProps, type BadgeTone, Body, type BodyProps, Button, type ButtonProps, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, type ColumnDef, Combobox, type ComboboxProps, type ComponentSize, ConfirmDialogProvider, type ConfirmOptions, DatePicker, type DatePickerProps, Display, EntityPill, type EntityPillProps, Eyebrow, type EyebrowProps, Field, type FieldProps, Glyph, type GlyphName, type GlyphProps, Heading, type HeadingProps, Input, type InputProps, type InputStatus, KpiTile, type KpiTileProps, LetterStamp, type LetterStampProps, type LetterStampSize, type LetterStampTone, Marginalia, type MarginaliaProps, Menu, type MenuItemDef, type MenuProps, type MenuSeparator, Modal, type ModalProps, Mono, type MonoProps, type NavGroupDef, type NavItemDef, ProgressBar, type ProgressBarProps, SearchInput, type SearchInputProps, Select, type SelectProps, Sidebar, type SidebarLinkProps, type SidebarProps, SingleCombobox, type SingleComboboxProps, Skeleton, type SkeletonProps, type SortDirection, Sparkline, type SparklineProps, type SparklineTone, StatePill, type StatePillProps, type SubscriptionState, type TabItem, Table, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, type ThemeMode, type ToastData, ToastProvider, type ToastProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, type TransactionType, TypeTag, type TypeTagProps, useConfirm, useTheme, useToast, vars };
|
package/dist/index.d.ts
CHANGED
|
@@ -583,6 +583,53 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
583
583
|
*/
|
|
584
584
|
declare function Button({ variant, size, glyph, glyphPosition, kbd, loading, loadingLabel, children, className, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
585
585
|
|
|
586
|
+
interface ConfirmOptions {
|
|
587
|
+
/** Modal title. */
|
|
588
|
+
title?: ReactNode;
|
|
589
|
+
/** Body message. */
|
|
590
|
+
message: ReactNode;
|
|
591
|
+
/** Label for the confirm button. @default 'Confirm' */
|
|
592
|
+
confirmLabel?: string;
|
|
593
|
+
/** Variant for the confirm button. @default 'accent' */
|
|
594
|
+
confirmVariant?: 'accent' | 'secondary' | 'ghost';
|
|
595
|
+
/** Label for the cancel button. @default 'Cancel' */
|
|
596
|
+
cancelLabel?: string;
|
|
597
|
+
/**
|
|
598
|
+
* When true, the confirm button is rendered in a destructive style
|
|
599
|
+
* (terracotta-deep background, matching the existing danger idiom).
|
|
600
|
+
* @default false
|
|
601
|
+
*/
|
|
602
|
+
destructive?: boolean;
|
|
603
|
+
}
|
|
604
|
+
type ConfirmFn = (opts: ConfirmOptions) => Promise<boolean>;
|
|
605
|
+
/** Renders a single in-theme confirm dialog. Mount once at your app root. */
|
|
606
|
+
declare const ConfirmDialogProvider: ({ children }: {
|
|
607
|
+
children: ReactNode;
|
|
608
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
609
|
+
/**
|
|
610
|
+
* Returns an async `confirm(opts)` function that resolves `true` if the user
|
|
611
|
+
* clicks confirm, `false` if they cancel or close the dialog.
|
|
612
|
+
*
|
|
613
|
+
* Requires `<ConfirmDialogProvider>` to be mounted above the calling component.
|
|
614
|
+
*
|
|
615
|
+
* @example
|
|
616
|
+
* ```tsx
|
|
617
|
+
* const confirm = useConfirm()
|
|
618
|
+
*
|
|
619
|
+
* async function handleDelete() {
|
|
620
|
+
* const ok = await confirm({
|
|
621
|
+
* title: 'Delete task',
|
|
622
|
+
* message: 'This cannot be undone.',
|
|
623
|
+
* confirmLabel: 'Delete',
|
|
624
|
+
* destructive: true,
|
|
625
|
+
* })
|
|
626
|
+
* if (!ok) return
|
|
627
|
+
* await deleteTask(id)
|
|
628
|
+
* }
|
|
629
|
+
* ```
|
|
630
|
+
*/
|
|
631
|
+
declare const useConfirm: () => ConfirmFn;
|
|
632
|
+
|
|
586
633
|
/** Props for the {@link Field} wrapper component. */
|
|
587
634
|
interface FieldProps {
|
|
588
635
|
/** Visible label rendered above the input. */
|
|
@@ -1901,4 +1948,4 @@ interface AvatarProps {
|
|
|
1901
1948
|
}
|
|
1902
1949
|
declare function Avatar({ initials, size, tone, loading, className }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
1903
1950
|
|
|
1904
|
-
export { AccentColor, AcheryProvider, type AcheryProviderProps, AppBar, type AppBarProps, Avatar, type AvatarProps, type AvatarSize, type AvatarTone, Badge, type BadgeProps, type BadgeTone, Body, type BodyProps, Button, type ButtonProps, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, type ColumnDef, Combobox, type ComboboxProps, type ComponentSize, DatePicker, type DatePickerProps, Display, EntityPill, type EntityPillProps, Eyebrow, type EyebrowProps, Field, type FieldProps, Glyph, type GlyphName, type GlyphProps, Heading, type HeadingProps, Input, type InputProps, type InputStatus, KpiTile, type KpiTileProps, LetterStamp, type LetterStampProps, type LetterStampSize, type LetterStampTone, Marginalia, type MarginaliaProps, Menu, type MenuItemDef, type MenuProps, type MenuSeparator, Modal, type ModalProps, Mono, type MonoProps, type NavGroupDef, type NavItemDef, ProgressBar, type ProgressBarProps, SearchInput, type SearchInputProps, Select, type SelectProps, Sidebar, type SidebarLinkProps, type SidebarProps, SingleCombobox, type SingleComboboxProps, Skeleton, type SkeletonProps, type SortDirection, Sparkline, type SparklineProps, type SparklineTone, StatePill, type StatePillProps, type SubscriptionState, type TabItem, Table, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, type ThemeMode, type ToastData, ToastProvider, type ToastProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, type TransactionType, TypeTag, type TypeTagProps, useTheme, useToast, vars };
|
|
1951
|
+
export { AccentColor, AcheryProvider, type AcheryProviderProps, AppBar, type AppBarProps, Avatar, type AvatarProps, type AvatarSize, type AvatarTone, Badge, type BadgeProps, type BadgeTone, Body, type BodyProps, Button, type ButtonProps, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, type ColumnDef, Combobox, type ComboboxProps, type ComponentSize, ConfirmDialogProvider, type ConfirmOptions, DatePicker, type DatePickerProps, Display, EntityPill, type EntityPillProps, Eyebrow, type EyebrowProps, Field, type FieldProps, Glyph, type GlyphName, type GlyphProps, Heading, type HeadingProps, Input, type InputProps, type InputStatus, KpiTile, type KpiTileProps, LetterStamp, type LetterStampProps, type LetterStampSize, type LetterStampTone, Marginalia, type MarginaliaProps, Menu, type MenuItemDef, type MenuProps, type MenuSeparator, Modal, type ModalProps, Mono, type MonoProps, type NavGroupDef, type NavItemDef, ProgressBar, type ProgressBarProps, SearchInput, type SearchInputProps, Select, type SelectProps, Sidebar, type SidebarLinkProps, type SidebarProps, SingleCombobox, type SingleComboboxProps, Skeleton, type SkeletonProps, type SortDirection, Sparkline, type SparklineProps, type SparklineTone, StatePill, type StatePillProps, type SubscriptionState, type TabItem, Table, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, type ThemeMode, type ToastData, ToastProvider, type ToastProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, type TransactionType, TypeTag, type TypeTagProps, useConfirm, useTheme, useToast, vars };
|
package/dist/index.js
CHANGED
|
@@ -2,10 +2,10 @@ import { accentColorNames, accentColors } from './chunk-NDOQ2YVM.js';
|
|
|
2
2
|
import { createContext, useState, useCallback, useEffect, useContext, useMemo, useRef, useId } from 'react';
|
|
3
3
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
import { createRuntimeFn } from '@vanilla-extract/recipes/createRuntimeFn';
|
|
5
|
+
import * as RadixDialog from '@radix-ui/react-dialog';
|
|
5
6
|
import * as RadixToggle from '@radix-ui/react-toggle';
|
|
6
7
|
import * as RadixTabs from '@radix-ui/react-tabs';
|
|
7
8
|
import * as RadixTooltip from '@radix-ui/react-tooltip';
|
|
8
|
-
import * as RadixDialog from '@radix-ui/react-dialog';
|
|
9
9
|
import { createPortal } from 'react-dom';
|
|
10
10
|
import * as RadixCheckbox from '@radix-ui/react-checkbox';
|
|
11
11
|
import * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu';
|
|
@@ -485,6 +485,120 @@ function Button({
|
|
|
485
485
|
}
|
|
486
486
|
);
|
|
487
487
|
}
|
|
488
|
+
var body2 = "Modal_body__1kcb5si8";
|
|
489
|
+
var bodyScrollable = "Modal_bodyScrollable__1kcb5sie";
|
|
490
|
+
var closeButton = "Modal_closeButton__1kcb5si7";
|
|
491
|
+
var contentSized = createRuntimeFn({ defaultClassName: "Modal_contentSized__1kcb5sia", variantClassNames: { size: { sm: "Modal_contentSized_size_sm__1kcb5sib", md: "Modal_contentSized_size_md__1kcb5sic", lg: "Modal_contentSized_size_lg__1kcb5sid" } }, defaultVariants: { size: "sm" }, compoundVariants: [] });
|
|
492
|
+
var description = "Modal_description__1kcb5si6";
|
|
493
|
+
var footer = "Modal_footer__1kcb5si9";
|
|
494
|
+
var header = "Modal_header__1kcb5si4";
|
|
495
|
+
var overlay = "Modal_overlay__1kcb5si2";
|
|
496
|
+
var title = "Modal_title__1kcb5si5";
|
|
497
|
+
function Modal({
|
|
498
|
+
open,
|
|
499
|
+
defaultOpen,
|
|
500
|
+
onOpenChange,
|
|
501
|
+
title: title2,
|
|
502
|
+
description: description2,
|
|
503
|
+
children,
|
|
504
|
+
footer: footer3,
|
|
505
|
+
trigger: trigger2,
|
|
506
|
+
size = "sm",
|
|
507
|
+
scrollable = false,
|
|
508
|
+
className
|
|
509
|
+
}) {
|
|
510
|
+
return /* @__PURE__ */ jsxs(
|
|
511
|
+
RadixDialog.Root,
|
|
512
|
+
{
|
|
513
|
+
...open !== void 0 ? { open } : {},
|
|
514
|
+
...defaultOpen !== void 0 ? { defaultOpen } : {},
|
|
515
|
+
...onOpenChange !== void 0 ? { onOpenChange } : {},
|
|
516
|
+
children: [
|
|
517
|
+
trigger2 && /* @__PURE__ */ jsx(RadixDialog.Trigger, { asChild: true, children: trigger2 }),
|
|
518
|
+
/* @__PURE__ */ jsxs(RadixDialog.Portal, { children: [
|
|
519
|
+
/* @__PURE__ */ jsx(RadixDialog.Overlay, { className: overlay }),
|
|
520
|
+
/* @__PURE__ */ jsxs(
|
|
521
|
+
RadixDialog.Content,
|
|
522
|
+
{
|
|
523
|
+
className: [contentSized({ size }), className].filter(Boolean).join(" "),
|
|
524
|
+
"aria-describedby": description2 ? "modal-description" : void 0,
|
|
525
|
+
children: [
|
|
526
|
+
/* @__PURE__ */ jsxs("div", { className: header, children: [
|
|
527
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
528
|
+
title2 && /* @__PURE__ */ jsx(RadixDialog.Title, { className: title, children: title2 }),
|
|
529
|
+
description2 && /* @__PURE__ */ jsx(RadixDialog.Description, { id: "modal-description", className: description, children: description2 })
|
|
530
|
+
] }),
|
|
531
|
+
/* @__PURE__ */ jsx(RadixDialog.Close, { className: closeButton, "aria-label": "Close", children: /* @__PURE__ */ jsx(Glyph, { name: "cross", size: 14, "aria-hidden": "true" }) })
|
|
532
|
+
] }),
|
|
533
|
+
/* @__PURE__ */ jsx("div", { className: scrollable ? bodyScrollable : body2, children }),
|
|
534
|
+
footer3 && /* @__PURE__ */ jsx("div", { className: footer, children: footer3 })
|
|
535
|
+
]
|
|
536
|
+
}
|
|
537
|
+
)
|
|
538
|
+
] })
|
|
539
|
+
]
|
|
540
|
+
}
|
|
541
|
+
);
|
|
542
|
+
}
|
|
543
|
+
var ConfirmContext = createContext(null);
|
|
544
|
+
var EMPTY_OPTS = { message: "" };
|
|
545
|
+
var NOOP_RESOLVE = (_) => {
|
|
546
|
+
};
|
|
547
|
+
var ConfirmDialogProvider = ({ children }) => {
|
|
548
|
+
const [state, setState] = useState({
|
|
549
|
+
open: false,
|
|
550
|
+
opts: EMPTY_OPTS,
|
|
551
|
+
resolve: NOOP_RESOLVE
|
|
552
|
+
});
|
|
553
|
+
const confirm = useCallback((opts2) => {
|
|
554
|
+
return new Promise((resolve) => {
|
|
555
|
+
setState({ open: true, opts: opts2, resolve });
|
|
556
|
+
});
|
|
557
|
+
}, []);
|
|
558
|
+
const settle = (value2) => {
|
|
559
|
+
state.resolve(value2);
|
|
560
|
+
setState((s) => ({ ...s, open: false }));
|
|
561
|
+
};
|
|
562
|
+
const { open, opts } = state;
|
|
563
|
+
const confirmLabel = opts.confirmLabel ?? "Confirm";
|
|
564
|
+
const cancelLabel = opts.cancelLabel ?? "Cancel";
|
|
565
|
+
return /* @__PURE__ */ jsxs(ConfirmContext.Provider, { value: confirm, children: [
|
|
566
|
+
children,
|
|
567
|
+
/* @__PURE__ */ jsx(
|
|
568
|
+
Modal,
|
|
569
|
+
{
|
|
570
|
+
open,
|
|
571
|
+
onOpenChange: (o) => {
|
|
572
|
+
if (!o) settle(false);
|
|
573
|
+
},
|
|
574
|
+
title: opts.title,
|
|
575
|
+
size: "sm",
|
|
576
|
+
footer: /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: 8, justifyContent: "flex-end", width: "100%" }, children: [
|
|
577
|
+
/* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", onClick: () => settle(false), children: cancelLabel }),
|
|
578
|
+
/* @__PURE__ */ jsx(
|
|
579
|
+
Button,
|
|
580
|
+
{
|
|
581
|
+
variant: opts.confirmVariant ?? "accent",
|
|
582
|
+
size: "sm",
|
|
583
|
+
onClick: () => settle(true),
|
|
584
|
+
style: opts.destructive ? {
|
|
585
|
+
background: "var(--achery-color-rust, #8a3a22)",
|
|
586
|
+
borderColor: "var(--achery-color-rust, #8a3a22)"
|
|
587
|
+
} : void 0,
|
|
588
|
+
children: confirmLabel
|
|
589
|
+
}
|
|
590
|
+
)
|
|
591
|
+
] }),
|
|
592
|
+
children: typeof opts.message === "string" ? /* @__PURE__ */ jsx(Body, { variant: "small", children: opts.message }) : opts.message
|
|
593
|
+
}
|
|
594
|
+
)
|
|
595
|
+
] });
|
|
596
|
+
};
|
|
597
|
+
var useConfirm = () => {
|
|
598
|
+
const fn = useContext(ConfirmContext);
|
|
599
|
+
if (!fn) throw new Error("useConfirm must be used within a ConfirmDialogProvider");
|
|
600
|
+
return fn;
|
|
601
|
+
};
|
|
488
602
|
|
|
489
603
|
// src/components/Toggle/Toggle.css.ts
|
|
490
604
|
var label = "Toggle_label__trpmwc4";
|
|
@@ -752,7 +866,7 @@ var backdrop = "Sidebar_backdrop__1n0xxfc2";
|
|
|
752
866
|
var bottomSlot = "Sidebar_bottomSlot__1n0xxfc9";
|
|
753
867
|
var collapseToggle = "Sidebar_collapseToggle__1n0xxfc3";
|
|
754
868
|
var countAccent = "Sidebar_countAccent__1n0xxfcc";
|
|
755
|
-
var
|
|
869
|
+
var footer2 = "Sidebar_footer__1n0xxfc8";
|
|
756
870
|
var group = "Sidebar_group__1n0xxfc4";
|
|
757
871
|
var groupLabel = "Sidebar_groupLabel__1n0xxfc5";
|
|
758
872
|
var mobileSearch = "Sidebar_mobileSearch__1n0xxfca";
|
|
@@ -827,7 +941,7 @@ function Sidebar({
|
|
|
827
941
|
),
|
|
828
942
|
searchConfig.kbd && /* @__PURE__ */ jsx("span", { children: searchConfig.kbd })
|
|
829
943
|
] }),
|
|
830
|
-
footer3 && /* @__PURE__ */ jsx("div", { className:
|
|
944
|
+
footer3 && /* @__PURE__ */ jsx("div", { className: footer2, children: footer3 })
|
|
831
945
|
] })
|
|
832
946
|
]
|
|
833
947
|
}
|
|
@@ -1241,7 +1355,11 @@ function Table({
|
|
|
1241
1355
|
{
|
|
1242
1356
|
className: tr,
|
|
1243
1357
|
"data-selected": isSelected,
|
|
1244
|
-
onClick: onRowClick ? () =>
|
|
1358
|
+
onClick: onRowClick ? (e) => {
|
|
1359
|
+
const target = e.target;
|
|
1360
|
+
if (target.closest('a, button, input, select, textarea, [role="checkbox"], [role="button"]')) return;
|
|
1361
|
+
onRowClick(key, row);
|
|
1362
|
+
} : void 0,
|
|
1245
1363
|
style: onRowClick ? { cursor: "pointer" } : void 0,
|
|
1246
1364
|
children: columns.map((col) => /* @__PURE__ */ jsx("td", { className: col.mono ? tdMono : td, children: col.render ? col.render(row) : String(row[col.key] ?? "") }, col.key))
|
|
1247
1365
|
},
|
|
@@ -1289,61 +1407,6 @@ function Table({
|
|
|
1289
1407
|
}
|
|
1290
1408
|
);
|
|
1291
1409
|
}
|
|
1292
|
-
var body2 = "Modal_body__1kcb5si8";
|
|
1293
|
-
var bodyScrollable = "Modal_bodyScrollable__1kcb5sie";
|
|
1294
|
-
var closeButton = "Modal_closeButton__1kcb5si7";
|
|
1295
|
-
var contentSized = createRuntimeFn({ defaultClassName: "Modal_contentSized__1kcb5sia", variantClassNames: { size: { sm: "Modal_contentSized_size_sm__1kcb5sib", md: "Modal_contentSized_size_md__1kcb5sic", lg: "Modal_contentSized_size_lg__1kcb5sid" } }, defaultVariants: { size: "sm" }, compoundVariants: [] });
|
|
1296
|
-
var description = "Modal_description__1kcb5si6";
|
|
1297
|
-
var footer2 = "Modal_footer__1kcb5si9";
|
|
1298
|
-
var header = "Modal_header__1kcb5si4";
|
|
1299
|
-
var overlay = "Modal_overlay__1kcb5si2";
|
|
1300
|
-
var title = "Modal_title__1kcb5si5";
|
|
1301
|
-
function Modal({
|
|
1302
|
-
open,
|
|
1303
|
-
defaultOpen,
|
|
1304
|
-
onOpenChange,
|
|
1305
|
-
title: title2,
|
|
1306
|
-
description: description2,
|
|
1307
|
-
children,
|
|
1308
|
-
footer: footer3,
|
|
1309
|
-
trigger: trigger2,
|
|
1310
|
-
size = "sm",
|
|
1311
|
-
scrollable = false,
|
|
1312
|
-
className
|
|
1313
|
-
}) {
|
|
1314
|
-
return /* @__PURE__ */ jsxs(
|
|
1315
|
-
RadixDialog.Root,
|
|
1316
|
-
{
|
|
1317
|
-
...open !== void 0 ? { open } : {},
|
|
1318
|
-
...defaultOpen !== void 0 ? { defaultOpen } : {},
|
|
1319
|
-
...onOpenChange !== void 0 ? { onOpenChange } : {},
|
|
1320
|
-
children: [
|
|
1321
|
-
trigger2 && /* @__PURE__ */ jsx(RadixDialog.Trigger, { asChild: true, children: trigger2 }),
|
|
1322
|
-
/* @__PURE__ */ jsxs(RadixDialog.Portal, { children: [
|
|
1323
|
-
/* @__PURE__ */ jsx(RadixDialog.Overlay, { className: overlay }),
|
|
1324
|
-
/* @__PURE__ */ jsxs(
|
|
1325
|
-
RadixDialog.Content,
|
|
1326
|
-
{
|
|
1327
|
-
className: [contentSized({ size }), className].filter(Boolean).join(" "),
|
|
1328
|
-
"aria-describedby": description2 ? "modal-description" : void 0,
|
|
1329
|
-
children: [
|
|
1330
|
-
/* @__PURE__ */ jsxs("div", { className: header, children: [
|
|
1331
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
1332
|
-
title2 && /* @__PURE__ */ jsx(RadixDialog.Title, { className: title, children: title2 }),
|
|
1333
|
-
description2 && /* @__PURE__ */ jsx(RadixDialog.Description, { id: "modal-description", className: description, children: description2 })
|
|
1334
|
-
] }),
|
|
1335
|
-
/* @__PURE__ */ jsx(RadixDialog.Close, { className: closeButton, "aria-label": "Close", children: /* @__PURE__ */ jsx(Glyph, { name: "cross", size: 14, "aria-hidden": "true" }) })
|
|
1336
|
-
] }),
|
|
1337
|
-
/* @__PURE__ */ jsx("div", { className: scrollable ? bodyScrollable : body2, children }),
|
|
1338
|
-
footer3 && /* @__PURE__ */ jsx("div", { className: footer2, children: footer3 })
|
|
1339
|
-
]
|
|
1340
|
-
}
|
|
1341
|
-
)
|
|
1342
|
-
] })
|
|
1343
|
-
]
|
|
1344
|
-
}
|
|
1345
|
-
);
|
|
1346
|
-
}
|
|
1347
1410
|
|
|
1348
1411
|
// src/components/Toast/Toast.css.ts
|
|
1349
1412
|
var toast = "Toast_toast__1btt01v3";
|
|
@@ -1994,6 +2057,6 @@ function TypeTag({ type, className }) {
|
|
|
1994
2057
|
return /* @__PURE__ */ jsx("span", { className: [tag({ type }), className].filter(Boolean).join(" "), children: labels[type] });
|
|
1995
2058
|
}
|
|
1996
2059
|
|
|
1997
|
-
export { AcheryProvider, AppBar, Avatar, Badge, Body, Button, Card, Checkbox, Combobox, DatePicker, Display, EntityPill, Eyebrow, Field, Glyph, Heading, Input, KpiTile, LetterStamp, Marginalia, Menu2 as Menu, Modal, Mono, ProgressBar, SearchInput, Select, Sidebar, SingleCombobox, Skeleton, Sparkline, StatePill, Table, Tabs, Textarea, ToastProvider, Toggle, Tooltip, TypeTag, useTheme, useToast, vars };
|
|
2060
|
+
export { AcheryProvider, AppBar, Avatar, Badge, Body, Button, Card, Checkbox, Combobox, ConfirmDialogProvider, DatePicker, Display, EntityPill, Eyebrow, Field, Glyph, Heading, Input, KpiTile, LetterStamp, Marginalia, Menu2 as Menu, Modal, Mono, ProgressBar, SearchInput, Select, Sidebar, SingleCombobox, Skeleton, Sparkline, StatePill, Table, Tabs, Textarea, ToastProvider, Toggle, Tooltip, TypeTag, useConfirm, useTheme, useToast, vars };
|
|
1998
2061
|
//# sourceMappingURL=index.js.map
|
|
1999
2062
|
//# sourceMappingURL=index.js.map
|