@exsto/ds 0.0.1-rc.3 → 0.0.1-rc.5

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 (107) hide show
  1. package/README.md +15 -27
  2. package/dist/ds/src/index.d.ts +2 -3
  3. package/dist/index.js +5042 -2
  4. package/dist/index.js.map +1 -0
  5. package/dist/styles.css +575 -224
  6. package/dist/theme.css +75 -8
  7. package/dist/ui/src/components/edyn/animated-number/animated-number.d.ts +30 -0
  8. package/dist/ui/src/components/edyn/animated-number/animated-number.test.d.ts +9 -0
  9. package/dist/ui/src/components/edyn/animated-number/index.d.ts +1 -0
  10. package/dist/ui/src/components/edyn/date-range-picker/date-range-picker.d.ts +20 -0
  11. package/dist/ui/src/components/edyn/date-range-picker/date-range-picker.test.d.ts +9 -0
  12. package/dist/ui/src/components/edyn/date-range-picker/index.d.ts +1 -0
  13. package/dist/ui/src/components/edyn/initials-avatar/index.d.ts +1 -0
  14. package/dist/ui/src/components/edyn/initials-avatar/initials-avatar.d.ts +53 -0
  15. package/dist/ui/src/components/edyn/initials-avatar/initials-avatar.test.d.ts +10 -0
  16. package/dist/ui/src/components/edyn/multi-select/index.d.ts +1 -0
  17. package/dist/ui/src/components/edyn/multi-select/multi-select.d.ts +88 -0
  18. package/dist/ui/src/components/edyn/multi-select/multi-select.test.d.ts +9 -0
  19. package/dist/ui/src/components/edyn/progress-line/index.d.ts +1 -0
  20. package/dist/ui/src/components/edyn/progress-line/progress-line.d.ts +23 -0
  21. package/dist/ui/src/components/edyn/progress-line/progress-line.test.d.ts +9 -0
  22. package/dist/ui/src/components/ui/attachment/attachment.d.ts +1 -1
  23. package/dist/ui/src/components/ui/button/button.behavior.test.d.ts +8 -0
  24. package/dist/ui/src/components/ui/command/command.d.ts +17 -1
  25. package/dist/ui/src/components/ui/dropdown-menu/dropdown-menu.d.ts +12 -1
  26. package/dist/ui/src/components/ui/input-group/input-group.d.ts +1 -1
  27. package/dist/ui/src/components/ui/item/item.d.ts +1 -1
  28. package/dist/ui/src/components/ui/progress/progress.behavior.test.d.ts +8 -0
  29. package/dist/ui/src/components/ui/progress/progress.d.ts +9 -1
  30. package/dist/ui/src/components/ui/scroll-area/scroll-area.behavior.test.d.ts +12 -0
  31. package/dist/ui/src/components/ui/scroll-area/scroll-area.d.ts +59 -6
  32. package/dist/ui/src/components/ui/separator/separator.behavior.test.d.ts +14 -0
  33. package/dist/ui/src/components/ui/separator/separator.d.ts +14 -0
  34. package/dist/ui/src/components/ui/table/table.behavior.test.d.ts +4 -5
  35. package/dist/ui/src/index.d.ts +5 -0
  36. package/dist/ui/src/lib/focus-ring.test.d.ts +8 -0
  37. package/dist/ui/src/lib/popup-list.d.ts +47 -0
  38. package/dist/ui/src/lib/popup-list.test.d.ts +10 -0
  39. package/package.json +4 -9
  40. package/dist/chunks/toggle-group-ByNq8g7H.js +0 -4263
  41. package/dist/chunks/toggle-group-ByNq8g7H.js.map +0 -1
  42. package/dist/dom/src/context.d.ts +0 -34
  43. package/dist/dom/src/define-element.d.ts +0 -11
  44. package/dist/dom/src/define-element.test.d.ts +0 -1
  45. package/dist/dom/src/field-control.d.ts +0 -5
  46. package/dist/dom/src/index.d.ts +0 -6
  47. package/dist/dom/src/mode.d.ts +0 -8
  48. package/dist/dom/src/native-slot.test.d.ts +0 -1
  49. package/dist/dom/src/styles.d.ts +0 -6
  50. package/dist/dom/src/theme-state.d.ts +0 -1
  51. package/dist/dom/src/types.d.ts +0 -65
  52. package/dist/ds/src/elements.d.ts +0 -12
  53. package/dist/elements/src/edx-accordion.d.ts +0 -14
  54. package/dist/elements/src/edx-accordion.test.d.ts +0 -1
  55. package/dist/elements/src/edx-alert.d.ts +0 -14
  56. package/dist/elements/src/edx-audio-player.d.ts +0 -11
  57. package/dist/elements/src/edx-avatar.d.ts +0 -10
  58. package/dist/elements/src/edx-badge.d.ts +0 -12
  59. package/dist/elements/src/edx-breadcrumb.d.ts +0 -11
  60. package/dist/elements/src/edx-button-group.d.ts +0 -7
  61. package/dist/elements/src/edx-button.d.ts +0 -20
  62. package/dist/elements/src/edx-calendar.d.ts +0 -21
  63. package/dist/elements/src/edx-card.d.ts +0 -8
  64. package/dist/elements/src/edx-checkbox.d.ts +0 -18
  65. package/dist/elements/src/edx-combobox.d.ts +0 -28
  66. package/dist/elements/src/edx-content-components.d.ts +0 -2
  67. package/dist/elements/src/edx-dialog.d.ts +0 -20
  68. package/dist/elements/src/edx-drawer.d.ts +0 -21
  69. package/dist/elements/src/edx-dropdown-menu.d.ts +0 -29
  70. package/dist/elements/src/edx-field.d.ts +0 -9
  71. package/dist/elements/src/edx-field.test.d.ts +0 -1
  72. package/dist/elements/src/edx-indicator.d.ts +0 -14
  73. package/dist/elements/src/edx-input-group.d.ts +0 -32
  74. package/dist/elements/src/edx-input-otp.d.ts +0 -19
  75. package/dist/elements/src/edx-input.d.ts +0 -31
  76. package/dist/elements/src/edx-interactive-components.d.ts +0 -2
  77. package/dist/elements/src/edx-label.d.ts +0 -6
  78. package/dist/elements/src/edx-pagination.d.ts +0 -8
  79. package/dist/elements/src/edx-popover.d.ts +0 -24
  80. package/dist/elements/src/edx-progress.d.ts +0 -10
  81. package/dist/elements/src/edx-radio-group.d.ts +0 -22
  82. package/dist/elements/src/edx-radio-group.test.d.ts +0 -1
  83. package/dist/elements/src/edx-scroll-area.d.ts +0 -15
  84. package/dist/elements/src/edx-scroll-area.test.d.ts +0 -1
  85. package/dist/elements/src/edx-select.d.ts +0 -34
  86. package/dist/elements/src/edx-separator.d.ts +0 -10
  87. package/dist/elements/src/edx-skeleton.d.ts +0 -8
  88. package/dist/elements/src/edx-slider.d.ts +0 -17
  89. package/dist/elements/src/edx-slider.test.d.ts +0 -1
  90. package/dist/elements/src/edx-switch.d.ts +0 -18
  91. package/dist/elements/src/edx-table.d.ts +0 -13
  92. package/dist/elements/src/edx-table.test.d.ts +0 -1
  93. package/dist/elements/src/edx-tabs.d.ts +0 -15
  94. package/dist/elements/src/edx-tabs.test.d.ts +0 -1
  95. package/dist/elements/src/edx-textarea.d.ts +0 -25
  96. package/dist/elements/src/edx-toggle-group.d.ts +0 -27
  97. package/dist/elements/src/edx-toggle-group.test.d.ts +0 -1
  98. package/dist/elements/src/edx-toggle.d.ts +0 -18
  99. package/dist/elements/src/edx-tooltip.d.ts +0 -28
  100. package/dist/elements/src/edx-video-player.d.ts +0 -16
  101. package/dist/elements/src/field-control-bridge.d.ts +0 -7
  102. package/dist/elements/src/index.d.ts +0 -14
  103. package/dist/elements/src/projected-content.test.d.ts +0 -1
  104. package/dist/elements/src/registry.d.ts +0 -39
  105. package/dist/elements/src/registry.test.d.ts +0 -1
  106. package/dist/elements.js +0 -4020
  107. package/dist/elements.js.map +0 -1
