florixui 1.9.0 → 1.11.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.
package/README.md CHANGED
@@ -199,7 +199,7 @@ A drop-in "three-dot" overflow menu. Pass a flat list of items (actions, labels,
199
199
 
200
200
  ### Advanced Input
201
201
 
202
- A batteries-included input that bundles label, description, icons, affixes, password toggle, loading, error/helper text, and a textarea mode into one component.
202
+ A batteries-included input that bundles label, description, icons, affixes, password toggle, loading, error/helper text, a textarea mode, and a multi-value tags mode into one component.
203
203
 
204
204
  ```tsx
205
205
  <AdvancedInput
@@ -577,6 +577,16 @@ A modal window overlaid on the page that interrupts the user to require a respon
577
577
  </Dialog>
578
578
  ```
579
579
 
580
+ ### Divider
581
+
582
+ A separator that can carry a label, a count badge, and an icon — with start / center / end label positions, color and thickness variants, and a vertical orientation. For a plain rule, use Separator.
583
+
584
+ ```tsx
585
+ <Divider label="Trigger Settings" labelPosition="start" />
586
+ <Divider label="Or continue with" labelPosition="center" />
587
+ <Divider label="Section end" labelPosition="end" />
588
+ ```
589
+
580
590
  ### Dropdown Menu
581
591
 
582
592
  Displays a menu of actions or options triggered by a button, built on Radix UI with full keyboard and focus support.
@@ -35,7 +35,30 @@ type InputProps = BaseProps & Omit<React.InputHTMLAttributes<HTMLInputElement>,
35
35
  type TextareaProps = BaseProps & Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & {
36
36
  as: "textarea";
37
37
  };
38
- export type AdvancedInputProps = InputProps | TextareaProps;
38
+ type TagsProps = BaseProps & {
39
+ as: "tags";
40
+ /** Current tags. Controlled. */
41
+ value: string[];
42
+ /** Called with the new tags array. */
43
+ onChange: (tags: string[]) => void;
44
+ placeholder?: string;
45
+ disabled?: boolean;
46
+ className?: string;
47
+ id?: string;
48
+ /**
49
+ * Where the chips render:
50
+ * - `inside` (default): chips sit inside the field, before the cursor.
51
+ * - `below`: the input stays single-line; chips render below it.
52
+ */
53
+ badgePosition?: "inside" | "below";
54
+ /** Keys that commit the current text as a tag. Default `[",", "Enter"]`. */
55
+ separators?: string[];
56
+ /** Prevent duplicate tags (case-insensitive). Default `true`. */
57
+ dedupe?: boolean;
58
+ /** Max number of tags. */
59
+ maxTags?: number;
60
+ };
61
+ export type AdvancedInputProps = InputProps | TextareaProps | TagsProps;
39
62
  export declare const AdvancedInput: React.ForwardRefExoticComponent<AdvancedInputProps & React.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
40
63
  export interface PhoneInputProps extends Omit<InputProps, "as" | "startItem" | "value" | "onChange" | "type" | "defaultValue"> {
41
64
  /** Full phone value in E.164-ish form, e.g. "+919876543210". Controlled. */
@@ -0,0 +1,31 @@
1
+ import * as React from "react";
2
+ declare const dividerVariants: (props?: ({
3
+ orientation?: "horizontal" | "vertical" | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
5
+ export interface DividerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "color"> {
6
+ /** Label text shown in the divider. */
7
+ label?: React.ReactNode;
8
+ /** Optional count rendered as a badge after the label. */
9
+ count?: number;
10
+ /** Tint for the line, label, and count. */
11
+ color?: "default" | "primary" | "muted";
12
+ /** Line weight. */
13
+ thickness?: "thin" | "medium" | "thick";
14
+ /** Size of the label text. */
15
+ labelSize?: "sm" | "md" | "lg";
16
+ /** Where the label sits along a horizontal divider. */
17
+ labelPosition?: "start" | "center" | "end";
18
+ /** Divider orientation. */
19
+ orientation?: "horizontal" | "vertical";
20
+ /** Height for a vertical divider (e.g. "h-11", "h-full"). */
21
+ height?: string;
22
+ /** Optional icon shown before the label (horizontal, start position). */
23
+ icon?: React.ReactNode;
24
+ }
25
+ /**
26
+ * A separator that can carry a `label`, a `count` badge, and an `icon`. Supports
27
+ * `start` / `center` / `end` label positions, `color` and `thickness` variants,
28
+ * and a `vertical` orientation. For a plain rule with no label, use `Separator`.
29
+ */
30
+ declare function Divider({ className, label, count, color, thickness, labelSize, labelPosition, orientation, height, icon, ...props }: DividerProps): import("react/jsx-runtime").JSX.Element;
31
+ export { Divider, dividerVariants };
package/dist/index.d.ts CHANGED
@@ -14,6 +14,7 @@ export * from './components/custom/confirm-prompt';
14
14
  export * from './components/custom/custom-tabs';
15
15
  export * from './components/custom/data-cell';
16
16
  export * from './components/custom/def-row';
17
+ export * from './components/custom/divider';
17
18
  export * from './components/custom/empty-state';
18
19
  export * from './components/custom/faceted-filter';
19
20
  export * from './components/custom/list-card';