@opencxh/ui-kit 3.81.0 → 3.83.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.
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ export interface AvatarProps {
3
+ /** Full name; used for the initials fallback and alt/title text */
4
+ name?: string;
5
+ /** Optional image URL; falls back to initials when absent or on load error */
6
+ src?: string;
7
+ /** Size preset */
8
+ size?: "xs" | "sm" | "md" | "lg";
9
+ /** Additional CSS classes */
10
+ className?: string;
11
+ /** Override the title attribute (defaults to `name`) */
12
+ title?: string;
13
+ }
14
+ /**
15
+ * Circular avatar: renders the photo when `src` is set (falling back to
16
+ * initials on error), otherwise a monogram derived from `name`.
17
+ */
18
+ export declare const Avatar: React.FC<AvatarProps>;
@@ -0,0 +1,23 @@
1
+ import { default as React } from 'react';
2
+ import { AvatarProps } from './Avatar';
3
+ export interface AvatarStackPerson {
4
+ id?: string;
5
+ name?: string;
6
+ src?: string;
7
+ /** Owner / assignee — rendered with an accent ring */
8
+ owner?: boolean;
9
+ /** Whether this person has seen the item; unseen renders dimmed */
10
+ seen?: boolean;
11
+ }
12
+ export interface AvatarStackProps {
13
+ people: AvatarStackPerson[];
14
+ /** Max avatars to show before collapsing the rest into a "+N" chip */
15
+ max?: number;
16
+ size?: AvatarProps["size"];
17
+ className?: string;
18
+ }
19
+ /**
20
+ * Overlapping row of avatars with an optional "+N" overflow chip. Unseen
21
+ * people are dimmed; the owner carries an accent ring.
22
+ */
23
+ export declare const AvatarStack: React.FC<AvatarStackProps>;
@@ -16,9 +16,12 @@ export { StorageInput, type StorageInputProps } from './input/StorageInput';
16
16
  export { Form, type FormButtonProps, type FormFieldType, type FormGroup, type FormGroupItem, type FormProps } from './forms/Form';
17
17
  export { Dropdown, type DropdownOption, type DropdownProps } from './overlays/Dropdown';
18
18
  export { Modal, type ModalProps } from './overlays/Modal';
19
+ export { Popover, type PopoverProps } from './overlays/Popover';
19
20
  export { Badge, type BadgeProps } from './feedback/Badge';
20
21
  export { ContentLoading } from './feedback/ContentLoading';
21
22
  export { Spinner, type SpinnerProps } from './feedback/Spinner';
23
+ export { Avatar, type AvatarProps } from './content/Avatar';
24
+ export { AvatarStack, type AvatarStackProps, type AvatarStackPerson } from './content/AvatarStack';
22
25
  export { Icon, type IconProps } from './content/Icon';
23
26
  export { Image, type ImageProps } from './content/Image';
24
27
  export { PageHeader, type PageHeaderAction, type PageHeaderProps } from './content/PageHeader';
@@ -5,6 +5,8 @@ export interface MenuItem {
5
5
  count?: number;
6
6
  children?: MenuItem[];
7
7
  path?: string;
8
+ /** Start ingeklapt (alleen relevant als er children zijn). Default false. */
9
+ defaultCollapsed?: boolean;
8
10
  }
9
11
  interface SidebarMenuProps {
10
12
  title: string;
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ export interface PopoverProps {
3
+ /** Element that toggles the popover */
4
+ trigger: React.ReactNode;
5
+ /**
6
+ * Panel content. Pass a function to receive a `close` callback so rows can
7
+ * dismiss the popover after acting.
8
+ */
9
+ children: React.ReactNode | ((close: () => void) => React.ReactNode);
10
+ /** Panel placement relative to the trigger */
11
+ placement?: "bottom-start" | "bottom-end" | "top-start" | "top-end";
12
+ /** Additional CSS classes for the panel */
13
+ className?: string;
14
+ /** Whether the trigger is disabled */
15
+ disabled?: boolean;
16
+ }
17
+ /**
18
+ * Generic popover with click-outside / Escape dismissal. The panel is
19
+ * `position: fixed` (computed from the trigger) so it escapes any
20
+ * overflow-hidden or rounded-card ancestor instead of being clipped.
21
+ */
22
+ export declare const Popover: React.FC<PopoverProps>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencxh/ui-kit",
3
- "version": "3.81.0",
3
+ "version": "3.83.0",
4
4
  "description": "Theme-aware UI component library for OpenCXH platform",
5
5
  "type": "module",
6
6
  "exports": {