zaravand-ui 3.1.6 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import type { AccordionContentProps, AccordionItemProps, AccordionProps, AccordionTriggerProps } from "./Accordion.interface";
3
+ declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
7
+ export { AccordionItem, AccordionTrigger, AccordionContent };
8
+ export default Accordion;
@@ -0,0 +1,87 @@
1
+ import type * as React from "react";
2
+ /**
3
+ * One row inside an item's `content` when `content` is an array — a flat,
4
+ * minimally-divided list (not a nested Accordion) rendered inside the open
5
+ * panel, with its own optional per-row edit/delete icons.
6
+ */
7
+ export interface AccordionContentItem {
8
+ value: string;
9
+ label: React.ReactNode;
10
+ /** Shows an edit icon button for this row. Requires `Accordion`'s `onContentItemEdit`. */
11
+ isEdit?: boolean;
12
+ /** Shows a delete icon button for this row. Requires `Accordion`'s `onContentItemDelete`. */
13
+ isDelete?: boolean;
14
+ }
15
+ export interface AccordionItemSchema {
16
+ value: string;
17
+ title: React.ReactNode;
18
+ /**
19
+ * Either arbitrary content (the default), or an array of `AccordionContentItem`
20
+ * rows — rendered as a flat list separated by a minimal divider, not as a
21
+ * nested Accordion.
22
+ */
23
+ content: React.ReactNode | AccordionContentItem[];
24
+ disabled?: boolean;
25
+ icon?: React.ReactNode;
26
+ /** Shows an edit icon button for this item (only in `items` data-driven mode). Requires `Accordion`'s `onEdit`. */
27
+ isEdit?: boolean;
28
+ /** Shows a delete icon button for this item (only in `items` data-driven mode). Requires `Accordion`'s `onDelete`. */
29
+ isDelete?: boolean;
30
+ }
31
+ export type AccordionItemActionInput = {
32
+ item: AccordionItemSchema;
33
+ index: number;
34
+ };
35
+ export type AccordionEditItemHandler = (input: AccordionItemActionInput) => void | Promise<void>;
36
+ export type AccordionDeleteItemHandler = (input: AccordionItemActionInput) => void | Promise<void>;
37
+ export type AccordionContentItemActionInput = {
38
+ item: AccordionItemSchema;
39
+ itemIndex: number;
40
+ contentItem: AccordionContentItem;
41
+ contentIndex: number;
42
+ };
43
+ export type AccordionContentItemEditHandler = (input: AccordionContentItemActionInput) => void | Promise<void>;
44
+ export type AccordionContentItemDeleteHandler = (input: AccordionContentItemActionInput) => void | Promise<void>;
45
+ export interface AccordionProps {
46
+ type?: "single" | "multiple";
47
+ value?: string | string[];
48
+ defaultValue?: string | string[];
49
+ onValueChange?: (value: string | string[]) => void;
50
+ collapsible?: boolean;
51
+ dir?: "rtl" | "ltr";
52
+ /**
53
+ * Data-driven usage (recommended) — same convention as Select's `options` or
54
+ * Table's `schema`: pass the items and Accordion renders them, no manual
55
+ * AccordionItem/AccordionTrigger/AccordionContent composition needed.
56
+ * When provided, `children` is ignored.
57
+ */
58
+ items?: AccordionItemSchema[];
59
+ /** Called when an item's edit icon (`item.isEdit`) is clicked. Same convention as `Table`'s `onEdit`. */
60
+ onEdit?: AccordionEditItemHandler;
61
+ /** Called when an item's delete icon (`item.isDelete`) is clicked. Same convention as `Table`'s `onDelete`. */
62
+ onDelete?: AccordionDeleteItemHandler;
63
+ /** Called when a content-list row's edit icon (`AccordionContentItem.isEdit`) is clicked. */
64
+ onContentItemEdit?: AccordionContentItemEditHandler;
65
+ /** Called when a content-list row's delete icon (`AccordionContentItem.isDelete`) is clicked. */
66
+ onContentItemDelete?: AccordionContentItemDeleteHandler;
67
+ className?: string;
68
+ children?: React.ReactNode;
69
+ }
70
+ export interface AccordionItemProps {
71
+ value: string;
72
+ disabled?: boolean;
73
+ className?: string;
74
+ children?: React.ReactNode;
75
+ }
76
+ export interface AccordionTriggerProps {
77
+ icon?: React.ReactNode;
78
+ /** Extra controls (e.g. edit/delete icon buttons) rendered next to the trigger but outside its clickable button, so clicking them doesn't toggle the item. */
79
+ actions?: React.ReactNode;
80
+ className?: string;
81
+ children?: React.ReactNode;
82
+ }
83
+ export interface AccordionContentProps {
84
+ forceMount?: boolean;
85
+ className?: string;
86
+ children?: React.ReactNode;
87
+ }
@@ -0,0 +1,15 @@
1
+ declare const accordionVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
2
+ declare const accordionItemVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
3
+ declare const accordionTriggerRowVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
4
+ declare const accordionTriggerVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
5
+ declare const accordionTriggerActionsVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
6
+ declare const accordionActionButtonVariants: (props?: ({
7
+ tone?: "edit" | "delete" | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ declare const accordionContentActionButtonVariants: (props?: ({
10
+ tone?: "edit" | "delete" | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
+ declare const accordionContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
13
+ declare const accordionContentListVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
14
+ declare const accordionContentListRowVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
15
+ export { accordionVariants, accordionItemVariants, accordionTriggerRowVariants, accordionTriggerVariants, accordionTriggerActionsVariants, accordionActionButtonVariants, accordionContentActionButtonVariants, accordionContentVariants, accordionContentListVariants, accordionContentListRowVariants, };
@@ -2,7 +2,7 @@ declare const paginationVariants: (props?: import("class-variance-authority/type
2
2
  declare const paginationContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
3
3
  declare const paginationItemVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
4
4
  declare const paginationLinkVariants: (props?: ({
5
- size?: "default" | "icon" | null | undefined;
5
+ size?: "icon" | "default" | null | undefined;
6
6
  active?: boolean | null | undefined;
7
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
8
  declare const paginationPreviousVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import type { SwitchProps } from "./Switch.interface";
3
+ declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>;
4
+ export default Switch;
@@ -0,0 +1,18 @@
1
+ import type * as React from "react";
2
+ import type { VariantProps } from "class-variance-authority";
3
+ import type { switchVariants } from "./Switch.variant";
4
+ export interface SwitchProps extends VariantProps<typeof switchVariants> {
5
+ checked?: boolean;
6
+ defaultChecked?: boolean;
7
+ onCheckedChange?: (checked: boolean) => void;
8
+ required?: boolean;
9
+ name?: string;
10
+ value?: string;
11
+ form?: string;
12
+ id?: string;
13
+ className?: string;
14
+ "aria-label"?: string;
15
+ disabled?: boolean;
16
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
17
+ onInvalid?: React.FormEventHandler<HTMLButtonElement>;
18
+ }
@@ -0,0 +1,7 @@
1
+ declare const switchVariants: (props?: ({
2
+ size?: "sm" | "default" | "lg" | null | undefined;
3
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
4
+ declare const switchThumbVariants: (props?: ({
5
+ size?: "sm" | "default" | "lg" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export { switchVariants, switchThumbVariants };
@@ -35,7 +35,7 @@ export declare const infiniteCompletedStatusLabel = "\u0647\u0645\u0647 \u0631\u
35
35
  export declare const defaultLoadingRowsCount = 6;
36
36
  export declare const maxLoadingRowsCount = 12;
37
37
  export declare const sortIconClassName = "zui:size-4";
38
- export declare const sortToggleButtonClassName = "zui:inline-flex zui:cursor-pointer zui:items-center zui:justify-center zui:rounded zui:border-0 zui:bg-transparent zui:p-0 zui:text-[var(--zui-theme-text-primary)] zui:transition-transform zui:duration-200 zui:ease-out zui:hover:scale-125 zui:focus-visible:outline-none zui:focus-visible:ring-2 zui:focus-visible:ring-[var(--zui-theme-action-secondary)]";
38
+ export declare const sortToggleButtonClassName = "zui:inline-flex zui:cursor-pointer zui:items-center zui:justify-center zui:rounded zui:border-0 zui:bg-transparent zui:p-0 zui:text-[var(--zui-color-surface)] zui:transition-transform zui:duration-200 zui:ease-out zui:hover:scale-125 zui:focus-visible:outline-none zui:focus-visible:ring-2 zui:focus-visible:ring-[var(--zui-theme-action-secondary)]";
39
39
  export declare const sortAscendingLabel = "\u0635\u0639\u0648\u062F\u06CC";
40
40
  export declare const sortDescendingLabel = "\u0646\u0632\u0648\u0644\u06CC";
41
41
  export declare const sortTooltipPrefixLabel = "\u0645\u0631\u062A\u0628\u200C\u0633\u0627\u0632\u06CC \u0628\u0631 \u0627\u0633\u0627\u0633";
@@ -1,4 +1,4 @@
1
1
  declare const textareaVariants: (props?: ({
2
- resize?: "none" | "both" | "y" | null | undefined;
2
+ resize?: "none" | "y" | "both" | null | undefined;
3
3
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
4
4
  export { textareaVariants };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import type { ToggleProps } from "./Toggle.interface";
3
+ declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLButtonElement>>;
4
+ export default Toggle;
@@ -0,0 +1,13 @@
1
+ import type * as React from "react";
2
+ import type { VariantProps } from "class-variance-authority";
3
+ import type { toggleVariants } from "./Toggle.variant";
4
+ export interface ToggleProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children" | "disabled" | "onClick">, VariantProps<typeof toggleVariants> {
5
+ pressed?: boolean;
6
+ defaultPressed?: boolean;
7
+ onPressedChange?: (pressed: boolean) => void;
8
+ disabled?: boolean;
9
+ label?: React.ReactNode;
10
+ icon?: React.ReactNode;
11
+ ariaLabel?: string;
12
+ className?: string;
13
+ }
@@ -0,0 +1,5 @@
1
+ declare const toggleVariants: (props?: ({
2
+ variant?: "default" | "outline" | null | undefined;
3
+ size?: "sm" | "default" | "lg" | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ export { toggleVariants };