@tedi-design-system/react 19.1.0-rc.1 → 19.1.0-rc.11

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 (106) hide show
  1. package/DESIGN.md +308 -0
  2. package/README.md +28 -0
  3. package/bundle-stats.html +1 -1
  4. package/component.manifest.json +1200 -0
  5. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.cjs.js +1 -1
  6. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.es.js +1 -1
  7. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  8. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.es.js +1 -1
  9. package/external/hoist-non-react-statics/external/react-is/index.cjs.js +1 -1
  10. package/external/hoist-non-react-statics/external/react-is/index.es.js +1 -1
  11. package/external/prop-types/external/react-is/cjs/react-is.development.cjs.js +1 -1
  12. package/external/prop-types/external/react-is/cjs/react-is.development.es.js +1 -1
  13. package/external/prop-types/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  14. package/external/prop-types/external/react-is/cjs/react-is.production.min.es.js +1 -1
  15. package/external/prop-types/external/react-is/index.cjs.js +1 -1
  16. package/external/prop-types/external/react-is/index.es.js +1 -1
  17. package/index.css +1 -1
  18. package/package.json +2 -2
  19. package/src/community/components/layout/sidenav/sidenav.cjs.js +1 -1
  20. package/src/community/components/layout/sidenav/sidenav.es.js +38 -40
  21. package/src/community/components/map-components/base-map-selection/base-map-option.cjs.js +1 -1
  22. package/src/community/components/map-components/base-map-selection/base-map-option.d.ts +8 -5
  23. package/src/community/components/map-components/base-map-selection/base-map-option.es.js +63 -65
  24. package/src/community/components/map-components/base-map-selection/base-map-selection.cjs.js +1 -1
  25. package/src/community/components/map-components/base-map-selection/base-map-selection.d.ts +1 -4
  26. package/src/community/components/map-components/base-map-selection/base-map-selection.es.js +55 -55
  27. package/src/community/components/map-components/map-button/map-button.cjs.js +1 -1
  28. package/src/community/components/map-components/map-button/map-button.d.ts +2 -3
  29. package/src/community/components/map-components/map-button/map-button.es.js +37 -36
  30. package/src/community/components/map-components/map-dropdown/map-dropdown.cjs.js +1 -1
  31. package/src/community/components/map-components/map-dropdown/map-dropdown.es.js +51 -49
  32. package/src/tedi/components/content/card/card.d.ts +4 -0
  33. package/src/tedi/components/content/card/card.module.scss.cjs.js +1 -1
  34. package/src/tedi/components/content/card/card.module.scss.es.js +3 -2
  35. package/src/tedi/components/content/collapse/collapse.cjs.js +1 -1
  36. package/src/tedi/components/content/collapse/collapse.d.ts +9 -0
  37. package/src/tedi/components/content/collapse/collapse.es.js +44 -35
  38. package/src/tedi/components/content/table-card/index.d.ts +1 -0
  39. package/src/tedi/components/content/table-card/table-card.cjs.js +1 -0
  40. package/src/tedi/components/content/table-card/table-card.d.ts +131 -0
  41. package/src/tedi/components/content/table-card/table-card.es.js +206 -0
  42. package/src/tedi/components/content/table-card/table-card.module.scss.cjs.js +1 -0
  43. package/src/tedi/components/content/table-card/table-card.module.scss.es.js +18 -0
  44. package/src/tedi/components/content/text-group/text-group-list/text-group-list.cjs.js +1 -1
  45. package/src/tedi/components/content/text-group/text-group-list/text-group-list.d.ts +42 -0
  46. package/src/tedi/components/content/text-group/text-group-list/text-group-list.es.js +41 -23
  47. package/src/tedi/components/content/text-group/text-group.cjs.js +1 -1
  48. package/src/tedi/components/content/text-group/text-group.d.ts +10 -0
  49. package/src/tedi/components/content/text-group/text-group.es.js +14 -13
  50. package/src/tedi/components/content/text-group/text-group.module.scss.cjs.js +1 -1
  51. package/src/tedi/components/content/text-group/text-group.module.scss.es.js +5 -1
  52. package/src/tedi/components/filter/filter/filter.cjs.js +1 -1
  53. package/src/tedi/components/filter/filter/filter.d.ts +5 -0
  54. package/src/tedi/components/filter/filter/filter.es.js +154 -144
  55. package/src/tedi/components/filter/filter/filter.module.scss.cjs.js +1 -1
  56. package/src/tedi/components/filter/filter/filter.module.scss.es.js +2 -1
  57. package/src/tedi/components/form/date-field/date-field-helpers.cjs.js +1 -1
  58. package/src/tedi/components/form/date-field/date-field-helpers.d.ts +12 -19
  59. package/src/tedi/components/form/date-field/date-field-helpers.es.js +27 -21
  60. package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
  61. package/src/tedi/components/form/date-field/date-field.d.ts +1 -1
  62. package/src/tedi/components/form/date-field/date-field.es.js +169 -164
  63. package/src/tedi/components/form/textfield/textfield.cjs.js +1 -1
  64. package/src/tedi/components/form/textfield/textfield.es.js +21 -21
  65. package/src/tedi/components/form/time-field/time-field.cjs.js +1 -1
  66. package/src/tedi/components/form/time-field/time-field.es.js +126 -124
  67. package/src/tedi/components/layout/sidenav/components/sidenav-item/sidenav-item.cjs.js +1 -1
  68. package/src/tedi/components/layout/sidenav/components/sidenav-item/sidenav-item.es.js +82 -85
  69. package/src/tedi/components/layout/sidenav/sidenav.cjs.js +1 -1
  70. package/src/tedi/components/layout/sidenav/sidenav.es.js +16 -16
  71. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.cjs.js +1 -1
  72. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.es.js +6 -7
  73. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.cjs.js +1 -1
  74. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.es.js +2 -2
  75. package/src/tedi/components/layout/top-nav/top-nav.cjs.js +1 -1
  76. package/src/tedi/components/layout/top-nav/top-nav.es.js +9 -8
  77. package/src/tedi/components/misc/affix/affix.cjs.js +1 -1
  78. package/src/tedi/components/misc/affix/affix.es.js +20 -8
  79. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.cjs.js +1 -1
  80. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.d.ts +9 -1
  81. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.es.js +78 -39
  82. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-item/table-of-contents-item.d.ts +6 -0
  83. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-row/table-of-contents-row.cjs.js +1 -1
  84. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-row/table-of-contents-row.es.js +23 -28
  85. package/src/tedi/components/navigation/table-of-contents/table-of-contents.cjs.js +1 -1
  86. package/src/tedi/components/navigation/table-of-contents/table-of-contents.d.ts +32 -21
  87. package/src/tedi/components/navigation/table-of-contents/table-of-contents.es.js +58 -55
  88. package/src/tedi/components/navigation/table-of-contents/table-of-contents.module.scss.cjs.js +1 -1
  89. package/src/tedi/components/navigation/table-of-contents/table-of-contents.module.scss.es.js +4 -1
  90. package/src/tedi/components/overlays/dropdown/dropdown.cjs.js +1 -1
  91. package/src/tedi/components/overlays/dropdown/dropdown.d.ts +8 -0
  92. package/src/tedi/components/overlays/dropdown/dropdown.es.js +82 -74
  93. package/src/tedi/components/overlays/dropdown/dropdown.module.scss.cjs.js +1 -1
  94. package/src/tedi/components/overlays/dropdown/dropdown.module.scss.es.js +1 -0
  95. package/src/tedi/components/overlays/overlay/overlay-trigger.cjs.js +1 -1
  96. package/src/tedi/components/overlays/overlay/overlay-trigger.es.js +22 -21
  97. package/src/tedi/helpers/hooks/use-safe-id.cjs.js +1 -0
  98. package/src/tedi/helpers/hooks/use-safe-id.d.ts +16 -0
  99. package/src/tedi/helpers/hooks/use-safe-id.es.js +5 -0
  100. package/src/tedi/helpers/index.d.ts +1 -0
  101. package/src/tedi/index.d.ts +1 -0
  102. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  103. package/src/tedi/providers/label-provider/labels-map.d.ts +23 -2
  104. package/src/tedi/providers/label-provider/labels-map.es.js +21 -0
  105. package/tedi.cjs.js +1 -1
  106. package/tedi.es.js +102 -98
