@tedi-design-system/react 16.1.0-rc.1 → 16.1.0-rc.3

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 (32) hide show
  1. package/bundle-stats.html +1 -1
  2. package/index.css +1 -1
  3. package/package.json +2 -1
  4. package/src/tedi/components/overlays/dropdown/dropdown-content/dropdown-content.cjs.js +1 -0
  5. package/src/tedi/components/overlays/dropdown/dropdown-content/dropdown-content.d.ts +4 -0
  6. package/src/tedi/components/overlays/dropdown/dropdown-content/dropdown-content.es.js +9 -0
  7. package/src/tedi/components/overlays/dropdown/dropdown-context.cjs.js +1 -0
  8. package/src/tedi/components/overlays/dropdown/dropdown-context.d.ts +20 -0
  9. package/src/tedi/components/overlays/dropdown/dropdown-context.es.js +11 -0
  10. package/src/tedi/components/overlays/dropdown/dropdown-helpers.cjs.js +1 -0
  11. package/src/tedi/components/overlays/dropdown/dropdown-helpers.d.ts +1 -0
  12. package/src/tedi/components/overlays/dropdown/dropdown-helpers.es.js +9 -0
  13. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.cjs.js +1 -0
  14. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.d.ts +67 -0
  15. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.es.js +64 -0
  16. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.module.scss.cjs.js +1 -0
  17. package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.module.scss.es.js +12 -0
  18. package/src/tedi/components/overlays/dropdown/dropdown-separator/dropdown-separator.cjs.js +1 -0
  19. package/src/tedi/components/overlays/dropdown/dropdown-separator/dropdown-separator.d.ts +1 -0
  20. package/src/tedi/components/overlays/dropdown/dropdown-separator/dropdown-separator.es.js +6 -0
  21. package/src/tedi/components/overlays/dropdown/dropdown-trigger/dropdown-trigger.cjs.js +1 -0
  22. package/src/tedi/components/overlays/dropdown/dropdown-trigger/dropdown-trigger.d.ts +8 -0
  23. package/src/tedi/components/overlays/dropdown/dropdown-trigger/dropdown-trigger.es.js +14 -0
  24. package/src/tedi/components/overlays/dropdown/dropdown.cjs.js +1 -0
  25. package/src/tedi/components/overlays/dropdown/dropdown.d.ts +75 -0
  26. package/src/tedi/components/overlays/dropdown/dropdown.es.js +114 -0
  27. package/src/tedi/components/overlays/dropdown/dropdown.module.scss.cjs.js +1 -0
  28. package/src/tedi/components/overlays/dropdown/dropdown.module.scss.es.js +8 -0
  29. package/src/tedi/components/overlays/dropdown/index.d.ts +5 -0
  30. package/src/tedi/index.d.ts +1 -0
  31. package/tedi.cjs.js +1 -1
  32. package/tedi.es.js +94 -83
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tedi-design-system/react",
3
- "version": "16.1.0-rc.1",
3
+ "version": "16.1.0-rc.3",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -107,6 +107,7 @@
107
107
  "@typescript-eslint/eslint-plugin": "^6.21.0",
108
108
  "@typescript-eslint/parser": "^6.21.0",
109
109
  "@vitejs/plugin-react": "^4.3.4",
110
+ "baseline-browser-mapping": "^2.10.0",
110
111
  "chromatic": "^13.3.4",
111
112
  "cross-env": "^7.0.3",
