@tedi-design-system/react 17.1.0-rc.9 → 17.2.0-rc.1

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 (71) hide show
  1. package/bundle-stats.html +1 -1
  2. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.cjs.js +1 -1
  3. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.es.js +1 -1
  4. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  5. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.es.js +1 -1
  6. package/external/hoist-non-react-statics/external/react-is/index.cjs.js +1 -1
  7. package/external/hoist-non-react-statics/external/react-is/index.es.js +1 -1
  8. package/external/prop-types/external/react-is/cjs/react-is.development.cjs.js +1 -1
  9. package/external/prop-types/external/react-is/cjs/react-is.development.es.js +1 -1
  10. package/external/prop-types/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  11. package/external/prop-types/external/react-is/cjs/react-is.production.min.es.js +1 -1
  12. package/external/prop-types/external/react-is/index.cjs.js +1 -1
  13. package/external/prop-types/external/react-is/index.es.js +1 -1
  14. package/index.css +1 -1
  15. package/package.json +2 -2
  16. package/src/community/components/layout/breadcrumbs/breadcrumbs.d.ts +6 -0
  17. package/src/community/components/layout/breadcrumbs/crumb/crumb.d.ts +6 -0
  18. package/src/tedi/components/buttons/button-content/button-content.d.ts +1 -1
  19. package/src/tedi/components/buttons/button-content/button-content.module.scss.cjs.js +1 -1
  20. package/src/tedi/components/buttons/button-content/button-content.module.scss.es.js +1 -1
  21. package/src/tedi/components/buttons/button-group/button-group.cjs.js +1 -1
  22. package/src/tedi/components/buttons/button-group/button-group.es.js +39 -37
  23. package/src/tedi/components/buttons/floating-button/floating-button.module.scss.cjs.js +1 -1
  24. package/src/tedi/components/buttons/floating-button/floating-button.module.scss.es.js +1 -1
  25. package/src/tedi/components/cards/card/card-stories-templates.d.ts +1 -1
  26. package/src/tedi/components/layout/header/components/header-language/header-language.d.ts +45 -0
  27. package/src/tedi/components/layout/header/components/header-login/header-login.d.ts +22 -0
  28. package/src/tedi/components/layout/header/components/header-logout/header-logout.d.ts +22 -0
  29. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.d.ts +21 -0
  30. package/src/tedi/components/layout/header/components/header-profile/header-profile.d.ts +43 -0
  31. package/src/tedi/components/layout/header/components/header-role/header-role-representatives.d.ts +79 -0
  32. package/src/tedi/components/layout/header/components/header-role/header-role.d.ts +74 -0
  33. package/src/tedi/components/layout/header/components/header-search/header-search.d.ts +28 -0
  34. package/src/tedi/components/layout/header/header.d.ts +115 -0
  35. package/src/tedi/components/layout/header/index.d.ts +7 -0
  36. package/src/tedi/components/layout/hide-at/hide-at.d.ts +10 -0
  37. package/src/tedi/components/layout/show-at/show-at.d.ts +10 -0
  38. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.cjs.js +1 -1
  39. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.es.js +1 -0
  40. package/src/tedi/components/navigation/breadcrumbs/breadcrumbs.cjs.js +1 -0
  41. package/src/tedi/components/navigation/breadcrumbs/breadcrumbs.d.ts +66 -0
  42. package/src/tedi/components/navigation/breadcrumbs/breadcrumbs.es.js +65 -0
  43. package/src/tedi/components/navigation/breadcrumbs/breadcrumbs.module.scss.cjs.js +1 -0
  44. package/src/tedi/components/navigation/breadcrumbs/breadcrumbs.module.scss.es.js +11 -0
  45. package/src/tedi/components/navigation/breadcrumbs/index.d.ts +1 -0
  46. package/src/tedi/components/overlays/overlay/overlay.cjs.js +1 -1
  47. package/src/tedi/components/overlays/overlay/overlay.d.ts +7 -0
  48. package/src/tedi/components/overlays/overlay/overlay.es.js +41 -40
  49. package/src/tedi/components/overlays/popover/index.d.ts +1 -0
  50. package/src/tedi/components/overlays/popover/popover-content.cjs.js +1 -1
  51. package/src/tedi/components/overlays/popover/popover-content.d.ts +5 -2
  52. package/src/tedi/components/overlays/popover/popover-content.es.js +36 -27
  53. package/src/tedi/components/overlays/popover/popover-context.cjs.js +1 -0
  54. package/src/tedi/components/overlays/popover/popover-context.d.ts +9 -0
  55. package/src/tedi/components/overlays/popover/popover-context.es.js +7 -0
  56. package/src/tedi/components/overlays/popover/popover.cjs.js +1 -1
  57. package/src/tedi/components/overlays/popover/popover.d.ts +12 -2
  58. package/src/tedi/components/overlays/popover/popover.es.js +18 -16
  59. package/src/tedi/components/overlays/popover/popover.module.scss.cjs.js +1 -1
  60. package/src/tedi/components/overlays/popover/popover.module.scss.es.js +2 -0
  61. package/src/tedi/helpers/hooks/use-breakpoint.cjs.js +1 -1
  62. package/src/tedi/helpers/hooks/use-breakpoint.es.js +7 -7
  63. package/src/tedi/index.d.ts +1 -0
  64. package/src/tedi/providers/label-provider/label-provider.cjs.js +1 -1
  65. package/src/tedi/providers/label-provider/label-provider.d.ts +2 -0
  66. package/src/tedi/providers/label-provider/label-provider.es.js +57 -44
  67. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  68. package/src/tedi/providers/label-provider/labels-map.d.ts +84 -0
  69. package/src/tedi/providers/label-provider/labels-map.es.js +119 -35
  70. package/tedi.cjs.js +1 -1
  71. package/tedi.es.js +109 -105
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tedi-design-system/react",
3
- "version": "17.1.0-rc.9",
3
+ "version": "17.2.0-rc.1",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -43,7 +43,7 @@
43
43
  "@mui/material": "^5.15.13",
44
44
  "@mui/x-date-pickers": "^5.0.20",
45
45
  "@tanstack/react-table": "^8.13.2",
