beez-ui 2.7.1 → 3.0.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.
Files changed (110) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +43 -13
  3. package/THIRD_PARTY_NOTICES.md +1 -1
  4. package/dist/components/account-menu.d.ts +4 -3
  5. package/dist/components/account-menu.js +63 -54
  6. package/dist/components/alert.d.ts +15 -15
  7. package/dist/components/alert.js +289 -270
  8. package/dist/components/animated-theme-toggler.js +1 -1
  9. package/dist/components/avatar.d.ts +56 -31
  10. package/dist/components/avatar.js +394 -277
  11. package/dist/components/badge.d.ts +8 -28
  12. package/dist/components/badge.js +55 -108
  13. package/dist/components/calendar.d.ts +36 -26
  14. package/dist/components/calendar.js +132 -1227
  15. package/dist/components/card.d.ts +36 -25
  16. package/dist/components/card.js +895 -72
  17. package/dist/components/carousel.d.ts +63 -47
  18. package/dist/components/carousel.js +496 -777
  19. package/dist/components/data-table.d.ts +5 -4
  20. package/dist/components/data-table.js +7 -6
  21. package/dist/components/dialog-surface.d.ts +23 -1
  22. package/dist/components/dialog-surface.js +99 -3
  23. package/dist/components/dialog.d.ts +80 -45
  24. package/dist/components/dialog.js +258 -503
  25. package/dist/components/dropdown-menu.d.ts +56 -73
  26. package/dist/components/dropdown-menu.js +79 -714
  27. package/dist/components/field.d.ts +3 -1
  28. package/dist/components/field.js +49 -39
  29. package/dist/components/filter-presets-bar.js +2 -2
  30. package/dist/components/filter-query-bar.js +1 -1
  31. package/dist/components/hover-card.d.ts +42 -41
  32. package/dist/components/hover-card.js +57 -483
  33. package/dist/components/pagination.d.ts +53 -31
  34. package/dist/components/pagination.js +176 -412
  35. package/dist/components/popover.d.ts +11 -23
  36. package/dist/components/popover.js +19 -304
  37. package/dist/components/{alert-dialog.d.ts → primitives/alert-dialog.d.ts} +17 -5
  38. package/dist/components/{alert-dialog.js → primitives/alert-dialog.js} +102 -54
  39. package/dist/components/primitives/avatar.d.ts +46 -0
  40. package/dist/components/primitives/avatar.js +267 -0
  41. package/dist/components/primitives/calendar.d.ts +37 -0
  42. package/dist/components/primitives/calendar.js +1250 -0
  43. package/dist/components/primitives/carousel.d.ts +106 -0
  44. package/dist/components/primitives/carousel.js +928 -0
  45. package/dist/components/primitives/dialog.d.ts +62 -0
  46. package/dist/components/primitives/dialog.js +490 -0
  47. package/dist/components/primitives/dropdown-menu-items.d.ts +59 -0
  48. package/dist/components/primitives/dropdown-menu-items.js +265 -0
  49. package/dist/components/primitives/dropdown-menu.d.ts +64 -0
  50. package/dist/components/primitives/dropdown-menu.js +557 -0
  51. package/dist/components/primitives/hover-card.d.ts +50 -0
  52. package/dist/components/primitives/hover-card.js +507 -0
  53. package/dist/components/primitives/pagination.d.ts +65 -0
  54. package/dist/components/primitives/pagination.js +373 -0
  55. package/dist/components/primitives/popover.d.ts +22 -0
  56. package/dist/components/primitives/popover.js +213 -0
  57. package/dist/components/primitives/select.d.ts +36 -0
  58. package/dist/components/primitives/select.js +407 -0
  59. package/dist/components/primitives/tooltip.d.ts +30 -0
  60. package/dist/components/primitives/tooltip.js +277 -0
  61. package/dist/components/radio-group.d.ts +30 -17
  62. package/dist/components/radio-group.js +266 -315
  63. package/dist/components/rich-link-editor.js +1 -1
  64. package/dist/components/select.d.ts +51 -42
  65. package/dist/components/select.js +163 -495
  66. package/dist/components/skeleton.d.ts +16 -15
  67. package/dist/components/skeleton.js +99 -205
  68. package/dist/components/split-button.js +1 -1
  69. package/dist/components/switch.d.ts +3 -6
  70. package/dist/components/switch.js +163 -170
  71. package/dist/components/tabs.d.ts +3 -11
  72. package/dist/components/tabs.js +61 -75
  73. package/dist/components/themed-toaster.d.ts +1 -1
  74. package/dist/components/themed-toaster.js +1 -1
  75. package/dist/components/toaster.d.ts +1 -1
  76. package/dist/components/toaster.js +1 -1
  77. package/dist/components/tooltip.d.ts +36 -31
  78. package/dist/components/tooltip.js +44 -284
  79. package/dist/constants/alert.d.ts +5 -1
  80. package/dist/constants/alert.js +5 -1
  81. package/dist/constants/avatar.d.ts +24 -1
  82. package/dist/constants/avatar.js +19 -0
  83. package/dist/constants/calendar.d.ts +12 -0
  84. package/dist/constants/calendar.js +12 -0
  85. package/dist/constants/card.d.ts +23 -0
  86. package/dist/constants/card.js +20 -0
  87. package/dist/constants/carousel.d.ts +31 -13
  88. package/dist/constants/carousel.js +32 -11
  89. package/dist/constants/dialog.d.ts +6 -1
  90. package/dist/constants/dialog.js +5 -1
  91. package/dist/constants/dropdown-menu.d.ts +2 -2
  92. package/dist/constants/dropdown-menu.js +2 -2
  93. package/dist/constants/pagination.d.ts +13 -2
  94. package/dist/constants/pagination.js +13 -2
  95. package/dist/constants/select.d.ts +4 -2
  96. package/dist/constants/select.js +4 -2
  97. package/dist/constants/switch.d.ts +5 -16
  98. package/dist/constants/switch.js +6 -14
  99. package/dist/hooks/use-today.d.ts +7 -0
  100. package/dist/hooks/use-today.js +50 -0
  101. package/dist/hooks.d.ts +1 -0
  102. package/dist/hooks.js +1 -0
  103. package/dist/index.d.ts +0 -1
  104. package/dist/index.js +0 -1
  105. package/dist/motion/glide-indicator.d.ts +1 -1
  106. package/dist/motion/glide-indicator.js +1 -1
  107. package/dist/motion/presence.d.ts +0 -1
  108. package/dist/motion/presence.js +0 -1
  109. package/dist/styles.css +1 -1
  110. package/package.json +1 -6