@@ -1,50 +1,50 @@
1
- import { jsxs as a, Fragment as z, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as l, Fragment as T, jsx as e } from "react/jsx-runtime";
2
2
  import b from "../../../../../external/classnames/index.es.js";
3
- import { useState as A } from "react";
3
+ import { forwardRef as z, useState as A } from "react";
4
4
  import { Icon as I } from "../../../../tedi/components/base/icon/icon.es.js";
5
- import { Spinner as M } from "../../../../tedi/components/loaders/spinner/spinner.es.js";
6
- import { Button as O } from "../../../../tedi/components/buttons/button/button.es.js";
7
- import { MapDropdown as l } from "../map-dropdown/map-dropdown.es.js";
5
+ import { Spinner as O } from "../../../../tedi/components/loaders/spinner/spinner.es.js";
6
+ import { Button as j } from "../../../../tedi/components/buttons/button/button.es.js";
7
+ import { MapDropdown as d } from "../map-dropdown/map-dropdown.es.js";
8
8
  import t from "./map-button.module.scss.es.js";
9
- import { Tooltip as d } from "../../../../tedi/components/overlays/tooltip/tooltip.es.js";
10
- const q = (h) => {
9
+ import { Tooltip as m } from "../../../../tedi/components/overlays/tooltip/tooltip.es.js";
10
+ const k = z((f, h) => {
11
11
  const {
12
12
  size: o = "default",
13
- icon: m,
14
- selected: f = !1,
15
- className: g,
16
- children: c,
17
- hideLabel: p = !1,
18
- tooltipContent: u = c,
19
- dropdownItems: i,
13
+ icon: p,
14
+ selected: g = !1,
15
+ className: N,
16
+ children: i,
17
+ hideLabel: c = !1,
18
+ tooltipContent: u = i,
19
+ dropdownItems: s,
20
20
  isActive: v,
21
21
  isHovered: C,
22
- underline: N,
23
- isLoading: s,
22
+ underline: w,
23
+ isLoading: r,
24
24
  ..._
25
- } = h, [w, D] = A(!1), x = f || w, B = b(
25
+ } = f, [B, D] = A(!1), x = g || B, y = b(
26
26
  t["tedi-map-button"],
27
27
  t[`tedi-map-button--${o}`],
28
28
  x && t["tedi-map-button--selected"],
29
- i && t["tedi-map-button--dropdown"],
29
+ s && t["tedi-map-button--dropdown"],
30
30
  v && t["tedi-map-button--is-active"],
31
31
  C && t["tedi-map-button--is-hovered"],
32
- N && t["tedi-map-button--underline"],
33
- s && t["tedi-map-button--loading"],
34
- g
35
- ), S = /* @__PURE__ */ a(z, { children: [
36
- s ? /* @__PURE__ */ e(M, { size: o === "small" ? 16 : 18, className: t["tedi-map-button__icon"] }) : m && /* @__PURE__ */ e(I, { name: m, className: t["tedi-map-button__icon"], size: o === "small" ? 24 : 18 }),
37
- !p && /* @__PURE__ */ e("div", { className: b(t["tedi-map-button__text"]), children: c })
38
- ] }), r = /* @__PURE__ */ e(O, { noStyle: !0, isLoading: s, className: B, size: o, ..._, children: S }), T = p && u ? /* @__PURE__ */ a(d, { placement: "right", children: [
39
- /* @__PURE__ */ e(d.Trigger, { children: r }),
40
- /* @__PURE__ */ e(d.Content, { children: u })
41
- ] }) : r;
42
- return i ? /* @__PURE__ */ a(l, { onOpenChange: D, placement: "right-start", children: [
43
- /* @__PURE__ */ e(l.Trigger, { children: r }),
32
+ w && t["tedi-map-button--underline"],
33
+ r && t["tedi-map-button--loading"],
34
+ N
35
+ ), M = /* @__PURE__ */ l(T, { children: [
36
+ r ? /* @__PURE__ */ e(O, { size: o === "small" ? 16 : 18, className: t["tedi-map-button__icon"] }) : p && /* @__PURE__ */ e(I, { name: p, className: t["tedi-map-button__icon"], size: o === "small" ? 24 : 18 }),
37
+ c ? /* @__PURE__ */ e("span", { className: "sr-only", children: i }) : /* @__PURE__ */ e("div", { className: b(t["tedi-map-button__text"]), children: i })
38
+ ] }), a = /* @__PURE__ */ e(j, { noStyle: !0, isLoading: r, className: y, size: o, ..._, ref: h, children: M }), S = c && u ? /* @__PURE__ */ l(m, { placement: "right", children: [
39
+ /* @__PURE__ */ e(m.Trigger, { children: a }),
40
+ /* @__PURE__ */ e(m.Content, { children: u })
41
+ ] }) : a;
42
+ return s ? /* @__PURE__ */ l(d, { onOpenChange: D, placement: "right-start", children: [
43
+ /* @__PURE__ */ e(d.Trigger, { children: a }),
44
44
  /* @__PURE__ */ e(
45
- l.Content,
45
+ d.Content,
46
46
  {
47
- items: i.map((n) => ({
47
+ items: s.map((n) => ({
48
48
  children: n.children,
49
49
  onClick: n.onClick,
50
50
  isActive: n.isActive,
@@ -52,9 +52,10 @@ const q = (h) => {
52
52
  }))
53
53
  }
54
54
  )
55
- ] }) : T;
56
- };
55
+ ] }) : S;
56
+ });
57
+ k.displayName = "MapButton";
57
58
  export {
58
- q as MapButton,
59
- q as default
59
+ k as MapButton,
60
+ k as default
60
61
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),o=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),j=require("../../../../../external/classnames/index.cjs.js"),r=require("react"),l=require("./map-dropdown.module.scss.cjs.js"),te=require("../../../../tedi/providers/label-provider/use-labels.cjs.js"),ne=require("../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),D=require("../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),q=({children:a})=>a,E=({items:a,children:x})=>null,p=a=>{const{children:x,onItemClick:f,closeMenuOnClick:N=!0,onOpenChange:g,placement:R="bottom-start",layout:I="column",isOpen:m,sameWidth:O=!1,className:A}=a,{initialFocus:S=-1,modal:b=!1,...y}=a.focusManager??{},{getLabel:T}=te.useLabels(),{visuallyHiddenDismiss:L=b?T("close"):!1}=y??{},U=o.useFloatingNodeId(),M=r.useRef([]),[W,w]=r.useState(!1),v=m!==void 0?m:W,[_,K]=r.useState(null);let u=[],P=null,i=null;if(r.Children.forEach(x,e=>{if(r.isValidElement(e)){if(e.type===q)i=e.props.children;else if(e.type===E){const n=e.props,{items:t,children:c}=n;Array.isArray(t)&&t.every(h=>typeof h=="object"&&h!==null&&"children"in h)?u=t:c&&(P=c)}}}),!i)throw new Error("Dropdown must have a Dropdown.Trigger child");const k={name:"sameWidth",fn:({rects:e,elements:n})=>{const t=e.reference.width;return n.floating.style.width=`${t}px`,{data:{width:t}}}},{x:B,y:H,strategy:V,refs:F,placement:$,context:d}=o.useFloating({placement:R,nodeId:U,open:v,onOpenChange:e=>{m===void 0&&w(e),g==null||g(e)},middleware:[...O?[k]:[],D.flip(),D.shift(),D.offset(5)],whileElementsMounted:ne.autoUpdate}),z=u.findIndex(e=>e.isActive),{getReferenceProps:G,getFloatingProps:J,getItemProps:Q}=o.useInteractions([o.useClick(d),o.useListNavigation(d,{listRef:M,activeIndex:_,selectedIndex:z,onNavigate:K,loop:!0}),o.useRole(d,{role:"listbox"}),o.useDismiss(d,{outsidePress:e=>!(e.target instanceof Element&&e.target.closest("[data-floating-ui-portal]")),escapeKey:!1,referencePress:!1})]),X=()=>v?s.jsx(o.FloatingFocusManager,{context:d,initialFocus:S,visuallyHiddenDismiss:L,modal:b,...y,children:s.jsx("div",{...J({ref:F.setFloating,style:{position:V,left:B??0,top:H??0},className:j.default(l.default["tedi-map-dropdown"],{[l.default["tedi-map-dropdown--row"]]:I==="row",[l.default["tedi-map-dropdown--column"]]:I==="column"},A),onKeyDown(n){n.key==="Tab"&&w(!1)}}),"data-placement":$,children:u.length>0?u.map((n,t)=>Z(n,t)):P})}):null,Y=e=>j.default(l.default["tedi-map-dropdown__item"],{[l.default["tedi-map-dropdown__item--active"]]:e.isActive,[l.default["tedi-map-dropdown__item--disabled"]]:e.isDisabled}),C=(e,n,t)=>{var c;f==null||f(e,n,t),(c=e==null?void 0:e.onClick)==null||c.call(e,t),N&&w(!1)},Z=(e,n)=>s.jsx("button",{...Q({disabled:e.isDisabled,tabIndex:_===n?0:-1,role:"option",className:Y(e),onClick:t=>C(e,n,t),onKeyDown(t){t.key==="Enter"&&C(e,n,t)},ref(t){M.current[n]=t}}),children:e.children},n),ee=i?r.cloneElement(i,{...G({ref:F.setReference,tabIndex:0,...i.props})}):null;return s.jsxs(s.Fragment,{children:[ee,s.jsx(o.FloatingPortal,{children:X()})]})};p.Trigger=q;p.Content=E;exports.MapDropdown=p;exports.default=p;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),o=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),F=require("../../../../../external/classnames/index.cjs.js"),l=require("react"),ne=require("../../../../tedi/helpers/get-element-ref.cjs.js"),a=require("./map-dropdown.module.scss.cjs.js"),oe=require("../../../../tedi/providers/label-provider/use-labels.cjs.js"),se=require("../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),D=require("../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),q=({children:i})=>i,C=({items:i,children:x})=>null,p=i=>{const{children:x,onItemClick:f,closeMenuOnClick:j=!0,onOpenChange:g,placement:N="bottom-start",layout:I="column",isOpen:m,sameWidth:O=!1,className:A}=i,{initialFocus:S=-1,modal:b=!1,...M}=i.focusManager??{},{getLabel:T}=oe.useLabels(),{visuallyHiddenDismiss:L=b?T("close"):!1}=M??{},U=o.useFloatingNodeId(),y=l.useRef([]),[W,w]=l.useState(!1),v=m!==void 0?m:W,[R,K]=l.useState(null);let u=[],_=null,s=null;if(l.Children.forEach(x,e=>{if(l.isValidElement(e)){if(e.type===q)s=e.props.children;else if(e.type===C){const n=e.props,{items:t,children:c}=n;Array.isArray(t)&&t.every(h=>typeof h=="object"&&h!==null&&"children"in h)?u=t:c&&(_=c)}}}),!s)throw new Error("Dropdown must have a Dropdown.Trigger child");const k={name:"sameWidth",fn:({rects:e,elements:n})=>{const t=e.reference.width;return n.floating.style.width=`${t}px`,{data:{width:t}}}},{x:B,y:H,strategy:V,refs:P,placement:$,context:d}=o.useFloating({placement:N,nodeId:U,open:v,onOpenChange:e=>{m===void 0&&w(e),g==null||g(e)},middleware:[...O?[k]:[],D.flip(),D.shift(),D.offset(5)],whileElementsMounted:se.autoUpdate}),z=u.findIndex(e=>e.isActive),{getReferenceProps:G,getFloatingProps:J,getItemProps:Q}=o.useInteractions([o.useClick(d),o.useListNavigation(d,{listRef:y,activeIndex:R,selectedIndex:z,onNavigate:K,loop:!0}),o.useRole(d,{role:"listbox"}),o.useDismiss(d,{outsidePress:e=>!(e.target instanceof Element&&e.target.closest("[data-floating-ui-portal]")),escapeKey:!1,referencePress:!1})]),X=o.useMergeRefs([P.setReference,s?ne.getElementRef(s):null]),Y=()=>v?r.jsx(o.FloatingFocusManager,{context:d,initialFocus:S,visuallyHiddenDismiss:L,modal:b,...M,children:r.jsx("div",{...J({ref:P.setFloating,style:{position:V,left:B??0,top:H??0},className:F.default(a.default["tedi-map-dropdown"],{[a.default["tedi-map-dropdown--row"]]:I==="row",[a.default["tedi-map-dropdown--column"]]:I==="column"},A),onKeyDown(n){n.key==="Tab"&&w(!1)}}),"data-placement":$,children:u.length>0?u.map((n,t)=>ee(n,t)):_})}):null,Z=e=>F.default(a.default["tedi-map-dropdown__item"],{[a.default["tedi-map-dropdown__item--active"]]:e.isActive,[a.default["tedi-map-dropdown__item--disabled"]]:e.isDisabled}),E=(e,n,t)=>{var c;f==null||f(e,n,t),(c=e==null?void 0:e.onClick)==null||c.call(e,t),j&&w(!1)},ee=(e,n)=>r.jsx("button",{...Q({disabled:e.isDisabled,tabIndex:R===n?0:-1,role:"option",className:Z(e),onClick:t=>E(e,n,t),onKeyDown(t){t.key==="Enter"&&E(e,n,t)},ref(t){y.current[n]=t}}),children:e.children},n),te=s?l.cloneElement(s,G({tabIndex:0,...s.props,ref:X})):null;return r.jsxs(r.Fragment,{children:[te,r.jsx(o.FloatingPortal,{children:Y()})]})};p.Trigger=q;p.Content=C;exports.MapDropdown=p;exports.default=p;
@@ -1,36 +1,37 @@
1
- import { jsxs as Z, Fragment as ee, jsx as c } from "react/jsx-runtime";
2
- import { useFloatingNodeId as te, useFloating as ne, useInteractions as oe, useClick as se, useListNavigation as re, useRole as le, useDismiss as ie, FloatingPortal as ae, FloatingFocusManager as de } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
1
+ import { jsxs as ee, Fragment as te, jsx as c } from "react/jsx-runtime";
2
+ import { useFloatingNodeId as ne, useFloating as oe, useInteractions as se, useClick as re, useListNavigation as le, useRole as ie, useDismiss as ae, useMergeRefs as de, FloatingPortal as ce, FloatingFocusManager as pe } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
3
3
  import P from "../../../../../external/classnames/index.es.js";