46
- "@tedi-design-system/core": "6.0.1",
46
+ "@tedi-design-system/core": "6.4.0",
47
47
  "classnames": "^2.5.1",
48
48
  "draft-js": "^0.11.7",
49
49
  "draftjs-md-converter": "^1.5.2",
@@ -17,6 +17,9 @@ type ConditionalTypes<C extends React.ElementType> = {
17
17
  linkAs?: never;
18
18
  crumbs: CrumbProps<IntentionalAny>[];
19
19
  };
20
+ /**
21
+ * @deprecated Use Breadcrumbs from `@tedi-design-system/react/tedi` instead.
22
+ */
20
23
  export type BreadcrumbsProps<C extends React.ElementType = 'a'> = ConditionalTypes<C> & {
21
24
  /**
22
25
  * Additional custom class.
@@ -29,5 +32,8 @@ export type BreadcrumbsProps<C extends React.ElementType = 'a'> = ConditionalTyp
29
32
  */
30
33
  showMinimalCrumbs?: boolean | Layouts;
31
34
  };
35
+ /**
36
+ * @deprecated Use Breadcrumbs from `@tedi-design-system/react/tedi` instead.
37
+ */
32
38
  export declare const Breadcrumbs: <C extends React.ElementType = "a">(props: BreadcrumbsProps<C>) => JSX.Element | null;
33
39
  export default Breadcrumbs;
@@ -1,5 +1,8 @@
1
1
  import { default as React } from 'react';
2
2
  import { AnchorProps } from '../../../anchor/anchor';
3
+ /**
4
+ * @deprecated Use Breadcrumbs from `@tedi-design-system/react/tedi` instead.
5
+ */
3
6
  export type CrumbProps<C extends React.ElementType = 'a'> = {
4
7
  /**
5
8
  * If crumb is last/current page;
@@ -7,6 +10,9 @@ export type CrumbProps<C extends React.ElementType = 'a'> = {
7
10
  */
8
11
  isLast?: boolean;
9
12
  } & AnchorProps<C>;
13
+ /**
14
+ * @deprecated Use Breadcrumbs from `@tedi-design-system/react/tedi` instead.
15
+ */
10
16
  declare const Crumb: <C extends React.ElementType = "a">(props: CrumbProps<C> & {
11
17
  singleCrumb?: boolean;
12
18
  }) => JSX.Element;
@@ -22,7 +22,7 @@ export type ButtonContentProps<C extends React.ElementType, P extends Record<str
22
22
  */
23
23
  fullWidth?: boolean;
24
24
  /**
25
- * Color schema for button. PS text-color works only with link type links.
25
+ * Color scheme of the button. The 'text' value is only supported when visualType is 'link'.
26
26
  * @default default
27
27
  */
28
28
  color?: ButtonColor;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t={"tedi-btn":"tedi-btn-f8b478d7","tedi-btn--small":"tedi-btn--small-e94b9068","tedi-btn--icon-only":"tedi-btn--icon-only-ca6a5cf1","tedi-btn--large":"tedi-btn--large-7e783e1a","tedi-btn--neutral":"tedi-btn--neutral-c8726f60","tedi-btn--default":"tedi-btn--default-9fd10888","tedi-btn--danger":"tedi-btn--danger-9c01f2b8","tedi-btn__text":"tedi-btn__text-a9860fef","tedi-btn--primary":"tedi-btn--primary-8ae5fe2e","tedi-btn--is-active":"tedi-btn--is-active-a575ad1a","tedi-btn--is-hovered":"tedi-btn--is-hovered-5b87ccb5","tedi-btn--secondary":"tedi-btn--secondary-770ac807","tedi-btn--success":"tedi-btn--success-92db7606","tedi-btn--inverted":"tedi-btn--inverted-fd168601","tedi-btn--link":"tedi-btn--link-33d9c4c6","tedi-btn--text-color":"tedi-btn--text-color-f85da3c7","tedi-btn__inner":"tedi-btn__inner-ee6403e9","tedi-btn__icon--left":"tedi-btn__icon--left-63fdbc12","tedi-btn__icon--right":"tedi-btn__icon--right-67cbf204","tedi-btn__icon-responsive":"tedi-btn__icon-responsive-91341acf","tedi-btn--is-loading":"tedi-btn--is-loading-4ead0e89","tedi-btn--icon":"tedi-btn--icon-dbc3eb30","tedi-btn__icon":"tedi-btn__icon-cffac719","tedi-btn__icon-standalone--link":"tedi-btn__icon-standalone--link-d6b6714d","tedi-btn__spinner":"tedi-btn__spinner-abd3f027","tedi-btn--underline":"tedi-btn--underline-bf1600fb","tedi-btn--no-style":"tedi-btn--no-style-f6dfaa4d","tedi-btn--full-width":"tedi-btn--full-width-f1e5f1b3"};exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t={"tedi-btn":"tedi-btn-f8b478d7","tedi-btn--small":"tedi-btn--small-e94b9068","tedi-btn--icon-only":"tedi-btn--icon-only-ca6a5cf1","tedi-btn--large":"tedi-btn--large-7e783e1a","tedi-btn--neutral":"tedi-btn--neutral-c8726f60","tedi-btn--default":"tedi-btn--default-9fd10888","tedi-btn--danger":"tedi-btn--danger-9c01f2b8","tedi-btn__text":"tedi-btn__text-a9860fef","tedi-btn--primary":"tedi-btn--primary-8ae5fe2e","tedi-btn--is-active":"tedi-btn--is-active-a575ad1a","tedi-btn--is-hovered":"tedi-btn--is-hovered-5b87ccb5","tedi-btn--secondary":"tedi-btn--secondary-770ac807","tedi-btn--success":"tedi-btn--success-92db7606","tedi-btn--inverted":"tedi-btn--inverted-fd168601","tedi-btn--link":"tedi-btn--link-33d9c4c6","tedi-btn--text":"tedi-btn--text-af7055b9","tedi-btn__inner":"tedi-btn__inner-ee6403e9","tedi-btn__icon--left":"tedi-btn__icon--left-63fdbc12","tedi-btn__icon--right":"tedi-btn__icon--right-67cbf204","tedi-btn__icon-responsive":"tedi-btn__icon-responsive-91341acf","tedi-btn--is-loading":"tedi-btn--is-loading-4ead0e89","tedi-btn--icon":"tedi-btn--icon-dbc3eb30","tedi-btn__icon":"tedi-btn__icon-cffac719","tedi-btn__icon-standalone--link":"tedi-btn__icon-standalone--link-d6b6714d","tedi-btn__spinner":"tedi-btn__spinner-abd3f027","tedi-btn--underline":"tedi-btn--underline-bf1600fb","tedi-btn--no-style":"tedi-btn--no-style-f6dfaa4d","tedi-btn--full-width":"tedi-btn--full-width-f1e5f1b3"};exports.default=t;