@@ -1,74 +1,57 @@
1
1
  /**
2
- * Arc's Dropdown menu (https://uiarc.dev, MIT License, see THIRD_PARTY_NOTICES.md) as beez-ui's composable Radix
3
- * menu: Arc's raised panel, item rows, danger tone, separators, placement defaults and staggered item entrance on its
4
- * tokens, keeping every subcomponent, prop and `data-slot` of the previous API. The surface keeps beez-ui's reveal
5
- * from the trigger edge and the highlight that glides between items with the keyboard.
6
- */
7
- import * as React from "react";
8
- import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
9
- declare function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): React.JSX.Element;
10
- declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): React.JSX.Element;
11
- declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): React.JSX.Element;
12
- /**
13
- * Arc's menu panel. It sizes action menus by their content, at least 12rem unless the viewport is narrower, instead
14
- * of narrowing them to an icon trigger.
15
- * @param props - Primitive properties. Arc's defaults: `align="start"`, a 6px `sideOffset`, a 12px
16
- * `collisionPadding` and `loop`, so arrow keys wrap from the last item to the first.
17
- * @returns The portaled menu, animated in and out with its open state.
18
- */
19
- declare function DropdownMenuContent({ className, align, sideOffset, collisionPadding, loop, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): React.JSX.Element;
20
- declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): React.JSX.Element;
21
- /**
22
- * Renders an action row. `destructive` draws Arc's danger tone: danger text and icon over a faint danger fill when
23
- * highlighted.
24
- * @param props - Primitive properties, `inset` to align with rows that carry an icon, and the `variant`.
25
- * @returns The styled primitive with its original interaction contract.
26
- */
27
- declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
28
- inset?: boolean;
29
- variant?: "default" | "destructive";
30
- }): React.JSX.Element;
31
- /**
32
- * Renders a selectable checkbox action with its check at the end of the row.
33
- * @param props - Primitive properties and `inset` to align with rows that carry an icon.
34
- * @returns The styled primitive with its original interaction contract.
35
- */
36
- declare function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {
37
- inset?: boolean;
38
- }): React.JSX.Element;
39
- declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): React.JSX.Element;
40
- /**
41
- * Renders a mutually exclusive action with its check at the end of the row.
42
- * @param props - Primitive properties and `inset` to align with rows that carry an icon.
43
- * @returns The styled primitive with its original interaction contract.
44
- */
45
- declare function DropdownMenuRadioItem({ className, children, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {
46
- inset?: boolean;
47
- }): React.JSX.Element;
48
- /**
49
- * Renders a muted group label aligned with the item text.
50
- * @param props - Primitive properties and `inset` to align with rows that carry an icon.
51
- * @returns The styled primitive with its original interaction contract.
52
- */
53
- declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
54
- inset?: boolean;
55
- }): React.JSX.Element;
56
- declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): React.JSX.Element;
57
- declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
58
- declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): React.JSX.Element;
59
- /**
60
- * Renders the row that opens a nested menu. It keeps the highlight fill while its submenu is open and nudges its
61
- * chevron toward it.
62
- * @param props - Primitive properties and `inset` to align with rows that carry an icon.
63
- * @returns The styled primitive with its original interaction contract.
64
- */
65
- declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
66
- inset?: boolean;
67
- }): React.JSX.Element;
68
- /**
69
- * Renders a nested menu on the same raised panel, at least 12rem wide.
70
- * @param props - Primitive properties. Arc's defaults: a 12px `collisionPadding` and `loop`.
71
- * @returns The submenu, animated in and out with its open state.
72
- */
73
- declare function DropdownMenuSubContent({ className, collisionPadding, loop, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): React.JSX.Element;
74
- export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
2
+ * Arc's Dropdown menu (https://uiarc.dev, MIT License, see THIRD_PARTY_NOTICES.md): a labelled trigger that opens a
3
+ * focused list of actions on Arc's raised panel, with item rows, danger tone, separators, a staggered item entrance
4
+ * and a highlight that glides between items with the keyboard. It follows Arc's closed API: items are data, not
5
+ * children. beez-ui adds a custom trigger, link, checkbox and radio rows, trailing content, and placement and open
6
+ * state of the menu.
7
+ */
8
+ import type { ReactElement, ReactNode } from "react";
9
+ import { type DropdownItem, type DropdownItemAttributes, type DropdownMenuSelection } from "./primitives/dropdown-menu-items.js";
10
+ /** Side of the trigger the menu prefers. */
11
+ export type DropdownMenuSide = "top" | "right" | "bottom" | "left";
12
+ /** Alignment of the menu against its trigger. */
13
+ export type DropdownMenuAlign = "start" | "center" | "end";
14
+ export type DropdownMenuProps = {
15
+ /**
16
+ * Text of the trigger Arc draws, and the accessible name of the menu. With a custom `trigger`, it only names the
17
+ * menu.
18
+ */
19
+ label: string;
20
+ /** Rows of the menu, in order. */
21
+ items: DropdownItem[];
22
+ /** Leading icon of the trigger Arc draws. */
23
+ icon?: ReactNode;
24
+ /**
25
+ * Your own trigger, rendered with `asChild` instead of Arc's labelled button, such as an icon button with its own
26
+ * `aria-label`. It must accept a ref and be focusable.
27
+ */
28
+ trigger?: ReactElement;
29
+ /** Single selection: rows with a `value` render as radio items checked against `selection.value`. */
30
+ selection?: DropdownMenuSelection;
31
+ /** Preferred side of the trigger. Defaults to `bottom`. */
32
+ side?: DropdownMenuSide;
33
+ /** Alignment against the trigger. Defaults to `start`. */
34
+ align?: DropdownMenuAlign;
35
+ /** Class added to the menu panel. */
36
+ contentClassName?: string;
37
+ /** Accessible name of the menu when it should differ from `label`. */
38
+ contentLabel?: string;
39
+ /** Class added to the trigger Arc draws. */
40
+ className?: string;
41
+ /** Controlled open state. */
42
+ open?: boolean;
43
+ /** Initial open state when uncontrolled. */
44
+ defaultOpen?: boolean;
45
+ /** Called when the menu opens or closes. */
46
+ onOpenChange?: (open: boolean) => void;
47
+ /** Blocks outside interaction and hides the rest of the page from assistive technology while open. Defaults to `true`. */
48
+ modal?: boolean;
49
+ };
50
+ /**
51
+ * A focused list of actions anchored to a trigger.
52
+ * @param props - The label, the items and optional trigger, selection, placement and open state.
53
+ * @returns The trigger with its menu.
54
+ */
55
+ declare function DropdownMenu({ label, items, icon, trigger, selection, side, align, contentClassName, contentLabel, className, open, defaultOpen, onOpenChange, modal, }: DropdownMenuProps): import("react").JSX.Element;
56
+ export { DropdownMenu };
57
+ export type { DropdownItem, DropdownItemAttributes, DropdownMenuSelection };