4
- import a, { cloneElement as ce } from "react";
5
- import o from "./map-dropdown.module.scss.es.js";
6
- import { useLabels as pe } from "../../../../tedi/providers/label-provider/use-labels.es.js";
7
- import { autoUpdate as fe } from "../../../../../external/@floating-ui/dom/dist/floating-ui.dom.es.js";
8
- import { flip as ue, shift as me, offset as ge } from "../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js";
9
- const C = ({ children: s }) => s, N = ({ items: s, children: w }) => null, E = (s) => {
4
+ import a, { cloneElement as fe } from "react";
5
+ import { getElementRef as ue } from "../../../../tedi/helpers/get-element-ref.es.js";
6
+ import s from "./map-dropdown.module.scss.es.js";
7
+ import { useLabels as me } from "../../../../tedi/providers/label-provider/use-labels.es.js";
8
+ import { autoUpdate as ge } from "../../../../../external/@floating-ui/dom/dist/floating-ui.dom.es.js";
9
+ import { flip as we, shift as he, offset as Ie } from "../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js";
10
+ const R = ({ children: r }) => r, C = ({ items: r, children: w }) => null, E = (r) => {
10
11
  const {
11
12
  children: w,
12
13
  onItemClick: p,
13
- closeMenuOnClick: _ = !0,
14
+ closeMenuOnClick: N = !0,
14
15
  onOpenChange: f,
15
- placement: R = "bottom-start",
16
+ placement: _ = "bottom-start",
16
17
  layout: h = "column",
17
18
  isOpen: u,
18
19
  sameWidth: O = !1,
19
20
  className: A
20
- } = s, { initialFocus: T = -1, modal: I = !1, ...D } = s.focusManager ?? {}, { getLabel: W } = pe(), { visuallyHiddenDismiss: j = I ? W("close") : !1 } = D ?? {}, K = te(), x = a.useRef([]), [L, m] = a.useState(!1), y = u !== void 0 ? u : L, [b, S] = a.useState(null);
21
- let d = [], v = null, r = null;
21
+ } = r, { initialFocus: T = -1, modal: I = !1, ...D } = r.focusManager ?? {}, { getLabel: W } = me(), { visuallyHiddenDismiss: j = I ? W("close") : !1 } = D ?? {}, K = ne(), x = a.useRef([]), [L, m] = a.useState(!1), y = u !== void 0 ? u : L, [b, S] = a.useState(null);
22
+ let d = [], M = null, o = null;
22
23
  if (a.Children.forEach(w, (e) => {
23
24
  if (a.isValidElement(e)) {
24
- if (e.type === C)
25
- r = e.props.children;
26
- else if (e.type === N) {
25
+ if (e.type === R)
26
+ o = e.props.children;
27
+ else if (e.type === C) {
27
28
  const n = e.props, { items: t, children: i } = n;
28
29
  Array.isArray(t) && t.every(
29
30
  (g) => typeof g == "object" && g !== null && "children" in g
30
- ) ? d = t : i && (v = i);
31
+ ) ? d = t : i && (M = i);
31
32
  }
32
33
  }
33
- }), !r)
34
+ }), !o)
34
35
  throw new Error("Dropdown must have a Dropdown.Trigger child");
