@bubo-squared/ui-framework 0.2.13 → 0.2.14

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
@@ -266,36 +266,44 @@ interface TagProps extends VariantProps<typeof tagVariants> {
266
266
  declare const Tag: React$1.ForwardRefExoticComponent<TagProps & React$1.RefAttributes<HTMLDivElement>>;
267
267
 
268
268
  interface CheckboxProps extends React$1.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {
269
+ /** Only needed when the component is a part of a native form. */
270
+ name?: string;
269
271
  label?: string;
270
272
  }
271
273
  declare function Checkbox({ label, className, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
272
274
 
273
- type DropdownStatus = "default" | "success" | "error";
274
- interface DropdownOption {
275
+ type SelectStatus = "default" | "success" | "error";
276
+ interface SelectOption {
275
277
  label: string;
276
278
  value: string;
277
279
  }
278
- declare const dropdownTriggerVariants: (props?: ({
280
+ declare const selectTriggerVariants: (props?: ({
279
281
  size?: "sm" | "md" | "lg" | "xl" | null | undefined;
280
282
  status?: "success" | "error" | "default" | null | undefined;
281
283
  } & class_variance_authority_types.ClassProp) | undefined) => string;
282
- interface DropdownProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "onChange">, VariantProps<typeof dropdownTriggerVariants> {
284
+ interface SelectProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "onChange">, VariantProps<typeof selectTriggerVariants> {
283
285
  label?: string;
284
286
  hint?: string;
285
287
  /**
286
288
  * If true, the hint will not be rendered even if provided.
287
289
  */
288
290
  hideHint?: boolean;
291
+ /**
292
+ * Only needed when the component is a part of a native form.
293
+ * Provide this to include the value in native form submission / FormData.
294
+ */
295
+ name?: string;
289
296
  placeholder?: string;
290
- status?: DropdownStatus;
291
- options: DropdownOption[];
297
+ status?: SelectStatus;
298
+ options: SelectOption[];
292
299
  value?: string;
293
300
  defaultValue?: string;
301
+ required?: boolean;
294
302
  onChange?: (value: string) => void;
295
303
  /** Force the menu open (used mainly for docs/Storybook states). */
296
304
  showMenu?: boolean;
297
305
  }
298
- declare const Dropdown: React$1.FC<DropdownProps>;
306
+ declare const Select: React$1.FC<SelectProps>;
299
307
 
300
308
  type FieldStatus = "default" | "success" | "error";
301
309
  interface FieldProps {
@@ -323,6 +331,11 @@ interface PasswordInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputE
323
331
  * If true, the hint will not be rendered even if provided.
324
332
  */
325
333
  hideHint?: boolean;
334
+ /**
335
+ * Only needed when the component is a part of a native form.
336
+ * Provide this to include the value in native form submission / FormData.
337
+ */
338
+ name?: string;
326
339
  placeholder?: string;
327
340
  status?: PasswordInputStatus;
328
341
  size?: PasswordInputSize;
@@ -341,6 +354,11 @@ interface TextInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputEleme
341
354
  * If true, the hint will not be rendered even if provided.
342
355
  */
343
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;
344
362
  placeholder?: string;
345
363
  status?: TextInputStatus;
346
364
  size?: TextInputSize;
@@ -350,7 +368,7 @@ interface TextInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputEleme
350
368
  }
351
369
  declare const TextInput: React$1.FC<TextInputProps>;
352
370
 
353
- type PhoneInputProps = Omit<React$1.ComponentProps<"input">, "onChange" | "value" | "ref"> & Omit<RPNInput.Props<typeof RPNInput.default>, "onChange"> & {
371
+ type PhoneInputProps = Omit<React$1.ComponentProps<"input">, "onChange" | "value" | "ref" | "size"> & Omit<RPNInput.Props<typeof RPNInput.default>, "onChange"> & {
354
372
  onChange?: (value: RPNInput.Value) => void;
355
373
  } & {
356
374
  className?: string;
@@ -360,6 +378,11 @@ type PhoneInputProps = Omit<React$1.ComponentProps<"input">, "onChange" | "value
360
378
  * If true, the hint will not be rendered even if provided.
361
379
  */
362
380
  hideHint?: boolean;
381
+ /**
382
+ * Only needed when the component is a part of a native form.
383
+ * Provide this to include the value in native form submission / FormData.
384
+ */
385
+ name?: string;
363
386
  placeholder?: string;
364
387
  disabled?: boolean;
365
388
  status?: TextInputStatus;
@@ -376,6 +399,10 @@ interface RadioGroupOption {
376
399
  interface RadioGroupProps extends Omit<RadioGroupPrimitive.RadioGroupProps, "children" | "orientation" | "onValueChange"> {
377
400
  label?: string;
378
401
  hint?: string;
402
+ /** Only needed when the component is a part of a native form. */
403
+ name?: string;
404
+ /** Only needed when the component is a part of a native form. */
405
+ required?: boolean;
379
406
  /**
380
407
  * If true, the hint will not be rendered even if provided.
381
408
  */
@@ -389,6 +416,11 @@ declare const RadioGroup: React$1.FC<RadioGroupProps>;
389
416
 
390
417
  type SearchInputSize = "sm" | "md" | "lg" | "xl";
391
418
  interface SearchInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size" | "disabled"> {
419
+ /**
420
+ * Only needed when the component is a part of a native form.
421
+ * Provide this to include the value in native form submission / FormData.
422
+ */
423
+ name?: string;
392
424
  placeholder?: string;
393
425
  leadingIcon?: React$1.ReactNode;
394
426
  showLeadingIcon?: boolean;
@@ -401,6 +433,13 @@ declare const SearchInput: React$1.FC<SearchInputProps>;
401
433
  type SliderDisplay = "flat" | "numeric" | "tooltip";
402
434
  type SliderTooltipPlacement = "top" | "bottom";
403
435
  type SliderBaseProps = {
436
+ /**
437
+ * Only needed when the component is a part of a native form.
438
+ * Provide this to include the value in native form submission / FormData.
439
+ *
440
+ * Note: range sliders submit two values under the same name.
441
+ */
442
+ name?: string;
404
443
  display?: SliderDisplay;
405
444
  tooltipPlacement?: SliderTooltipPlacement;
406
445
  /**
@@ -442,6 +481,11 @@ interface TextAreaProps extends Omit<React$1.TextareaHTMLAttributes<HTMLTextArea
442
481
  * If true, the hint will not be rendered even if provided.
443
482
  */
444
483
  hideHint?: boolean;
484
+ /**
485
+ * Only needed when the component is a part of a native form.
486
+ * Provide this to include the value in native form submission / FormData.
487
+ */
488
+ name?: string;
445
489
  status?: TextInputStatus;
446
490
  /**
447
491
  * Visual/behavioural variant.
@@ -463,6 +507,11 @@ interface TextAreaProps extends Omit<React$1.TextareaHTMLAttributes<HTMLTextArea
463
507
  declare const TextArea: React$1.FC<TextAreaProps>;
464
508
 
465
509
  interface ToggleProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "type"> {
510
+ /**
511
+ * Only needed when the component is a part of a native form.
512
+ * Provide this to include the checked value in native form submission / FormData.
513
+ */
514
+ name?: string;
466
515
  label?: string;
467
516
  }
468
517
  declare const Toggle: React$1.FC<ToggleProps>;
@@ -512,19 +561,46 @@ interface PopoverProps {
512
561
  }
513
562
  declare const Popover: React$1.FC<PopoverProps>;
514
563
 
515
- interface BreadcrumbProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
516
- variant?: "flat" | "colored";
517
- asChild?: boolean;
518
- /** Label text shown in the breadcrumb item. */
519
- label?: string;
520
- /** Whether to render the leading chevron icon. */
521
- showIcon?: boolean;
522
- /** Optional custom icon to use instead of the default chevron. */
523
- icon?: React$1.ReactNode;
524
- /** Whether to render the label text. */
525
- showText?: boolean;
564
+ type TooltipPlacement = "top" | "topLeft" | "topRight" | "bottom" | "bottomLeft" | "bottomRight" | "left" | "leftTop" | "leftBottom" | "right" | "rightTop" | "rightBottom";
565
+ interface TooltipProps {
566
+ children: React$1.ReactNode;
567
+ strapline?: string;
568
+ title: string;
569
+ description?: string;
570
+ showArrow?: boolean;
571
+ className?: string;
572
+ placement?: TooltipPlacement;
573
+ offset?: number;
574
+ disableHoverableContent?: boolean;
575
+ open?: boolean;
576
+ defaultOpen?: boolean;
577
+ onOpenChange?: (open: boolean) => void;
578
+ }
579
+ declare const Tooltip: React$1.FC<TooltipProps>;
580
+
581
+ interface TooltipProviderProps {
582
+ children: React$1.ReactNode;
583
+ delayDuration?: number;
584
+ skipDelayDuration?: number;
585
+ disableHoverableContent?: boolean;
586
+ }
587
+ declare const TooltipProvider: React$1.FC<TooltipProviderProps>;
588
+
589
+ declare function Breadcrumb({ ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
590
+
591
+ interface BreadcrumbsProps extends React$1.ComponentProps<typeof Breadcrumb> {
592
+ separator?: React$1.ReactNode;
593
+ /**
594
+ * When true and there are >= 5 breadcrumb items, replaces all items except
595
+ * the first one and the last two with an ellipsis dropdown menu.
596
+ */
597
+ ellipsis?: boolean;
598
+ children: React$1.ReactNode;
599
+ separatorClassName?: string;
600
+ breadcrumbItemClassName?: string;
601
+ breadcrumbPageClassName?: string;
526
602
  }
527
- declare const Breadcrumb: React$1.ForwardRefExoticComponent<BreadcrumbProps & React$1.RefAttributes<HTMLButtonElement>>;
603
+ declare const Breadcrumbs: React$1.ForwardRefExoticComponent<Omit<BreadcrumbsProps, "ref"> & React$1.RefAttributes<HTMLElement>>;
528
604
 
529
605
  interface LogoBaseProps {
530
606
  className?: string;
@@ -548,4 +624,4 @@ declare const Logo: FC<LogoProps>;
548
624
 
549
625
  declare function cn(...inputs: ClassValue[]): string;
550
626
 
551
- export { Avatar, Badge, BadgeDigit, BadgeDot, BadgeStatus, Breadcrumb, Button, ButtonGroup, Checkbox, Divider, Dropdown, Field, IconButton, IconButtonGroup, LinkButton, Logo, LogoIcon, MessageButton, PasswordInput, PhoneInput, Popover, Progress, RadioGroup, SearchInput, Slider, StatusAvatar, Tag, TextArea, TextInput, Toggle, Typography, WebsiteInput, cn };
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 };
package/dist/index.d.ts CHANGED
@@ -266,36 +266,44 @@ interface TagProps extends VariantProps<typeof tagVariants> {
266
266
  declare const Tag: React$1.ForwardRefExoticComponent<TagProps & React$1.RefAttributes<HTMLDivElement>>;
267
267
 
268
268
  interface CheckboxProps extends React$1.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {
269
+ /** Only needed when the component is a part of a native form. */
270
+ name?: string;
269
271
  label?: string;
270
272
  }
271
273
  declare function Checkbox({ label, className, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
272
274
 
273
- type DropdownStatus = "default" | "success" | "error";
274
- interface DropdownOption {
275
+ type SelectStatus = "default" | "success" | "error";
276
+ interface SelectOption {
275
277
  label: string;
276
278
  value: string;
277
279
  }
278
- declare const dropdownTriggerVariants: (props?: ({
280
+ declare const selectTriggerVariants: (props?: ({
279
281
  size?: "sm" | "md" | "lg" | "xl" | null | undefined;
280
282
  status?: "success" | "error" | "default" | null | undefined;
281
283
  } & class_variance_authority_types.ClassProp) | undefined) => string;
282
- interface DropdownProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "onChange">, VariantProps<typeof dropdownTriggerVariants> {
284
+ interface SelectProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "onChange">, VariantProps<typeof selectTriggerVariants> {
283
285
  label?: string;
284
286
  hint?: string;
285
287
  /**
286
288
  * If true, the hint will not be rendered even if provided.
287
289
  */
288
290
  hideHint?: boolean;
291
+ /**
292
+ * Only needed when the component is a part of a native form.
293
+ * Provide this to include the value in native form submission / FormData.
294
+ */
295
+ name?: string;
289
296
  placeholder?: string;
290
- status?: DropdownStatus;
291
- options: DropdownOption[];
297
+ status?: SelectStatus;
298
+ options: SelectOption[];
292
299
  value?: string;
293
300
  defaultValue?: string;
301
+ required?: boolean;
294
302
  onChange?: (value: string) => void;
295
303
  /** Force the menu open (used mainly for docs/Storybook states). */
296
304
  showMenu?: boolean;
297
305
  }
298
- declare const Dropdown: React$1.FC<DropdownProps>;
306
+ declare const Select: React$1.FC<SelectProps>;
299
307
 
300
308
  type FieldStatus = "default" | "success" | "error";
301
309
  interface FieldProps {
@@ -323,6 +331,11 @@ interface PasswordInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputE
323
331
  * If true, the hint will not be rendered even if provided.
324
332
  */
325
333
  hideHint?: boolean;
334
+ /**
335
+ * Only needed when the component is a part of a native form.
336
+ * Provide this to include the value in native form submission / FormData.
337
+ */
338
+ name?: string;
326
339
  placeholder?: string;
327
340
  status?: PasswordInputStatus;
328
341
  size?: PasswordInputSize;
@@ -341,6 +354,11 @@ interface TextInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputEleme
341
354
  * If true, the hint will not be rendered even if provided.
342
355
  */
343
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;
344
362
  placeholder?: string;
345
363
  status?: TextInputStatus;
346
364
  size?: TextInputSize;
@@ -350,7 +368,7 @@ interface TextInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputEleme
350
368
  }
351
369
  declare const TextInput: React$1.FC<TextInputProps>;
352
370
 
353
- type PhoneInputProps = Omit<React$1.ComponentProps<"input">, "onChange" | "value" | "ref"> & Omit<RPNInput.Props<typeof RPNInput.default>, "onChange"> & {
371
+ type PhoneInputProps = Omit<React$1.ComponentProps<"input">, "onChange" | "value" | "ref" | "size"> & Omit<RPNInput.Props<typeof RPNInput.default>, "onChange"> & {
354
372
  onChange?: (value: RPNInput.Value) => void;
355
373
  } & {
356
374
  className?: string;
@@ -360,6 +378,11 @@ type PhoneInputProps = Omit<React$1.ComponentProps<"input">, "onChange" | "value
360
378
  * If true, the hint will not be rendered even if provided.
361
379
  */
362
380
  hideHint?: boolean;
381
+ /**
382
+ * Only needed when the component is a part of a native form.
383
+ * Provide this to include the value in native form submission / FormData.
384
+ */
385
+ name?: string;
363
386
  placeholder?: string;
364
387
  disabled?: boolean;
365
388
  status?: TextInputStatus;
@@ -376,6 +399,10 @@ interface RadioGroupOption {
376
399
  interface RadioGroupProps extends Omit<RadioGroupPrimitive.RadioGroupProps, "children" | "orientation" | "onValueChange"> {
377
400
  label?: string;
378
401
  hint?: string;
402
+ /** Only needed when the component is a part of a native form. */
403
+ name?: string;
404
+ /** Only needed when the component is a part of a native form. */
405
+ required?: boolean;
379
406
  /**
380
407
  * If true, the hint will not be rendered even if provided.
381
408
  */
@@ -389,6 +416,11 @@ declare const RadioGroup: React$1.FC<RadioGroupProps>;
389
416
 
390
417
  type SearchInputSize = "sm" | "md" | "lg" | "xl";
391
418
  interface SearchInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size" | "disabled"> {
419
+ /**
420
+ * Only needed when the component is a part of a native form.
421
+ * Provide this to include the value in native form submission / FormData.
422
+ */
423
+ name?: string;
392
424
  placeholder?: string;
393
425
  leadingIcon?: React$1.ReactNode;
394
426
  showLeadingIcon?: boolean;
@@ -401,6 +433,13 @@ declare const SearchInput: React$1.FC<SearchInputProps>;
401
433
  type SliderDisplay = "flat" | "numeric" | "tooltip";
402
434
  type SliderTooltipPlacement = "top" | "bottom";
403
435
  type SliderBaseProps = {
436
+ /**
437
+ * Only needed when the component is a part of a native form.
438
+ * Provide this to include the value in native form submission / FormData.
439
+ *
440
+ * Note: range sliders submit two values under the same name.
441
+ */
442
+ name?: string;
404
443
  display?: SliderDisplay;
405
444
  tooltipPlacement?: SliderTooltipPlacement;
406
445
  /**
@@ -442,6 +481,11 @@ interface TextAreaProps extends Omit<React$1.TextareaHTMLAttributes<HTMLTextArea
442
481
  * If true, the hint will not be rendered even if provided.
443
482
  */
444
483
  hideHint?: boolean;
484
+ /**
485
+ * Only needed when the component is a part of a native form.
486
+ * Provide this to include the value in native form submission / FormData.
487
+ */
488
+ name?: string;
445
489
  status?: TextInputStatus;
446
490
  /**
447
491
  * Visual/behavioural variant.
@@ -463,6 +507,11 @@ interface TextAreaProps extends Omit<React$1.TextareaHTMLAttributes<HTMLTextArea
463
507
  declare const TextArea: React$1.FC<TextAreaProps>;
464
508
 
465
509
  interface ToggleProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "type"> {
510
+ /**
511
+ * Only needed when the component is a part of a native form.
512
+ * Provide this to include the checked value in native form submission / FormData.
513
+ */
514
+ name?: string;
466
515
  label?: string;
467
516
  }
468
517
  declare const Toggle: React$1.FC<ToggleProps>;
@@ -512,19 +561,46 @@ interface PopoverProps {
512
561
  }
513
562
  declare const Popover: React$1.FC<PopoverProps>;
514
563
 
515
- interface BreadcrumbProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
516
- variant?: "flat" | "colored";
517
- asChild?: boolean;
518
- /** Label text shown in the breadcrumb item. */
519
- label?: string;
520
- /** Whether to render the leading chevron icon. */
521
- showIcon?: boolean;
522
- /** Optional custom icon to use instead of the default chevron. */
523
- icon?: React$1.ReactNode;
524
- /** Whether to render the label text. */
525
- showText?: boolean;
564
+ type TooltipPlacement = "top" | "topLeft" | "topRight" | "bottom" | "bottomLeft" | "bottomRight" | "left" | "leftTop" | "leftBottom" | "right" | "rightTop" | "rightBottom";
565
+ interface TooltipProps {
566
+ children: React$1.ReactNode;
567
+ strapline?: string;
568
+ title: string;
569
+ description?: string;
570
+ showArrow?: boolean;
571
+ className?: string;
572
+ placement?: TooltipPlacement;
573
+ offset?: number;
574
+ disableHoverableContent?: boolean;
575
+ open?: boolean;
576
+ defaultOpen?: boolean;
577
+ onOpenChange?: (open: boolean) => void;
578
+ }
579
+ declare const Tooltip: React$1.FC<TooltipProps>;
580
+
581
+ interface TooltipProviderProps {
582
+ children: React$1.ReactNode;
583
+ delayDuration?: number;
584
+ skipDelayDuration?: number;
585
+ disableHoverableContent?: boolean;
586
+ }
587
+ declare const TooltipProvider: React$1.FC<TooltipProviderProps>;
588
+
589
+ declare function Breadcrumb({ ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
590
+
591
+ interface BreadcrumbsProps extends React$1.ComponentProps<typeof Breadcrumb> {
592
+ separator?: React$1.ReactNode;
593
+ /**
594
+ * When true and there are >= 5 breadcrumb items, replaces all items except
595
+ * the first one and the last two with an ellipsis dropdown menu.
596
+ */
597
+ ellipsis?: boolean;
598
+ children: React$1.ReactNode;
599
+ separatorClassName?: string;
600
+ breadcrumbItemClassName?: string;
601
+ breadcrumbPageClassName?: string;
526
602
  }
527
- declare const Breadcrumb: React$1.ForwardRefExoticComponent<BreadcrumbProps & React$1.RefAttributes<HTMLButtonElement>>;
603
+ declare const Breadcrumbs: React$1.ForwardRefExoticComponent<Omit<BreadcrumbsProps, "ref"> & React$1.RefAttributes<HTMLElement>>;
528
604
 
529
605
  interface LogoBaseProps {
530
606
  className?: string;
@@ -548,4 +624,4 @@ declare const Logo: FC<LogoProps>;
548
624
 
549
625
  declare function cn(...inputs: ClassValue[]): string;
550
626
 
551
- export { Avatar, Badge, BadgeDigit, BadgeDot, BadgeStatus, Breadcrumb, Button, ButtonGroup, Checkbox, Divider, Dropdown, Field, IconButton, IconButtonGroup, LinkButton, Logo, LogoIcon, MessageButton, PasswordInput, PhoneInput, Popover, Progress, RadioGroup, SearchInput, Slider, StatusAvatar, Tag, TextArea, TextInput, Toggle, Typography, WebsiteInput, cn };
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 };