florixui 1.8.0 → 1.10.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
@@ -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.
@@ -1,3 +1,4 @@
1
+ import { PhoneCountry } from './phone-countries';
1
2
  import * as React from "react";
2
3
  type BaseProps = {
3
4
  /** Label rendered above the control. */
@@ -36,4 +37,21 @@ type TextareaProps = BaseProps & Omit<React.TextareaHTMLAttributes<HTMLTextAreaE
36
37
  };
37
38
  export type AdvancedInputProps = InputProps | TextareaProps;
38
39
  export declare const AdvancedInput: React.ForwardRefExoticComponent<AdvancedInputProps & React.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
40
+ export interface PhoneInputProps extends Omit<InputProps, "as" | "startItem" | "value" | "onChange" | "type" | "defaultValue"> {
41
+ /** Full phone value in E.164-ish form, e.g. "+919876543210". Controlled. */
42
+ value?: string;
43
+ /** Called with the combined "+{dial}{number}" string. */
44
+ onChange?: (value: string) => void;
45
+ /** Default selected country ISO (e.g. "US"). */
46
+ defaultCountry?: string;
47
+ /** Country list. Defaults to a curated common set. */
48
+ countries?: PhoneCountry[];
49
+ }
50
+ /**
51
+ * A phone-number field: a searchable country dial-code selector attached to a
52
+ * number input, built on `AdvancedInput`. Controlled via `value`/`onChange`,
53
+ * which use the combined `+{dial}{number}` string. No external dependency — pass
54
+ * your own `countries` for the full list.
55
+ */
56
+ export declare const PhoneInput: React.ForwardRefExoticComponent<PhoneInputProps & React.RefAttributes<HTMLInputElement>>;
39
57
  export {};
@@ -16,6 +16,16 @@ export interface DateTimePickerProps {
16
16
  minDate?: string;
17
17
  /** Disable days after this date (ISO/date string). */
18
18
  maxDate?: string;
19
+ /**
20
+ * Caption style: `dropdown` (default) shows month + year dropdowns for quick
21
+ * year jumps; `label` shows the month name with prev/next arrows only.
22
+ */
23
+ captionLayout?: "dropdown" | "dropdown-months" | "dropdown-years" | "label";
24
+ /**
25
+ * Selectable year span for the dropdown, `[from, to]`. Defaults to 100 years
26
+ * back and 5 years ahead of the current year (clamped by min/maxDate).
27
+ */
28
+ yearRange?: [number, number];
19
29
  /** Disable the field. */
20
30
  disabled?: boolean;
21
31
  /** Class for the wrapper. */
@@ -27,4 +37,4 @@ export interface DateTimePickerProps {
27
37
  * Set `showTime={false}` for date-only. This is the same field the
28
38
  * `DateTimeRangePicker` uses for its custom from/to inputs.
29
39
  */
30
- export declare function DateTimePicker({ value, onChange, label, placeholder, showTime, timezone, minDate, maxDate, disabled, className, }: DateTimePickerProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function DateTimePicker({ value, onChange, label, placeholder, showTime, timezone, minDate, maxDate, captionLayout, yearRange, disabled, className, }: DateTimePickerProps): import("react/jsx-runtime").JSX.Element;
@@ -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 };
@@ -0,0 +1,16 @@
1
+ /** A country for the phone-input dial-code selector. */
2
+ export interface PhoneCountry {
3
+ /** ISO 3166-1 alpha-2 code, e.g. "US". */
4
+ iso: string;
5
+ /** Display name. */
6
+ name: string;
7
+ /** Dial code without "+", e.g. "1", "91". */
8
+ dial: string;
9
+ /** Flag emoji. */
10
+ flag: string;
11
+ }
12
+ /**
13
+ * A curated, commonly-used set of countries. Not exhaustive — pass your own
14
+ * `countries` to `PhoneInput` if you need the full list. Sorted by name.
15
+ */
16
+ export declare const PHONE_COUNTRIES: PhoneCountry[];
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export { cn } from './lib/utils';
2
2
  export { useFileUpload, formatBytes, type FileMetadata, type FileWithPreview, type FileUploadOptions, type FileUploadState, type FileUploadActions, } from './lib/use-file-upload';
3
3
  export * from './components/custom/actions-menu';
4
4
  export * from './components/custom/advanced-input';
5
+ export * from './components/custom/phone-countries';
5
6
  export * from './components/custom/alert-card';
6
7
  export * from './components/custom/file-upload';
7
8
  export * from './components/custom/advanced-select';
@@ -13,6 +14,7 @@ export * from './components/custom/confirm-prompt';
13
14
  export * from './components/custom/custom-tabs';
14
15
  export * from './components/custom/data-cell';
15
16
  export * from './components/custom/def-row';
17
+ export * from './components/custom/divider';
16
18
  export * from './components/custom/empty-state';
17
19
  export * from './components/custom/faceted-filter';
18
20
  export * from './components/custom/list-card';