@@ -14,7 +14,7 @@ const t = {
14
14
  "tedi-btn--success": "tedi-btn--success-92db7606",
15
15
  "tedi-btn--inverted": "tedi-btn--inverted-fd168601",
16
16
  "tedi-btn--link": "tedi-btn--link-33d9c4c6",
17
- "tedi-btn--text-color": "tedi-btn--text-color-f85da3c7",
17
+ "tedi-btn--text": "tedi-btn--text-af7055b9",
18
18
  "tedi-btn__inner": "tedi-btn__inner-ee6403e9",
19
19
  "tedi-btn__icon--left": "tedi-btn__icon--left-63fdbc12",
20
20
  "tedi-btn__icon--right": "tedi-btn__icon--right-67cbf204",
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),g=require("../../../../../external/classnames/index.cjs.js"),_=require("react"),n=require("../../base/icon/icon.cjs.js"),y=require("../button/button.cjs.js"),r=require("./button-group.module.scss.cjs.js"),L=require("../../../helpers/hooks/use-breakpoint.cjs.js"),C=require("../../../providers/label-provider/use-labels.cjs.js"),l=require("../../overlays/dropdown/dropdown.cjs.js"),x=b=>{const{getLabel:k}=C.useLabels(),{children:q,className:w,type:c="primary",onSelectionChange:i,stretch:I=!1,ariaLabel:v,size:f="default",enableMobileDropdown:N=!1,mobileBreakpoint:R="md",dropdownLabel:h=k("sidenav.submenu"),dropdownLabelMode:A="static"}=b,D=L.useBreakpoint(),M=L.isBreakpointBelow(D,R),m=_.Children.toArray(q).filter(e=>_.isValidElement(e)&&e.type===y.Button),t=m.find(e=>e.props.isActive),B=A==="static"?h:(t==null?void 0:t.props.children)??h,a=t==null?void 0:t.props.iconLeft,d=t==null?void 0:t.props.icon;return M&&N?o.jsxs(l.Dropdown,{width:"trigger",children:[o.jsx(l.Dropdown.Trigger,{children:o.jsxs(y.Button,{visualType:c,className:g.default(r.default["tedi-button-group__dropdown-trigger"],r.default[`tedi-button-group__dropdown-trigger--${c}`],w),noStyle:!0,fullWidth:!0,children:[a?o.jsx(n.Icon,{name:typeof a=="string"?a:a.name,color:"inherit"}):d?o.jsx(n.Icon,{name:typeof d=="string"?d:d.name,color:"inherit"}):o.jsx(n.Icon,{name:"menu",color:"inherit"}),B]})}),o.jsx(l.Dropdown.Content,{children:m.map((e,u)=>o.jsxs(l.Dropdown.Item,{index:u,active:e==null?void 0:e.props.isActive,disabled:e==null?void 0:e.props.disabled,onClick:s=>{var p,j;e.props.disabled||(s.type==="click"&&((j=(p=e.props).onClick)==null||j.call(p,s)),e.props.id&&(i==null||i(e.props.id)))},className:r.default["tedi-button-group__dropdown-item"],children:[e.props.iconLeft&&o.jsx(n.Icon,{name:typeof e.props.iconLeft=="string"?e.props.iconLeft:e.props.iconLeft.name,color:"inherit"}),e.props.children,e.props.iconRight&&o.jsx(n.Icon,{name:typeof e.props.iconRight=="string"?e.props.iconRight:e.props.iconRight.name,color:"inherit"})]},e.props.id||u))})]}):o.jsx("div",{className:g.default(r.default["tedi-button-group"],r.default[`tedi-button-group--${c}`],{[r.default["tedi-button-group--stretch"]]:I},w),role:"group","aria-label":v,children:m.map(e=>_.cloneElement(e,{className:g.default(r.default["tedi-button-group__item"],{[r.default["tedi-button-group__item--active"]]:e.props.isActive,[r.default["tedi-button-group__item--disabled"]]:e.props.disabled,[r.default[`tedi-button-group__item--size-${f}`]]:f},e.props.className),size:f,onClick:u=>{var s,p;(p=(s=e.props).onClick)==null||p.call(s,u),e.props.id&&(i==null||i(e.props.id))}}))})};exports.ButtonGroup=x;exports.default=x;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),g=require("../../../../../external/classnames/index.cjs.js"),_=require("react"),n=require("../../base/icon/icon.cjs.js"),x=require("../button/button.cjs.js"),r=require("./button-group.module.scss.cjs.js"),L=require("../../../helpers/hooks/use-breakpoint.cjs.js"),C=require("../../../providers/label-provider/use-labels.cjs.js"),l=require("../../overlays/dropdown/dropdown.cjs.js"),b=k=>{const{getLabel:j}=C.useLabels(),{children:q,className:w,type:c="primary",onSelectionChange:i,stretch:v=!1,ariaLabel:I,size:f="default",enableMobileDropdown:A=!1,mobileBreakpoint:N="md",dropdownLabel:y=j("sidenav.submenu"),dropdownLabelMode:R="static"}=k,B=L.useBreakpoint(),D=L.isBreakpointBelow(B,N),m=_.Children.toArray(q).filter(e=>_.isValidElement(e)&&e.type===x.Button),s=m.find(e=>e.props.isActive),M=R==="static"?y:(s==null?void 0:s.props.children)??y,a=s==null?void 0:s.props.iconLeft,d=s==null?void 0:s.props.icon;return D&&A?o.jsxs(l.Dropdown,{width:"trigger",children:[o.jsx(l.Dropdown.Trigger,{children:o.jsxs(x.Button,{visualType:c,className:g.default(r.default["tedi-button-group__dropdown-trigger"],r.default[`tedi-button-group__dropdown-trigger--${c}`],w),noStyle:!0,fullWidth:!0,children:[a?o.jsx(n.Icon,{name:typeof a=="string"?a:a.name,color:"inherit"}):d?o.jsx(n.Icon,{name:typeof d=="string"?d:d.name,color:"inherit"}):o.jsx(n.Icon,{name:"menu",color:"inherit"}),M]})}),o.jsx(l.Dropdown.Content,{children:m.map((e,u)=>o.jsxs(l.Dropdown.Item,{index:u,active:e==null?void 0:e.props.isActive,disabled:e==null?void 0:e.props.disabled,onClick:t=>{var p,h;e.props.disabled||(t.type==="click"&&((h=(p=e.props).onClick)==null||h.call(p,t)),e.props.id&&(i==null||i(e.props.id)))},className:r.default["tedi-button-group__dropdown-item"],children:[e.props.iconLeft&&o.jsx(n.Icon,{name:typeof e.props.iconLeft=="string"?e.props.iconLeft:e.props.iconLeft.name,color:"inherit"}),e.props.children,e.props.iconRight&&o.jsx(n.Icon,{name:typeof e.props.iconRight=="string"?e.props.iconRight:e.props.iconRight.name,color:"inherit"}),e.props.isActive&&o.jsx("span",{className:"sr-only",children:j("button-group.selected")})]},e.props.id||u))})]}):o.jsx("div",{className:g.default(r.default["tedi-button-group"],r.default[`tedi-button-group--${c}`],{[r.default["tedi-button-group--stretch"]]:v},w),role:"group","aria-label":I,children:m.map(e=>_.cloneElement(e,{className:g.default(r.default["tedi-button-group__item"],{[r.default["tedi-button-group__item--active"]]:e.props.isActive,[r.default["tedi-button-group__item--disabled"]]:e.props.disabled,[r.default[`tedi-button-group__item--size-${f}`]]:f},e.props.className),size:f,"aria-pressed":!!e.props.isActive,onClick:u=>{var t,p;(p=(t=e.props).onClick)==null||p.call(t,u),e.props.id&&(i==null||i(e.props.id))}}))})};exports.ButtonGroup=b;exports.default=b;
@@ -1,36 +1,36 @@
1
1
  import { jsxs as g, jsx as i } from "react/jsx-runtime";
