@tedi-design-system/react 17.1.0-rc.10 → 17.1.0-rc.12
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.
- package/bundle-stats.html +1 -1
- package/index.css +1 -1
- package/package.json +2 -2
- package/src/tedi/components/buttons/button-content/button-content.d.ts +1 -1
- package/src/tedi/components/buttons/button-content/button-content.module.scss.cjs.js +1 -1
- package/src/tedi/components/buttons/button-content/button-content.module.scss.es.js +1 -1
- package/src/tedi/components/buttons/button-group/button-group.cjs.js +1 -1
- package/src/tedi/components/buttons/button-group/button-group.es.js +39 -37
- package/src/tedi/components/buttons/floating-button/floating-button.module.scss.cjs.js +1 -1
- package/src/tedi/components/buttons/floating-button/floating-button.module.scss.es.js +1 -1
- package/src/tedi/components/cards/card/card-stories-templates.d.ts +1 -1
- package/src/tedi/components/layout/header/components/header-language/header-language.d.ts +45 -0
- package/src/tedi/components/layout/header/components/header-login/header-login.d.ts +22 -0
- package/src/tedi/components/layout/header/components/header-logout/header-logout.d.ts +22 -0
- package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.d.ts +21 -0
- package/src/tedi/components/layout/header/components/header-profile/header-profile.d.ts +43 -0
- package/src/tedi/components/layout/header/components/header-role/header-role-representatives.d.ts +79 -0
- package/src/tedi/components/layout/header/components/header-role/header-role.d.ts +74 -0
- package/src/tedi/components/layout/header/components/header-search/header-search.d.ts +28 -0
- package/src/tedi/components/layout/header/header.d.ts +115 -0
- package/src/tedi/components/layout/header/index.d.ts +7 -0
- package/src/tedi/components/layout/hide-at/hide-at.d.ts +10 -0
- package/src/tedi/components/layout/show-at/show-at.d.ts +10 -0
- package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.cjs.js +1 -1
- package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.es.js +1 -0
- package/src/tedi/components/overlays/overlay/overlay.cjs.js +1 -1
- package/src/tedi/components/overlays/overlay/overlay.d.ts +7 -0
- package/src/tedi/components/overlays/overlay/overlay.es.js +41 -40
- package/src/tedi/components/overlays/popover/index.d.ts +1 -0
- package/src/tedi/components/overlays/popover/popover-content.cjs.js +1 -1
- package/src/tedi/components/overlays/popover/popover-content.d.ts +5 -2
- package/src/tedi/components/overlays/popover/popover-content.es.js +36 -27
- package/src/tedi/components/overlays/popover/popover-context.cjs.js +1 -0
- package/src/tedi/components/overlays/popover/popover-context.d.ts +9 -0
- package/src/tedi/components/overlays/popover/popover-context.es.js +7 -0
- package/src/tedi/components/overlays/popover/popover.cjs.js +1 -1
- package/src/tedi/components/overlays/popover/popover.d.ts +12 -2
- package/src/tedi/components/overlays/popover/popover.es.js +18 -16
- package/src/tedi/components/overlays/popover/popover.module.scss.cjs.js +1 -1
- package/src/tedi/components/overlays/popover/popover.module.scss.es.js +2 -0
- package/src/tedi/providers/label-provider/label-provider.cjs.js +1 -1
- package/src/tedi/providers/label-provider/label-provider.d.ts +2 -0
- package/src/tedi/providers/label-provider/label-provider.es.js +57 -44
- package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
- package/src/tedi/providers/label-provider/labels-map.d.ts +77 -0
- package/src/tedi/providers/label-provider/labels-map.es.js +112 -35
- package/tedi.cjs.js +1 -1
- package/tedi.es.js +60 -58
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface HeaderProps {
|
|
3
|
+
/**
|
|
4
|
+
* Content rendered inside the header, typically Header.Logo, Header.Center, and Header.Actions subcomponents.
|
|
5
|
+
*/
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* Toggle element for the mobile side navigation menu.
|
|
9
|
+
* Typically a SideNav.Toggle component.
|
|
10
|
+
*/
|
|
11
|
+
toggle?: React.ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Content rendered below the main header bar on mobile viewports (below `md` breakpoint).
|
|
14
|
+
* Commonly used for a mobile-specific search bar or other compact navigation elements.
|
|
15
|
+
*/
|
|
16
|
+
bottom?: React.ReactNode;
|
|
17
|
+
/** Additional CSS class name applied to the header wrapper. */
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare const Header: {
|
|
21
|
+
(props: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
displayName: string;
|
|
23
|
+
Logo: {
|
|
24
|
+
(props: HeaderLogoProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
displayName: string;
|
|
26
|
+
};
|
|
27
|
+
Center: {
|
|
28
|
+
(props: HeaderCenterProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
displayName: string;
|
|
30
|
+
};
|
|
31
|
+
Actions: {
|
|
32
|
+
(props: HeaderActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
displayName: string;
|
|
34
|
+
};
|
|
35
|
+
Language: {
|
|
36
|
+
(props: import('./components/header-language/header-language').HeaderLanguageProps): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
displayName: string;
|
|
38
|
+
};
|
|
39
|
+
Login: {
|
|
40
|
+
(props: import('./components/header-login/header-login').HeaderLoginProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
displayName: string;
|
|
42
|
+
};
|
|
43
|
+
Logout: {
|
|
44
|
+
(props: import('./components/header-logout/header-logout').HeaderLogoutProps): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
displayName: string;
|
|
46
|
+
};
|
|
47
|
+
Profile: {
|
|
48
|
+
(props: import('./components/header-profile/header-profile').HeaderProfileProps): import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
displayName: string;
|
|
50
|
+
};
|
|
51
|
+
Role: {
|
|
52
|
+
(props: import('./components/header-role/header-role').HeaderRoleProps): import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
displayName: string;
|
|
54
|
+
};
|
|
55
|
+
Search: {
|
|
56
|
+
(props: import('./components/header-search/header-search').HeaderSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
displayName: string;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
export interface HeaderLogoProps {
|
|
61
|
+
/**
|
|
62
|
+
* The default logo to display (typically used in light theme).
|
|
63
|
+
*/
|
|
64
|
+
logo: React.ReactNode;
|
|
65
|
+
/**
|
|
66
|
+
* Optional logo variant for dark theme.
|
|
67
|
+
* If provided, it will be used when the current theme is dark.
|
|
68
|
+
*/
|
|
69
|
+
logoDark?: React.ReactNode;
|
|
70
|
+
/**
|
|
71
|
+
* Controls visibility of the logo.
|
|
72
|
+
* Useful for conditionally hiding the logo based on application state, feature flags,
|
|
73
|
+
* or custom media queries that fall between standard breakpoints (e.g. 420px).
|
|
74
|
+
* For responsive hiding at standard breakpoints, prefer wrapping Header.Logo with HideAt/ShowAt.
|
|
75
|
+
* @default true
|
|
76
|
+
*/
|
|
77
|
+
showLogo?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Optional link URL.
|
|
80
|
+
* If provided, the logo will be wrapped in an anchor element.
|
|
81
|
+
*/
|
|
82
|
+
href?: string;
|
|
83
|
+
/** Additional CSS class name applied to the logo wrapper. */
|
|
84
|
+
className?: string;
|
|
85
|
+
}
|
|
86
|
+
export declare const HeaderLogo: {
|
|
87
|
+
(props: HeaderLogoProps): import("react/jsx-runtime").JSX.Element | null;
|
|
88
|
+
displayName: string;
|
|
89
|
+
};
|
|
90
|
+
export interface HeaderCenterProps {
|
|
91
|
+
/** Content rendered in the center area of the header, typically navigation links or a search bar. */
|
|
92
|
+
children: React.ReactNode;
|
|
93
|
+
/**
|
|
94
|
+
* Controls the horizontal alignment of center content.
|
|
95
|
+
* @default center
|
|
96
|
+
*/
|
|
97
|
+
alignment?: 'flex-start' | 'center' | 'space-between';
|
|
98
|
+
/** Additional CSS class name applied to the center content area. */
|
|
99
|
+
className?: string;
|
|
100
|
+
}
|
|
101
|
+
export declare const HeaderCenter: {
|
|
102
|
+
(props: HeaderCenterProps): import("react/jsx-runtime").JSX.Element;
|
|
103
|
+
displayName: string;
|
|
104
|
+
};
|
|
105
|
+
export interface HeaderActionsProps {
|
|
106
|
+
/** Action elements rendered on the right side of the header (e.g. language selector, login, profile). */
|
|
107
|
+
children: React.ReactNode;
|
|
108
|
+
/** Additional CSS class name applied to the actions wrapper. */
|
|
109
|
+
className?: string;
|
|
110
|
+
}
|
|
111
|
+
export declare const HeaderActions: {
|
|
112
|
+
(props: HeaderActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
113
|
+
displayName: string;
|
|
114
|
+
};
|
|
115
|
+
export default Header;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './header';
|
|
2
|
+
export * from './components/header-language/header-language';
|
|
3
|
+
export * from './components/header-login/header-login';
|
|
4
|
+
export * from './components/header-logout/header-logout';
|
|
5
|
+
export * from './components/header-profile/header-profile';
|
|
6
|
+
export * from './components/header-role/header-role';
|
|
7
|
+
export * from './components/header-search/header-search';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Breakpoint } from '../../../helpers';
|
|
3
|
+
type HideAtProps = {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
} & Partial<Record<Breakpoint, boolean>>;
|
|
6
|
+
export declare const HideAt: {
|
|
7
|
+
({ children, ...breakpoints }: HideAtProps): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Breakpoint } from '../../../helpers';
|
|
3
|
+
type ShowAtProps = {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
} & Partial<Record<Breakpoint, boolean>>;
|
|
6
|
+
export declare const ShowAt: {
|
|
7
|
+
({ children, ...breakpoints }: ShowAtProps): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-sidenav-toggle":"tedi-sidenav-toggle-5aa60f9e","tedi-sidenav-toggle--collapse":"tedi-sidenav-toggle--collapse-3b54974c"};exports.default=e;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-sidenav-toggle":"tedi-sidenav-toggle-5aa60f9e","tedi-sidenav-toggle__icon":"tedi-sidenav-toggle__icon-a52afb07","tedi-sidenav-toggle--collapse":"tedi-sidenav-toggle--collapse-3b54974c"};exports.default=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const N=require("react/jsx-runtime"),t=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),n=require("react"),Q=require("./overlay-content.cjs.js"),X=require("./overlay-trigger.cjs.js"),j=require("../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),i=require("../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),Y=require("../../../helpers/hooks/use-is-touch-device.cjs.js"),Z=require("../../../helpers/hooks/use-is-mounted.cjs.js"),$=3,S=n.createContext({open:!1,onOpenChange:()=>{},isMounted:!1,openWith:"hover",reference:()=>{},floating:()=>{},focusManager:{},arrowRef:{current:null},x:0,y:0,strategy:"absolute",getReferenceProps:()=>({}),getFloatingProps:()=>({}),arrow:{width:0,height:0,x:0,y:0,centerOffset:0},placement:"top",context:{},scrollLock:void 0,contentId:""}),u=E=>{const L=Y.useIsTouchDevice(),{children:W,placement:A="top",openWith:s=L?"click":"hover",defaultOpen:G=!1,open:a,onToggle:r,role:d="tooltip",arrowDimensions:e,offset:H=$+((e==null?void 0:e.height)??0),arrowPadding:V=4,focusManager:f,dismissible:y,scrollLock:O,trackReferencePosition:z=!1}=E,{order:M=["reference","content"],initialFocus:m,modal:g,...x}=f??{},C=m!==void 0?m:g?0:void 0,[F,P]=n.useState(G),p=n.useRef(null),R=Z.useIsMounted(),h=n.useMemo(()=>r&&typeof a<"u"?a:F,[r,a,F]),v=n.useCallback(l=>{typeof a>"u"&&P(l),r==null||r(l)},[a,P,r]),{x:q,y:I,refs:c,strategy:b,context:o,middlewareData:w,placement:k}=t.useFloating({placement:A,open:h,onOpenChange:v,middleware:[i.offset(H),i.flip(),i.shift({padding:8}),i.arrow({element:p,padding:V})],whileElementsMounted:z?(l,J,K)=>j.autoUpdate(l,J,K,{animationFrame:!0}):j.autoUpdate}),{getReferenceProps:T,getFloatingProps:U}=t.useInteractions([t.useHover(o,{enabled:s==="hover",handleClose:t.safePolygon()}),t.useClick(o,{toggle:y}),t.useFocus(o,{enabled:s==="hover"}),t.useRole(o,{role:d}),t.useDismiss(o,{enabled:y,outsidePressEvent:s==="click"?"mousedown":"pointerdown"})]),_=n.useId(),B=n.useMemo(()=>({open:h,onOpenChange:v,isMounted:R,openWith:s,focusManager:f?{order:M,modal:g,initialFocus:C,...x}:void 0,reference:c.setReference,floating:c.setFloating,arrowRef:p,x:q,y:I,strategy:b,getReferenceProps:T,getFloatingProps:U,arrow:{width:e==null?void 0:e.width,height:e==null?void 0:e.height,...w.arrow},context:o,placement:k,scrollLock:O,role:d,contentId:_}),[h,v,R,s,f,c.setReference,c.setFloating,p,q,I,b,T,U,e==null?void 0:e.width,e==null?void 0:e.height,w.arrow,o,k,O,d,_,g,M,C,x]);return N.jsx(S.Provider,{value:B,children:W})};u.Trigger=X.OverlayTrigger;u.Content=Q.OverlayContent;exports.Overlay=u;exports.OverlayContext=S;exports.default=u;
|
|
@@ -75,6 +75,13 @@ export interface OverlayProps {
|
|
|
75
75
|
* @default false
|
|
76
76
|
*/
|
|
77
77
|
trackReferencePosition?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Minimum distance (in px) between the arrow and the edges of the content.
|
|
80
|
+
* Helps keep the arrow away from rounded corners, especially on `-start` and `-end` placements.
|
|
81
|
+
* Use a larger value for bigger arrows or arrows with borders.
|
|
82
|
+
* @default 4
|
|
83
|
+
*/
|
|
84
|
+
arrowPadding?: number;
|
|
78
85
|
}
|
|
79
86
|
export interface OverlayContextType {
|
|
80
87
|
open: boolean;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useFloating as
|
|
3
|
-
import { createContext as
|
|
4
|
-
import { OverlayContent as
|
|
5
|
-
import { OverlayTrigger as
|
|
1
|
+
import { jsx as J } from "react/jsx-runtime";
|
|
2
|
+
import { useFloating as K, useInteractions as N, useHover as Q, useClick as X, useFocus as Y, useRole as Z, useDismiss as _, safePolygon as $ } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
|
|
3
|
+
import { createContext as D, useState as ee, useRef as te, useMemo as T, useCallback as oe, useId as ne } from "react";
|
|
4
|
+
import { OverlayContent as re } from "./overlay-content.es.js";
|
|
5
|
+
import { OverlayTrigger as se } from "./overlay-trigger.es.js";
|
|
6
6
|
import { autoUpdate as E } from "../../../../../external/@floating-ui/dom/dist/floating-ui.dom.es.js";
|
|
7
|
-
import { offset as
|
|
8
|
-
import { useIsTouchDevice as
|
|
9
|
-
import { useIsMounted as
|
|
10
|
-
const
|
|
7
|
+
import { offset as ae, flip as ce, shift as le, arrow as ie } from "../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js";
|
|
8
|
+
import { useIsTouchDevice as fe } from "../../../helpers/hooks/use-is-touch-device.es.js";
|
|
9
|
+
import { useIsMounted as ue } from "../../../helpers/hooks/use-is-mounted.es.js";
|
|
10
|
+
const de = 3, pe = D({
|
|
11
11
|
open: !1,
|
|
12
12
|
onOpenChange: () => {
|
|
13
13
|
},
|
|
@@ -36,7 +36,7 @@ const ue = 3, de = $({
|
|
|
36
36
|
scrollLock: void 0,
|
|
37
37
|
contentId: ""
|
|
38
38
|
}), L = (W) => {
|
|
39
|
-
const j =
|
|
39
|
+
const j = fe(), {
|
|
40
40
|
children: A,
|
|
41
41
|
placement: G = "top",
|
|
42
42
|
openWith: n = j ? "click" : "hover",
|
|
@@ -45,47 +45,48 @@ const ue = 3, de = $({
|
|
|
45
45
|
onToggle: o,
|
|
46
46
|
role: c = "tooltip",
|
|
47
47
|
arrowDimensions: e,
|
|
48
|
-
offset: S =
|
|
48
|
+
offset: S = de + ((e == null ? void 0 : e.height) ?? 0),
|
|
49
|
+
arrowPadding: U = 4,
|
|
49
50
|
focusManager: l,
|
|
50
51
|
dismissible: p,
|
|
51
52
|
scrollLock: g,
|
|
52
|
-
trackReferencePosition:
|
|
53
|
-
} = W, { order: h = ["reference", "content"], initialFocus: m, modal: i, ...v } = l ?? {}, y = m !== void 0 ? m : i ? 0 : void 0, [O, x] =
|
|
53
|
+
trackReferencePosition: V = !1
|
|
54
|
+
} = W, { order: h = ["reference", "content"], initialFocus: m, modal: i, ...v } = l ?? {}, y = m !== void 0 ? m : i ? 0 : void 0, [O, x] = ee(H), f = te(null), F = ue(), u = T(() => o && typeof r < "u" ? r : O, [o, r, O]), d = oe(
|
|
54
55
|
(a) => {
|
|
55
56
|
typeof r > "u" && x(a), o == null || o(a);
|
|
56
57
|
},
|
|
57
58
|
[r, x, o]
|
|
58
|
-
), { x:
|
|
59
|
+
), { x: P, y: C, refs: s, strategy: M, context: t, middlewareData: R, placement: w } = K({
|
|
59
60
|
placement: G,
|
|
60
61
|
open: u,
|
|
61
62
|
onOpenChange: d,
|
|
62
63
|
middleware: [
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
ae(S),
|
|
65
|
+
ce(),
|
|
66
|
+
le({ padding: 8 }),
|
|
67
|
+
ie({
|
|
67
68
|
element: f,
|
|
68
|
-
padding:
|
|
69
|
+
padding: U
|
|
69
70
|
})
|
|
70
71
|
],
|
|
71
|
-
whileElementsMounted:
|
|
72
|
-
}), { getReferenceProps:
|
|
73
|
-
|
|
72
|
+
whileElementsMounted: V ? (a, z, B) => E(a, z, B, { animationFrame: !0 }) : E
|
|
73
|
+
}), { getReferenceProps: k, getFloatingProps: I } = N([
|
|
74
|
+
Q(t, {
|
|
74
75
|
enabled: n === "hover",
|
|
75
|
-
handleClose:
|
|
76
|
+
handleClose: $()
|
|
76
77
|
}),
|
|
77
|
-
|
|
78
|
+
X(t, {
|
|
78
79
|
toggle: p
|
|
79
80
|
}),
|
|
80
|
-
|
|
81
|
+
Y(t, {
|
|
81
82
|
enabled: n === "hover"
|
|
82
83
|
}),
|
|
83
|
-
|
|
84
|
-
|
|
84
|
+
Z(t, { role: c }),
|
|
85
|
+
_(t, {
|
|
85
86
|
enabled: p,
|
|
86
87
|
outsidePressEvent: n === "click" ? "mousedown" : "pointerdown"
|
|
87
88
|
})
|
|
88
|
-
]), b =
|
|
89
|
+
]), b = ne(), q = T(
|
|
89
90
|
() => ({
|
|
90
91
|
open: u,
|
|
91
92
|
onOpenChange: d,
|
|
@@ -100,10 +101,10 @@ const ue = 3, de = $({
|
|
|
100
101
|
reference: s.setReference,
|
|
101
102
|
floating: s.setFloating,
|
|
102
103
|
arrowRef: f,
|
|
103
|
-
x:
|
|
104
|
-
y:
|
|
105
|
-
strategy:
|
|
106
|
-
getReferenceProps:
|
|
104
|
+
x: P,
|
|
105
|
+
y: C,
|
|
106
|
+
strategy: M,
|
|
107
|
+
getReferenceProps: k,
|
|
107
108
|
getFloatingProps: I,
|
|
108
109
|
arrow: {
|
|
109
110
|
width: e == null ? void 0 : e.width,
|
|
@@ -111,7 +112,7 @@ const ue = 3, de = $({
|
|
|
111
112
|
...R.arrow
|
|
112
113
|
},
|
|
113
114
|
context: t,
|
|
114
|
-
placement:
|
|
115
|
+
placement: w,
|
|
115
116
|
scrollLock: g,
|
|
116
117
|
role: c,
|
|
117
118
|
contentId: b
|
|
@@ -125,16 +126,16 @@ const ue = 3, de = $({
|
|
|
125
126
|
s.setReference,
|
|
126
127
|
s.setFloating,
|
|
127
128
|
f,
|
|
129
|
+
P,
|
|
128
130
|
C,
|
|
129
131
|
M,
|
|
130
|
-
|
|
131
|
-
w,
|
|
132
|
+
k,
|
|
132
133
|
I,
|
|
133
134
|
e == null ? void 0 : e.width,
|
|
134
135
|
e == null ? void 0 : e.height,
|
|
135
136
|
R.arrow,
|
|
136
137
|
t,
|
|
137
|
-
|
|
138
|
+
w,
|
|
138
139
|
g,
|
|
139
140
|
c,
|
|
140
141
|
b,
|
|
@@ -144,12 +145,12 @@ const ue = 3, de = $({
|
|
|
144
145
|
v
|
|
145
146
|
]
|
|
146
147
|
);
|
|
147
|
-
return /* @__PURE__ */
|
|
148
|
+
return /* @__PURE__ */ J(pe.Provider, { value: q, children: A });
|
|
148
149
|
};
|
|
149
|
-
L.Trigger =
|
|
150
|
-
L.Content =
|
|
150
|
+
L.Trigger = se;
|
|
151
|
+
L.Content = re;
|
|
151
152
|
export {
|
|
152
153
|
L as Overlay,
|
|
153
|
-
|
|
154
|
+
pe as OverlayContext,
|
|
154
155
|
L as default
|
|
155
156
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),n=require("../../../../../external/classnames/index.cjs.js"),s=require("react"),y=require("../../base/typography/text/text.cjs.js"),_=require("../../buttons/closing-button/closing-button.cjs.js"),j=require("../overlay/overlay.cjs.js"),b=require("../overlay/overlay-content.cjs.js"),e=require("./popover.module.scss.cjs.js"),g=require("./popover-context.cjs.js"),x=C=>{const{children:i,width:d="small",className:h,title:t,titleProps:l={element:"h4"},close:a,closeProps:r={size:"default"}}=C,{onOpenChange:m}=s.useContext(j.OverlayContext),{withBorder:c}=s.useContext(g.PopoverContext),u=s.useId(),p=!!i,v=s.useId();return o.jsxs(b.OverlayContent,{classNames:{content:n.default(e.default["tedi-popover"],{[e.default[`tedi-popover--${d}`]]:d&&d!=="none",[e.default["tedi-popover--border"]]:c},h),arrow:n.default(e.default["tedi-popover__arrow"],{[e.default["tedi-popover__arrow--border"]]:c})},labelledBy:t?u:void 0,describedBy:p?v:void 0,children:[(t||a)&&o.jsxs("div",{className:n.default(e.default["tedi-popover__header"],{[e.default["tedi-popover__header--no-title"]]:!t}),children:[t&&o.jsx(y.Text,{...l,id:u,className:n.default("align-self-center",l.className),children:t}),a&&o.jsx(_.ClosingButton,{...r,onClick:q=>{var f;m(!1),(f=r.onClick)==null||f.call(r,q)}})]}),p?o.jsx("div",{id:v,children:i}):i]})};x.displayName="PopoverContent";exports.PopoverContent=x;
|
|
@@ -27,6 +27,9 @@ export interface PopoverContentProps extends Omit<OverlayContentProps, 'classNam
|
|
|
27
27
|
* Popover width.
|
|
28
28
|
* @default small
|
|
29
29
|
*/
|
|
30
|
-
width?: 'small' | 'medium' | 'large';
|
|
30
|
+
width?: 'small' | 'medium' | 'large' | 'none';
|
|
31
31
|
}
|
|
32
|
-
export declare const PopoverContent:
|
|
32
|
+
export declare const PopoverContent: {
|
|
33
|
+
(props: PopoverContentProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
displayName: string;
|
|
35
|
+
};
|
|
@@ -1,49 +1,58 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import { useContext as
|
|
1
|
+
import { jsxs as f, jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import r from "../../../../../external/classnames/index.es.js";
|
|
3
|
+
import { useContext as h, useId as C } from "react";
|
|
4
4
|
import { Text as u } from "../../base/typography/text/text.es.js";
|
|
5
|
-
import { ClosingButton as
|
|
5
|
+
import { ClosingButton as w } from "../../buttons/closing-button/closing-button.es.js";
|
|
6
6
|
import { OverlayContext as B } from "../overlay/overlay.es.js";
|
|
7
|
-
import { OverlayContent as
|
|
8
|
-
import
|
|
9
|
-
|
|
7
|
+
import { OverlayContent as b } from "../overlay/overlay-content.es.js";
|
|
8
|
+
import e from "./popover.module.scss.es.js";
|
|
9
|
+
import { PopoverContext as g } from "./popover-context.es.js";
|
|
10
|
+
const I = (_) => {
|
|
10
11
|
const {
|
|
11
|
-
children:
|
|
12
|
+
children: i,
|
|
12
13
|
width: n = "small",
|
|
13
|
-
className:
|
|
14
|
-
title:
|
|
15
|
-
titleProps:
|
|
16
|
-
close:
|
|
14
|
+
className: x,
|
|
15
|
+
title: o,
|
|
16
|
+
titleProps: d = { element: "h4" },
|
|
17
|
+
close: l,
|
|
17
18
|
closeProps: t = { size: "default" }
|
|
18
|
-
} =
|
|
19
|
-
return /* @__PURE__ */
|
|
20
|
-
|
|
19
|
+
} = _, { onOpenChange: N } = h(B), { withBorder: p } = h(g), a = C(), m = !!i, c = C();
|
|
20
|
+
return /* @__PURE__ */ f(
|
|
21
|
+
b,
|
|
21
22
|
{
|
|
22
23
|
classNames: {
|
|
23
|
-
content:
|
|
24
|
-
|
|
24
|
+
content: r(
|
|
25
|
+
e["tedi-popover"],
|
|
26
|
+
{
|
|
27
|
+
[e[`tedi-popover--${n}`]]: n && n !== "none",
|
|
28
|
+
[e["tedi-popover--border"]]: p
|
|
29
|
+
},
|
|
30
|
+
x
|
|
31
|
+
),
|
|
32
|
+
arrow: r(e["tedi-popover__arrow"], { [e["tedi-popover__arrow--border"]]: p })
|
|
25
33
|
},
|
|
26
|
-
labelledBy:
|
|
34
|
+
labelledBy: o ? a : void 0,
|
|
27
35
|
describedBy: m ? c : void 0,
|
|
28
36
|
children: [
|
|
29
|
-
(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
37
|
+
(o || l) && /* @__PURE__ */ f("div", { className: r(e["tedi-popover__header"], { [e["tedi-popover__header--no-title"]]: !o }), children: [
|
|
38
|
+
o && /* @__PURE__ */ s(u, { ...d, id: a, className: r("align-self-center", d.className), children: o }),
|
|
39
|
+
l && /* @__PURE__ */ s(
|
|
40
|
+
w,
|
|
33
41
|
{
|
|
34
42
|
...t,
|
|
35
|
-
onClick: (
|
|
36
|
-
var
|
|
37
|
-
|
|
43
|
+
onClick: (y) => {
|
|
44
|
+
var v;
|
|
45
|
+
N(!1), (v = t.onClick) == null || v.call(t, y);
|
|
38
46
|
}
|
|
39
47
|
}
|
|
40
48
|
)
|
|
41
49
|
] }),
|
|
42
|
-
m ? /* @__PURE__ */
|
|
50
|
+
m ? /* @__PURE__ */ s("div", { id: c, children: i }) : i
|
|
43
51
|
]
|
|
44
52
|
}
|
|
45
53
|
);
|
|
46
54
|
};
|
|
55
|
+
I.displayName = "PopoverContent";
|
|
47
56
|
export {
|
|
48
|
-
|
|
57
|
+
I as PopoverContent
|
|
49
58
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=e.createContext({withBorder:!1});exports.PopoverContext=t;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface PopoverContextValue {
|
|
2
|
+
/**
|
|
3
|
+
* If true, the popover is rendered with an illustrative border on the arrow
|
|
4
|
+
* side. Consumed by `Popover.Content` to apply the `--border` modifier
|
|
5
|
+
* classes.
|
|
6
|
+
*/
|
|
7
|
+
withBorder: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const PopoverContext: import('react').Context<PopoverContextValue>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),s=require("../overlay/overlay.cjs.js"),c=require("./popover-content.cjs.js"),u=require("./popover-context.cjs.js"),l=require("./popover-trigger.cjs.js"),v=34,p=17,a=12,d=4,e=t=>{const{openWith:n="click",withBorder:o=!1,...i}=t;return r.jsx(u.PopoverContext.Provider,{value:{withBorder:o},children:r.jsx(s.Overlay,{...i,arrowDimensions:{width:v,height:p},arrowPadding:o?a:d,openWith:n,role:"dialog"})})};e.Trigger=l.PopoverTrigger;e.Content=c.PopoverContent;exports.Popover=e;exports.default=e;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OffsetOptions } from '@floating-ui/react';
|
|
2
2
|
import { OverlayOpenWith, OverlayProps } from '../overlay/overlay';
|
|
3
|
-
export interface PopoverProps extends Omit<OverlayProps, 'arrowDimensions' | 'openWith' | 'offset'> {
|
|
3
|
+
export interface PopoverProps extends Omit<OverlayProps, 'arrowDimensions' | 'openWith' | 'offset' | 'arrowPadding'> {
|
|
4
4
|
/**
|
|
5
5
|
* Adds correct event listeners that change the open state.
|
|
6
6
|
* @default click
|
|
@@ -11,10 +11,20 @@ export interface PopoverProps extends Omit<OverlayProps, 'arrowDimensions' | 'op
|
|
|
11
11
|
* @default GAP + ARROW_HEIGHT (3px + 17px)
|
|
12
12
|
*/
|
|
13
13
|
offset?: OffsetOptions;
|
|
14
|
+
/**
|
|
15
|
+
* If true, popover renders with an illustrative border on the arrow side
|
|
16
|
+
* and extra arrow padding so the arrow's shoulders stay clear of the
|
|
17
|
+
* rounded corner on `-start` / `-end` placements.
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
withBorder?: boolean;
|
|
14
21
|
}
|
|
15
22
|
export declare const Popover: {
|
|
16
23
|
(props: PopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
17
24
|
Trigger: (props: import('../overlay/overlay-trigger').OverlayTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
-
Content:
|
|
25
|
+
Content: {
|
|
26
|
+
(props: import('./popover-content').PopoverContentProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
displayName: string;
|
|
28
|
+
};
|
|
19
29
|
};
|
|
20
30
|
export default Popover;
|
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { Overlay as
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { Overlay as s } from "../overlay/overlay.es.js";
|
|
3
3
|
import { PopoverContent as m } from "./popover-content.es.js";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import { PopoverContext as p } from "./popover-context.es.js";
|
|
5
|
+
import { PopoverTrigger as R } from "./popover-trigger.es.js";
|
|
6
|
+
const a = 34, c = 17, D = 12, d = 4, t = (e) => {
|
|
7
|
+
const { openWith: i = "click", withBorder: o = !1, ...n } = e;
|
|
8
|
+
return /* @__PURE__ */ r(p.Provider, { value: { withBorder: o }, children: /* @__PURE__ */ r(
|
|
9
|
+
s,
|
|
9
10
|
{
|
|
11
|
+
...n,
|
|
10
12
|
arrowDimensions: {
|
|
11
|
-
width:
|
|
13
|
+
width: a,
|
|
12
14
|
height: c
|
|
13
15
|
},
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
arrowPadding: o ? D : d,
|
|
17
|
+
openWith: i,
|
|
18
|
+
role: "dialog"
|
|
17
19
|
}
|
|
18
|
-
);
|
|
20
|
+
) });
|
|
19
21
|
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
t.Trigger = R;
|
|
23
|
+
t.Content = m;
|
|
22
24
|
export {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
t as Popover,
|
|
26
|
+
t as default
|
|
25
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-popover":"tedi-popover-8ff01648","tedi-popover--small":"tedi-popover--small-32885e48","tedi-popover--medium":"tedi-popover--medium-5da84c95","tedi-popover--large":"tedi-popover--large-70d97488","tedi-popover__arrow":"tedi-popover__arrow-43ccaae6","tedi-popover__header":"tedi-popover__header-d68faca1","tedi-popover__header--no-title":"tedi-popover__header--no-title-abe089cb"};exports.default=e;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-popover":"tedi-popover-8ff01648","tedi-popover--small":"tedi-popover--small-32885e48","tedi-popover--medium":"tedi-popover--medium-5da84c95","tedi-popover--large":"tedi-popover--large-70d97488","tedi-popover__arrow":"tedi-popover__arrow-43ccaae6","tedi-popover__arrow--border":"tedi-popover__arrow--border-43347b38","tedi-popover--border":"tedi-popover--border-f542a513","tedi-popover__header":"tedi-popover__header-d68faca1","tedi-popover__header--no-title":"tedi-popover__header--no-title-abe089cb"};exports.default=e;
|
|
@@ -4,6 +4,8 @@ const e = {
|
|
|
4
4
|
"tedi-popover--medium": "tedi-popover--medium-5da84c95",
|
|
5
5
|
"tedi-popover--large": "tedi-popover--large-70d97488",
|
|
6
6
|
"tedi-popover__arrow": "tedi-popover__arrow-43ccaae6",
|
|
7
|
+
"tedi-popover__arrow--border": "tedi-popover__arrow--border-43347b38",
|
|
8
|
+
"tedi-popover--border": "tedi-popover--border-f542a513",
|
|
7
9
|
"tedi-popover__header": "tedi-popover__header-d68faca1",
|
|
8
10
|
"tedi-popover__header--no-title": "tedi-popover__header--no-title-abe089cb"
|
|
9
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react/jsx-runtime"),k=require("../../../../external/@mui/x-date-pickers/AdapterDayjs/index.cjs.js"),a=require("dayjs"),E=require("dayjs/plugin/isSameOrAfter"),M=require("dayjs/plugin/isSameOrBefore"),w=require("dayjs/plugin/updateLocale"),o=require("react"),L=require("./labels-map.cjs.js");require("dayjs/locale/et");require("dayjs/locale/ru");const O=require("../../../../external/@mui/x-date-pickers/LocalizationProvider/LocalizationProvider.cjs.js");a.extend(w);a.extend(M);a.extend(E);a.updateLocale("en",{weekStart:1});const m=process.env.NODE_ENV==="test",x=o.createContext({getLabel:(d,...l)=>(m||console.error("LabelProvider missing! Application must be wrapped with <LabelProvider>"),d),setLocale:()=>{m||console.error("LabelProvider missing! Application must be wrapped with <LabelProvider>")},locale:"en"}),y=d=>{const{labels:l={},children:q,locale:b="en"}=d,[e,p]=o.useState(b);o.useEffect(()=>{p(b)},[b]);const c=o.useMemo(()=>{const t={},r=new Set([...Object.keys(L.labelsMap),...Object.keys(l)]);for(const s of r){const n=s,g=L.labelsMap[n]?L.labelsMap[n][e]:void 0,i=l[n]??void 0;let u;i?typeof i=="object"?u=i[e]:u=i:u=void 0,t[n]=u??g??n}return t},[l,e]);o.useEffect(()=>{a.locale(e)},[e]);const f=o.useCallback((t,...r)=>{const s=c[t];return s?typeof s=="function"?s(...r):s:(console.error(`Label missing for key "${t}".`),t)},[c]),j=o.useMemo(()=>({getLabel:f,setLocale:p,locale:e}),[f,p,e]),P=Object.keys(c).reduce((t,r)=>({...t,...r.startsWith("pickers.")?{[r.replace("pickers.","")]:c[r]}:{}}),{});return v.jsx(x.Provider,{value:j,children:v.jsx(O.LocalizationProvider,{dateAdapter:k.AdapterDayjs,dateLibInstance:a,localeText:P,adapterLocale:e,children:q})})};exports.LabelContext=x;exports.LabelProvider=y;exports.default=y;
|
|
@@ -2,6 +2,8 @@ import { default as React } from 'react';
|
|
|
2
2
|
import { TediLabelEntryRecord, TediLabels, TediLabelValuesRecord, TediLanguage } from './labels-map';
|
|
3
3
|
export interface ILabelContext {
|
|
4
4
|
getLabel<TKey extends keyof TediLabels, TArgs extends TediLabels[TKey] extends Record<TediLanguage, infer FuncType> ? FuncType extends (...args: infer P) => string ? P : [] : TediLabels[TKey] extends (...args: infer P) => string ? P : []>(key: TKey, ...args: TArgs): string;
|
|
5
|
+
setLocale: (locale: TediLanguage) => void;
|
|
6
|
+
locale: TediLanguage;
|
|
5
7
|
}
|
|
6
8
|
export declare const LabelContext: React.Context<ILabelContext>;
|
|
7
9
|
export interface LabelProviderProps<TRecord extends TediLabelEntryRecord<TRecord> = Record<string, never>> {
|