@bubo-squared/ui-framework 0.2.14 → 0.2.15

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.d.cts CHANGED
@@ -2,7 +2,9 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
2
2
  import * as React$1 from 'react';
3
3
  import { FC } from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
5
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
6
8
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
7
9
  import * as RPNInput from 'react-phone-number-input';
8
10
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
@@ -71,6 +73,14 @@ type MessageButtonProps = Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>,
71
73
  };
72
74
  declare const MessageButton: React$1.FC<MessageButtonProps>;
73
75
 
76
+ declare const Accordion: React$1.ForwardRefExoticComponent<Omit<Omit<AccordionPrimitive.AccordionSingleProps & React$1.RefAttributes<HTMLDivElement>, "ref">, "children" | "type" | "title" | "collapsible"> & {
77
+ title: React$1.ReactNode;
78
+ expandIcon?: React$1.ReactNode;
79
+ defaultOpen?: boolean;
80
+ children: React$1.ReactNode;
81
+ bordered?: boolean;
82
+ } & React$1.RefAttributes<HTMLDivElement>>;
83
+
74
84
  type AvatarVariant = "initial" | "icon" | "image";
75
85
  declare const avatarVariants: (props?: ({
76
86
  size?: "20" | "24" | "32" | "40" | "48" | "56" | "64" | null | undefined;
@@ -265,6 +275,53 @@ interface TagProps extends VariantProps<typeof tagVariants> {
265
275
  }
266
276
  declare const Tag: React$1.ForwardRefExoticComponent<TagProps & React$1.RefAttributes<HTMLDivElement>>;
267
277
 
278
+ type DropdownSize = "sm" | "md" | "lg" | "xl";
279
+
280
+ declare function DropdownMenuPortal({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime.JSX.Element;
281
+ declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime.JSX.Element;
282
+ declare function DropdownMenuItem({ className, inset, size, variant, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
283
+ inset?: boolean;
284
+ size?: DropdownSize;
285
+ variant?: "default" | "destructive";
286
+ }): react_jsx_runtime.JSX.Element;
287
+ declare function DropdownMenuLabel({ className, inset, size, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
288
+ inset?: boolean;
289
+ size?: DropdownSize;
290
+ }): react_jsx_runtime.JSX.Element;
291
+ declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime.JSX.Element;
292
+ declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
293
+ declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime.JSX.Element;
294
+ declare function DropdownMenuSubTrigger({ className, inset, size, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
295
+ inset?: boolean;
296
+ size?: DropdownSize;
297
+ }): react_jsx_runtime.JSX.Element;
298
+ declare function DropdownMenuSubContent({ className, size, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent> & {
299
+ size?: DropdownSize;
300
+ }): react_jsx_runtime.JSX.Element;
301
+
302
+ interface MenuProps {
303
+ trigger: React$1.ReactElement;
304
+ children: React$1.ReactNode;
305
+ size?: DropdownSize;
306
+ align?: DropdownMenuPrimitive.DropdownMenuContentProps["align"];
307
+ side?: DropdownMenuPrimitive.DropdownMenuContentProps["side"];
308
+ offset?: number;
309
+ className?: string;
310
+ open?: boolean;
311
+ onOpenChange?: (open: boolean) => void;
312
+ modal?: boolean;
313
+ }
314
+ declare const Menu: React$1.FC<MenuProps>;
315
+ declare const MenuGroup: typeof DropdownMenuGroup;
316
+ declare const MenuItem: typeof DropdownMenuItem;
317
+ declare const MenuLabel: typeof DropdownMenuLabel;
318
+ declare const MenuPortal: typeof DropdownMenuPortal;
319
+ declare const MenuSeparator: typeof DropdownMenuSeparator;
320
+ declare const MenuShortcut: typeof DropdownMenuShortcut;
321
+ declare const MenuSub: typeof DropdownMenuSub;
322
+ declare const MenuSubContent: typeof DropdownMenuSubContent;
323
+ declare const MenuSubTrigger: typeof DropdownMenuSubTrigger;
324
+
268
325
  interface CheckboxProps extends React$1.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {
269
326
  /** Only needed when the component is a part of a native form. */
270
327
  name?: string;
@@ -272,6 +329,55 @@ interface CheckboxProps extends React$1.ComponentPropsWithoutRef<typeof Checkbox
272
329
  }
273
330
  declare function Checkbox({ label, className, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
274
331
 
332
+ type TextInputSize = "sm" | "md" | "lg" | "xl";
333
+ type TextInputStatus = "default" | "success" | "error";
334
+ interface TextInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size" | "disabled"> {
335
+ label?: string;
336
+ hint?: string;
337
+ /**
338
+ * If true, the hint will not be rendered even if provided.
339
+ */
340
+ hideHint?: boolean;
341
+ /**
342
+ * Only needed when the component is a part of a native form.
343
+ * Provide this to include the value in native form submission / FormData.
344
+ */
345
+ name?: string;
346
+ placeholder?: string;
347
+ status?: TextInputStatus;
348
+ size?: TextInputSize;
349
+ disabled?: boolean;
350
+ leadingIcon?: React$1.ReactNode | null;
351
+ trailingIcon?: React$1.ReactNode | null;
352
+ }
353
+ declare const TextInput: React$1.FC<TextInputProps>;
354
+
355
+ interface AutocompleteProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size" | "disabled" | "value" | "defaultValue" | "onChange"> {
356
+ label?: string;
357
+ hint?: string;
358
+ /** If true, the hint will not be rendered even if provided. */
359
+ hideHint?: boolean;
360
+ status?: TextInputStatus;
361
+ size?: TextInputSize;
362
+ disabled?: boolean;
363
+ leadingIcon?: React$1.ReactNode | null;
364
+ trailingIcon?: React$1.ReactNode | null;
365
+ /** Options to render (assumed already server-filtered). */
366
+ options: string[];
367
+ loading?: boolean;
368
+ loadingText?: React$1.ReactNode;
369
+ noOptionsText?: React$1.ReactNode;
370
+ /** Committed value (e.g. selected option). */
371
+ value?: string;
372
+ defaultValue?: string;
373
+ onChange?: (value: string) => void;
374
+ /** Current input text (used as query). */
375
+ inputValue?: string;
376
+ defaultInputValue?: string;
377
+ onInputChange?: (value: string) => void;
378
+ }
379
+ declare const Autocomplete: React$1.FC<AutocompleteProps>;
380
+
275
381
  type SelectStatus = "default" | "success" | "error";
276
382
  interface SelectOption {
277
383
  label: string;
@@ -345,29 +451,6 @@ interface PasswordInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputE
345
451
  }
346
452
  declare const PasswordInput: React$1.FC<PasswordInputProps>;
347
453
 
348
- type TextInputSize = "sm" | "md" | "lg" | "xl";
349
- type TextInputStatus = "default" | "success" | "error";
350
- interface TextInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size" | "disabled"> {
351
- label?: string;
352
- hint?: string;
353
- /**
354
- * If true, the hint will not be rendered even if provided.
355
- */
356
- hideHint?: boolean;
357
- /**
358
- * Only needed when the component is a part of a native form.
359
- * Provide this to include the value in native form submission / FormData.
360
- */
361
- name?: string;
362
- placeholder?: string;
363
- status?: TextInputStatus;
364
- size?: TextInputSize;
365
- disabled?: boolean;
366
- leadingIcon?: React$1.ReactNode | null;
367
- trailingIcon?: React$1.ReactNode | null;
368
- }
369
- declare const TextInput: React$1.FC<TextInputProps>;
370
-
371
454
  type PhoneInputProps = Omit<React$1.ComponentProps<"input">, "onChange" | "value" | "ref" | "size"> & Omit<RPNInput.Props<typeof RPNInput.default>, "onChange"> & {
372
455
  onChange?: (value: RPNInput.Value) => void;
373
456
  } & {
@@ -624,4 +707,4 @@ declare const Logo: FC<LogoProps>;
624
707
 
625
708
  declare function cn(...inputs: ClassValue[]): string;
626
709
 
627
- export { Avatar, Badge, BadgeDigit, BadgeDot, BadgeStatus, Breadcrumbs, Button, ButtonGroup, Checkbox, Divider, Field, IconButton, IconButtonGroup, LinkButton, Logo, LogoIcon, MessageButton, PasswordInput, PhoneInput, Popover, Progress, RadioGroup, SearchInput, Select, Slider, StatusAvatar, Tag, TextArea, TextInput, Toggle, Tooltip, TooltipProvider, Typography, WebsiteInput, cn };
710
+ export { Accordion, Autocomplete, Avatar, Badge, BadgeDigit, BadgeDot, BadgeStatus, Breadcrumbs, Button, ButtonGroup, Checkbox, Divider, Field, IconButton, IconButtonGroup, LinkButton, Logo, LogoIcon, Menu, MenuGroup, MenuItem, MenuLabel, MenuPortal, MenuSeparator, MenuShortcut, MenuSub, MenuSubContent, MenuSubTrigger, MessageButton, PasswordInput, PhoneInput, Popover, Progress, RadioGroup, SearchInput, Select, Slider, StatusAvatar, Tag, TextArea, TextInput, Toggle, Tooltip, TooltipProvider, Typography, WebsiteInput, cn };
package/dist/index.d.ts CHANGED
@@ -2,7 +2,9 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
2
2
  import * as React$1 from 'react';
3
3
  import { FC } from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
5
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
6
8
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
7
9
  import * as RPNInput from 'react-phone-number-input';
8
10
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
@@ -71,6 +73,14 @@ type MessageButtonProps = Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>,
71
73
  };
72
74
  declare const MessageButton: React$1.FC<MessageButtonProps>;
73
75
 
76
+ declare const Accordion: React$1.ForwardRefExoticComponent<Omit<Omit<AccordionPrimitive.AccordionSingleProps & React$1.RefAttributes<HTMLDivElement>, "ref">, "children" | "type" | "title" | "collapsible"> & {
77
+ title: React$1.ReactNode;
78
+ expandIcon?: React$1.ReactNode;
79
+ defaultOpen?: boolean;
80
+ children: React$1.ReactNode;
81
+ bordered?: boolean;
82
+ } & React$1.RefAttributes<HTMLDivElement>>;
83
+
74
84
  type AvatarVariant = "initial" | "icon" | "image";
75
85
  declare const avatarVariants: (props?: ({
76
86
  size?: "20" | "24" | "32" | "40" | "48" | "56" | "64" | null | undefined;
@@ -265,6 +275,53 @@ interface TagProps extends VariantProps<typeof tagVariants> {
265
275
  }
266
276
  declare const Tag: React$1.ForwardRefExoticComponent<TagProps & React$1.RefAttributes<HTMLDivElement>>;
267
277
 
278
+ type DropdownSize = "sm" | "md" | "lg" | "xl";
279
+
280
+ declare function DropdownMenuPortal({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime.JSX.Element;
281
+ declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime.JSX.Element;
282
+ declare function DropdownMenuItem({ className, inset, size, variant, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
283
+ inset?: boolean;
284
+ size?: DropdownSize;
285
+ variant?: "default" | "destructive";
286
+ }): react_jsx_runtime.JSX.Element;
287
+ declare function DropdownMenuLabel({ className, inset, size, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
288
+ inset?: boolean;
289
+ size?: DropdownSize;
290
+ }): react_jsx_runtime.JSX.Element;
291
+ declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime.JSX.Element;
292
+ declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
293
+ declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime.JSX.Element;
294
+ declare function DropdownMenuSubTrigger({ className, inset, size, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
295
+ inset?: boolean;
296
+ size?: DropdownSize;
297
+ }): react_jsx_runtime.JSX.Element;
298
+ declare function DropdownMenuSubContent({ className, size, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent> & {
299
+ size?: DropdownSize;
300
+ }): react_jsx_runtime.JSX.Element;
301
+
302
+ interface MenuProps {
303
+ trigger: React$1.ReactElement;
304
+ children: React$1.ReactNode;
305
+ size?: DropdownSize;
306
+ align?: DropdownMenuPrimitive.DropdownMenuContentProps["align"];
307
+ side?: DropdownMenuPrimitive.DropdownMenuContentProps["side"];
308
+ offset?: number;
309
+ className?: string;
310
+ open?: boolean;
311
+ onOpenChange?: (open: boolean) => void;
312
+ modal?: boolean;
313
+ }
314
+ declare const Menu: React$1.FC<MenuProps>;
315
+ declare const MenuGroup: typeof DropdownMenuGroup;
316
+ declare const MenuItem: typeof DropdownMenuItem;
317
+ declare const MenuLabel: typeof DropdownMenuLabel;
318
+ declare const MenuPortal: typeof DropdownMenuPortal;
319
+ declare const MenuSeparator: typeof DropdownMenuSeparator;
320
+ declare const MenuShortcut: typeof DropdownMenuShortcut;
321
+ declare const MenuSub: typeof DropdownMenuSub;
322
+ declare const MenuSubContent: typeof DropdownMenuSubContent;
323
+ declare const MenuSubTrigger: typeof DropdownMenuSubTrigger;
324
+
268
325
  interface CheckboxProps extends React$1.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {
269
326
  /** Only needed when the component is a part of a native form. */
270
327
  name?: string;
@@ -272,6 +329,55 @@ interface CheckboxProps extends React$1.ComponentPropsWithoutRef<typeof Checkbox
272
329
  }
273
330
  declare function Checkbox({ label, className, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
274
331
 
332
+ type TextInputSize = "sm" | "md" | "lg" | "xl";
333
+ type TextInputStatus = "default" | "success" | "error";
334
+ interface TextInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size" | "disabled"> {
335
+ label?: string;
336
+ hint?: string;
337
+ /**
338
+ * If true, the hint will not be rendered even if provided.
339
+ */
340
+ hideHint?: boolean;
341
+ /**
342
+ * Only needed when the component is a part of a native form.
343
+ * Provide this to include the value in native form submission / FormData.
344
+ */
345
+ name?: string;
346
+ placeholder?: string;
347
+ status?: TextInputStatus;
348
+ size?: TextInputSize;
349
+ disabled?: boolean;
350
+ leadingIcon?: React$1.ReactNode | null;
351
+ trailingIcon?: React$1.ReactNode | null;
352
+ }
353
+ declare const TextInput: React$1.FC<TextInputProps>;
354
+
355
+ interface AutocompleteProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size" | "disabled" | "value" | "defaultValue" | "onChange"> {
356
+ label?: string;
357
+ hint?: string;
358
+ /** If true, the hint will not be rendered even if provided. */
359
+ hideHint?: boolean;
360
+ status?: TextInputStatus;
361
+ size?: TextInputSize;
362
+ disabled?: boolean;
363
+ leadingIcon?: React$1.ReactNode | null;
364
+ trailingIcon?: React$1.ReactNode | null;
365
+ /** Options to render (assumed already server-filtered). */
366
+ options: string[];
367
+ loading?: boolean;
368
+ loadingText?: React$1.ReactNode;
369
+ noOptionsText?: React$1.ReactNode;
370
+ /** Committed value (e.g. selected option). */
371
+ value?: string;
372
+ defaultValue?: string;
373
+ onChange?: (value: string) => void;
374
+ /** Current input text (used as query). */
375
+ inputValue?: string;
376
+ defaultInputValue?: string;
377
+ onInputChange?: (value: string) => void;
378
+ }
379
+ declare const Autocomplete: React$1.FC<AutocompleteProps>;
380
+
275
381
  type SelectStatus = "default" | "success" | "error";
276
382
  interface SelectOption {
277
383
  label: string;
@@ -345,29 +451,6 @@ interface PasswordInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputE
345
451
  }
346
452
  declare const PasswordInput: React$1.FC<PasswordInputProps>;
347
453
 
348
- type TextInputSize = "sm" | "md" | "lg" | "xl";
349
- type TextInputStatus = "default" | "success" | "error";
350
- interface TextInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size" | "disabled"> {
351
- label?: string;
352
- hint?: string;
353
- /**
354
- * If true, the hint will not be rendered even if provided.
355
- */
356
- hideHint?: boolean;
357
- /**
358
- * Only needed when the component is a part of a native form.
359
- * Provide this to include the value in native form submission / FormData.
360
- */
361
- name?: string;
362
- placeholder?: string;
363
- status?: TextInputStatus;
364
- size?: TextInputSize;
365
- disabled?: boolean;
366
- leadingIcon?: React$1.ReactNode | null;
367
- trailingIcon?: React$1.ReactNode | null;
368
- }
369
- declare const TextInput: React$1.FC<TextInputProps>;
370
-
371
454
  type PhoneInputProps = Omit<React$1.ComponentProps<"input">, "onChange" | "value" | "ref" | "size"> & Omit<RPNInput.Props<typeof RPNInput.default>, "onChange"> & {
372
455
  onChange?: (value: RPNInput.Value) => void;
373
456
  } & {
@@ -624,4 +707,4 @@ declare const Logo: FC<LogoProps>;
624
707
 
625
708
  declare function cn(...inputs: ClassValue[]): string;
626
709
 
627
- export { Avatar, Badge, BadgeDigit, BadgeDot, BadgeStatus, Breadcrumbs, Button, ButtonGroup, Checkbox, Divider, Field, IconButton, IconButtonGroup, LinkButton, Logo, LogoIcon, MessageButton, PasswordInput, PhoneInput, Popover, Progress, RadioGroup, SearchInput, Select, Slider, StatusAvatar, Tag, TextArea, TextInput, Toggle, Tooltip, TooltipProvider, Typography, WebsiteInput, cn };
710
+ export { Accordion, Autocomplete, Avatar, Badge, BadgeDigit, BadgeDot, BadgeStatus, Breadcrumbs, Button, ButtonGroup, Checkbox, Divider, Field, IconButton, IconButtonGroup, LinkButton, Logo, LogoIcon, Menu, MenuGroup, MenuItem, MenuLabel, MenuPortal, MenuSeparator, MenuShortcut, MenuSub, MenuSubContent, MenuSubTrigger, MessageButton, PasswordInput, PhoneInput, Popover, Progress, RadioGroup, SearchInput, Select, Slider, StatusAvatar, Tag, TextArea, TextInput, Toggle, Tooltip, TooltipProvider, Typography, WebsiteInput, cn };