112
113
  "dompurify": "^3.3.0",
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),o=require("../dropdown-context.cjs.js"),r=({children:e})=>{const{setContent:t}=o.useDropdownContext();return n.useEffect(()=>(t(e),()=>t(null)),[e,t]),null};exports.DropdownContent=r;
@@ -0,0 +1,4 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const DropdownContent: ({ children }: {
3
+ children: ReactNode;
4
+ }) => null;
@@ -0,0 +1,9 @@
1
+ import { useEffect as n } from "react";
2
+ import { useDropdownContext as r } from "../dropdown-context.es.js";
3
+ const p = ({ children: o }) => {
4
+ const { setContent: t } = r();
5
+ return n(() => (t(o), () => t(null)), [o, t]), null;
6
+ };
7
+ export {
8
+ p as DropdownContent
9
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),e=t.createContext(null),n=()=>{const o=t.useContext(e);if(!o)throw new Error("Dropdown components must be used within <Dropdown />");return o};exports.DropdownContext=e;exports.useDropdownContext=n;
@@ -0,0 +1,20 @@
1
+ import { useFloating, useInteractions } from '@floating-ui/react';
2
+ import { default as React } from 'react';
3
+ export type DropdownContextValue = {
4
+ open: boolean;
5
+ setOpen: (open: boolean) => void;
6
+ refs: ReturnType<typeof useFloating>['refs'];
7
+ getReferenceProps: ReturnType<typeof useInteractions>['getReferenceProps'];
8
+ getFloatingProps: ReturnType<typeof useInteractions>['getFloatingProps'];
9
+ getItemProps: ReturnType<typeof useInteractions>['getItemProps'];
10
+ listItemsRef: React.MutableRefObject<Array<HTMLButtonElement | null>>;
11
+ activeIndex: number | null;
12
+ setActiveIndex: (index: number | null) => void;
13
+ placement?: string;
14
+ content: React.ReactNode;
15
+ setContent: (content: React.ReactNode) => void;
16
+ divided?: boolean;
17
+ variant?: 'default' | 'tree';
18
+ };
19
+ export declare const DropdownContext: React.Context<DropdownContextValue | null>;
20
+ export declare const useDropdownContext: () => DropdownContextValue;
@@ -0,0 +1,11 @@
1
+ import t, { useContext as n } from "react";
2
+ const e = t.createContext(null), s = () => {
3
+ const o = n(e);
4
+ if (!o)
5
+ throw new Error("Dropdown components must be used within <Dropdown />");
6
+ return o;
7
+ };
8
+ export {
9
+ e as DropdownContext,
10
+ s as useDropdownContext
11
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=(r,e,o)=>{if(r==="full")return o;if(r==="trigger")return e;if(r!=="auto")return typeof r=="number"?`${r}px`:r};exports.resolveDropdownWidth=t;
@@ -0,0 +1 @@
1
+ export declare const resolveDropdownWidth: (width: "auto" | "trigger" | "full" | number | string, triggerWidth?: number, containerWidth?: number) => string | number | undefined;
@@ -0,0 +1,9 @@
1
+ const o = (r, e, n) => {
2
+ if (r === "full") return n;
3
+ if (r === "trigger") return e;
4
+ if (r !== "auto")
5
+ return typeof r == "number" ? `${r}px` : r;
6
+ };
7
+ export {
8
+ o as resolveDropdownWidth
9
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react/jsx-runtime"),j=require("../../../../../../external/classnames/index.cjs.js"),T=require("../dropdown-context.cjs.js"),r=require("./dropdown-item.module.scss.cjs.js"),K=({children:m,onClick:t,disabled:n,active:c,index:u,indent:i,asChild:o=!1,closeOnSelect:p=!0,isParent:w=!1,className:y})=>{const{getItemProps:_,listItemsRef:l,setOpen:s,activeIndex:v,divided:b,variant:f}=T.useDropdownContext(),x=o?"div":"button",I=e=>typeof e!="number"?{}:{"--dropdown-indent-level":e,"--dropdown-indent":`${e}rem`},g=e=>{if(n)return;const d=e.currentTarget.querySelector('input[type="checkbox"], input[type="radio"]');if(d){d.click();return}o?t==null||t(e):(t==null||t(e),p&&s(!1))},q=e=>{if(!n&&(e.key==="Enter"||e.key===" ")){e.preventDefault();const d=e.currentTarget.querySelector('input[type="checkbox"], input[type="radio"]');d?d.click():t==null||t(e),!o&&p&&s(!1)}},a={ref(e){typeof u=="number"&&(l.current[u]=e)},tabIndex:v===u?0:-1,className:j.default(r.default["tedi-dropdown__item"],{[r.default["tedi-dropdown__item--active"]]:c,[r.default["tedi-dropdown__item--disabled"]]:n,[r.default["tedi-dropdown__item--divided"]]:b,[r.default["tedi-dropdown__item--indent"]]:i,[r.default["tedi-dropdown__item--tree-item"]]:f==="tree"&&i,[r.default["tedi-dropdown__item--tree-parent"]]:f==="tree"&&w,className:y}),style:I(i),onClick:g,onKeyDown:q},D=o&&p===!1?a:_({role:"menuitem",disabled:o?void 0:n,...a});return P.jsx(x,{...D,children:m})};exports.DropdownItem=K;
@@ -0,0 +1,67 @@
1
+ export type DropdownItemProps = {
2
+ /**
3
+ * The content of the menu item (text, icons, checkbox, etc.)
4
+ */
5
+ children: React.ReactNode;
6
+ /**
7
+ * Called when the item is activated (mouse click or Enter/Space key).
8
+ * Receives either a MouseEvent or KeyboardEvent.
9
+ */
10
+ onClick?: (e: React.MouseEvent | React.KeyboardEvent) => void;
11
+ /**
12
+ * Disables the item — prevents interaction and applies disabled styling.
13
+ * @default false
14
+ */
15
+ disabled?: boolean;
16
+ /**
17
+ * Highlights the item visually (e.g. selected language, current sort option).
18
+ * Does **not** affect behavior — only styling.
19
+ *
20
+ * @default false
21
+ */
22
+ active?: boolean;
23
+ /**
24
+ * Required when using keyboard navigation (ArrowUp/ArrowDown).
25
+ * Must be a unique, sequential number (0, 1, 2, ...) for each item in the list.
26
+ * When omitted, the item won't be keyboard-focusable.
27
+ */
28
+ index?: number;
29
+ /**
30
+ * Indentation level (in rem units). Useful for nested / hierarchical menus.
31
+ * Example: `indent={1}` → adds ~1rem left padding
32
+ *
33
+ * @default 0
34
+ */
35
+ indent?: number;
36
+ /**
37
+ * When `true`, renders a plain `<div>` instead of a `<button>`.
38
+ * Useful when wrapping form controls like `<Checkbox>` or `<Radio>` that already handle their own events.
39
+ * **Warning:** When `asChild={true}`, the item is no longer focusable via keyboard navigation
40
+ * unless the child element itself is focusable.
41
+ *
42
+ * @default false
43
+ */
44
+ asChild?: boolean;
45
+ /**
46
+ * Controls whether the dropdown should close after this item is selected.
47
+ * - Set to `false` for multi-select menus, toggles, or when selection should persist
48
+ * - Set to `true` for action menus (delete, download, navigate, etc.)
49
+ *
50
+ * @default true
51
+ */
52
+ closeOnSelect?: boolean;
53
+ /**
54
+ * Marks this item as a tree parent node when the Dropdown is in `variant="tree"` mode.
55
+ * - Renders a visual parent indicator (bullet) aligned to the tree trunk
56
+ * - Starts the tree trunk at the vertical center of this item
57
+ * - Does **not** apply tree indentation — parent items remain aligned with normal items
58
+ *
59
+ * This prop is **purely visual** and does not affect behavior or hierarchy.
60
+ * Child items must still use `indent` to participate in the tree.
61
+ * Ignored when `variant !== 'tree'`.
62
+ * @default false
63
+ */
64
+ isParent?: boolean;
65
+ className?: string;
66
+ };
67
+ export declare const DropdownItem: ({ children, onClick, disabled, active, index, indent, asChild, closeOnSelect, isParent, className, }: DropdownItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,64 @@
1
+ import { jsx as K } from "react/jsx-runtime";
2
+ import N from "../../../../../../external/classnames/index.es.js";
3
+ import { useDropdownContext as T } from "../dropdown-context.es.js";
4
+ import r from "./dropdown-item.module.scss.es.js";
5
+ const V = ({
6
+ children: a,
7
+ onClick: t,
8
+ disabled: p,
9
+ active: y,
10
+ index: d,
11
+ indent: i,
12
+ asChild: o = !1,
13
+ closeOnSelect: s = !0,
14
+ isParent: _ = !1,
15
+ className: w
16
+ }) => {
17
+ const { getItemProps: c, listItemsRef: v, setOpen: m, activeIndex: b, divided: x, variant: f } = T(), D = o ? "div" : "button", I = (e) => typeof e != "number" ? {} : {
18
+ "--dropdown-indent-level": e,
19
+ "--dropdown-indent": `${e}rem`
20
+ }, g = (e) => {
21
+ if (p) return;
22
+ const n = e.currentTarget.querySelector(
23
+ 'input[type="checkbox"], input[type="radio"]'
24
+ );
25
+ if (n) {
26
+ n.click();
27
+ return;
28
+ }
29
+ o ? t == null || t(e) : (t == null || t(e), s && m(!1));
30
+ }, P = (e) => {
31
+ if (!p && (e.key === "Enter" || e.key === " ")) {
32
+ e.preventDefault();
33
+ const n = e.currentTarget.querySelector(
34
+ 'input[type="checkbox"], input[type="radio"]'
35
+ );
36
+ n ? n.click() : t == null || t(e), !o && s && m(!1);
37
+ }
38
+ }, u = {
39
+ ref(e) {
40
+ typeof d == "number" && (v.current[d] = e);
41
+ },
42
+ tabIndex: b === d ? 0 : -1,
43
+ className: N(r["tedi-dropdown__item"], {
44
+ [r["tedi-dropdown__item--active"]]: y,
45
+ [r["tedi-dropdown__item--disabled"]]: p,
46
+ [r["tedi-dropdown__item--divided"]]: x,
47
+ [r["tedi-dropdown__item--indent"]]: i,
48
+ [r["tedi-dropdown__item--tree-item"]]: f === "tree" && i,
49
+ [r["tedi-dropdown__item--tree-parent"]]: f === "tree" && _,
50
+ className: w
51
+ }),
52
+ style: I(i),
53
+ onClick: g,
54
+ onKeyDown: P
55
+ }, q = o && s === !1 ? u : c({
56
+ role: "menuitem",
57
+ disabled: o ? void 0 : p,
58
+ ...u
59
+ });
60
+ return /* @__PURE__ */ K(D, { ...q, children: a });
61
+ };
62
+ export {
63
+ V as DropdownItem
64
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d={"tedi-dropdown__item":"tedi-dropdown__item-ae4d9841","tedi-dropdown__item--active":"tedi-dropdown__item--active-f11cbd7a","tedi-dropdown__item--disabled":"tedi-dropdown__item--disabled-c9b893eb","tedi-dropdown__item--divided":"tedi-dropdown__item--divided-33d2a373","tedi-dropdown__item--tree-item":"tedi-dropdown__item--tree-item-d863644f","tedi-dropdown__item--tree-parent":"tedi-dropdown__item--tree-parent-06dbdab2","tedi-dropdown__item--indent":"tedi-dropdown__item--indent-53c2ed01"};exports.default=d;
@@ -0,0 +1,12 @@
1
+ const d = {
2
+ "tedi-dropdown__item": "tedi-dropdown__item-ae4d9841",
3
+ "tedi-dropdown__item--active": "tedi-dropdown__item--active-f11cbd7a",
4
+ "tedi-dropdown__item--disabled": "tedi-dropdown__item--disabled-c9b893eb",
5
+ "tedi-dropdown__item--divided": "tedi-dropdown__item--divided-33d2a373",
6
+ "tedi-dropdown__item--tree-item": "tedi-dropdown__item--tree-item-d863644f",
7
+ "tedi-dropdown__item--tree-parent": "tedi-dropdown__item--tree-parent-06dbdab2",
8
+ "tedi-dropdown__item--indent": "tedi-dropdown__item--indent-53c2ed01"
9
+ };
10
+ export {
11
+ d as default
12
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),e=require("../../../misc/separator/separator.cjs.js"),o=()=>r.jsx(e.Separator,{axis:"horizontal"});exports.DropdownSeparator=o;
@@ -0,0 +1 @@
1
+ export declare const DropdownSeparator: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { Separator as o } from "../../../misc/separator/separator.es.js";
3
+ const p = () => /* @__PURE__ */ r(o, { axis: "horizontal" });
4
+ export {
5
+ p as DropdownSeparator
6
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),n=require("../dropdown-context.cjs.js"),c=({children:e})=>{const{refs:r,getReferenceProps:o}=n.useDropdownContext();return t.cloneElement(e,o({ref:r.setReference}))};exports.DropdownTrigger=c;
@@ -0,0 +1,8 @@
1
+ import { ReactElement } from 'react';
2
+ export type DropdownTriggerProps = {
3
+ /**
4
+ * The content of the trigger item (button, icon, etc)
5
+ */
6
+ children: ReactElement;
7
+ };
8
+ export declare const DropdownTrigger: ({ children }: DropdownTriggerProps) => ReactElement<any, string | import('react').JSXElementConstructor<any>>;
@@ -0,0 +1,14 @@
1
+ import { cloneElement as t } from "react";
2
+ import { useDropdownContext as n } from "../dropdown-context.es.js";
3
+ const s = ({ children: e }) => {
4
+ const { refs: r, getReferenceProps: o } = n();
5
+ return t(
6
+ e,
7
+ o({
8
+ ref: r.setReference
9
+ })
10
+ );
11
+ };
12
+ export {
13
+ s as DropdownTrigger
14
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),e=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),H=require("../../../../../external/classnames/index.cjs.js"),t=require("react"),S=require("./dropdown.module.scss.cjs.js"),$=require("./dropdown-content/dropdown-content.cjs.js"),A=require("./dropdown-context.cjs.js"),z=require("./dropdown-helpers.cjs.js"),G=require("./dropdown-item/dropdown-item.cjs.js"),J=require("./dropdown-separator/dropdown-separator.cjs.js"),K=require("./dropdown-trigger/dropdown-trigger.cjs.js"),Q=require("../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),f=require("../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),V=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),X=require("../../../providers/label-provider/use-labels.cjs.js"),Y=4,s=g=>{var x;const{getCurrentBreakpointProps:F}=V.useBreakpointProps(g.defaultServerBreakpoint),{children:I,modal:w=!1,divided:O=!1,width:P="auto",variant:l="default",open:u,defaultOpen:R=!1,onOpenChange:i,placement:p="bottom-start",className:b}=F(g),{getLabel:j}=X.useLabels(),k=e.useFloatingNodeId(),m=t.useRef([]),[a,v]=t.useState(null),[q,y]=t.useState(null),[B,N]=t.useState(R),d=u??B,h=t.useCallback(r=>{u===void 0&&N(r),i==null||i(r)},[u,i]),T=e.useFloating({nodeId:k,open:d,placement:p,onOpenChange:h,middleware:[f.offset(Y),f.flip(),f.shift()],whileElementsMounted:Q.autoUpdate}),{context:o,refs:n,x:U,y:_,strategy:L}=T,D=e.useInteractions([e.useClick(o),e.useRole(o,{role:"menu"}),e.useDismiss(o),e.useListNavigation(o,{listRef:m,activeIndex:a,onNavigate:v,loop:!0})]),M={open:d,setOpen:h,refs:n,listItemsRef:m,activeIndex:a,setActiveIndex:v,placement:p,content:q,setContent:y,divided:O,variant:l,...D},W=(x=n.reference.current)==null?void 0:x.getBoundingClientRect().width,E=t.useMemo(()=>{const r=n.reference.current;if(!r)return;const C=r.offsetParent;if(C)return C.getBoundingClientRect().width},[n.reference.current]);return c.jsxs(A.DropdownContext.Provider,{value:M,children:[I,c.jsx(e.FloatingPortal,{children:d&&c.jsx(e.FloatingFocusManager,{context:o,modal:w,visuallyHiddenDismiss:w?j("close"):!1,children:c.jsx("div",{...D.getFloatingProps({ref:n.setFloating,className:H.default(S.default["tedi-dropdown"],{[S.default[`tedi-dropdown--${l}`]]:l==="tree"},b),style:{position:L,left:U??0,top:_??0,width:z.resolveDropdownWidth(P,W,E)},role:"menu","aria-orientation":"vertical","aria-activedescendant":a!==null?`dropdown-item-${a}`:void 0}),"data-placement":p,"data-state":d?"open":"closed",children:q})})})]})};s.Trigger=K.DropdownTrigger;s.Content=$.DropdownContent;s.Item=G.DropdownItem;s.Separator=J.DropdownSeparator;exports.Dropdown=s;
@@ -0,0 +1,75 @@
1
+ import { Placement } from '@floating-ui/react';
2
+ import { default as React } from 'react';
3
+ import { BreakpointSupport } from '../../../helpers';
4
+ type DropdownBreakpointProps = {
5
+ /**
6
+ * When `true` there is a border between the dropdown items
7
+ * @default false
8
+ */
9
+ divided?: boolean;
10
+ /**
11
+ * Controls the width of the dropdown menu.
12
+ * - `'auto'` – width is determined by content (default)
13
+ * - `'trigger'` – matches the width of the trigger element
14
+ * - `'full'` – spans the full width of the containing block
15
+ * - `number` – fixed width in pixels
16
+ * - `string` – any valid CSS width value (e.g. `'16rem'`, `'100%'`)
17
+ * @default auto
18
+ */
19
+ width?: 'auto' | 'trigger' | 'full' | number | string;
20
+ /**
21
+ * Controls where the dropdown is positioned relative to its trigger.
22
+ * Accepts any Floating UI placement value, such as:
23
+ * `'bottom-start'`, `'bottom-end'`, `'top-start'`, `'right-end'`, etc.
24
+ *
25
+ * @default bottom-start
26
+ */
27
+ placement?: Placement;
28
+ /**
29
+ * Controls the visual and structural variant of the dropdown.
30
+ * - `'default'` – standard flat list of items
31
+ * - `'tree'` – hierarchical (tree-style) list with indented items and connector lines
32
+ * Tree visuals are only applied when this prop is set to `'tree'`.
33
+ * Ignored by default.
34
+ * @default 'default'
35
+ */
36
+ variant?: 'default' | 'tree';
37
+ };
38
+ export interface DropdownProps extends BreakpointSupport<DropdownBreakpointProps> {
39
+ /**
40
+ * Child elements — must include exactly one `Dropdown.Trigger` and one `Dropdown.Content`
41
+ */
42
+ children: React.ReactNode;
43
+ /**
44
+ * When `true`, the dropdown behaves like a modal:
45
+ * - Traps focus inside the dropdown
46
+ * - Shows a visually hidden "Close" button for screen readers
47
+ * - Usually used for menus that require explicit dismissal
48
+ *
49
+ * @default false
50
+ */
51
+ modal?: boolean;
52
+ /**
53
+ * Controlled open state
54
+ */
55
+ open?: boolean;
56
+ /**
57
+ * Uncontrolled default state
58
+ */
59
+ defaultOpen?: boolean;
60
+ /**
61
+ * Change handler (fires for both modes)
62
+ */
63
+ onOpenChange?: (open: boolean) => void;
64
+ className?: string;
65
+ }
66
+ export declare const Dropdown: {
67
+ (props: DropdownProps): import("react/jsx-runtime").JSX.Element;
68
+ Trigger: ({ children }: import('./dropdown-trigger/dropdown-trigger').DropdownTriggerProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
69
+ Content: ({ children }: {
70
+ children: React.ReactNode;
71
+ }) => null;
72
+ Item: ({ children, onClick, disabled, active, index, indent, asChild, closeOnSelect, isParent, className, }: import('./dropdown-item/dropdown-item').DropdownItemProps) => import("react/jsx-runtime").JSX.Element;
73
+ Separator: () => import("react/jsx-runtime").JSX.Element;
74
+ };
75
+ export {};
@@ -0,0 +1,114 @@
1
+ import { jsxs as U, jsx as m } from "react/jsx-runtime";
2
+ import { useFloatingNodeId as $, useFloating as A, useInteractions as H, useClick as q, useRole as z, useDismiss as G, useListNavigation as J, FloatingPortal as K, FloatingFocusManager as Q } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
3
+ import V from "../../../../../external/classnames/index.es.js";
4
+ import e from "react";
5
+ import F from "./dropdown.module.scss.es.js";
6
+ import { DropdownContent as X } from "./dropdown-content/dropdown-content.es.js";
7
+ import { DropdownContext as Y } from "./dropdown-context.es.js";
8
+ import { resolveDropdownWidth as Z } from "./dropdown-helpers.es.js";
9
+ import { DropdownItem as ee } from "./dropdown-item/dropdown-item.es.js";
10
+ import { DropdownSeparator as te } from "./dropdown-separator/dropdown-separator.es.js";
11
+ import { DropdownTrigger as oe } from "./dropdown-trigger/dropdown-trigger.es.js";
12
+ import { autoUpdate as ne } from "../../../../../external/@floating-ui/dom/dist/floating-ui.dom.es.js";
13
+ import { offset as re, flip as ie, shift as se } from "../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js";
14
+ import { useBreakpointProps as ae } from "../../../helpers/hooks/use-breakpoint-props.es.js";
15
+ import { useLabels as le } from "../../../providers/label-provider/use-labels.es.js";
16
+ const de = 4, a = (p) => {
17
+ var D;
18
+ const { getCurrentBreakpointProps: I } = ae(p.defaultServerBreakpoint), {
19
+ children: O,
20
+ modal: f = !1,
21
+ divided: R = !1,
22
+ width: x = "auto",
23
+ variant: l = "default",
24
+ open: d,
25
+ defaultOpen: N = !1,
26
+ onOpenChange: r,
27
+ placement: c = "bottom-start",
28
+ className: P
29
+ } = I(p), { getLabel: S } = le(), k = $(), u = e.useRef([]), [i, g] = e.useState(null), [v, y] = e.useState(null), [B, b] = e.useState(N), s = d ?? B, w = e.useCallback(
30
+ (n) => {
31
+ d === void 0 && b(n), r == null || r(n);
32
+ },
33
+ [d, r]
34
+ ), W = A({
35
+ nodeId: k,
36
+ open: s,
37
+ placement: c,
38
+ onOpenChange: w,
39
+ middleware: [re(de), ie(), se()],
40
+ whileElementsMounted: ne
41
+ }), { context: t, refs: o, x: L, y: M, strategy: T } = W, h = H([
42
+ q(t),
43
+ z(t, { role: "menu" }),
44
+ G(t),
45
+ J(t, {
46
+ listRef: u,
47
+ activeIndex: i,
48
+ onNavigate: g,
49
+ loop: !0
50
+ })
51
+ ]), _ = {
52
+ open: s,
53
+ setOpen: w,
54
+ refs: o,
55
+ listItemsRef: u,
56
+ activeIndex: i,
57
+ setActiveIndex: g,
58
+ placement: c,
59
+ content: v,
60
+ setContent: y,
61
+ divided: R,
62
+ variant: l,
63
+ ...h
64
+ }, j = (D = o.reference.current) == null ? void 0 : D.getBoundingClientRect().width, E = e.useMemo(() => {
65
+ const n = o.reference.current;
66
+ if (!n) return;
67
+ const C = n.offsetParent;
68
+ if (C)
69
+ return C.getBoundingClientRect().width;
70
+ }, [o.reference.current]);
71
+ return /* @__PURE__ */ U(Y.Provider, { value: _, children: [
72
+ O,
73
+ /* @__PURE__ */ m(K, { children: s && /* @__PURE__ */ m(
74
+ Q,
75
+ {
76
+ context: t,
77
+ modal: f,
78
+ visuallyHiddenDismiss: f ? S("close") : !1,
79
+ children: /* @__PURE__ */ m(
80
+ "div",
81
+ {
82
+ ...h.getFloatingProps({
83
+ ref: o.setFloating,
84
+ className: V(
85
+ F["tedi-dropdown"],
86
+ { [F[`tedi-dropdown--${l}`]]: l === "tree" },
87
+ P
88
+ ),
89
+ style: {
90
+ position: T,
91
+ left: L ?? 0,
92
+ top: M ?? 0,
93
+ width: Z(x, j, E)
94
+ },
95
+ role: "menu",
96
+ "aria-orientation": "vertical",
97
+ "aria-activedescendant": i !== null ? `dropdown-item-${i}` : void 0
98
+ }),
99
+ "data-placement": c,
100
+ "data-state": s ? "open" : "closed",
101
+ children: v
102
+ }
103
+ )
104
+ }
105
+ ) })
106
+ ] });
107
+ };
108
+ a.Trigger = oe;
109
+ a.Content = X;
110
+ a.Item = ee;
111
+ a.Separator = te;
112
+ export {
113
+ a as Dropdown
114
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-dropdown":"tedi-dropdown-0246d37c","tedi-dropdown--tree":"tedi-dropdown--tree-c13f70ee","tedi-dropdown__item":"tedi-dropdown__item-fa7ee478"};exports.default=e;
@@ -0,0 +1,8 @@
1
+ const d = {
2
+ "tedi-dropdown": "tedi-dropdown-0246d37c",
3
+ "tedi-dropdown--tree": "tedi-dropdown--tree-c13f70ee",
4
+ "tedi-dropdown__item": "tedi-dropdown__item-fa7ee478"
5
+ };
6
+ export {
7
+ d as default
8
+ };
@@ -0,0 +1,5 @@
1
+ export * from './dropdown';
2
+ export * from './dropdown-context';
3
+ export * from './dropdown-content/dropdown-content';
4
+ export * from './dropdown-trigger/dropdown-trigger';
5
+ export * from './dropdown-item/dropdown-item';
@@ -37,6 +37,7 @@ export * from './components/form/select/select';
37
37
  export * from './components/form/checkbox/checkbox';
38
38
  export * from './components/overlays/tooltip';
39
39
  export * from './components/overlays/popover';
40
+ export * from './components/overlays/dropdown';
40
41
  export * from './components/misc/separator/separator';
41
42
  export * from './components/misc/print/print';
42
43
  export * from './components/misc/stretch-content/stretch-content';
package/tedi.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./src/tedi/components/base/typography/text/text.cjs.js"),s=require("./src/tedi/components/base/typography/heading/heading.cjs.js"),c=require("./src/tedi/components/base/icon/icon.cjs.js"),u=require("./src/tedi/components/content/label/label.cjs.js"),a=require("./src/tedi/components/content/section/section.cjs.js"),l=require("./src/tedi/components/content/heading-with-icon/heading-with-icon.cjs.js"),d=require("./src/tedi/components/content/truncate/truncate.cjs.js"),p=require("./src/tedi/components/content/text-group/text-group.cjs.js"),q=require("./src/tedi/components/loaders/spinner/spinner.cjs.js"),g=require("./src/tedi/components/tags/tag/tag.cjs.js"),S=require("./src/tedi/components/tags/status-badge/status-badge.cjs.js"),v=require("./src/tedi/components/buttons/closing-button/closing-button.cjs.js"),b=require("./src/tedi/components/buttons/button/button.cjs.js"),C=require("./src/tedi/components/buttons/info-button/info-button.cjs.js"),T=require("./src/tedi/components/buttons/floating-button/floating-button.cjs.js"),h=require("./src/tedi/components/buttons/button-group/button-group.cjs.js"),x=require("./src/tedi/components/buttons/collapse/collapse.cjs.js"),B=require("./src/tedi/components/notifications/alert/alert.cjs.js"),k=require("./src/tedi/components/notifications/toast/toast.cjs.js"),I=require("./src/tedi/components/navigation/hash-trigger/hash-trigger.cjs.js"),P=require("./src/tedi/components/navigation/link/link.cjs.js"),m=require("./src/tedi/components/form/textfield/textfield.cjs.js"),L=require("./src/tedi/components/form/textarea/textarea.cjs.js"),f=require("./src/tedi/components/form/number-field/number-field.cjs.js"),F=require("./src/tedi/components/form/feedback-text/feedback-text.cjs.js"),G=require("./src/tedi/components/form/search/search.cjs.js"),N=require("./src/tedi/components/form/radio/radio.cjs.js"),y=require("./src/tedi/components/form/file-upload/file-upload.cjs.js"),D=require("./src/tedi/components/form/file-dropzone/file-dropzone.cjs.js"),A=require("./src/tedi/components/form/select/select.cjs.js"),M=require("./src/tedi/components/form/checkbox/checkbox.cjs.js"),H=require("./src/tedi/components/misc/separator/separator.cjs.js"),V=require("./src/tedi/components/misc/print/print.cjs.js"),w=require("./src/tedi/components/misc/stretch-content/stretch-content.cjs.js"),z=require("./src/tedi/components/misc/scroll-visibility/scroll-visibility.cjs.js"),R=require("./src/tedi/components/misc/scroll-fade/scroll-fade.cjs.js"),U=require("./src/tedi/components/misc/affix/affix.cjs.js"),W=require("./src/tedi/components/misc/ellipsis/ellipsis.cjs.js"),E=require("./src/tedi/providers/style-provider/style-provider.cjs.js"),t=require("./src/tedi/providers/accessibility-provider/accessibility-provider.cjs.js"),j=require("./src/tedi/providers/accessibility-provider/use-declare-loader.cjs.js"),o=require("./src/tedi/providers/theme-provider/theme-provider.cjs.js"),O=require("./src/tedi/components/content/list/list.cjs.js"),J=require("./src/tedi/components/content/list/list-item.cjs.js"),K=require("./src/tedi/components/loaders/skeleton/skeleton.cjs.js"),Q=require("./src/tedi/components/loaders/skeleton/skeleton-block/skeleton-block.cjs.js"),X=require("./src/tedi/components/layout/vertical-spacing/vertical-spacing.cjs.js"),Y=require("./src/tedi/components/layout/vertical-spacing/vertical-spacing-item.cjs.js"),Z=require("./src/tedi/components/layout/grid/row.cjs.js"),_=require("./src/tedi/components/layout/grid/col.cjs.js"),$=require("./external/react-toastify/dist/index.cjs.js"),ee=require("./src/tedi/components/cards/card/card.cjs.js"),re=require("./src/tedi/components/cards/card/card-header/card-header.cjs.js"),te=require("./src/tedi/components/cards/card/card-notification/card-notification.cjs.js"),oe=require("./src/tedi/components/cards/card/card-content/card-content.cjs.js"),ie=require("./src/tedi/components/form/choice-group/choice-group.cjs.js"),ne=require("./src/tedi/components/form/choice-group/choice-group-context.cjs.js"),se=require("./src/tedi/components/form/choice-group/components/choice-group-item/choice-group-item.cjs.js"),ce=require("./src/tedi/components/overlays/tooltip/tooltip.cjs.js"),ue=require("./src/tedi/components/overlays/tooltip/tooltip-content.cjs.js"),ae=require("./src/tedi/components/overlays/tooltip/tooltip-trigger.cjs.js"),le=require("./src/tedi/components/overlays/popover/popover.cjs.js"),de=require("./src/tedi/components/overlays/popover/popover-content.cjs.js"),pe=require("./src/tedi/components/overlays/popover/popover-trigger.cjs.js"),qe=require("./src/tedi/components/layout/sidenav/sidenav.cjs.js"),ge=require("./src/tedi/components/layout/sidenav/components/sidenav-dropdown/sidenav-dropdown.cjs.js"),Se=require("./src/tedi/components/layout/sidenav/components/sidenav-item/sidenav-item.cjs.js"),ve=require("./src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.cjs.js"),be=require("./src/tedi/components/layout/sidenav/components/sidenav-mobile/sidenav-mobile.cjs.js"),Ce=require("./src/tedi/helpers/hooks/use-is-mounted.cjs.js"),e=require("./src/tedi/helpers/hooks/use-breakpoint.cjs.js"),Te=require("./src/tedi/helpers/hooks/use-breakpoint-props.cjs.js"),he=require("./src/tedi/helpers/hooks/use-print.cjs.js"),xe=require("./src/tedi/helpers/hooks/use-element-size.cjs.js"),Be=require("./src/tedi/helpers/hooks/use-scroll.cjs.js"),ke=require("./src/tedi/helpers/hooks/use-is-touch-device.cjs.js"),Ie=require("./src/tedi/helpers/hooks/use-file-upload.cjs.js"),Pe=require("./src/tedi/helpers/hooks/use-what-input.cjs.js"),me=require("./src/tedi/providers/label-provider/use-labels.cjs.js"),i=require("./src/tedi/providers/label-provider/label-provider.cjs.js"),r=require("./src/tedi/providers/label-provider/labels-map.cjs.js");exports.Text=n.Text;exports.Heading=s.Heading;exports.Icon=c.Icon;exports.Label=u.Label;exports.Section=a.Section;exports.HeadingWithIcon=l.HeadingWithIcon;exports.Truncate=d.Truncate;exports.TextGroup=p.TextGroup;exports.Spinner=q.Spinner;exports.Tag=g.Tag;exports.StatusBadge=S.StatusBadge;exports.ClosingButton=v.ClosingButton;exports.Button=b.Button;exports.InfoButton=C.InfoButton;exports.FloatingButton=T.FloatingButton;exports.ButtonGroup=h.ButtonGroup;exports.Collapse=x.Collapse;exports.Alert=B.Alert;exports.sendNotification=k.sendNotification;exports.HashTrigger=I.HashTrigger;exports.Link=P.Link;exports.TextField=m.TextField;exports.TextArea=L.TextArea;exports.NumberField=f.NumberField;exports.FeedbackText=F.FeedbackText;exports.Search=G.Search;exports.Radio=N.Radio;exports.FileUpload=y.FileUpload;exports.FileDropzone=D.FileDropzone;exports.Select=A.Select;exports.Checkbox=M.Checkbox;exports.Separator=H.Separator;exports.Print=V.Print;exports.StretchContent=w.StretchContent;exports.ScrollVisibility=z.ScrollVisibility;exports.ScrollFade=R.ScrollFade;exports.Affix=U.Affix;exports.Ellipsis=W.Ellipsis;exports.StyleProvider=E.StyleProvider;exports.AccessibilityContext=t.AccessibilityContext;exports.AccessibilityProvider=t.AccessibilityProvider;exports.useDeclareLoader=j.useDeclareLoader;exports.ThemeProvider=o.ThemeProvider;exports.useTheme=o.useTheme;exports.List=O.List;exports.ListItem=J.ListItem;exports.Skeleton=K.Skeleton;exports.SkeletonBlock=Q.SkeletonBlock;exports.VerticalSpacing=X.VerticalSpacing;exports.VerticalSpacingItem=Y.VerticalSpacingItem;exports.Row=Z.Row;exports.Col=_.Col;exports.ToastContainer=$.ToastContainer;exports.Card=ee.Card;exports.CardHeader=re.CardHeader;exports.CardNotification=te.CardNotification;exports.CardContent=oe.CardContent;exports.ChoiceGroup=ie.ChoiceGroup;exports.ChoiceGroupContext=ne.ChoiceGroupContext;exports.ChoiceGroupItem=se.ChoiceGroupItem;exports.Tooltip=ce.Tooltip;exports.TooltipContent=ue.TooltipContent;exports.TooltipTrigger=ae.TooltipTrigger;exports.Popover=le.Popover;exports.PopoverContent=de.PopoverContent;exports.PopoverTrigger=pe.PopoverTrigger;exports.SideNav=qe.SideNav;exports.SideNavDropdown=ge.SideNavDropdown;exports.SideNavItem=Se.SideNavItem;exports.SidenavToggle=ve.SidenavToggle;exports.SideNavMobile=be.SideNavMobile;exports.useIsMounted=Ce.useIsMounted;exports.breakpoints=e.breakpoints;exports.isBreakpointBelow=e.isBreakpointBelow;exports.useBreakpoint=e.useBreakpoint;exports.useBreakpointProps=Te.useBreakpointProps;exports.usePrint=he.usePrint;exports.useElementSize=xe.useElementSize;exports.useScroll=Be.useScroll;exports.useIsTouchDevice=ke.useIsTouchDevice;exports.useFileUpload=Ie.useFileUpload;exports.useWhatInput=Pe.useWhatInput;exports.useLabels=me.useLabels;exports.LabelContext=i.LabelContext;exports.LabelProvider=i.LabelProvider;exports.labelsMap=r.labelsMap;exports.validateLabelRecord=r.validateLabelRecord;exports.validateLabelValues=r.validateLabelValues;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./src/tedi/components/base/typography/text/text.cjs.js"),c=require("./src/tedi/components/base/typography/heading/heading.cjs.js"),u=require("./src/tedi/components/base/icon/icon.cjs.js"),a=require("./src/tedi/components/content/label/label.cjs.js"),l=require("./src/tedi/components/content/section/section.cjs.js"),d=require("./src/tedi/components/content/heading-with-icon/heading-with-icon.cjs.js"),p=require("./src/tedi/components/content/truncate/truncate.cjs.js"),q=require("./src/tedi/components/content/text-group/text-group.cjs.js"),g=require("./src/tedi/components/loaders/spinner/spinner.cjs.js"),C=require("./src/tedi/components/tags/tag/tag.cjs.js"),S=require("./src/tedi/components/tags/status-badge/status-badge.cjs.js"),v=require("./src/tedi/components/buttons/closing-button/closing-button.cjs.js"),T=require("./src/tedi/components/buttons/button/button.cjs.js"),b=require("./src/tedi/components/buttons/info-button/info-button.cjs.js"),h=require("./src/tedi/components/buttons/floating-button/floating-button.cjs.js"),x=require("./src/tedi/components/buttons/button-group/button-group.cjs.js"),I=require("./src/tedi/components/buttons/collapse/collapse.cjs.js"),B=require("./src/tedi/components/notifications/alert/alert.cjs.js"),k=require("./src/tedi/components/notifications/toast/toast.cjs.js"),m=require("./src/tedi/components/navigation/hash-trigger/hash-trigger.cjs.js"),P=require("./src/tedi/components/navigation/link/link.cjs.js"),w=require("./src/tedi/components/form/textfield/textfield.cjs.js"),D=require("./src/tedi/components/form/textarea/textarea.cjs.js"),L=require("./src/tedi/components/form/number-field/number-field.cjs.js"),f=require("./src/tedi/components/form/feedback-text/feedback-text.cjs.js"),F=require("./src/tedi/components/form/search/search.cjs.js"),G=require("./src/tedi/components/form/radio/radio.cjs.js"),N=require("./src/tedi/components/form/file-upload/file-upload.cjs.js"),y=require("./src/tedi/components/form/file-dropzone/file-dropzone.cjs.js"),A=require("./src/tedi/components/form/select/select.cjs.js"),M=require("./src/tedi/components/form/checkbox/checkbox.cjs.js"),H=require("./src/tedi/components/misc/separator/separator.cjs.js"),V=require("./src/tedi/components/misc/print/print.cjs.js"),z=require("./src/tedi/components/misc/stretch-content/stretch-content.cjs.js"),R=require("./src/tedi/components/misc/scroll-visibility/scroll-visibility.cjs.js"),U=require("./src/tedi/components/misc/scroll-fade/scroll-fade.cjs.js"),W=require("./src/tedi/components/misc/affix/affix.cjs.js"),E=require("./src/tedi/components/misc/ellipsis/ellipsis.cjs.js"),j=require("./src/tedi/providers/style-provider/style-provider.cjs.js"),o=require("./src/tedi/providers/accessibility-provider/accessibility-provider.cjs.js"),O=require("./src/tedi/providers/accessibility-provider/use-declare-loader.cjs.js"),t=require("./src/tedi/providers/theme-provider/theme-provider.cjs.js"),J=require("./src/tedi/components/content/list/list.cjs.js"),K=require("./src/tedi/components/content/list/list-item.cjs.js"),Q=require("./src/tedi/components/loaders/skeleton/skeleton.cjs.js"),X=require("./src/tedi/components/loaders/skeleton/skeleton-block/skeleton-block.cjs.js"),Y=require("./src/tedi/components/layout/vertical-spacing/vertical-spacing.cjs.js"),Z=require("./src/tedi/components/layout/vertical-spacing/vertical-spacing-item.cjs.js"),_=require("./src/tedi/components/layout/grid/row.cjs.js"),$=require("./src/tedi/components/layout/grid/col.cjs.js"),ee=require("./external/react-toastify/dist/index.cjs.js"),re=require("./src/tedi/components/cards/card/card.cjs.js"),oe=require("./src/tedi/components/cards/card/card-header/card-header.cjs.js"),te=require("./src/tedi/components/cards/card/card-notification/card-notification.cjs.js"),ie=require("./src/tedi/components/cards/card/card-content/card-content.cjs.js"),ne=require("./src/tedi/components/form/choice-group/choice-group.cjs.js"),se=require("./src/tedi/components/form/choice-group/choice-group-context.cjs.js"),ce=require("./src/tedi/components/form/choice-group/components/choice-group-item/choice-group-item.cjs.js"),ue=require("./src/tedi/components/overlays/tooltip/tooltip.cjs.js"),ae=require("./src/tedi/components/overlays/tooltip/tooltip-content.cjs.js"),le=require("./src/tedi/components/overlays/tooltip/tooltip-trigger.cjs.js"),de=require("./src/tedi/components/overlays/popover/popover.cjs.js"),pe=require("./src/tedi/components/overlays/popover/popover-content.cjs.js"),qe=require("./src/tedi/components/overlays/popover/popover-trigger.cjs.js"),ge=require("./src/tedi/components/overlays/dropdown/dropdown.cjs.js"),i=require("./src/tedi/components/overlays/dropdown/dropdown-context.cjs.js"),Ce=require("./src/tedi/components/overlays/dropdown/dropdown-content/dropdown-content.cjs.js"),Se=require("./src/tedi/components/overlays/dropdown/dropdown-trigger/dropdown-trigger.cjs.js"),ve=require("./src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.cjs.js"),Te=require("./src/tedi/components/layout/sidenav/sidenav.cjs.js"),be=require("./src/tedi/components/layout/sidenav/components/sidenav-dropdown/sidenav-dropdown.cjs.js"),he=require("./src/tedi/components/layout/sidenav/components/sidenav-item/sidenav-item.cjs.js"),xe=require("./src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.cjs.js"),Ie=require("./src/tedi/components/layout/sidenav/components/sidenav-mobile/sidenav-mobile.cjs.js"),Be=require("./src/tedi/helpers/hooks/use-is-mounted.cjs.js"),e=require("./src/tedi/helpers/hooks/use-breakpoint.cjs.js"),ke=require("./src/tedi/helpers/hooks/use-breakpoint-props.cjs.js"),me=require("./src/tedi/helpers/hooks/use-print.cjs.js"),Pe=require("./src/tedi/helpers/hooks/use-element-size.cjs.js"),we=require("./src/tedi/helpers/hooks/use-scroll.cjs.js"),De=require("./src/tedi/helpers/hooks/use-is-touch-device.cjs.js"),Le=require("./src/tedi/helpers/hooks/use-file-upload.cjs.js"),fe=require("./src/tedi/helpers/hooks/use-what-input.cjs.js"),Fe=require("./src/tedi/providers/label-provider/use-labels.cjs.js"),n=require("./src/tedi/providers/label-provider/label-provider.cjs.js"),r=require("./src/tedi/providers/label-provider/labels-map.cjs.js");exports.Text=s.Text;exports.Heading=c.Heading;exports.Icon=u.Icon;exports.Label=a.Label;exports.Section=l.Section;exports.HeadingWithIcon=d.HeadingWithIcon;exports.Truncate=p.Truncate;exports.TextGroup=q.TextGroup;exports.Spinner=g.Spinner;exports.Tag=C.Tag;exports.StatusBadge=S.StatusBadge;exports.ClosingButton=v.ClosingButton;exports.Button=T.Button;exports.InfoButton=b.InfoButton;exports.FloatingButton=h.FloatingButton;exports.ButtonGroup=x.ButtonGroup;exports.Collapse=I.Collapse;exports.Alert=B.Alert;exports.sendNotification=k.sendNotification;exports.HashTrigger=m.HashTrigger;exports.Link=P.Link;exports.TextField=w.TextField;exports.TextArea=D.TextArea;exports.NumberField=L.NumberField;exports.FeedbackText=f.FeedbackText;exports.Search=F.Search;exports.Radio=G.Radio;exports.FileUpload=N.FileUpload;exports.FileDropzone=y.FileDropzone;exports.Select=A.Select;exports.Checkbox=M.Checkbox;exports.Separator=H.Separator;exports.Print=V.Print;exports.StretchContent=z.StretchContent;exports.ScrollVisibility=R.ScrollVisibility;exports.ScrollFade=U.ScrollFade;exports.Affix=W.Affix;exports.Ellipsis=E.Ellipsis;exports.StyleProvider=j.StyleProvider;exports.AccessibilityContext=o.AccessibilityContext;exports.AccessibilityProvider=o.AccessibilityProvider;exports.useDeclareLoader=O.useDeclareLoader;exports.ThemeProvider=t.ThemeProvider;exports.useTheme=t.useTheme;exports.List=J.List;exports.ListItem=K.ListItem;exports.Skeleton=Q.Skeleton;exports.SkeletonBlock=X.SkeletonBlock;exports.VerticalSpacing=Y.VerticalSpacing;exports.VerticalSpacingItem=Z.VerticalSpacingItem;exports.Row=_.Row;exports.Col=$.Col;exports.ToastContainer=ee.ToastContainer;exports.Card=re.Card;exports.CardHeader=oe.CardHeader;exports.CardNotification=te.CardNotification;exports.CardContent=ie.CardContent;exports.ChoiceGroup=ne.ChoiceGroup;exports.ChoiceGroupContext=se.ChoiceGroupContext;exports.ChoiceGroupItem=ce.ChoiceGroupItem;exports.Tooltip=ue.Tooltip;exports.TooltipContent=ae.TooltipContent;exports.TooltipTrigger=le.TooltipTrigger;exports.Popover=de.Popover;exports.PopoverContent=pe.PopoverContent;exports.PopoverTrigger=qe.PopoverTrigger;exports.Dropdown=ge.Dropdown;exports.DropdownContext=i.DropdownContext;exports.useDropdownContext=i.useDropdownContext;exports.DropdownContent=Ce.DropdownContent;exports.DropdownTrigger=Se.DropdownTrigger;exports.DropdownItem=ve.DropdownItem;exports.SideNav=Te.SideNav;exports.SideNavDropdown=be.SideNavDropdown;exports.SideNavItem=he.SideNavItem;exports.SidenavToggle=xe.SidenavToggle;exports.SideNavMobile=Ie.SideNavMobile;exports.useIsMounted=Be.useIsMounted;exports.breakpoints=e.breakpoints;exports.isBreakpointBelow=e.isBreakpointBelow;exports.useBreakpoint=e.useBreakpoint;exports.useBreakpointProps=ke.useBreakpointProps;exports.usePrint=me.usePrint;exports.useElementSize=Pe.useElementSize;exports.useScroll=we.useScroll;exports.useIsTouchDevice=De.useIsTouchDevice;exports.useFileUpload=Le.useFileUpload;exports.useWhatInput=fe.useWhatInput;exports.useLabels=Fe.useLabels;exports.LabelContext=n.LabelContext;exports.LabelProvider=n.LabelProvider;exports.labelsMap=r.labelsMap;exports.validateLabelRecord=r.validateLabelRecord;exports.validateLabelValues=r.validateLabelValues;