35
36
  const k = {
36
37
  name: "sameWidth",
@@ -40,32 +41,32 @@ const C = ({ children: s }) => s, N = ({ items: s, children: w }) => null, E = (
40
41
  data: { width: t }
41
42
  };
42
43
  }
43
- }, { x: B, y: H, strategy: U, refs: M, placement: V, context: l } = ne({
44
- placement: R,
44
+ }, { x: B, y: H, strategy: U, refs: v, placement: V, context: l } = oe({
45
+ placement: _,
45
46
  nodeId: K,
46
47
  open: y,
47
48
  onOpenChange: (e) => {
48
49
  u === void 0 && m(e), f == null || f(e);
49
50
  },
50
- middleware: [...O ? [k] : [], ue(), me(), ge(5)],
51
- whileElementsMounted: fe
52
- }), $ = d.findIndex((e) => e.isActive), { getReferenceProps: q, getFloatingProps: z, getItemProps: G } = oe([
53
- se(l),
54
- re(l, {
51
+ middleware: [...O ? [k] : [], we(), he(), Ie(5)],
52
+ whileElementsMounted: ge
53
+ }), $ = d.findIndex((e) => e.isActive), { getReferenceProps: q, getFloatingProps: z, getItemProps: G } = se([
54
+ re(l),
55
+ le(l, {
55
56
  listRef: x,
56
57
  activeIndex: b,
57
58
  selectedIndex: $,
58
59
  onNavigate: S,
59
60
  loop: !0
60
61
  }),
61
- le(l, { role: "listbox" }),
62
- ie(l, {
62
+ ie(l, { role: "listbox" }),
63
+ ae(l, {
63
64
  outsidePress: (e) => !(e.target instanceof Element && e.target.closest("[data-floating-ui-portal]")),
64
65
  escapeKey: !1,
65
66
  referencePress: !1
66
67
  })
67
- ]), J = () => y ? /* @__PURE__ */ c(
68
- de,
68
+ ]), J = de([v.setReference, o ? ue(o) : null]), Q = () => y ? /* @__PURE__ */ c(
69
+ pe,
69
70
  {
70
71
  context: l,
71
72
  initialFocus: T,
@@ -76,17 +77,17 @@ const C = ({ children: s }) => s, N = ({ items: s, children: w }) => null, E = (
76
77
  "div",
77
78
  {
78
79
  ...z({
79
- ref: M.setFloating,
80
+ ref: v.setFloating,
80
81
  style: {
81
82
  position: U,
82
83
  left: B ?? 0,
83
84
  top: H ?? 0
84
85
  },
85
86
  className: P(
86
- o["tedi-map-dropdown"],
87
+ s["tedi-map-dropdown"],
87
88
  {
88
- [o["tedi-map-dropdown--row"]]: h === "row",
89
- [o["tedi-map-dropdown--column"]]: h === "column"
89
+ [s["tedi-map-dropdown--row"]]: h === "row",
90
+ [s["tedi-map-dropdown--column"]]: h === "column"
90
91
  },
91
92
  A
92
93
  ),
@@ -95,24 +96,24 @@ const C = ({ children: s }) => s, N = ({ items: s, children: w }) => null, E = (
95
96
  }
96
97
  }),
97
98
  "data-placement": V,
98
- children: d.length > 0 ? d.map((n, t) => X(n, t)) : v
99
+ children: d.length > 0 ? d.map((n, t) => Y(n, t)) : M
99
100
  }
100
101
  )
101
102
  }
102
- ) : null, Q = (e) => P(o["tedi-map-dropdown__item"], {
103
- [o["tedi-map-dropdown__item--active"]]: e.isActive,
104
- [o["tedi-map-dropdown__item--disabled"]]: e.isDisabled
103
+ ) : null, X = (e) => P(s["tedi-map-dropdown__item"], {
104
+ [s["tedi-map-dropdown__item--active"]]: e.isActive,
105
+ [s["tedi-map-dropdown__item--disabled"]]: e.isDisabled
105
106
  }), F = (e, n, t) => {
106
107
  var i;
107
- p == null || p(e, n, t), (i = e == null ? void 0 : e.onClick) == null || i.call(e, t), _ && m(!1);
108
- }, X = (e, n) => /* @__PURE__ */ c(
108
+ p == null || p(e, n, t), (i = e == null ? void 0 : e.onClick) == null || i.call(e, t), N && m(!1);
109
+ }, Y = (e, n) => /* @__PURE__ */ c(
109
110
  "button",
110
111
  {
111
112
  ...G({
112
113
  disabled: e.isDisabled,
113
114
  tabIndex: b === n ? 0 : -1,
114
115
  role: "option",
115
- className: Q(e),
116
+ className: X(e),
116
117
  onClick: (t) => F(e, n, t),
117
118
  onKeyDown(t) {
118
119
  t.key === "Enter" && F(e, n, t);
@@ -124,21 +125,22 @@ const C = ({ children: s }) => s, N = ({ items: s, children: w }) => null, E = (
124
125
  children: e.children
125
126
  },
126
127
  n
127
- ), Y = r ? ce(r, {
128
- ...q({
129
- ref: M.setReference,
128
+ ), Z = o ? fe(
129
+ o,
130
+ q({
130
131
  tabIndex: 0,
131
132
  // @ts-expect-error: 'rest' props do not fully match Anchor's expected props, but they are validated elsewhere
132
- ...r.props
133
+ ...o.props,
134
+ ref: J
133
135
  })
134
- }) : null;
135
- return /* @__PURE__ */ Z(ee, { children: [
136
- Y,
137
- /* @__PURE__ */ c(ae, { children: J() })
136
+ ) : null;
137
+ return /* @__PURE__ */ ee(te, { children: [
138
+ Z,
139
+ /* @__PURE__ */ c(ce, { children: Q() })
138
140
  ] });
139
141
  };
140
- E.Trigger = C;
141
- E.Content = N;
142
+ E.Trigger = R;
143
+ E.Content = C;
142
144
  export {
143
145
  E as MapDropdown,
144
146
  E as default
@@ -84,6 +84,10 @@ type CardBreakpointProps = {
84
84
  } & Pick<CardContentProps, 'padding' | 'background'>;
85
85
  export interface CardProps extends BreakpointSupport<CardBreakpointProps> {
86
86
  children?: React.ReactNode;
87
+ /**
88
+ * Id applied to the root element (forwarded to the underlying `div`).
89
+ */
90
+ id?: string;
87
91
  }
88
92
  export declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>> & {
89
93
  Content: (props: CardContentProps) => JSX.Element;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r={"tedi-card":"tedi-card-46f8f767","tedi-card--background--accent":"tedi-card--background--accent-930871c7","tedi-card--border--accent":"tedi-card--border--accent-90f35e66","tedi-card--background--brand-primary":"tedi-card--background--brand-primary-01c89a1e","tedi-card--border--brand-primary":"tedi-card--border--brand-primary-987cfd48","tedi-card--background--brand-secondary":"tedi-card--background--brand-secondary-52a2d6ee","tedi-card--border--brand-secondary":"tedi-card--border--brand-secondary-155df9fc","tedi-card--background--brand-tertiary":"tedi-card--background--brand-tertiary-6e531e52","tedi-card--border--brand-tertiary":"tedi-card--border--brand-tertiary-90e59b2f","tedi-card--background--brand-quaternary":"tedi-card--background--brand-quaternary-302574ef","tedi-card--border--brand-quaternary":"tedi-card--border--brand-quaternary-8fecab3d","tedi-card--background--primary":"tedi-card--background--primary-97377456","tedi-card--border--primary":"tedi-card--border--primary-6fb38184","tedi-card--background--secondary":"tedi-card--background--secondary-03bafe87","tedi-card--border--secondary":"tedi-card--border--secondary-a2efb368","tedi-card--background--tertiary":"tedi-card--background--tertiary-9aaed047","tedi-card--border--tertiary":"tedi-card--border--tertiary-36ed56dc","tedi-card--background--info-primary":"tedi-card--background--info-primary-a447d86c","tedi-card--border--info-primary":"tedi-card--border--info-primary-3a459b1a","tedi-card--background--info-secondary":"tedi-card--background--info-secondary-ccb381f3","tedi-card--border--info-secondary":"tedi-card--border--info-secondary-b177e078","tedi-card--background--neutral-primary":"tedi-card--background--neutral-primary-e8462085","tedi-card--border--neutral-primary":"tedi-card--border--neutral-primary-0e494a3a","tedi-card--background--neutral-secondary":"tedi-card--background--neutral-secondary-78f69323","tedi-card--border--neutral-secondary":"tedi-card--border--neutral-secondary-2eacfcf2","tedi-card--background--success-primary":"tedi-card--background--success-primary-74cc128e","tedi-card--border--success-primary":"tedi-card--border--success-primary-ad13f6a9","tedi-card--background--success-secondary":"tedi-card--background--success-secondary-2e51dbc2","tedi-card--border--success-secondary":"tedi-card--border--success-secondary-d2d310bf","tedi-card--background--danger-primary":"tedi-card--background--danger-primary-24f9b394","tedi-card--border--danger-primary":"tedi-card--border--danger-primary-ca67a077","tedi-card--background--danger-secondary":"tedi-card--background--danger-secondary-d7d418a7","tedi-card--border--danger-secondary":"tedi-card--border--danger-secondary-58c75b3c","tedi-card--background--warning-primary":"tedi-card--background--warning-primary-0c9bdb9e","tedi-card--border--warning-primary":"tedi-card--border--warning-primary-67735d46","tedi-card--background--warning-secondary":"tedi-card--background--warning-secondary-ade88bae","tedi-card--border--warning-secondary":"tedi-card--border--warning-secondary-04a1f223","tedi-card--border-left":"tedi-card--border-left-55222a12","tedi-card--border-top":"tedi-card--border-top-4a483c06","tedi-card--borderless":"tedi-card--borderless-66eb216d","tedi-card--no-radius-tl":"tedi-card--no-radius-tl-fc11f3e6","tedi-card__header":"tedi-card__header-e3ceedf1","tedi-card__content":"tedi-card__content-79613a61","tedi-card--no-radius-tr":"tedi-card--no-radius-tr-89903519","tedi-card--no-radius-br":"tedi-card--no-radius-br-06b8b7e4","tedi-card--no-radius-bl":"tedi-card--no-radius-bl-b5a6dd25","tedi-card__content--separator":"tedi-card__content--separator-2fb649b6"};exports.default=r;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r={"tedi-card":"tedi-card-46f8f767","tedi-card__header":"tedi-card__header-e3ceedf1","tedi-card__content":"tedi-card__content-79613a61","tedi-card__notification-content":"tedi-card__notification-content-b8dbce7e","tedi-card--background--accent":"tedi-card--background--accent-930871c7","tedi-card--border--accent":"tedi-card--border--accent-90f35e66","tedi-card--background--brand-primary":"tedi-card--background--brand-primary-01c89a1e","tedi-card--border--brand-primary":"tedi-card--border--brand-primary-987cfd48","tedi-card--background--brand-secondary":"tedi-card--background--brand-secondary-52a2d6ee","tedi-card--border--brand-secondary":"tedi-card--border--brand-secondary-155df9fc","tedi-card--background--brand-tertiary":"tedi-card--background--brand-tertiary-6e531e52","tedi-card--border--brand-tertiary":"tedi-card--border--brand-tertiary-90e59b2f","tedi-card--background--brand-quaternary":"tedi-card--background--brand-quaternary-302574ef","tedi-card--border--brand-quaternary":"tedi-card--border--brand-quaternary-8fecab3d","tedi-card--background--primary":"tedi-card--background--primary-97377456","tedi-card--border--primary":"tedi-card--border--primary-6fb38184","tedi-card--background--secondary":"tedi-card--background--secondary-03bafe87","tedi-card--border--secondary":"tedi-card--border--secondary-a2efb368","tedi-card--background--tertiary":"tedi-card--background--tertiary-9aaed047","tedi-card--border--tertiary":"tedi-card--border--tertiary-36ed56dc","tedi-card--background--info-primary":"tedi-card--background--info-primary-a447d86c","tedi-card--border--info-primary":"tedi-card--border--info-primary-3a459b1a","tedi-card--background--info-secondary":"tedi-card--background--info-secondary-ccb381f3","tedi-card--border--info-secondary":"tedi-card--border--info-secondary-b177e078","tedi-card--background--neutral-primary":"tedi-card--background--neutral-primary-e8462085","tedi-card--border--neutral-primary":"tedi-card--border--neutral-primary-0e494a3a","tedi-card--background--neutral-secondary":"tedi-card--background--neutral-secondary-78f69323","tedi-card--border--neutral-secondary":"tedi-card--border--neutral-secondary-2eacfcf2","tedi-card--background--success-primary":"tedi-card--background--success-primary-74cc128e","tedi-card--border--success-primary":"tedi-card--border--success-primary-ad13f6a9","tedi-card--background--success-secondary":"tedi-card--background--success-secondary-2e51dbc2","tedi-card--border--success-secondary":"tedi-card--border--success-secondary-d2d310bf","tedi-card--background--danger-primary":"tedi-card--background--danger-primary-24f9b394","tedi-card--border--danger-primary":"tedi-card--border--danger-primary-ca67a077","tedi-card--background--danger-secondary":"tedi-card--background--danger-secondary-d7d418a7","tedi-card--border--danger-secondary":"tedi-card--border--danger-secondary-58c75b3c","tedi-card--background--warning-primary":"tedi-card--background--warning-primary-0c9bdb9e","tedi-card--border--warning-primary":"tedi-card--border--warning-primary-67735d46","tedi-card--background--warning-secondary":"tedi-card--background--warning-secondary-ade88bae","tedi-card--border--warning-secondary":"tedi-card--border--warning-secondary-04a1f223","tedi-card--border-left":"tedi-card--border-left-55222a12","tedi-card--border-top":"tedi-card--border-top-4a483c06","tedi-card--borderless":"tedi-card--borderless-66eb216d","tedi-card--no-radius-tl":"tedi-card--no-radius-tl-fc11f3e6","tedi-card--no-radius-tr":"tedi-card--no-radius-tr-89903519","tedi-card--no-radius-br":"tedi-card--no-radius-br-06b8b7e4","tedi-card--no-radius-bl":"tedi-card--no-radius-bl-b5a6dd25","tedi-card__content--separator":"tedi-card__content--separator-2fb649b6"};exports.default=r;
@@ -1,5 +1,8 @@
1
1
  const r = {
2
2
  "tedi-card": "tedi-card-46f8f767",
3
+ "tedi-card__header": "tedi-card__header-e3ceedf1",
4
+ "tedi-card__content": "tedi-card__content-79613a61",
5
+ "tedi-card__notification-content": "tedi-card__notification-content-b8dbce7e",
3
6
  "tedi-card--background--accent": "tedi-card--background--accent-930871c7",
4
7
  "tedi-card--border--accent": "tedi-card--border--accent-90f35e66",
5
8
  "tedi-card--background--brand-primary": "tedi-card--background--brand-primary-01c89a1e",
@@ -40,8 +43,6 @@ const r = {
40
43
  "tedi-card--border-top": "tedi-card--border-top-4a483c06",
41
44
  "tedi-card--borderless": "tedi-card--borderless-66eb216d",
42
45
  "tedi-card--no-radius-tl": "tedi-card--no-radius-tl-fc11f3e6",
43
- "tedi-card__header": "tedi-card__header-e3ceedf1",
44
- "tedi-card__content": "tedi-card__content-79613a61",
45
46
  "tedi-card--no-radius-tr": "tedi-card--no-radius-tr-89903519",
46
47
  "tedi-card--no-radius-br": "tedi-card--no-radius-br-06b8b7e4",
47
48
  "tedi-card--no-radius-bl": "tedi-card--no-radius-bl-b5a6dd25",
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),q=require("../../../../../external/classnames/index.cjs.js"),n=require("react"),J=require("../../../../../external/react-animate-height/dist/esm/index.cjs.js"),K=require("../../../providers/printing-provider/printing-provider.cjs.js"),Q=require("../../buttons/collapse-button/collapse-button.cjs.js"),U=require("../../misc/print/print.cjs.js"),s=require("./collapse.module.scss.cjs.js"),V=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),W=require("../../layout/grid/row.cjs.js"),R=require("../../layout/grid/col.cjs.js"),w=d=>{const{getCurrentBreakpointProps:O}=V.useBreakpointProps(d.defaultServerBreakpoint),{id:l,children:P,className:k,openText:y,closeText:I,hideCollapseText:T=!1,title:o,titleRowProps:B,defaultOpen:S,open:u,onToggle:i,arrowType:E="default",size:N="default",underline:$=!0,toggleLabel:p,iconOnly:L=!1,controlsId:f,inverted:M=!1,fullRowToggle:a=!1,...z}=O(d),g=f!==void 0,h=`${l}__trigger`,x=`${l}__content`,A=`${l}__animate`,[D,F]=n.useState(()=>S??!1),v=K.usePrint(),r=v||(u!==void 0?u:D),G=L===!0&&!o,_=n.useRef(null),c=t=>{F(t),i==null||i(t)},m=n.useRef(c);m.current=c;const j=n.useRef(r);j.current=r,n.useEffect(()=>{const t=_.current;if(!a||!t)return;const b=H=>{H.target.closest("a, button, input, select, textarea, label")||m.current(!j.current)};return t.addEventListener("click",b),()=>t.removeEventListener("click",b)},[a]);const C=e.jsx("div",{id:x,role:"region","aria-labelledby":h,className:s.default["tedi-collapse__content"],children:P});return e.jsxs("div",{"data-name":"collapse",...z,className:q.default(s.default["tedi-collapse"],k),children:[e.jsx("div",{ref:_,className:q.default(s.default["tedi-collapse__header"],{[s.default["tedi-collapse__header--clickable"]]:a}),children:e.jsxs(W.Row,{justifyContent:"between",alignItems:"center",wrap:"nowrap",...B,children:[o&&e.jsx(R.Col,{children:o}),e.jsx(R.Col,{width:"auto",children:e.jsx(U.Print,{visibility:"hide",children:e.jsx(Q.CollapseButton,{id:h,open:r,onOpenChange:c,openText:y,closeText:I,hideText:T||G,arrowType:E,size:N,inverted:M,underline:$,"aria-controls":g?f:x,...p?{"aria-label":p}:{}})})})]})}),!g&&(v?C:e.jsx(J.default,{id:A,duration:300,height:r?"auto":0,"data-testid":"collapse-inner",children:C}))]})};exports.Collapse=w;exports.default=w;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),b=require("../../../../../external/classnames/index.cjs.js"),n=require("react"),K=require("../../../../../external/react-animate-height/dist/esm/index.cjs.js"),Q=require("../../../providers/printing-provider/printing-provider.cjs.js"),U=require("../../buttons/collapse-button/collapse-button.cjs.js"),V=require("../../misc/print/print.cjs.js"),s=require("./collapse.module.scss.cjs.js"),W=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),X=require("../../layout/grid/row.cjs.js"),q=require("../../layout/grid/col.cjs.js"),w=d=>{const{getCurrentBreakpointProps:O}=W.useBreakpointProps(d.defaultServerBreakpoint),{id:l,children:P,className:k,openText:y,closeText:I,hideCollapseText:T=!1,title:o,titleRowProps:B,defaultOpen:S,open:u,onToggle:i,arrowType:E="default",size:N="default",underline:$=!0,toggleLabel:p,iconOnly:L=!1,controlsId:f,inverted:M=!1,fullRowToggle:a=!1,contentAsRegion:z=!0,...A}=O(d),g=f!==void 0,h=`${l}__trigger`,x=`${l}__content`,D=`${l}__animate`,[F,G]=n.useState(()=>S??!1),v=Q.usePrint(),r=v||(u!==void 0?u:F),H=L===!0&&!o,_=n.useRef(null),c=t=>{G(t),i==null||i(t)},m=n.useRef(c);m.current=c;const j=n.useRef(r);j.current=r,n.useEffect(()=>{const t=_.current;if(!a||!t)return;const R=J=>{J.target.closest("a, button, input, select, textarea, label")||m.current(!j.current)};return t.addEventListener("click",R),()=>t.removeEventListener("click",R)},[a]);const C=e.jsx("div",{id:x,...z?{role:"region","aria-labelledby":h}:{},className:s.default["tedi-collapse__content"],children:P});return e.jsxs("div",{"data-name":"collapse",...A,className:b.default(s.default["tedi-collapse"],k),children:[e.jsx("div",{ref:_,className:b.default(s.default["tedi-collapse__header"],{[s.default["tedi-collapse__header--clickable"]]:a}),children:e.jsxs(X.Row,{justifyContent:"between",alignItems:"center",wrap:"nowrap",...B,children:[o&&e.jsx(q.Col,{children:o}),e.jsx(q.Col,{width:"auto",children:e.jsx(V.Print,{visibility:"hide",children:e.jsx(U.CollapseButton,{id:h,open:r,onOpenChange:c,openText:y,closeText:I,hideText:T||H,arrowType:E,size:N,inverted:M,underline:$,"aria-controls":g?f:x,...p?{"aria-label":p}:{}})})})]})}),!g&&(v?C:e.jsx(K.default,{id:D,duration:300,height:r?"auto":0,"data-testid":"collapse-inner",children:C}))]})};exports.Collapse=w;exports.default=w;
@@ -116,6 +116,15 @@ export interface CollapseProps extends BreakpointSupport<CollapseBreakpointProps
116
116
  * built-in `role="region"` panel.
117
117
  */
118
118
  controlsId?: string;
119
+ /**
120
+ * Whether the disclosed content panel is exposed as a `region` landmark
121
+ * (`role="region"` + `aria-labelledby`). Turn this **off** for repeated or
122
+ * nested disclosures such as navigation sub-menus, where many labelled regions
123
+ * pollute the landmark map and collide (axe `landmark-unique`); the
124
+ * `aria-expanded` toggle already conveys the relationship.
125
+ * @default true
126
+ */
127
+ contentAsRegion?: boolean;
119
128
  }
120
129
  export declare const Collapse: (props: CollapseProps) => JSX.Element;
121
130
  export default Collapse;
@@ -1,16 +1,16 @@
1
1
  import { jsxs as x, jsx as e } from "react/jsx-runtime";
2
2
  import y from "../../../../../external/classnames/index.es.js";
3
- import r from "react";
4
- import K from "../../../../../external/react-animate-height/dist/esm/index.es.js";
5
- import { usePrint as M } from "../../../providers/printing-provider/printing-provider.es.js";
6
- import { CollapseButton as Q } from "../../buttons/collapse-button/collapse-button.es.js";
7
- import { Print as U } from "../../misc/print/print.es.js";
3
+ import n from "react";
4
+ import M from "../../../../../external/react-animate-height/dist/esm/index.es.js";
5
+ import { usePrint as Q } from "../../../providers/printing-provider/printing-provider.es.js";
6
+ import { CollapseButton as U } from "../../buttons/collapse-button/collapse-button.es.js";
7
+ import { Print as V } from "../../misc/print/print.es.js";
8
8
  import o from "./collapse.module.scss.es.js";
9
- import { useBreakpointProps as V } from "../../../helpers/hooks/use-breakpoint-props.es.js";
10
- import { Row as W } from "../../layout/grid/row.es.js";
9
+ import { useBreakpointProps as W } from "../../../helpers/hooks/use-breakpoint-props.es.js";
10
+ import { Row as X } from "../../layout/grid/row.es.js";
11
11
  import { Col as O } from "../../layout/grid/col.es.js";
12
- const ae = (d) => {
13
- const { getCurrentBreakpointProps: k } = V(d.defaultServerBreakpoint), {
12
+ const ce = (d) => {
13
+ const { getCurrentBreakpointProps: k } = W(d.defaultServerBreakpoint), {
14
14
  id: i,
15
15
  children: I,
16
16
  className: P,
@@ -25,27 +25,36 @@ const ae = (d) => {
25
25
  arrowType: L = "default",
26
26
  size: S = "default",
27
27
  underline: $ = !0,
28
- toggleLabel: f,
29
- iconOnly: z = !1,
30
- controlsId: u,
31
- inverted: A = !1,
28
+ toggleLabel: u,
29
+ iconOnly: A = !1,
30
+ controlsId: f,
31
+ inverted: z = !1,
32
32
  fullRowToggle: a = !1,
33
- ...H
34
- } = k(d), m = u !== void 0, h = `${i}__trigger`, g = `${i}__content`, q = `${i}__animate`, [D, F] = r.useState(() => j ?? !1), _ = M(), n = _ || (p !== void 0 ? p : D), G = z === !0 && !l, v = r.useRef(null), c = (t) => {
35
- F(t), s == null || s(t);
36
- }, C = r.useRef(c);
37
- C.current = c;
38
- const R = r.useRef(n);
39
- R.current = n, r.useEffect(() => {
33
+ contentAsRegion: H = !0,
34
+ ...q
35
+ } = k(d), m = f !== void 0, h = `${i}__trigger`, g = `${i}__content`, D = `${i}__animate`, [F, G] = n.useState(() => j ?? !1), _ = Q(), r = _ || (p !== void 0 ? p : F), J = A === !0 && !l, v = n.useRef(null), c = (t) => {
36
+ G(t), s == null || s(t);
37
+ }, R = n.useRef(c);
38
+ R.current = c;
39
+ const C = n.useRef(r);
40
+ C.current = r, n.useEffect(() => {
40
41
  const t = v.current;
41
42
  if (!a || !t) return;
42
- const w = (J) => {
43
- J.target.closest("a, button, input, select, textarea, label") || C.current(!R.current);
43
+ const w = (K) => {
44
+ K.target.closest("a, button, input, select, textarea, label") || R.current(!C.current);
44
45
  };
45
46
  return t.addEventListener("click", w), () => t.removeEventListener("click", w);
46
47
  }, [a]);
47
- const b = /* @__PURE__ */ e("div", { id: g, role: "region", "aria-labelledby": h, className: o["tedi-collapse__content"], children: I });
48
- return /* @__PURE__ */ x("div", { "data-name": "collapse", ...H, className: y(o["tedi-collapse"], P), children: [
48
+ const b = /* @__PURE__ */ e(
49
+ "div",
50
+ {
51
+ id: g,
52
+ ...H ? { role: "region", "aria-labelledby": h } : {},
53
+ className: o["tedi-collapse__content"],
54
+ children: I
55
+ }
56
+ );
57
+ return /* @__PURE__ */ x("div", { "data-name": "collapse", ...q, className: y(o["tedi-collapse"], P), children: [
49
58
  /* @__PURE__ */ e(
50
59
  "div",
51
60
  {
@@ -53,32 +62,32 @@ const ae = (d) => {
53
62
  className: y(o["tedi-collapse__header"], {
54
63
  [o["tedi-collapse__header--clickable"]]: a
55
64
  }),
56
- children: /* @__PURE__ */ x(W, { justifyContent: "between", alignItems: "center", wrap: "nowrap", ...E, children: [
65
+ children: /* @__PURE__ */ x(X, { justifyContent: "between", alignItems: "center", wrap: "nowrap", ...E, children: [
57
66
  l && /* @__PURE__ */ e(O, { children: l }),
58
- /* @__PURE__ */ e(O, { width: "auto", children: /* @__PURE__ */ e(U, { visibility: "hide", children: /* @__PURE__ */ e(
59
- Q,
67
+ /* @__PURE__ */ e(O, { width: "auto", children: /* @__PURE__ */ e(V, { visibility: "hide", children: /* @__PURE__ */ e(
68
+ U,
60
69
  {
61
70
  id: h,
62
- open: n,
71
+ open: r,
63
72
  onOpenChange: c,
64
73
  openText: T,
65
74
  closeText: N,
66
- hideText: B || G,
75
+ hideText: B || J,
67
76
  arrowType: L,
68
77
  size: S,
69
- inverted: A,
78
+ inverted: z,
70
79
  underline: $,
71
- "aria-controls": m ? u : g,
72
- ...f ? { "aria-label": f } : {}
80
+ "aria-controls": m ? f : g,
81
+ ...u ? { "aria-label": u } : {}
73
82
  }
74
83
  ) }) })
75
84
  ] })
76
85
  }
77
86
  ),
78
- !m && (_ ? b : /* @__PURE__ */ e(K, { id: q, duration: 300, height: n ? "auto" : 0, "data-testid": "collapse-inner", children: b }))
87
+ !m && (_ ? b : /* @__PURE__ */ e(M, { id: D, duration: 300, height: r ? "auto" : 0, "data-testid": "collapse-inner", children: b }))
79
88
  ] });
80
89
  };
81
90
  export {
82
- ae as Collapse,
83
- ae as default
91
+ ce as Collapse,
92
+ ce as default
84
93
  };
@@ -0,0 +1 @@
1
+ export * from './table-card';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../../../../external/classnames/index.cjs.js"),C=require("react"),ve=require("../../base/icon/icon.cjs.js"),c=require("../../base/typography/text/text.cjs.js"),je=require("../../form/checkbox/checkbox.cjs.js"),f=require("../card/card.cjs.js"),Se=require("../label/label.cjs.js"),R=require("../text-group/text-group-list/text-group-list.cjs.js"),t=require("./table-card.module.scss.cjs.js"),ye=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),Ce=require("../../../providers/label-provider/use-labels.cjs.js"),Ae={horizontal:{labelAlign:"right",valueAlign:"right",labelWidth:"var(--text-group-label-width-sm)",rowGap:"0"},vertical:{labelAlign:"left",valueAlign:"left",labelWidth:"auto",rowGap:"var(--layout-grid-gutters-16)"}},Te=l=>l.bold?e.jsx(c.Text,{element:"span",modifiers:"bold",children:l.value}):l.value,Le=(l,_)=>typeof l=="string"?e.jsx(Se.Label,{isSmall:_,children:l}):l,D=l=>{const{getCurrentBreakpointProps:_}=ye.useBreakpointProps(l.defaultServerBreakpoint),{getLabel:A}=Ce.useLabels(),{rows:E,title:s,subtitle:n,endSlot:b,titleElement:T="h3",titleModifiers:u,collapsible:d=!1,defaultOpen:F=!0,open:L,onOpenChange:v,actions:N,summary:i,selectable:m=!1,selected:q,defaultSelected:M=!1,onSelectedChange:j,labelSize:U="default",selectionLabel:V=A("table-card.select-row"),ariaLabel:S,id:$,children:k,layout:z="horizontal",columns:Y=1,labelWidth:J,labelAlign:K,valueAlign:Q,rowAlign:X="start",padding:Z=1,rowGap:y,className:ee}=_(l),te=z==="horizontal",g=Ae[z],ae=K??g.labelAlign,le=Q??g.valueAlign,B=J??g.labelWidth,se=typeof y=="number"?`${y}rem`:y??g.rowGap,ne=C.useId(),x=$??ne,G=`${x}-body`,[de,ie]=C.useState(F),w=L!==void 0,r=d?w?L:de:!0,re=()=>{const a=!r;w||ie(a),v==null||v(a)},[oe,ce]=C.useState(M),H=q!==void 0,ue=H?q:oe,be=a=>{H||ce(a),j==null||j(a)},W=T;d&&!s&&!S&&console.warn("TableCard: a `collapsible` card needs a `title` or `ariaLabel` so its toggle has an accessible name.");const he=!!(m||s||n||b||d),h=!!N,I=!!i,pe=!!k,O=d?r||h:m,fe=r&&!O,me=I||h||pe,ge=h,p=m&&!d&&!!s&&!n,xe=E.map(a=>({label:Le(a.label,U==="small"),value:Te(a),...a.colSpan?{colSpan:a.colSpan}:{}})),P=m?e.jsx(je.Checkbox,{id:`${x}-select`,name:`${x}-select`,value:"selected",label:p?e.jsx(c.Text,{element:"span",color:"primary",modifiers:u,className:o.default(t.default["tedi-table-card__title"],{[t.default["tedi-table-card__title--body"]]:!u}),children:s}):V,hideLabel:!p,checked:ue,onChange:(a,_e)=>be(_e)}):null;return e.jsxs(f.Card,{padding:0,className:o.default(t.default["tedi-table-card"],ee),"aria-label":S,id:x,children:[he&&e.jsxs(f.Card.Content,{padding:fe?{top:1,right:1,bottom:0,left:1}:1,hasSeparator:O,className:o.default(t.default["tedi-table-card__header"],{[t.default["tedi-table-card__header--select-title"]]:p}),children:[p?e.jsx(W,{className:t.default["tedi-table-card__heading"],children:P}):P,d?e.jsx(W,{className:t.default["tedi-table-card__heading"],children:e.jsxs("button",{type:"button",className:t.default["tedi-table-card__toggle"],"aria-expanded":r,"aria-controls":G,"aria-label":s?void 0:S??A(r?"close":"open"),onClick:re,children:[e.jsxs("span",{className:t.default["tedi-table-card__title-group"],children:[s&&e.jsx(c.Text,{element:"span",modifiers:u,className:o.default(t.default["tedi-table-card__title"],{[t.default["tedi-table-card__title--body"]]:!u}),children:s}),n&&e.jsx(c.Text,{element:"span",color:"secondary",modifiers:"small",children:n})]}),b&&e.jsx("span",{className:t.default["tedi-table-card__end-slot"],children:b}),e.jsx("span",{className:o.default(t.default["tedi-table-card__chevron"],{[t.default["tedi-table-card__chevron--open"]]:r}),children:e.jsx(ve.Icon,{name:"expand_more",size:24,color:"inherit"})})]})}):e.jsxs(e.Fragment,{children:[(s||n)&&!p&&e.jsxs("span",{className:t.default["tedi-table-card__title-group"],children:[s&&e.jsx(c.Text,{element:T,modifiers:u,className:o.default(t.default["tedi-table-card__title"],{[t.default["tedi-table-card__title--body"]]:!u}),children:s}),n&&e.jsx(c.Text,{element:"span",color:"secondary",modifiers:"small",children:n})]}),b&&e.jsx("div",{className:t.default["tedi-table-card__end-slot"],children:b})]})]}),e.jsxs("div",{id:G,hidden:d&&!r,className:o.default({[t.default["tedi-table-card__body--has-footer"]]:h}),children:[e.jsx(f.Card.Content,{padding:Z,hasSeparator:me,children:e.jsx(R.TextGroupList,{columns:Y,items:xe,rowGap:se,...te?{type:"horizontal",labelAlign:ae,valueAlign:le,labelWidth:B,rowAlign:X}:{type:"vertical",labelAlign:"left",labelWidth:B}})}),k,I&&e.jsx(f.Card.Content,{padding:1,background:"tertiary",hasSeparator:ge,children:e.jsx(R.TextGroupList,{type:"horizontal",labelAlign:"left",valueAlign:"right",items:[{label:i==null?void 0:i.label,value:e.jsx(c.Text,{element:"span",modifiers:"bold",children:i==null?void 0:i.value})}]})})]}),h&&e.jsx(f.Card.Content,{padding:{vertical:.5,horizontal:1},className:t.default["tedi-table-card__actions"],children:N})]})};D.displayName="TableCard";exports.TableCard=D;