2
- import _ from "../../../../../external/classnames/index.es.js";
3
- import { Children as x, isValidElement as z, cloneElement as D } from "react";
2
+ import y from "../../../../../external/classnames/index.es.js";
3
+ import { Children as x, isValidElement as z, cloneElement as B } from "react";
4
4
  import { Icon as a } from "../../base/icon/icon.es.js";
5
- import { Button as w } from "../button/button.es.js";
5
+ import { Button as k } from "../button/button.es.js";
6
6
  import r from "./button-group.module.scss.es.js";
7
- import { useBreakpoint as E, isBreakpointBelow as T } from "../../../helpers/hooks/use-breakpoint.es.js";
8
- import { useLabels as V } from "../../../providers/label-provider/use-labels.es.js";
9
- import { Dropdown as m } from "../../overlays/dropdown/dropdown.es.js";
10
- const P = (k) => {
11
- const { getLabel: N } = V(), {
12
- children: b,
7
+ import { useBreakpoint as D, isBreakpointBelow as E } from "../../../helpers/hooks/use-breakpoint.es.js";
8
+ import { useLabels as T } from "../../../providers/label-provider/use-labels.es.js";
9
+ import { Dropdown as d } from "../../overlays/dropdown/dropdown.es.js";
10
+ const P = (N) => {
11
+ const { getLabel: _ } = T(), {
12
+ children: v,
13
13
  className: h,
14
- type: c = "primary",
14
+ type: m = "primary",
15
15
  onSelectionChange: p,
16
- stretch: v = !1,
17
- ariaLabel: A,
16
+ stretch: A = !1,
17
+ ariaLabel: b,
18
18
  size: u = "default",
19
19
  enableMobileDropdown: I = !1,
20
20
  mobileBreakpoint: R = "md",
21
- dropdownLabel: y = N("sidenav.submenu"),
21
+ dropdownLabel: L = _("sidenav.submenu"),
22
22
  dropdownLabelMode: C = "static"
23
- } = k, M = E(), $ = T(M, R), f = x.toArray(b).filter(
24
- (o) => z(o) && o.type === w
25
- ), e = f.find((o) => o.props.isActive), j = C === "static" ? y : (e == null ? void 0 : e.props.children) ?? y, n = e == null ? void 0 : e.props.iconLeft, l = e == null ? void 0 : e.props.icon;
26
- return $ && I ? /* @__PURE__ */ g(m, { width: "trigger", children: [
27
- /* @__PURE__ */ i(m.Trigger, { children: /* @__PURE__ */ g(
28
- w,
23
+ } = N, M = D(), $ = E(M, R), f = x.toArray(v).filter(
24
+ (o) => z(o) && o.type === k
25
+ ), e = f.find((o) => o.props.isActive), j = C === "static" ? L : (e == null ? void 0 : e.props.children) ?? L, n = e == null ? void 0 : e.props.iconLeft, l = e == null ? void 0 : e.props.icon;
26
+ return $ && I ? /* @__PURE__ */ g(d, { width: "trigger", children: [
27
+ /* @__PURE__ */ i(d.Trigger, { children: /* @__PURE__ */ g(
28
+ k,
29
29
  {
30
- visualType: c,
31
- className: _(
30
+ visualType: m,
31
+ className: y(
32
32
  r["tedi-button-group__dropdown-trigger"],
33
- r[`tedi-button-group__dropdown-trigger--${c}`],
33
+ r[`tedi-button-group__dropdown-trigger--${m}`],
34
34
  h
35
35
  ),
36
36
  noStyle: !0,
@@ -41,15 +41,15 @@ const P = (k) => {
41
41
  ]
42
42
  }
43
43
  ) }),
44
- /* @__PURE__ */ i(m.Content, { children: f.map((o, d) => /* @__PURE__ */ g(
45
- m.Item,
44
+ /* @__PURE__ */ i(d.Content, { children: f.map((o, c) => /* @__PURE__ */ g(
45
+ d.Item,
46
46
  {
47
- index: d,
47
+ index: c,
48
48
  active: o == null ? void 0 : o.props.isActive,
49
49
  disabled: o == null ? void 0 : o.props.disabled,
50
50
  onClick: (s) => {
51
- var t, L;
52
- o.props.disabled || (s.type === "click" && ((L = (t = o.props).onClick) == null || L.call(t, s)), o.props.id && (p == null || p(o.props.id)));
51
+ var t, w;
52
+ o.props.disabled || (s.type === "click" && ((w = (t = o.props).onClick) == null || w.call(t, s)), o.props.id && (p == null || p(o.props.id)));
53
53
  },
54
54
  className: r["tedi-button-group__dropdown-item"],
55
55
  children: [
@@ -67,25 +67,26 @@ const P = (k) => {
67
67
  name: typeof o.props.iconRight == "string" ? o.props.iconRight : o.props.iconRight.name,
68
68
  color: "inherit"
69
69
  }
70
- )
70
+ ),
71
+ o.props.isActive && /* @__PURE__ */ i("span", { className: "sr-only", children: _("button-group.selected") })
71
72
  ]
72
73
  },
73
- o.props.id || d
74
+ o.props.id || c
74
75
  )) })
75
76
  ] }) : /* @__PURE__ */ i(
76
77
  "div",
77
78
  {
78
- className: _(
79
+ className: y(
79
80
  r["tedi-button-group"],
80
- r[`tedi-button-group--${c}`],
81
- { [r["tedi-button-group--stretch"]]: v },
81
+ r[`tedi-button-group--${m}`],
82
+ { [r["tedi-button-group--stretch"]]: A },
82
83
  h
83
84
  ),
84
85
  role: "group",
85
- "aria-label": A,
86
+ "aria-label": b,
86
87
  children: f.map(
87
- (o) => D(o, {
88
- className: _(
88
+ (o) => B(o, {
89
+ className: y(
89
90
  r["tedi-button-group__item"],
90
91
  {
91
92
  [r["tedi-button-group__item--active"]]: o.props.isActive,
@@ -95,9 +96,10 @@ const P = (k) => {
95
96
  o.props.className
96
97
  ),
97
98
  size: u,
98
- onClick: (d) => {
99
+ "aria-pressed": !!o.props.isActive,
100
+ onClick: (c) => {
99
101
  var s, t;
100
- (t = (s = o.props).onClick) == null || t.call(s, d), o.props.id && (p == null || p(o.props.id));
102
+ (t = (s = o.props).onClick) == null || t.call(s, c), o.props.id && (p == null || p(o.props.id));
101
103
  }
102
104
  })
103
105
  )
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t={"tedi-btn":"tedi-btn-46574e9e","tedi-btn--small":"tedi-btn--small-97569c3a","tedi-btn--icon-only":"tedi-btn--icon-only-687afb86","tedi-btn--large":"tedi-btn--large-30b2336f","tedi-btn--neutral":"tedi-btn--neutral-dfb5e967","tedi-btn--default":"tedi-btn--default-1bab37cf","tedi-btn--danger":"tedi-btn--danger-ce1411e6","tedi-btn__text":"tedi-btn__text-24c50120","tedi-btn--primary":"tedi-btn--primary-d127e524","tedi-btn--is-active":"tedi-btn--is-active-05d20ecf","tedi-btn--is-hovered":"tedi-btn--is-hovered-d798316b","tedi-btn--secondary":"tedi-btn--secondary-ca5af8db","tedi-btn--success":"tedi-btn--success-470ed017","tedi-btn--inverted":"tedi-btn--inverted-b218d4df","tedi-btn--link":"tedi-btn--link-5c908f1f","tedi-btn--text-color":"tedi-btn--text-color-dd311f47","tedi-btn__inner":"tedi-btn__inner-df9867b5","tedi-btn__icon--left":"tedi-btn__icon--left-a9b176d3","tedi-btn__icon--right":"tedi-btn__icon--right-bccdacec","tedi-btn__icon-responsive":"tedi-btn__icon-responsive-201b5d44","tedi-btn--is-loading":"tedi-btn--is-loading-6534cc98","tedi-btn--icon":"tedi-btn--icon-21bbe29b","tedi-btn__icon":"tedi-btn__icon-8ff68f98","tedi-btn__icon-standalone--link":"tedi-btn__icon-standalone--link-3ad337b4","tedi-btn__spinner":"tedi-btn__spinner-ac3c6e8f","tedi-btn--underline":"tedi-btn--underline-281af007","tedi-btn--no-style":"tedi-btn--no-style-ed02c4bd","tedi-btn--full-width":"tedi-btn--full-width-90cbf5a9","tedi-floating-button":"tedi-floating-button-3c8f9de2","tedi-floating-button--horizontal":"tedi-floating-button--horizontal-48509abb","tedi-floating-button--vertical":"tedi-floating-button--vertical-0ff466d5","tedi-floating-button--primary":"tedi-floating-button--primary-7c6e48ad","tedi-floating-button--secondary":"tedi-floating-button--secondary-f7a0cd3f","tedi-floating-button--medium":"tedi-floating-button--medium-cddc5b75","tedi-floating-button--icon-only":"tedi-floating-button--icon-only-17b35563","tedi-floating-button--large":"tedi-floating-button--large-a688151c"};exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t={"tedi-btn":"tedi-btn-46574e9e","tedi-btn--small":"tedi-btn--small-97569c3a","tedi-btn--icon-only":"tedi-btn--icon-only-687afb86","tedi-btn--large":"tedi-btn--large-30b2336f","tedi-btn--neutral":"tedi-btn--neutral-dfb5e967","tedi-btn--default":"tedi-btn--default-1bab37cf","tedi-btn--danger":"tedi-btn--danger-ce1411e6","tedi-btn__text":"tedi-btn__text-24c50120","tedi-btn--primary":"tedi-btn--primary-d127e524","tedi-btn--is-active":"tedi-btn--is-active-05d20ecf","tedi-btn--is-hovered":"tedi-btn--is-hovered-d798316b","tedi-btn--secondary":"tedi-btn--secondary-ca5af8db","tedi-btn--success":"tedi-btn--success-470ed017","tedi-btn--inverted":"tedi-btn--inverted-b218d4df","tedi-btn--link":"tedi-btn--link-5c908f1f","tedi-btn--text":"tedi-btn--text-9b2f7e3a","tedi-btn__inner":"tedi-btn__inner-df9867b5","tedi-btn__icon--left":"tedi-btn__icon--left-a9b176d3","tedi-btn__icon--right":"tedi-btn__icon--right-bccdacec","tedi-btn__icon-responsive":"tedi-btn__icon-responsive-201b5d44","tedi-btn--is-loading":"tedi-btn--is-loading-6534cc98","tedi-btn--icon":"tedi-btn--icon-21bbe29b","tedi-btn__icon":"tedi-btn__icon-8ff68f98","tedi-btn__icon-standalone--link":"tedi-btn__icon-standalone--link-3ad337b4","tedi-btn__spinner":"tedi-btn__spinner-ac3c6e8f","tedi-btn--underline":"tedi-btn--underline-281af007","tedi-btn--no-style":"tedi-btn--no-style-ed02c4bd","tedi-btn--full-width":"tedi-btn--full-width-90cbf5a9","tedi-floating-button":"tedi-floating-button-3c8f9de2","tedi-floating-button--horizontal":"tedi-floating-button--horizontal-48509abb","tedi-floating-button--vertical":"tedi-floating-button--vertical-0ff466d5","tedi-floating-button--primary":"tedi-floating-button--primary-7c6e48ad","tedi-floating-button--secondary":"tedi-floating-button--secondary-f7a0cd3f","tedi-floating-button--medium":"tedi-floating-button--medium-cddc5b75","tedi-floating-button--icon-only":"tedi-floating-button--icon-only-17b35563","tedi-floating-button--large":"tedi-floating-button--large-a688151c"};exports.default=t;
@@ -14,7 +14,7 @@ const t = {
14
14
  "tedi-btn--success": "tedi-btn--success-470ed017",
15
15
  "tedi-btn--inverted": "tedi-btn--inverted-b218d4df",
16
16
  "tedi-btn--link": "tedi-btn--link-5c908f1f",
17
- "tedi-btn--text-color": "tedi-btn--text-color-dd311f47",
17
+ "tedi-btn--text": "tedi-btn--text-9b2f7e3a",
18
18
  "tedi-btn__inner": "tedi-btn__inner-df9867b5",
19
19
  "tedi-btn__icon--left": "tedi-btn__icon--left-a9b176d3",
20
20
  "tedi-btn__icon--right": "tedi-btn__icon--right-bccdacec",
@@ -1,4 +1,4 @@
1
- import { StoryFn } from '@storybook/react/*';
1
+ import { StoryFn } from '@storybook/react';
2
2
  import { CardStory } from './card.stories';
3
3
  export declare const HeaderTypesTemplate: StoryFn<CardStory>;
4
4
  export declare const DefaultCardTemplates: StoryFn<CardStory>;
@@ -0,0 +1,45 @@
1
+ import { TediLanguage } from '../../../../../providers/label-provider';
2
+ export interface Language {
3
+ /** Display text shown in the language selector (e.g. 'EST', 'ENG'). */
4
+ label: string;
5
+ /**
6
+ * Locale code for this language. When present, `setLocale` from the LabelProvider
7
+ * is called with this value on selection. Ignored when `onClick` is provided.
8
+ */
9
+ locale?: TediLanguage;
10
+ /**
11
+ * Custom click handler. When provided, it takes full control of what happens on select —
12
+ * the component only updates its displayed label and provides `onToggle` so the handler
13
+ * can decide when to close the popover.
14
+ */
15
+ onClick?: (props: {
16
+ onToggle: (open: boolean) => void;
17
+ }) => void;
18
+ /** Whether this language is currently active. Used to set `aria-current` on the option. */
19
+ isSelected?: boolean;
20
+ /** Accessible label for screen readers (e.g. 'Estonian', 'English'). */
21
+ 'aria-label'?: string;
22
+ }
23
+ export interface HeaderLanguageProps {
24
+ /**
25
+ * List of available languages to display in the selector dropdown.
26
+ * Each language object accepts:
27
+ * - `label` — display text (e.g. 'EST', 'ENG')
28
+ * - `locale` — locale code passed to `setLocale` on selection (ignored when `onClick` is provided)
29
+ * - `onClick` — custom click handler that takes full control of selection behavior
30
+ * - `isSelected` — marks the language as currently active (`aria-current`)
31
+ * - `aria-label` — accessible label for screen readers (e.g. 'Estonian', 'English')
32
+ */
33
+ languages: Language[];
34
+ /** Initially displayed language label. Falls back to the label matching the current locale, or the first item. */
35
+ currentLanguage?: string;
36
+ /** Label for the language selector.
37
+ * Falls back to the default i18n label when not provided.
38
+ **/
39
+ selectLabel?: string;
40
+ }
41
+ export declare const HeaderLanguage: {
42
+ (props: HeaderLanguageProps): import("react/jsx-runtime").JSX.Element;
43
+ displayName: string;
44
+ };
45
+ export default HeaderLanguage;
@@ -0,0 +1,22 @@
1
+ import { BreakpointSupport } from '../../../../../helpers';
2
+ interface HeaderLoginBreakpointProps {
3
+ /**
4
+ * Controls the visual size of the login button.
5
+ * `'small'` renders a compact icon button (used on mobile), `'default'` renders a full-width link.
6
+ * Automatically falls back to `'small'` on mobile viewports when not specified.
7
+ */
8
+ size?: 'default' | 'small';
9
+ /** Custom label text for the login button. Falls back to the `header.login` or `header.login.mobile` translation key. */
10
+ label?: string;
11
+ }
12
+ export interface HeaderLoginProps extends BreakpointSupport<HeaderLoginBreakpointProps> {
13
+ /** Click handler fired when the login button is activated. */
14
+ onClick?: () => void;
15
+ /** URL to navigate to when the login button is clicked. */
16
+ href?: string;
17
+ }
18
+ export declare const HeaderLogin: {
19
+ (props: HeaderLoginProps): import("react/jsx-runtime").JSX.Element;
20
+ displayName: string;
21
+ };
22
+ export default HeaderLogin;
@@ -0,0 +1,22 @@
1
+ import { BreakpointSupport } from '../../../../../helpers';
2
+ interface HeaderLogoutBreakpointProps {
3
+ /**
4
+ * Controls the visual size of the logout button.
5
+ * `'small'` renders a compact icon button (used on mobile), `'default'` renders a full-width link with icon.
6
+ * Automatically falls back to `'small'` on mobile viewports when not specified.
7
+ */
8
+ size?: 'default' | 'small';
9
+ /** Custom label text for the logout button. Falls back to the `header.logout` or `header.logout.mobile` translation key. */
10
+ label?: string;
11
+ }
12
+ export interface HeaderLogoutProps extends BreakpointSupport<HeaderLogoutBreakpointProps> {
13
+ /** Click handler fired when the logout button is activated. */
14
+ onClick?: () => void;
15
+ /** URL to navigate to when the logout button is clicked. */
16
+ href?: string;
17
+ }
18
+ export declare const HeaderLogout: {
19
+ (props: HeaderLogoutProps): import("react/jsx-runtime").JSX.Element;
20
+ displayName: string;
21
+ };
22
+ export default HeaderLogout;
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+ import { IconWithoutBackgroundProps } from '../../../../base/icon/icon';
3
+ interface HeaderMobileButtonProps {
4
+ /** Click handler for the button. */
5
+ onClick?: () => void;
6
+ /** If provided, the button renders as a link navigating to this URL. */
7
+ href?: string;
8
+ /**
9
+ * Icon displayed inside the button.
10
+ * Can be a material icon name (e.g. 'menu') or a full IconWithoutBackgroundProps object for more control.
11
+ */
12
+ icon: string | IconWithoutBackgroundProps;
13
+ /** Label text displayed below the icon. */
14
+ label?: string;
15
+ /** Whether the button is in a selected state. */
16
+ selected?: boolean;
17
+ /** Whether the button is disabled. */
18
+ disabled?: boolean;
19
+ }
20
+ declare const HeaderMobileButton: React.ForwardRefExoticComponent<HeaderMobileButtonProps & React.RefAttributes<HTMLButtonElement>>;
21
+ export default HeaderMobileButton;
@@ -0,0 +1,43 @@
1
+ import { Breakpoint, BreakpointSupport } from '../../../../../helpers';
2
+ interface HeaderProfileContextValue {
3
+ activeRoleId: string | null;
4
+ setActiveRoleId: (id: string | null) => void;
5
+ }
6
+ export declare const useHeaderProfile: () => HeaderProfileContextValue | null;
7
+ interface HeaderProfileBreakpointProps {
8
+ /**
9
+ * Defines the breakpoint from which the profile menu is displayed as a popover.
10
+ * Below this breakpoint, it is rendered as a modal.
11
+ *
12
+ * @default lg
13
+ */
14
+ showPopover?: Breakpoint;
15
+ /** Custom label text for the profile button. Falls back to the `header.profile` translation key. */
16
+ label?: string;
17
+ }
18
+ export interface HeaderProfileProps extends BreakpointSupport<HeaderProfileBreakpointProps> {
19
+ /** Content rendered inside the profile popover or modal (e.g. navigation links, logout button). */
20
+ children: React.ReactNode;
21
+ /**
22
+ * Whether to display a text label next to the profile icon on non-mobile viewports.
23
+ * @default false
24
+ */
25
+ showLabel?: boolean;
26
+ /**
27
+ * Whether the profile button is disabled. Prevents opening the popover or modal.
28
+ * @default false
29
+ */
30
+ disabled?: boolean;
31
+ /**
32
+ * Removes default item styles from the mobile modal content.
33
+ * When `true`, children are rendered without padding, borders, or background applied by the component.
34
+ * Use when the content requires custom item styling.
35
+ * @default false
36
+ */
37
+ noStyle?: boolean;
38
+ }
39
+ export declare const HeaderProfile: {
40
+ (props: HeaderProfileProps): import("react/jsx-runtime").JSX.Element;
41
+ displayName: string;
42
+ };
43
+ export default HeaderProfile;
@@ -0,0 +1,79 @@
1
+ import { default as React } from 'react';
2
+ import { IconProps } from '../../../../base/icon/icon';
3
+ export interface Representative {
4
+ /** Unique identifier for the representative. */
5
+ id: string;
6
+ /** Display name shown in the header and selection list. */
7
+ name: string;
8
+ /** Additional context shown below the name (e.g. role, organization, personal code). */
9
+ description?: string;
10
+ /**
11
+ * Icon displayed next to the representative in the selection list. Accepts either a
12
+ * Material Icon name as a string (`'person'`) for the common case, or a full
13
+ * `IconProps` object (`{ name: 'person', size: 18 }`) when explicit props are needed.
14
+ */
15
+ icon?: string | IconProps;
16
+ }
17
+ interface HeaderRoleRepresentativesProps {
18
+ /** Unique id for the collapsible panel, used for aria-controls on the toggle. */
19
+ id?: string;
20
+ /** Id of the toggle button, used for aria-labelledby on the panel. */
21
+ toggleId?: string;
22
+ /** List of representatives to display in the selection list. */
23
+ representatives: Representative[];
24
+ /** Currently selected representative. */
25
+ representative?: Representative;
26
+ /** Current value of the search input. */
27
+ inputValue: string;
28
+ /** Callback to update the search input value. */
29
+ setInputValue: (value: string) => void;
30
+ /** Callback to update the selected representative. */
31
+ setRepresentative: (rep: Representative) => void;
32
+ /** Callback to control the open/closed state of the role selection. */
33
+ setIsRoleSelectionOpen: (open: boolean) => void;
34
+ /** Callback fired when the role selection is toggled. Handles both state update and external notification. */
35
+ onRoleSelectionToggle?: () => void;
36
+ /** Whether the role selection panel is currently open. */
37
+ isRoleSelectionOpen: boolean;
38
+ /** Whether the representatives belong to an organization context. Affects the search input label. */
39
+ isOrganization?: boolean;
40
+ /**
41
+ * Label for the search input when selecting a representative.
42
+ * Falls back to i18n labels when not provided.
43
+ */
44
+ searchLabel?: string;
45
+ /**
46
+ * Label for the search input when selecting an organization representative.
47
+ * Overrides both the default and `searchLabel` when `isOrganization` is true.
48
+ */
49
+ organizationSearchLabel?: string;
50
+ /** Optional id for the search input. Falls back to a generated unique id. */
51
+ searchId?: string;
52
+ /** Whether to keep the role selection open after selecting a representative. */
53
+ keepOpenOnSelect?: boolean;
54
+ /**
55
+ * Whether to display the search input above the representative list.
56
+ * @default false
57
+ */
58
+ showSearch?: boolean;
59
+ /**
60
+ * Whether the search input shows a clear button.
61
+ * @default false
62
+ */
63
+ searchClearable?: boolean;
64
+ /**
65
+ * Whether to clear the search input when a representative is selected.
66
+ * @default true
67
+ */
68
+ clearSearchOnSelect?: boolean;
69
+ /**
70
+ * Custom content rendered when the filtered representative list is empty.
71
+ * Falls back to the default "no results" label when not provided.
72
+ */
73
+ noResultsContent?: React.ReactNode;
74
+ }
75
+ declare const HeaderRoleRepresentatives: {
76
+ (props: HeaderRoleRepresentativesProps): import("react/jsx-runtime").JSX.Element;
77
+ displayName: string;
78
+ };
79
+ export default HeaderRoleRepresentatives;
@@ -0,0 +1,74 @@
1
+ import { default as React } from 'react';
2
+ import { Representative } from './header-role-representatives';
3
+ export interface HeaderRoleProps {
4
+ /**
5
+ * Descriptive label rendered above the representative name (e.g. plain text, Tag, or any ReactNode).
6
+ */
7
+ label?: React.ReactNode;
8
+ /**
9
+ * Whether to display the selected representative's description text in the header area.
10
+ * Does not affect the description shown in the selection list items.
11
+ * @default true
12
+ */
13
+ showDescription?: boolean;
14
+ /** List of selectable representatives. */
15
+ representatives: Representative[];
16
+ /** Whether the role represents an organization. */
17
+ isOrganization?: boolean;
18
+ /** Custom labels for the accordion toggle button. */
19
+ accordionLabels?: {
20
+ open?: string;
21
+ close?: string;
22
+ };
23
+ /**
24
+ * Label for the search input when selecting a representative.
25
+ * Falls back to i18n labels when not provided.
26
+ */
27
+ searchLabel?: string;
28
+ /**
29
+ * Label for the search input when selecting an organization representative.
30
+ * Overrides both the default and `searchLabel` when `isOrganization` is true.
31
+ */
32
+ organizationSearchLabel?: string;
33
+ /** Optional id for the search input. Falls back to a generated unique id. */
34
+ searchId?: string;
35
+ /** Callback fired when the role selection accordion or popover is toggled. */
36
+ onRoleSelectionToggle?: (isOpen: boolean) => void;
37
+ /** Callback fired when a representative is selected. */
38
+ onRepresentativeChange?: (representative: Representative) => void;
39
+ /**
40
+ * Whether to display the search input above the representative list.
41
+ * @default false
42
+ */
43
+ showSearch?: boolean;
44
+ /**
45
+ * Whether the search input shows a clear button.
46
+ * @default false
47
+ */
48
+ searchClearable?: boolean;
49
+ /**
50
+ * Whether to clear the search input when a representative is selected.
51
+ * @default true
52
+ */
53
+ clearSearchOnSelect?: boolean;
54
+ /**
55
+ * Custom content rendered inside the role selection popover (desktop) or accordion (tablet and mobile).
56
+ * When provided, replaces the default representative list entirely.
57
+ */
58
+ children?: React.ReactNode;
59
+ /**
60
+ * Whether to show the role selection toggle and dropdown.
61
+ * When omitted, defaults to showing the selection when there are multiple representatives.
62
+ */
63
+ showRoleSwitch?: boolean;
64
+ /**
65
+ * Custom content rendered when the filtered representative list is empty.
66
+ * Falls back to the default "no results" label when not provided.
67
+ */
68
+ noResultsContent?: React.ReactNode;
69
+ }
70
+ export declare const HeaderRole: {
71
+ (props: HeaderRoleProps): import("react/jsx-runtime").JSX.Element;
72
+ displayName: string;
73
+ };
74
+ export default HeaderRole;
@@ -0,0 +1,28 @@
1
+ type MobileSearchVariant = 'modal' | 'inline';
2
+ export interface HeaderSearchProps {
3
+ /** Search input or form content rendered inside the search area. */
4
+ children: React.ReactNode;
5
+ /**
6
+ * How the search is presented on mobile viewports.
7
+ * `'modal'` opens a full-screen overlay with a close button, `'inline'` renders the search directly in the header bottom area.
8
+ * @default modal
9
+ */
10
+ mobileVariant?: MobileSearchVariant;
11
+ /** Custom label overrides for the search button and modal title. */
12
+ mobileLabels?: {
13
+ /** Label for the mobile search toggle button. Falls back to the `header.search` translation key. */
14
+ button?: string;
15
+ /** Title displayed at the top of the mobile search modal. Falls back to the `header.search` translation key. */
16
+ modalTitle?: string;
17
+ };
18
+ /**
19
+ * Whether the mobile search button is disabled. Prevents opening the search modal.
20
+ * @default false
21
+ */
22
+ disabled?: boolean;
23
+ }
24
+ export declare const HeaderSearch: {
25
+ (props: HeaderSearchProps): import("react/jsx-runtime").JSX.Element;
26
+ displayName: string;
27
+ };
28
+ export default HeaderSearch;