@@ -1,34 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { IEdxHost, TDomMode, TEmit } from './types';
3
- interface IEdxHostContext extends IEdxHost {
4
- slotHtml: string;
5
- }
6
- interface IEdxHostProviderProps {
7
- value: IEdxHostContext;
8
- children: ReactNode;
9
- }
10
- export declare const EdxHostProvider: (props: IEdxHostProviderProps) => import('react').JSX.Element;
11
- export declare const useEdxHost: () => IEdxHostContext;
12
- export declare const useEmit: () => TEmit;
13
- /** The node Radix/shadcn overlays should portal into (shadow root in shadow mode, `null` -> body in light mode). */
14
- export declare const usePortalContainer: () => HTMLElement | null;
15
- export declare const useDomMode: () => TDomMode;
16
- interface ISlotProps {
17
- /**
18
- * Optional slot name. When provided in shadow mode, renders `<slot name="...">` so
19
- * consumers can assign host-light-DOM children to specific named projection points.
20
- * Named slots are shadow-mode only; in light mode the `name` prop is ignored and
21
- * the default (single) re-inflation path is used unchanged.
22
- */
23
- name?: string;
24
- }
25
- /**
26
- * Projects host light-DOM children. Renders a native `<slot>` in shadow mode and
27
- * re-inflates the captured markup in light mode (where no native slotting exists).
28
- *
29
- * Pass an optional `name` prop to render a named `<slot name="...">` in shadow mode,
30
- * enabling multi-part containers (Tabs, Accordion, Table) to host their trigger/panel
31
- * content as live, host-owned light-DOM nodes assigned to distinct projection points.
32
- */
33
- export declare const Slot: ({ name }?: ISlotProps) => import('react').JSX.Element | null;
34
- export {};
@@ -1,11 +0,0 @@
1
- import { ComponentType } from 'react';
2
- import { IDefineElementOptions } from './types';
3
- /**
4
- * Register a React component as an `<edx-*>` custom element.
5
- *
6
- * Works in light or shadow DOM from the same component code. Attribute changes
7
- * re-render (React reconciles, state and focus are preserved, no remount). The
8
- * component reads host context via the `@edyn/dom` hooks (`useEmit`,
9
- * `usePortalContainer`, `Slot`).
10
- */
11
- export declare const defineElement: <TProps extends object>(tag: string, Component: ComponentType<TProps>, options?: IDefineElementOptions<TProps>) => void;
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- export declare const EDX_FIELD_CONTROL_CONNECT_EVENT = "edx-field-control-connect";
2
- export interface IEdxFieldControlRegistrationDetail {
3
- control: HTMLElement;
4
- setCleanup: (cleanup: () => void) => void;
5
- }
@@ -1,6 +0,0 @@
1
- export { EdxHostProvider, Slot, useDomMode, useEdxHost, useEmit, usePortalContainer } from './context';
2
- export { defineElement } from './define-element';
3
- export { EDX_FIELD_CONTROL_CONNECT_EVENT, type IEdxFieldControlRegistrationDetail } from './field-control';
4
- export { getDefaultMode, setDefaultMode } from './mode';
5
- export { getStyleSheet } from './styles';
6
- export type { IDefineElementOptions, IDomPropertyDescriptor, IEdxHost, TDomMode, TElementProps, TEmit, TFormValue } from './types';
@@ -1,8 +0,0 @@
1
- import { TDomMode } from './types';
2
- /**
3
- * Switch the default rendering mode for every element that does not pin its own
4
- * `mode`. This is the one knob for flipping the whole library between light and
5
- * shadow DOM.
6
- */
7
- export declare const setDefaultMode: (mode: TDomMode) => void;
8
- export declare const getDefaultMode: () => TDomMode;
@@ -1 +0,0 @@
1
- export {};
@@ -1,6 +0,0 @@
1
- /**
2
- * Build (or reuse) a constructable stylesheet for the given CSS. Sheets are
3
- * cached by content so every shadow root adopts the *same* sheet by reference:
4
- * no per-instance `<style>` duplication.
5
- */
6
- export declare const getStyleSheet: (css: string) => CSSStyleSheet | null;
@@ -1 +0,0 @@
1
- export declare const registerShadowThemeTargets: (...nextTargets: HTMLElement[]) => (() => void);
@@ -1,65 +0,0 @@
1
- export type TDomMode = 'light' | 'shadow';
2
- export type TEmit = (type: string, detail?: unknown) => void;
3
- export type TFormValue = File | string | FormData | null;
4
- export interface IEdxHost {
5
- host: HTMLElement;
6
- mode: TDomMode;
7
- emit: TEmit;
8
- portalContainer: HTMLElement | null;
9
- setFormValue: (value: TFormValue, state?: TFormValue) => void;
10
- }
11
- export type TElementProps = Record<string, unknown>;
12
- /** Descriptor for a single reflected DOM property on a custom element. */
13
- export interface IDomPropertyDescriptor<TValue> {
14
- /** Read the current value from the element (called by external getters). */
15
- get: (host: HTMLElement) => TValue;
16
- /**
17
- * Write a new value into the element (called by external setters).
18
- * Typically updates an attribute or calls setProps so the React subtree
19
- * re-renders with the new value.
20
- */
21
- set: (host: HTMLElement, value: TValue) => void;
22
- }
23
- export interface IDefineElementOptions<TProps extends object> {
24
- /** Per-element override. Falls back to the global default mode. */
25
- mode?: TDomMode;
26
- /** Attributes mirrored into component props and watched for changes. */
27
- observedAttributes?: string[];
28
- /** Shadow root mode when `mode` resolves to `'shadow'`. */
29
- shadowMode?: ShadowRootMode;
30
- /** Compiled CSS adopted into the shadow root. Ignored in light mode. */
31
- styles?: string;
32
- /** Coerce raw attribute strings (and read element state) into typed props. */
33
- transformProps?: (raw: Record<string, string | null>, host: HTMLElement) => TProps;
34
- /** Light-mode host CSS display (default 'block'). */
35
- display?: string;
36
- /**
37
- * Optional map of DOM property names to descriptors. Each entry adds a
38
- * real JS getter/setter to the element prototype so host frameworks can
39
- * read and write values directly (e.g. `el.checked = true`).
40
- *
41
- * Boolean controls (switch, checkbox) use this to expose `.checked`;
42
- * text controls expose `.value` this way so CVA / ng-model bridges work.
43
- */
44
- domProperties?: Record<string, IDomPropertyDescriptor<unknown>>;
45
- /**
46
- * When true, click events that land on the host element are forwarded to
47
- * the first supported interactive descendant (`button`, `input`, `select`,
48
- * `textarea`, switch, or checkbox).
49
- * Also forwards `focus` events so `<label for="...">` association works:
50
- * clicking the label activates/focuses the control inside the host.
51
- * Host activation is forwarded in both modes. Shadow mode also maps focus to
52
- * `ShadowRootInit.delegatesFocus`; light mode forwards focus explicitly.
53
- */
54
- delegateClick?: boolean;
55
- /**
56
- * When true, register as a form-associated custom element (static
57
- * formAssociated = true), which makes it labelable: a native
58
- * <label for="..."> routes its click to the host, where delegateClick
59
- * can forward it to the inner control. Form-associated shadow hosts always
60
- * delegate focus so `host.focus()` reaches their real control.
61
- */
62
- formAssociated?: boolean;
63
- /** Value submitted by a shadow-mode form-associated custom element. */
64
- formValue?: (props: TProps, host: HTMLElement) => TFormValue;
65
- }
@@ -1,12 +0,0 @@
1
- import { IRegisterOptions } from '../../elements/src';
2
- export * from '../../dom/src';
3
- export type { IRegisterContext, IRegisterOptions } from '../../elements/src';
4
- export { coerceBool, coerceJson, coerceNumber } from '../../elements/src';
5
- /** The design system's compiled CSS, as a string, for shadow roots. */
6
- export declare const elementStyles: string;
7
- /**
8
- * Register every `<edx-*>` element. Defaults to shadow DOM with the bundled
9
- * stylesheet; pass `styles` to override, or `mode: 'light'` to opt out of
10
- * shadow DOM. Calling it more than once is harmless.
11
- */
12
- export declare const registerElements: (options?: IRegisterOptions) => void;
@@ -1,14 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IAccordionItem {
3
- value: string;
4
- label: string;
5
- disabled?: boolean;
6
- }
7
- export interface IEdxAccordionProps {
8
- items?: IAccordionItem[];
9
- value?: string | string[];
10
- defaultValue?: string | string[];
11
- openMultiple?: boolean;
12
- }
13
- export declare const EdxAccordion: (props: IEdxAccordionProps) => import('react').JSX.Element;
14
- export declare const registerEdxAccordion: (ctx: IRegisterContext) => void;
@@ -1 +0,0 @@
1
- export {};
@@ -1,14 +0,0 @@
1
- import { Alert } from '../../ui/src';
2
- import { ComponentProps } from 'react';
3
- import { IRegisterContext } from './registry';
4
- type TAlertVariant = ComponentProps<typeof Alert>['variant'];
5
- export interface IEdxAlertProps {
6
- variant?: TAlertVariant;
7
- title?: string;
8
- description?: string;
9
- actionLabel?: string;
10
- actionAriaLabel?: string;
11
- }
12
- export declare const EdxAlert: (props: IEdxAlertProps) => import('react').JSX.Element;
13
- export declare const registerEdxAlert: (ctx: IRegisterContext) => void;
14
- export {};
@@ -1,11 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxAudioPlayerProps {
3
- src?: string;
4
- muted?: boolean;
5
- loop?: boolean;
6
- disabled?: boolean;
7
- width?: string;
8
- ariaLabel?: string;
9
- }
10
- export declare const EdxAudioPlayer: (props: IEdxAudioPlayerProps) => import('react').JSX.Element;
11
- export declare const registerEdxAudioPlayer: (ctx: IRegisterContext) => void;
@@ -1,10 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxAvatarProps {
3
- src?: string;
4
- alt?: string;
5
- fallback?: string;
6
- size?: 'sm' | 'default' | 'lg';
7
- status?: 'online' | 'away' | 'busy' | 'offline';
8
- }
9
- export declare const EdxAvatar: (props: IEdxAvatarProps) => import('react').JSX.Element;
10
- export declare const registerEdxAvatar: (ctx: IRegisterContext) => void;
@@ -1,12 +0,0 @@
1
- import { Badge } from '../../ui/src';
2
- import { ComponentProps } from 'react';
3
- import { IRegisterContext } from './registry';
4
- type TBadgeVariant = ComponentProps<typeof Badge>['variant'];
5
- type TBadgeSize = ComponentProps<typeof Badge>['size'];
6
- export interface IEdxBadgeProps {
7
- variant?: TBadgeVariant;
8
- size?: TBadgeSize;
9
- }
10
- export declare const EdxBadge: (props: IEdxBadgeProps) => import('react').JSX.Element;
11
- export declare const registerEdxBadge: (ctx: IRegisterContext) => void;
12
- export {};
@@ -1,11 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxBreadcrumbItem {
3
- label: string;
4
- href?: string;
5
- current?: boolean;
6
- }
7
- export interface IEdxBreadcrumbProps {
8
- items?: IEdxBreadcrumbItem[];
9
- }
10
- export declare const EdxBreadcrumb: (props: IEdxBreadcrumbProps) => import('react').JSX.Element;
11
- export declare const registerEdxBreadcrumb: (ctx: IRegisterContext) => void;
@@ -1,7 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export type TEdxButtonGroupOrientation = 'horizontal' | 'vertical';
3
- export interface IEdxButtonGroupProps {
4
- orientation?: TEdxButtonGroupOrientation;
5
- }
6
- export declare const EdxButtonGroup: (props: IEdxButtonGroupProps) => import('react').JSX.Element;
7
- export declare const registerEdxButtonGroup: (ctx: IRegisterContext) => void;
@@ -1,20 +0,0 @@
1
- import { Button } from '../../ui/src';
2
- import { ComponentProps } from 'react';
3
- import { IRegisterContext } from './registry';
4
- type TButtonVariant = ComponentProps<typeof Button>['variant'];
5
- type TButtonSize = ComponentProps<typeof Button>['size'];
6
- export interface IEdxButtonProps {
7
- variant?: TButtonVariant;
8
- size?: TButtonSize;
9
- disabled?: boolean;
10
- ariaLabel?: string;
11
- ariaDescription?: string;
12
- type?: 'button' | 'submit' | 'reset';
13
- name?: string;
14
- form?: string;
15
- value?: string;
16
- autofocus?: boolean;
17
- }
18
- export declare const EdxButton: (props: IEdxButtonProps) => import('react').JSX.Element;
19
- export declare const registerEdxButton: (ctx: IRegisterContext) => void;
20
- export {};
@@ -1,21 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxCalendarProps {
3
- value?: string;
4
- defaultValue?: string;
5
- disabled?: boolean;
6
- required?: boolean;
7
- name?: string;
8
- form?: string;
9
- min?: string;
10
- max?: string;
11
- numberOfMonths?: number;
12
- showOutsideDays?: boolean;
13
- fixedWeeks?: boolean;
14
- hideNavigation?: boolean;
15
- weekStartsOn?: number;
16
- ariaLabel?: string;
17
- ariaDescription?: string;
18
- invalid?: boolean;
19
- }
20
- export declare const EdxCalendar: (props: IEdxCalendarProps) => import('react').JSX.Element;
21
- export declare const registerEdxCalendar: (ctx: IRegisterContext) => void;
@@ -1,8 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxCardProps {
3
- heading?: string;
4
- description?: string;
5
- size?: 'default' | 'sm';
6
- }
7
- export declare const EdxCard: (props: IEdxCardProps) => import('react').JSX.Element;
8
- export declare const registerEdxCard: (ctx: IRegisterContext) => void;
@@ -1,18 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxCheckboxProps {
3
- checked?: boolean;
4
- defaultChecked?: boolean;
5
- indeterminate?: boolean;
6
- disabled?: boolean;
7
- readonly?: boolean;
8
- required?: boolean;
9
- name?: string;
10
- form?: string;
11
- value?: string;
12
- uncheckedValue?: string;
13
- invalid?: boolean;
14
- ariaLabel?: string;
15
- ariaDescription?: string;
16
- }
17
- export declare const EdxCheckbox: (props: IEdxCheckboxProps) => import('react').JSX.Element;
18
- export declare const registerEdxCheckbox: (ctx: IRegisterContext) => void;
@@ -1,28 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- interface IComboboxOption {
3
- value: string;
4
- label: string;
5
- }
6
- export interface IEdxComboboxProps {
7
- options?: IComboboxOption[];
8
- value?: string | null;
9
- inputValue?: string;
10
- placeholder?: string;
11
- disabled?: boolean;
12
- readonly?: boolean;
13
- required?: boolean;
14
- name?: string;
15
- form?: string;
16
- open?: boolean;
17
- defaultOpen?: boolean;
18
- modal?: boolean;
19
- openOnInputClick?: boolean;
20
- autoHighlight?: boolean;
21
- highlightItemOnHover?: boolean;
22
- ariaLabel?: string;
23
- ariaDescription?: string;
24
- invalid?: boolean;
25
- }
26
- export declare const EdxCombobox: (props: IEdxComboboxProps) => import('react').JSX.Element;
27
- export declare const registerEdxCombobox: (ctx: IRegisterContext) => void;
28
- export {};
@@ -1,2 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export declare const registerEdxContentComponents: (ctx: IRegisterContext) => void;
@@ -1,20 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxDialogProps {
3
- triggerLabel?: string;
4
- heading?: string;
5
- description?: string;
6
- open?: boolean;
7
- defaultOpen?: boolean;
8
- modal?: boolean;
9
- disablePointerDismissal?: boolean;
10
- }
11
- /**
12
- * Overlay/portal proof, and the template every class-4 overlay copies. Overlays
13
- * are pinned to **light mode**: Base UI's DialogContent/Portal always lands in
14
- * document.body and does not forward a portal `container`, so under shadow mode
15
- * the portaled content escapes the shadow root, loses the adopted stylesheet, and
16
- * renders unstyled with no error. Pinning `mode: 'light'` (not `ctx.mode`) makes
17
- * that footgun impossible to inherit by mistake. See docs/delivery-classes.md.
18
- */
19
- export declare const EdxDialog: (props: IEdxDialogProps) => import('react').JSX.Element;
20
- export declare const registerEdxDialog: (ctx: IRegisterContext) => void;
@@ -1,21 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- type TDrawerSide = 'left' | 'right' | 'top' | 'bottom';
3
- export interface IEdxDrawerProps {
4
- triggerLabel?: string;
5
- heading?: string;
6
- description?: string;
7
- side?: TDrawerSide;
8
- open?: boolean;
9
- defaultOpen?: boolean;
10
- modal?: boolean;
11
- disablePointerDismissal?: boolean;
12
- }
13
- /**
14
- * Side-anchored overlay, the same light-mode pattern as edx-dialog (registered via
15
- * registerOverlayElement, which pins mode:'light' so the Base UI portal can land
16
- * in document.body). Content is attribute-driven (trigger-label/heading/description
17
- * + an optional static slot); `side` chooses the edge.
18
- */
19
- export declare const EdxDrawer: (props: IEdxDrawerProps) => import('react').JSX.Element;
20
- export declare const registerEdxDrawer: (ctx: IRegisterContext) => void;
21
- export {};
@@ -1,29 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxDropdownMenuItem {
3
- label: string;
4
- value?: string;
5
- disabled?: boolean;
6
- }
7
- export interface IEdxDropdownMenuProps {
8
- triggerLabel?: string;
9
- label?: string;
10
- items?: IEdxDropdownMenuItem[];
11
- open?: boolean;
12
- defaultOpen?: boolean;
13
- modal?: boolean;
14
- disabled?: boolean;
15
- loopFocus?: boolean;
16
- highlightItemOnHover?: boolean;
17
- side?: 'top' | 'right' | 'bottom' | 'left';
18
- align?: 'start' | 'center' | 'end';
19
- sideOffset?: number;
20
- alignOffset?: number;
21
- }
22
- /**
23
- * Action-menu overlay, the same light-mode pattern as edx-dialog (registered via
24
- * registerOverlayElement, which pins mode:'light' so the Base UI portal can land
25
- * in document.body). Content is attribute-driven (no `<Slot />`): the menu items
26
- * come in as a JSON `items` attribute, the same JSON-attribute shape as edx-table.
27
- */
28
- export declare const EdxDropdownMenu: (props: IEdxDropdownMenuProps) => import('react').JSX.Element;
29
- export declare const registerEdxDropdownMenu: (ctx: IRegisterContext) => void;
@@ -1,9 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxFieldProps {
3
- label?: string;
4
- description?: string;
5
- error?: string;
6
- invalid?: boolean;
7
- }
8
- export declare const EdxField: (props: IEdxFieldProps) => import('react').JSX.Element;
9
- export declare const registerEdxField: (ctx: IRegisterContext) => void;
@@ -1 +0,0 @@
1
- export {};
@@ -1,14 +0,0 @@
1
- import { Indicator } from '../../ui/src/components/ui/indicator';
2
- import { ComponentProps } from 'react';
3
- import { IRegisterContext } from './registry';
4
- type TIndicatorVariant = ComponentProps<typeof Indicator>['variant'];
5
- type TIndicatorSide = ComponentProps<typeof Indicator>['side'];
6
- type TIndicatorAlign = ComponentProps<typeof Indicator>['align'];
7
- export interface IEdxIndicatorProps {
8
- variant?: TIndicatorVariant;
9
- side?: TIndicatorSide;
10
- align?: TIndicatorAlign;
11
- }
12
- export declare const EdxIndicator: (props: IEdxIndicatorProps) => import('react').JSX.Element;
13
- export declare const registerEdxIndicator: (ctx: IRegisterContext) => void;
14
- export {};
@@ -1,32 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxInputGroupProps {
3
- addon?: string;
4
- prefix?: string;
5
- suffix?: string;
6
- actionLabel?: string;
7
- placeholder?: string;
8
- value?: string;
9
- disabled?: boolean;
10
- readonly?: boolean;
11
- invalid?: boolean;
12
- type?: string;
13
- name?: string;
14
- form?: string;
15
- required?: boolean;
16
- autoComplete?: string;
17
- inputMode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
18
- min?: string;
19
- max?: string;
20
- step?: string;
21
- minLength?: number;
22
- maxLength?: number;
23
- pattern?: string;
24
- accept?: string;
25
- multiple?: boolean;
26
- spellCheck?: boolean;
27
- autofocus?: boolean;
28
- ariaLabel?: string;
29
- ariaDescription?: string;
30
- }
31
- export declare const EdxInputGroup: (props: IEdxInputGroupProps) => import('react').JSX.Element;
32
- export declare const registerEdxInputGroup: (ctx: IRegisterContext) => void;
@@ -1,19 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxInputOtpProps {
3
- length?: number;
4
- value?: string;
5
- defaultValue?: string;
6
- disabled?: boolean;
7
- readonly?: boolean;
8
- required?: boolean;
9
- name?: string;
10
- form?: string;
11
- autoComplete?: string;
12
- inputMode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
13
- pattern?: string;
14
- invalid?: boolean;
15
- ariaLabel?: string;
16
- ariaDescription?: string;
17
- }
18
- export declare const EdxInputOtp: (props: IEdxInputOtpProps) => import('react').JSX.Element;
19
- export declare const registerEdxInputOtp: (ctx: IRegisterContext) => void;
@@ -1,31 +0,0 @@
1
- import { ComponentProps } from 'react';
2
- import { IRegisterContext } from './registry';
3
- type TNativeInputProps = ComponentProps<'input'>;
4
- export interface IEdxInputProps {
5
- value?: string;
6
- placeholder?: string;
7
- type?: string;
8
- disabled?: boolean;
9
- readonly?: boolean;
10
- invalid?: boolean;
11
- name?: string;
12
- form?: string;
13
- required?: boolean;
14
- autoComplete?: string;
15
- inputMode?: TNativeInputProps['inputMode'];
16
- min?: TNativeInputProps['min'];
17
- max?: TNativeInputProps['max'];
18
- step?: TNativeInputProps['step'];
19
- minLength?: number;
20
- maxLength?: number;
21
- pattern?: string;
22
- accept?: string;
23
- multiple?: boolean;
24
- spellCheck?: boolean;
25
- autoFocus?: boolean;
26
- ariaLabel?: string;
27
- ariaDescription?: string;
28
- }
29
- export declare const EdxInput: (props: IEdxInputProps) => import('react').JSX.Element;
30
- export declare const registerEdxInput: (ctx: IRegisterContext) => void;
31
- export {};
@@ -1,2 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export declare const registerEdxInteractiveComponents: (ctx: IRegisterContext) => void;
@@ -1,6 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxLabelProps {
3
- for?: string;
4
- }
5
- export declare const EdxLabel: (props: IEdxLabelProps) => import('react').JSX.Element;
6
- export declare const registerEdxLabel: (ctx: IRegisterContext) => void;
@@ -1,8 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxPaginationProps {
3
- page?: number;
4
- count?: number;
5
- siblingCount?: number;
6
- }
7
- export declare const EdxPagination: (props: IEdxPaginationProps) => import('react').JSX.Element;
8
- export declare const registerEdxPagination: (ctx: IRegisterContext) => void;
@@ -1,24 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxPopoverProps {
3
- triggerLabel?: string;
4
- heading?: string;
5
- description?: string;
6
- open?: boolean;
7
- defaultOpen?: boolean;
8
- modal?: boolean;
9
- openOnHover?: boolean;
10
- delay?: number;
11
- closeDelay?: number;
12
- side?: 'top' | 'right' | 'bottom' | 'left';
13
- align?: 'start' | 'center' | 'end';
14
- sideOffset?: number;
15
- alignOffset?: number;
16
- }
17
- /**
18
- * Click-triggered overlay, the same light-mode pattern as edx-dialog (registered
19
- * via registerOverlayElement, which pins mode:'light' so the Base UI portal can
20
- * land in document.body). Content is attribute-driven (no `<Slot />`): heading +
21
- * description cover the common popover body, mirroring the dialog header shape.
22
- */
23
- export declare const EdxPopover: (props: IEdxPopoverProps) => import('react').JSX.Element;
24
- export declare const registerEdxPopover: (ctx: IRegisterContext) => void;
@@ -1,10 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IEdxProgressProps {
3
- value?: number | null;
4
- label?: string;
5
- min?: number;
6
- max?: number;
7
- ariaValueText?: string;
8
- }
9
- export declare const EdxProgress: (props: IEdxProgressProps) => import('react').JSX.Element;
10
- export declare const registerEdxProgress: (ctx: IRegisterContext) => void;
@@ -1,22 +0,0 @@
1
- import { IRegisterContext } from './registry';
2
- export interface IRadioOption {
3
- value: string;
4
- label: string;
5
- disabled?: boolean;
6
- }
7
- export interface IEdxRadioGroupProps {
8
- options?: IRadioOption[];
9
- value?: string;
10
- defaultValue?: string;
11
- disabled?: boolean;
12
- readonly?: boolean;
13
- required?: boolean;
14
- name?: string;
15
- form?: string;
16
- invalid?: boolean;
17
- orientation?: 'horizontal' | 'vertical';
18
- ariaLabel?: string;
19
- ariaDescription?: string;
20
- }
21
- export declare const EdxRadioGroup: (props: IEdxRadioGroupProps) => import('react').JSX.Element;
22
- export declare const registerEdxRadioGroup: (ctx: IRegisterContext) => void;
@@ -1 +0,0 @@
1
- export {};