@doscientos/ui 0.1.15 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/index.cjs +124 -54
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +35 -5
- package/dist/index.d.ts +35 -5
- package/dist/index.js +124 -55
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ import * as React$1 from 'react';
|
|
|
2
2
|
import { RefCallback, ReactNode, ComponentPropsWithRef } from 'react';
|
|
3
3
|
import { ClassValue } from 'clsx';
|
|
4
4
|
import * as react_aria_components from 'react-aria-components';
|
|
5
|
-
import { DisclosureGroupProps, DisclosurePanelProps, DisclosureProps, ButtonProps as ButtonProps$1, LinkProps, Breadcrumb as Breadcrumb$1, Link, Breadcrumbs as Breadcrumbs$1, Separator as Separator$1, CheckboxProps as CheckboxProps$1, ComboBoxProps, Key, Popover as Popover$1, InputProps as InputProps$1, ListBoxItemProps, ListBoxProps, Input as Input$1, ListBox, ModalOverlayProps, Menu as Menu$1, MenuSectionProps, MenuItemProps, Header, SubmenuTrigger, MenuTrigger as MenuTrigger$1, TextAreaProps, MenuProps, PopoverProps as PopoverProps$1, DialogTrigger, NumberFieldProps, SearchFieldProps, SelectProps, SelectValue as SelectValue$1, Modal, Text, Heading, DialogTriggerProps,
|
|
5
|
+
import { DisclosureGroupProps, DisclosurePanelProps, DisclosureProps, ButtonProps as ButtonProps$1, LinkProps, Breadcrumb as Breadcrumb$1, Link, Breadcrumbs as Breadcrumbs$1, Separator as Separator$1, CheckboxProps as CheckboxProps$1, ComboBoxProps, Key, Popover as Popover$1, InputProps as InputProps$1, ListBoxItemProps, ListBoxProps, Input as Input$1, ListBox, ModalOverlayProps, Menu as Menu$1, MenuSectionProps, MenuItemProps, Header, SubmenuTrigger, MenuTrigger as MenuTrigger$1, TextAreaProps, MenuProps, PopoverProps as PopoverProps$1, DialogTrigger, NumberFieldProps, SearchFieldProps, SelectProps, SelectValue as SelectValue$1, Modal, Text, Heading, DialogTriggerProps, SwitchProps as SwitchProps$1, TabPanelProps as TabPanelProps$1, TabProps as TabProps$1, TabsProps as TabsProps$1, TabListProps, TabPanelsProps, Tooltip as Tooltip$1, TooltipTrigger as TooltipTrigger$1 } from 'react-aria-components';
|
|
6
6
|
export { ComboBoxProps, ComboBoxValue as ComboboxValue, DialogTriggerProps as PopoverTriggerProps, SearchFieldProps, SelectProps, DialogProps as SheetPrimitiveProps, DialogTriggerProps as SheetTriggerPrimitiveProps } from 'react-aria-components';
|
|
7
7
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
8
8
|
import { VariantProps } from 'class-variance-authority';
|
|
@@ -516,11 +516,41 @@ interface SubmitButtonProps extends Omit<ButtonProps, "type"> {
|
|
|
516
516
|
}
|
|
517
517
|
declare function SubmitButton({ pendingLabel, loading, children, isDisabled, size, ...props }: SubmitButtonProps): React$1.JSX.Element;
|
|
518
518
|
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
519
|
+
declare const switchSizes: {
|
|
520
|
+
readonly sm: {
|
|
521
|
+
readonly control: "h-4 w-[1.875rem] p-0.5";
|
|
522
|
+
readonly thumb: "h-3";
|
|
523
|
+
readonly idleWidth: "0.75rem";
|
|
524
|
+
readonly activeWidth: "1rem";
|
|
525
|
+
readonly selectedOffset: "0.875rem";
|
|
526
|
+
readonly activeSelectedOffset: "0.625rem";
|
|
527
|
+
};
|
|
528
|
+
readonly md: {
|
|
529
|
+
readonly control: "h-5 w-9 p-0.5";
|
|
530
|
+
readonly thumb: "h-4";
|
|
531
|
+
readonly idleWidth: "1rem";
|
|
532
|
+
readonly activeWidth: "1.25rem";
|
|
533
|
+
readonly selectedOffset: "1rem";
|
|
534
|
+
readonly activeSelectedOffset: "0.75rem";
|
|
535
|
+
};
|
|
536
|
+
readonly lg: {
|
|
537
|
+
readonly control: "h-6 w-11 p-0.5";
|
|
538
|
+
readonly thumb: "h-5";
|
|
539
|
+
readonly idleWidth: "1.25rem";
|
|
540
|
+
readonly activeWidth: "1.5rem";
|
|
541
|
+
readonly selectedOffset: "1.25rem";
|
|
542
|
+
readonly activeSelectedOffset: "1rem";
|
|
543
|
+
};
|
|
544
|
+
};
|
|
545
|
+
type SwitchProps = Omit<SwitchProps$1, "className"> & {
|
|
546
|
+
className?: string;
|
|
547
|
+
size?: keyof typeof switchSizes;
|
|
548
|
+
description?: ReactNode;
|
|
549
|
+
icon?: ReactNode;
|
|
550
|
+
selectedIcon?: ReactNode;
|
|
522
551
|
};
|
|
523
|
-
|
|
552
|
+
/** Accessible React Aria switch with semantic tokens and a compact capsule thumb. */
|
|
553
|
+
declare function Switch({ className, children, description, icon, inputRef, isDisabled, isReadOnly, selectedIcon, size, ...props }: SwitchProps): React$1.JSX.Element;
|
|
524
554
|
|
|
525
555
|
/** Presentational table primitives. Sorting, pagination and data state stay in the application. */
|
|
526
556
|
declare function Table({ className, ...props }: React$1.ComponentProps<"table">): React$1.JSX.Element;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as React$1 from 'react';
|
|
|
2
2
|
import { RefCallback, ReactNode, ComponentPropsWithRef } from 'react';
|
|
3
3
|
import { ClassValue } from 'clsx';
|
|
4
4
|
import * as react_aria_components from 'react-aria-components';
|
|
5
|
-
import { DisclosureGroupProps, DisclosurePanelProps, DisclosureProps, ButtonProps as ButtonProps$1, LinkProps, Breadcrumb as Breadcrumb$1, Link, Breadcrumbs as Breadcrumbs$1, Separator as Separator$1, CheckboxProps as CheckboxProps$1, ComboBoxProps, Key, Popover as Popover$1, InputProps as InputProps$1, ListBoxItemProps, ListBoxProps, Input as Input$1, ListBox, ModalOverlayProps, Menu as Menu$1, MenuSectionProps, MenuItemProps, Header, SubmenuTrigger, MenuTrigger as MenuTrigger$1, TextAreaProps, MenuProps, PopoverProps as PopoverProps$1, DialogTrigger, NumberFieldProps, SearchFieldProps, SelectProps, SelectValue as SelectValue$1, Modal, Text, Heading, DialogTriggerProps,
|
|
5
|
+
import { DisclosureGroupProps, DisclosurePanelProps, DisclosureProps, ButtonProps as ButtonProps$1, LinkProps, Breadcrumb as Breadcrumb$1, Link, Breadcrumbs as Breadcrumbs$1, Separator as Separator$1, CheckboxProps as CheckboxProps$1, ComboBoxProps, Key, Popover as Popover$1, InputProps as InputProps$1, ListBoxItemProps, ListBoxProps, Input as Input$1, ListBox, ModalOverlayProps, Menu as Menu$1, MenuSectionProps, MenuItemProps, Header, SubmenuTrigger, MenuTrigger as MenuTrigger$1, TextAreaProps, MenuProps, PopoverProps as PopoverProps$1, DialogTrigger, NumberFieldProps, SearchFieldProps, SelectProps, SelectValue as SelectValue$1, Modal, Text, Heading, DialogTriggerProps, SwitchProps as SwitchProps$1, TabPanelProps as TabPanelProps$1, TabProps as TabProps$1, TabsProps as TabsProps$1, TabListProps, TabPanelsProps, Tooltip as Tooltip$1, TooltipTrigger as TooltipTrigger$1 } from 'react-aria-components';
|
|
6
6
|
export { ComboBoxProps, ComboBoxValue as ComboboxValue, DialogTriggerProps as PopoverTriggerProps, SearchFieldProps, SelectProps, DialogProps as SheetPrimitiveProps, DialogTriggerProps as SheetTriggerPrimitiveProps } from 'react-aria-components';
|
|
7
7
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
8
8
|
import { VariantProps } from 'class-variance-authority';
|
|
@@ -516,11 +516,41 @@ interface SubmitButtonProps extends Omit<ButtonProps, "type"> {
|
|
|
516
516
|
}
|
|
517
517
|
declare function SubmitButton({ pendingLabel, loading, children, isDisabled, size, ...props }: SubmitButtonProps): React$1.JSX.Element;
|
|
518
518
|
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
519
|
+
declare const switchSizes: {
|
|
520
|
+
readonly sm: {
|
|
521
|
+
readonly control: "h-4 w-[1.875rem] p-0.5";
|
|
522
|
+
readonly thumb: "h-3";
|
|
523
|
+
readonly idleWidth: "0.75rem";
|
|
524
|
+
readonly activeWidth: "1rem";
|
|
525
|
+
readonly selectedOffset: "0.875rem";
|
|
526
|
+
readonly activeSelectedOffset: "0.625rem";
|
|
527
|
+
};
|
|
528
|
+
readonly md: {
|
|
529
|
+
readonly control: "h-5 w-9 p-0.5";
|
|
530
|
+
readonly thumb: "h-4";
|
|
531
|
+
readonly idleWidth: "1rem";
|
|
532
|
+
readonly activeWidth: "1.25rem";
|
|
533
|
+
readonly selectedOffset: "1rem";
|
|
534
|
+
readonly activeSelectedOffset: "0.75rem";
|
|
535
|
+
};
|
|
536
|
+
readonly lg: {
|
|
537
|
+
readonly control: "h-6 w-11 p-0.5";
|
|
538
|
+
readonly thumb: "h-5";
|
|
539
|
+
readonly idleWidth: "1.25rem";
|
|
540
|
+
readonly activeWidth: "1.5rem";
|
|
541
|
+
readonly selectedOffset: "1.25rem";
|
|
542
|
+
readonly activeSelectedOffset: "1rem";
|
|
543
|
+
};
|
|
544
|
+
};
|
|
545
|
+
type SwitchProps = Omit<SwitchProps$1, "className"> & {
|
|
546
|
+
className?: string;
|
|
547
|
+
size?: keyof typeof switchSizes;
|
|
548
|
+
description?: ReactNode;
|
|
549
|
+
icon?: ReactNode;
|
|
550
|
+
selectedIcon?: ReactNode;
|
|
522
551
|
};
|
|
523
|
-
|
|
552
|
+
/** Accessible React Aria switch with semantic tokens and a compact capsule thumb. */
|
|
553
|
+
declare function Switch({ className, children, description, icon, inputRef, isDisabled, isReadOnly, selectedIcon, size, ...props }: SwitchProps): React$1.JSX.Element;
|
|
524
554
|
|
|
525
555
|
/** Presentational table primitives. Sorting, pagination and data state stay in the application. */
|
|
526
556
|
declare function Table({ className, ...props }: React$1.ComponentProps<"table">): React$1.JSX.Element;
|
package/dist/index.js
CHANGED
|
@@ -142,6 +142,7 @@ function getTextMatchParts(text, query) {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
// src/ui/accordion/accordion.tsx
|
|
145
|
+
import "react";
|
|
145
146
|
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
146
147
|
import {
|
|
147
148
|
DisclosurePanel as AccordionContentPrimitive,
|
|
@@ -156,7 +157,7 @@ function Accordion({ className, ...props }) {
|
|
|
156
157
|
AccordionPrimitive,
|
|
157
158
|
{
|
|
158
159
|
"data-slot": "accordion",
|
|
159
|
-
className: cn("flex w-full flex-col", className),
|
|
160
|
+
className: cn("flex w-full flex-col text-foreground", className),
|
|
160
161
|
...props
|
|
161
162
|
}
|
|
162
163
|
);
|
|
@@ -182,7 +183,7 @@ function AccordionTrigger({
|
|
|
182
183
|
slot: "trigger",
|
|
183
184
|
"data-slot": "accordion-trigger",
|
|
184
185
|
className: cn(
|
|
185
|
-
"group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-
|
|
186
|
+
"group/accordion-trigger relative flex flex-1 items-start justify-between gap-3 rounded-lg border border-transparent px-2.5 py-2.5 text-left text-sm font-medium text-foreground transition-colors outline-none hover:bg-muted/50 aria-expanded:bg-muted/50 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground",
|
|
186
187
|
className
|
|
187
188
|
),
|
|
188
189
|
...props,
|
|
@@ -206,18 +207,22 @@ function AccordionTrigger({
|
|
|
206
207
|
}
|
|
207
208
|
) });
|
|
208
209
|
}
|
|
209
|
-
function AccordionContent({
|
|
210
|
+
function AccordionContent({
|
|
211
|
+
className,
|
|
212
|
+
children,
|
|
213
|
+
...props
|
|
214
|
+
}) {
|
|
210
215
|
return /* @__PURE__ */ jsx(
|
|
211
216
|
AccordionContentPrimitive,
|
|
212
217
|
{
|
|
213
218
|
"data-slot": "accordion-content",
|
|
214
|
-
className: "h-(--disclosure-panel-height) overflow-clip text-sm transition-[height] data-open:animate-accordion-down data-closed:animate-accordion-up",
|
|
219
|
+
className: "h-(--disclosure-panel-height) overflow-clip text-sm text-muted-foreground transition-[height] data-open:animate-accordion-down data-closed:animate-accordion-up",
|
|
215
220
|
...props,
|
|
216
221
|
children: /* @__PURE__ */ jsx(
|
|
217
222
|
"div",
|
|
218
223
|
{
|
|
219
224
|
className: cn(
|
|
220
|
-
"pt-0 pb-
|
|
225
|
+
"px-2.5 pt-0 pb-3 [&_a]:text-foreground [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-primary [&_p:not(:last-child)]:mb-4",
|
|
221
226
|
className
|
|
222
227
|
),
|
|
223
228
|
children
|
|
@@ -1479,7 +1484,7 @@ function FormRow({ label, htmlFor, required, hint, error, className, children })
|
|
|
1479
1484
|
import { Link as Link2 } from "react-aria-components";
|
|
1480
1485
|
|
|
1481
1486
|
// src/ui/tooltip/tooltip.tsx
|
|
1482
|
-
import * as
|
|
1487
|
+
import * as React3 from "react";
|
|
1483
1488
|
import {
|
|
1484
1489
|
Focusable,
|
|
1485
1490
|
OverlayArrow,
|
|
@@ -1492,7 +1497,7 @@ function TooltipTrigger({
|
|
|
1492
1497
|
children,
|
|
1493
1498
|
...props
|
|
1494
1499
|
}) {
|
|
1495
|
-
const [trigger, tooltip] =
|
|
1500
|
+
const [trigger, tooltip] = React3.Children.toArray(children);
|
|
1496
1501
|
return /* @__PURE__ */ jsxs10(
|
|
1497
1502
|
TooltipTriggerPrimitive,
|
|
1498
1503
|
{
|
|
@@ -2442,62 +2447,126 @@ function SubmitButton({ pendingLabel = "Guardando\u2026", loading = false, child
|
|
|
2442
2447
|
}
|
|
2443
2448
|
|
|
2444
2449
|
// src/ui/switch/switch.tsx
|
|
2450
|
+
import { useEffect as useEffect5, useRef as useRef5 } from "react";
|
|
2445
2451
|
import {
|
|
2446
|
-
|
|
2447
|
-
SwitchField as AriaSwitchField
|
|
2452
|
+
Switch as AriaSwitch
|
|
2448
2453
|
} from "react-aria-components";
|
|
2449
2454
|
import { Fragment as Fragment10, jsx as jsx42, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2450
|
-
var
|
|
2451
|
-
sm: {
|
|
2452
|
-
|
|
2455
|
+
var switchSizes = {
|
|
2456
|
+
sm: {
|
|
2457
|
+
control: "h-4 w-[1.875rem] p-0.5",
|
|
2458
|
+
thumb: "h-3",
|
|
2459
|
+
idleWidth: "0.75rem",
|
|
2460
|
+
activeWidth: "1rem",
|
|
2461
|
+
selectedOffset: "0.875rem",
|
|
2462
|
+
activeSelectedOffset: "0.625rem"
|
|
2463
|
+
},
|
|
2464
|
+
md: {
|
|
2465
|
+
control: "h-5 w-9 p-0.5",
|
|
2466
|
+
thumb: "h-4",
|
|
2467
|
+
idleWidth: "1rem",
|
|
2468
|
+
activeWidth: "1.25rem",
|
|
2469
|
+
selectedOffset: "1rem",
|
|
2470
|
+
activeSelectedOffset: "0.75rem"
|
|
2471
|
+
},
|
|
2472
|
+
lg: {
|
|
2473
|
+
control: "h-6 w-11 p-0.5",
|
|
2474
|
+
thumb: "h-5",
|
|
2475
|
+
idleWidth: "1.25rem",
|
|
2476
|
+
activeWidth: "1.5rem",
|
|
2477
|
+
selectedOffset: "1.25rem",
|
|
2478
|
+
activeSelectedOffset: "1rem"
|
|
2479
|
+
}
|
|
2453
2480
|
};
|
|
2454
|
-
function Switch({
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2481
|
+
function Switch({
|
|
2482
|
+
className,
|
|
2483
|
+
children,
|
|
2484
|
+
description,
|
|
2485
|
+
icon,
|
|
2486
|
+
inputRef,
|
|
2487
|
+
isDisabled,
|
|
2488
|
+
isReadOnly,
|
|
2489
|
+
selectedIcon,
|
|
2490
|
+
size = "sm",
|
|
2491
|
+
...props
|
|
2492
|
+
}) {
|
|
2493
|
+
const styles = switchSizes[size];
|
|
2494
|
+
const fallbackInputRef = useRef5(null);
|
|
2495
|
+
const resolvedInputRef = inputRef ?? fallbackInputRef;
|
|
2496
|
+
useEffect5(() => {
|
|
2497
|
+
const input = resolvedInputRef.current;
|
|
2498
|
+
if (!input) return;
|
|
2499
|
+
const handleDirectionalKey = (event) => {
|
|
2500
|
+
if (event.target !== input || event.defaultPrevented || isDisabled || isReadOnly || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;
|
|
2501
|
+
const nextSelected = event.key === "ArrowRight" ? true : event.key === "ArrowLeft" ? false : null;
|
|
2502
|
+
if (nextSelected === null) return;
|
|
2503
|
+
event.preventDefault();
|
|
2504
|
+
if (input.checked !== nextSelected) input.click();
|
|
2505
|
+
};
|
|
2506
|
+
const ownerDocument = input.ownerDocument;
|
|
2507
|
+
ownerDocument.addEventListener("keydown", handleDirectionalKey);
|
|
2508
|
+
return () => ownerDocument.removeEventListener("keydown", handleDirectionalKey);
|
|
2509
|
+
}, [isDisabled, isReadOnly, resolvedInputRef]);
|
|
2510
|
+
return /* @__PURE__ */ jsx42(
|
|
2511
|
+
AriaSwitch,
|
|
2458
2512
|
{
|
|
2459
2513
|
"data-slot": "switch",
|
|
2460
2514
|
"data-size": size,
|
|
2461
|
-
|
|
2462
|
-
|
|
2515
|
+
inputRef: resolvedInputRef,
|
|
2516
|
+
isDisabled,
|
|
2517
|
+
isReadOnly,
|
|
2518
|
+
className: cn(
|
|
2519
|
+
"group/switch inline-flex cursor-pointer items-center gap-3 text-sm text-foreground outline-none select-none",
|
|
2463
2520
|
"data-disabled:cursor-not-allowed data-disabled:opacity-50",
|
|
2464
|
-
|
|
2521
|
+
className
|
|
2465
2522
|
),
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
"
|
|
2475
|
-
"
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
"
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2523
|
+
...props,
|
|
2524
|
+
children: (state) => {
|
|
2525
|
+
const isThumbActive = state.isHovered || state.isPressed;
|
|
2526
|
+
const thumbOffset = state.isSelected ? isThumbActive ? styles.activeSelectedOffset : styles.selectedOffset : "0";
|
|
2527
|
+
return /* @__PURE__ */ jsxs20(Fragment10, { children: [
|
|
2528
|
+
/* @__PURE__ */ jsx42(
|
|
2529
|
+
"span",
|
|
2530
|
+
{
|
|
2531
|
+
"aria-hidden": "true",
|
|
2532
|
+
"data-slot": "switch-control",
|
|
2533
|
+
className: cn(
|
|
2534
|
+
"relative inline-flex shrink-0 items-center overflow-hidden rounded-full border border-border bg-input shadow-inner",
|
|
2535
|
+
"transition-[background-color,border-color,box-shadow] duration-200 ease-out motion-reduce:transition-none",
|
|
2536
|
+
"group-data-hovered/switch:bg-muted-foreground/25",
|
|
2537
|
+
"group-data-selected/switch:border-primary group-data-selected/switch:bg-primary",
|
|
2538
|
+
"group-data-selected/switch:group-data-hovered/switch:bg-primary/85",
|
|
2539
|
+
"group-data-focus-visible/switch:ring-3 group-data-focus-visible/switch:ring-ring/50",
|
|
2540
|
+
styles.control
|
|
2541
|
+
),
|
|
2542
|
+
children: /* @__PURE__ */ jsx42(
|
|
2543
|
+
"span",
|
|
2544
|
+
{
|
|
2545
|
+
"data-slot": "switch-thumb",
|
|
2546
|
+
style: {
|
|
2547
|
+
transform: `translate3d(${thumbOffset}, 0, 0)`,
|
|
2548
|
+
width: isThumbActive ? styles.activeWidth : styles.idleWidth
|
|
2549
|
+
},
|
|
2550
|
+
className: cn(
|
|
2551
|
+
"grid shrink-0 place-items-center rounded-full border border-border/60 bg-background text-[0.625rem] text-muted-foreground shadow-sm",
|
|
2552
|
+
"will-change-[transform,width] transition-[transform,width,background-color,color,border-color] duration-[240ms] ease-[cubic-bezier(0.2,0.8,0.2,1)] motion-reduce:transition-none",
|
|
2553
|
+
"group-data-selected/switch:border-primary-foreground/20",
|
|
2554
|
+
"group-data-selected/switch:bg-primary-foreground group-data-selected/switch:text-primary",
|
|
2555
|
+
styles.thumb
|
|
2556
|
+
),
|
|
2557
|
+
children: state.isSelected ? selectedIcon ?? icon : icon
|
|
2558
|
+
}
|
|
2559
|
+
)
|
|
2560
|
+
}
|
|
2561
|
+
),
|
|
2562
|
+
children || description ? /* @__PURE__ */ jsxs20("span", { className: "grid gap-0.5 leading-tight", children: [
|
|
2563
|
+
children ? /* @__PURE__ */ jsx42("span", { "data-slot": "switch-label", className: "font-medium", children: typeof children === "function" ? children(state) : children }) : null,
|
|
2564
|
+
description ? /* @__PURE__ */ jsx42("span", { "data-slot": "switch-description", className: "text-xs font-normal text-muted-foreground", children: description }) : null
|
|
2565
|
+
] }) : null
|
|
2566
|
+
] });
|
|
2567
|
+
}
|
|
2499
2568
|
}
|
|
2500
|
-
)
|
|
2569
|
+
);
|
|
2501
2570
|
}
|
|
2502
2571
|
|
|
2503
2572
|
// src/ui/table/table.tsx
|
|
@@ -2609,7 +2678,7 @@ function TabsContent({ className, ...props }) {
|
|
|
2609
2678
|
}
|
|
2610
2679
|
|
|
2611
2680
|
// src/ui/toast/toast.tsx
|
|
2612
|
-
import { useEffect as
|
|
2681
|
+
import { useEffect as useEffect6 } from "react";
|
|
2613
2682
|
import { sileo, Toaster as SileoToaster } from "sileo";
|
|
2614
2683
|
import { Fragment as Fragment11, jsx as jsx45, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2615
2684
|
function toSileoOptions({ title, description, duration, position, action }) {
|
|
@@ -2664,7 +2733,7 @@ function ToastViewport({ position, visiblePosition, className }) {
|
|
|
2664
2733
|
return /* @__PURE__ */ jsx45(Toaster, { position });
|
|
2665
2734
|
}
|
|
2666
2735
|
function Toast({ id, title, description, variant = "default", action, state = "open", duration = 0, position, onDismiss }) {
|
|
2667
|
-
|
|
2736
|
+
useEffect6(() => {
|
|
2668
2737
|
if (state !== "open") return;
|
|
2669
2738
|
const toastId = create({ title, description, variant, action, duration, position });
|
|
2670
2739
|
return () => {
|