@tedi-design-system/react 18.1.0-rc.2 → 18.1.0-rc.21

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 (157) hide show
  1. package/_virtual/index.es13.js +2 -2
  2. package/_virtual/index.es14.js +2 -2
  3. package/bundle-stats.html +1 -1
  4. package/community.cjs.js +1 -1
  5. package/community.es.js +156 -152
  6. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.cjs.js +1 -1
  7. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.es.js +1 -1
  8. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  9. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.es.js +1 -1
  10. package/external/hoist-non-react-statics/external/react-is/index.cjs.js +1 -1
  11. package/external/hoist-non-react-statics/external/react-is/index.es.js +1 -1
  12. package/external/prop-types/external/react-is/cjs/react-is.development.cjs.js +1 -1
  13. package/external/prop-types/external/react-is/cjs/react-is.development.es.js +1 -1
  14. package/external/prop-types/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  15. package/external/prop-types/external/react-is/cjs/react-is.production.min.es.js +1 -1
  16. package/external/prop-types/external/react-is/index.cjs.js +1 -1
  17. package/external/prop-types/external/react-is/index.es.js +1 -1
  18. package/external/react-is/index.cjs.js +1 -1
  19. package/external/react-is/index.es.js +1 -1
  20. package/external/toposort/index.cjs.js +1 -1
  21. package/external/toposort/index.es.js +1 -1
  22. package/index.css +1 -1
  23. package/package.json +1 -1
  24. package/src/community/components/anchor/anchor.d.ts +1 -0
  25. package/src/community/components/button/button.d.ts +1 -0
  26. package/src/community/components/card/card-content/card-content.d.ts +3 -0
  27. package/src/community/components/card/card-header/card-header.d.ts +3 -0
  28. package/src/community/components/card/card-notification/card-notification.d.ts +3 -0
  29. package/src/community/components/card/card.d.ts +3 -0
  30. package/src/community/components/dropdown/dropdown.cjs.js +1 -1
  31. package/src/community/components/dropdown/dropdown.d.ts +3 -0
  32. package/src/community/components/dropdown/dropdown.es.js +5 -6
  33. package/src/community/components/form/choice-group/choice-group.d.ts +3 -0
  34. package/src/community/components/form/file-upload/file-upload.d.ts +6 -0
  35. package/src/community/components/form/radio/radio.d.ts +3 -0
  36. package/src/community/components/form/select/select.d.ts +3 -0
  37. package/src/community/components/form/toggle/toggle.cjs.js +1 -1
  38. package/src/community/components/form/toggle/toggle.d.ts +3 -0
  39. package/src/community/components/form/toggle/toggle.es.js +5 -6
  40. package/src/community/components/layout/header/components/header-language/header-language.d.ts +3 -0
  41. package/src/community/components/layout/header/components/header-role/header-role.d.ts +3 -0
  42. package/src/community/components/layout/header/components/sidenav-toggle/sidenav-toggle.d.ts +3 -0
  43. package/src/community/components/layout/header/header/header.d.ts +3 -0
  44. package/src/community/components/layout/sidenav/sidenav.d.ts +3 -0
  45. package/src/community/components/map-components/base-map-selection/base-map-option.cjs.js +1 -0
  46. package/src/community/components/map-components/base-map-selection/base-map-option.d.ts +64 -0
  47. package/src/community/components/map-components/base-map-selection/base-map-option.es.js +75 -0
  48. package/src/community/components/map-components/base-map-selection/base-map-selection.cjs.js +1 -1
  49. package/src/community/components/map-components/base-map-selection/base-map-selection.d.ts +37 -22
  50. package/src/community/components/map-components/base-map-selection/base-map-selection.es.js +76 -17
  51. package/src/community/components/map-components/base-map-selection/base-map-selection.module.scss.cjs.js +1 -1
  52. package/src/community/components/map-components/base-map-selection/base-map-selection.module.scss.es.js +5 -1
  53. package/src/community/components/map-components/button-group/button-group.module.scss.cjs.js +1 -1
  54. package/src/community/components/map-components/button-group/button-group.module.scss.es.js +1 -0
  55. package/src/community/components/map-components/left-panel/left-panel-content.cjs.js +1 -1
  56. package/src/community/components/map-components/left-panel/left-panel-content.d.ts +10 -5
  57. package/src/community/components/map-components/left-panel/left-panel-content.es.js +7 -21
  58. package/src/community/components/map-components/left-panel/left-panel-footer.cjs.js +1 -1
  59. package/src/community/components/map-components/left-panel/left-panel-footer.d.ts +11 -1
  60. package/src/community/components/map-components/left-panel/left-panel-footer.es.js +7 -24
  61. package/src/community/components/map-components/left-panel/left-panel-header.cjs.js +1 -1
  62. package/src/community/components/map-components/left-panel/left-panel-header.d.ts +11 -1
  63. package/src/community/components/map-components/left-panel/left-panel-header.es.js +7 -62
  64. package/src/community/components/map-components/left-panel/left-panel.cjs.js +1 -1
  65. package/src/community/components/map-components/left-panel/left-panel.d.ts +67 -5
  66. package/src/community/components/map-components/left-panel/left-panel.es.js +85 -14
  67. package/src/community/components/map-components/left-panel/left-panel.module.scss.cjs.js +1 -1
  68. package/src/community/components/map-components/left-panel/left-panel.module.scss.es.js +4 -4
  69. package/src/community/components/map-components/map-button/map-button.cjs.js +1 -1
  70. package/src/community/components/map-components/map-button/map-button.d.ts +8 -3
  71. package/src/community/components/map-components/map-button/map-button.es.js +42 -33
  72. package/src/community/components/map-components/map-button/map-button.module.scss.cjs.js +1 -1
  73. package/src/community/components/map-components/map-button/map-button.module.scss.es.js +3 -0
  74. package/src/community/components/map-components/resizer/resizer.cjs.js +1 -1
  75. package/src/community/components/map-components/resizer/resizer.es.js +9 -10
  76. package/src/community/components/map-components/split-pane/split-pane.cjs.js +1 -0
  77. package/src/community/components/map-components/split-pane/split-pane.d.ts +37 -0
  78. package/src/community/components/map-components/split-pane/split-pane.es.js +128 -0
  79. package/src/community/components/map-components/split-pane/split-pane.module.scss.cjs.js +1 -0
  80. package/src/community/components/map-components/split-pane/split-pane.module.scss.es.js +17 -0
  81. package/src/community/components/status/status.d.ts +3 -0
  82. package/src/community/components/table/table.d.ts +3 -0
  83. package/src/community/components/tag/tag.d.ts +3 -0
  84. package/src/community/components/toggle-open/toggle-open.d.ts +3 -0
  85. package/src/community/components/tooltip/tooltip-trigger.d.ts +3 -0
  86. package/src/community/components/tooltip/tooltip.d.ts +3 -0
  87. package/src/community/index.d.ts +1 -0
  88. package/src/tedi/components/buttons/collapse-button/collapse-button.cjs.js +1 -1
  89. package/src/tedi/components/buttons/collapse-button/collapse-button.es.js +2 -1
  90. package/src/tedi/components/content/table/table.cjs.js +1 -1
  91. package/src/tedi/components/content/table/table.d.ts +8 -5
  92. package/src/tedi/components/content/table/table.es.js +308 -295
  93. package/src/tedi/components/form/file-dropzone/file-dropzone.cjs.js +1 -1
  94. package/src/tedi/components/form/file-dropzone/file-dropzone.es.js +90 -79
  95. package/src/tedi/components/form/file-upload/file-upload.cjs.js +1 -1
  96. package/src/tedi/components/form/file-upload/file-upload.d.ts +4 -1
  97. package/src/tedi/components/form/file-upload/file-upload.es.js +138 -119
  98. package/src/tedi/components/form/file-upload/file-upload.module.scss.cjs.js +1 -1
  99. package/src/tedi/components/form/file-upload/file-upload.module.scss.es.js +1 -1
  100. package/src/tedi/components/form/number-field/number-field.cjs.js +1 -1
  101. package/src/tedi/components/form/number-field/number-field.es.js +117 -112
  102. package/src/tedi/components/form/search/search.cjs.js +1 -1
  103. package/src/tedi/components/form/search/search.es.js +60 -40
  104. package/src/tedi/components/form/search/search.module.scss.cjs.js +1 -1
  105. package/src/tedi/components/form/search/search.module.scss.es.js +7 -3
  106. package/src/tedi/components/layout/header/components/header-language/header-language.cjs.js +1 -0
  107. package/src/tedi/components/layout/header/components/header-language/header-language.es.js +105 -0
  108. package/src/tedi/components/layout/header/components/header-language/header-language.module.scss.cjs.js +1 -0
  109. package/src/tedi/components/layout/header/components/header-language/header-language.module.scss.es.js +12 -0
  110. package/src/tedi/components/layout/header/components/header-login/header-login.cjs.js +1 -0
  111. package/src/tedi/components/layout/header/components/header-login/header-login.es.js +36 -0
  112. package/src/tedi/components/layout/header/components/header-login/header-login.module.scss.cjs.js +1 -0
  113. package/src/tedi/components/layout/header/components/header-login/header-login.module.scss.es.js +8 -0
  114. package/src/tedi/components/layout/header/components/header-logout/header-logout.cjs.js +1 -0
  115. package/src/tedi/components/layout/header/components/header-logout/header-logout.es.js +33 -0
  116. package/src/tedi/components/layout/header/components/header-logout/header-logout.module.scss.cjs.js +1 -0
  117. package/src/tedi/components/layout/header/components/header-logout/header-logout.module.scss.es.js +7 -0
  118. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.cjs.js +1 -0
  119. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.es.js +25 -0
  120. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.module.scss.cjs.js +1 -0
  121. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.module.scss.es.js +10 -0
  122. package/src/tedi/components/layout/header/components/header-profile/header-profile.cjs.js +1 -0
  123. package/src/tedi/components/layout/header/components/header-profile/header-profile.es.js +136 -0
  124. package/src/tedi/components/layout/header/components/header-profile/header-profile.module.scss.cjs.js +1 -0
  125. package/src/tedi/components/layout/header/components/header-profile/header-profile.module.scss.es.js +14 -0
  126. package/src/tedi/components/layout/header/components/header-role/header-role-representatives.cjs.js +1 -0
  127. package/src/tedi/components/layout/header/components/header-role/header-role-representatives.es.js +89 -0
  128. package/src/tedi/components/layout/header/components/header-role/header-role.cjs.js +1 -0
  129. package/src/tedi/components/layout/header/components/header-role/header-role.es.js +162 -0
  130. package/src/tedi/components/layout/header/components/header-role/header-role.module.scss.cjs.js +1 -0
  131. package/src/tedi/components/layout/header/components/header-role/header-role.module.scss.es.js +25 -0
  132. package/src/tedi/components/layout/header/components/header-search/header-search.cjs.js +1 -0
  133. package/src/tedi/components/layout/header/components/header-search/header-search.es.js +60 -0
  134. package/src/tedi/components/layout/header/components/header-search/header-search.module.scss.cjs.js +1 -0
  135. package/src/tedi/components/layout/header/components/header-search/header-search.module.scss.es.js +9 -0
  136. package/src/tedi/components/layout/header/header.cjs.js +1 -0
  137. package/src/tedi/components/layout/header/header.es.js +63 -0
  138. package/src/tedi/components/layout/header/header.module.scss.cjs.js +1 -0
  139. package/src/tedi/components/layout/header/header.module.scss.es.js +13 -0
  140. package/src/tedi/components/layout/hide-at/hide-at.cjs.js +1 -0
  141. package/src/tedi/components/layout/hide-at/hide-at.es.js +10 -0
  142. package/src/tedi/components/layout/show-at/show-at.cjs.js +1 -0
  143. package/src/tedi/components/layout/show-at/show-at.es.js +10 -0
  144. package/src/tedi/components/tags/tag/tag.cjs.js +1 -1
  145. package/src/tedi/components/tags/tag/tag.d.ts +9 -0
  146. package/src/tedi/components/tags/tag/tag.es.js +18 -17
  147. package/src/tedi/helpers/hooks/use-file-upload.cjs.js +1 -1
  148. package/src/tedi/helpers/hooks/use-file-upload.es.js +71 -66
  149. package/src/tedi/index.d.ts +3 -0
  150. package/src/tedi/providers/label-provider/label-provider.cjs.js +1 -1
  151. package/src/tedi/providers/label-provider/label-provider.d.ts +2 -2
  152. package/src/tedi/providers/label-provider/label-provider.es.js +2 -2
  153. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  154. package/src/tedi/providers/label-provider/labels-map.d.ts +55 -6
  155. package/src/tedi/providers/label-provider/labels-map.es.js +123 -74
  156. package/tedi.cjs.js +1 -1
  157. package/tedi.es.js +303 -281
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),y=require("../../../../../external/classnames/index.cjs.js"),u=require("react"),re=require("../../base/typography/text/text.cjs.js"),le=require("../../buttons/button/button.cjs.js"),se=require("../feedback-text/feedback-text.cjs.js"),ue=require("../form-label/form-label.cjs.js"),n=require("./number-field.module.scss.cjs.js"),de=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),oe=require("../../../providers/label-provider/use-labels.cjs.js"),z=S=>{const{getCurrentBreakpointProps:C}=de.useBreakpointProps(S.defaultServerBreakpoint),{getLabel:L,locale:D}=oe.useLabels(),W=D==="en"?".":",",{id:B,label:A,hideLabel:G,required:T,className:V,size:N,inputMode:H,decimalPlaces:p,decimalSeparator:F=W,min:d,max:o,step:I=1,defaultValue:g,value:c,onChange:a,suffix:h,fullWidth:J=!1,disabled:b=!1,invalid:k=!1,helper:i,input:v}=C(S),K=H??(p&&p>0||F===","?"decimal":"numeric"),m=u.useCallback(e=>e===void 0?"":F===","?String(e).replace(".",","):String(e),[F]),x=u.useRef(null),q=u.useRef(!1),[w,E]=u.useState(""),[Q,j]=u.useState(g),[X,_]=u.useState(()=>m(c??g)),r=a&&typeof c<"u"?c:Q;u.useEffect(()=>{!q.current&&typeof c<"u"&&_(m(c))},[c,m]);const O=i?`${B}-helper`:void 0,P=u.useCallback(e=>{if(e===void 0)return k||(i==null?void 0:i.type)==="error";const t=d!==void 0&&e<d,s=o!==void 0&&e>o;return k||t||s||(i==null?void 0:i.type)==="error"},[k,i,o,d]),U=e=>Math.min(o??1/0,Math.max(d??-1/0,e)),Y=e=>{const t=L("numberField.quantityUpdated",e);E(t),setTimeout(()=>{E("")},5e3)},R=e=>p!==void 0?parseFloat(e.toFixed(p)):e,Z=e=>{let t=r??0;e==="increment"&&(t=t+I),e==="decrement"&&(t=t-I),t=U(t),t=R(t),Y(t),a==null||a(t),j(t),_(m(t))},ee=({currentTarget:{value:e}})=>{if(_(e),e===""){r!==void 0&&(a==null||a(void 0),j(void 0));return}const t=e.replace(",",".");if(!/^-?(\d+(\.\d*)?|\.\d+)$/.test(t))return;const s=parseFloat(t);if(Number.isNaN(s))return;const f=U(s),M=R(f);M!==r&&(a==null||a(M),j(M))},te=()=>{q.current=!0},ne=()=>{q.current=!1,_(m(r))},$=e=>{const t=r!==void 0&&(e==="increment"?o!==void 0&&r>=o:d!==void 0&&r<=d),s=y.default(n.default["tedi-number-field__button"],n.default[`tedi-number-field__button--${e}`],{[n.default["tedi-number-field__button--disabled"]]:t||b}),f=L(`numberField.${e}`,I);return l.jsx(le.Button,{"aria-label":f,onClick:()=>Z(e),disabled:t||b,visualType:"secondary",className:s,icon:{name:e==="increment"?"add":"remove"},size:N==="small"?"small":void 0,children:e==="increment"?"+":"-"})},ae=()=>{const e=y.default(n.default["tedi-number-field__input-wrapper"],{[n.default["tedi-number-field__input-wrapper--with-suffix"]]:h,[n.default["tedi-number-field__input-wrapper--full-width"]]:J}),t=y.default(n.default["tedi-number-field__input"],v==null?void 0:v.className),s=()=>{var f;return(f=x==null?void 0:x.current)==null?void 0:f.focus()};return l.jsxs("div",{className:e,onClick:s,children:[l.jsx("input",{ref:x,id:B,role:"spinbutton","aria-valuemin":d,"aria-valuemax":o,"aria-valuenow":r,"aria-describedby":O,"aria-invalid":P(r)?"true":"false",type:"text",inputMode:K,value:X,required:T,disabled:b,onChange:ee,onFocus:te,onBlur:ne,className:t,...v}),h&&l.jsx(re.Text,{element:"span",modifiers:"small",color:"tertiary",className:n.default["tedi-number-field__suffix"],children:h})]})},ie=y.default(n.default["tedi-number-field"],{[n.default["tedi-number-field--invalid"]]:P(r)},{[n.default["tedi-number-field--disabled"]]:b},{[n.default["tedi-number-field--small"]]:N==="small"},V);return l.jsxs("div",{"data-name":"number-field",className:V,children:[l.jsx(ue.FormLabel,{id:B,label:A,required:T,hideLabel:G,size:N}),l.jsxs("div",{className:ie,children:[$("decrement"),ae(),$("increment")]}),i&&l.jsx(se.FeedbackText,{className:n.default["tedi-number-field__feedback"],...i,id:O}),w&&l.jsx("div",{"aria-live":"polite",className:"sr-only",children:w})]})};z.displayName="NumberField";exports.NumberField=z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),T=require("../../../../../external/classnames/index.cjs.js"),r=require("react"),ce=require("../../base/typography/text/text.cjs.js"),fe=require("../../buttons/button/button.cjs.js"),me=require("../feedback-text/feedback-text.cjs.js"),be=require("../form-label/form-label.cjs.js"),i=require("./number-field.module.scss.cjs.js"),pe=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),ve=require("../../../providers/label-provider/use-labels.cjs.js"),U=g=>{const{getCurrentBreakpointProps:G}=pe.useBreakpointProps(g.defaultServerBreakpoint),{getLabel:h,locale:J}=ve.useLabels(),K=J==="en"?".":",",{id:Q,label:k,hideLabel:X,required:w,className:C,size:q,inputMode:Y,decimalPlaces:x,decimalSeparator:j=K,min:d,max:o,step:M=1,defaultValue:O,value:c,onChange:a,suffix:S,fullWidth:Z=!1,disabled:N=!1,invalid:R=!1,helper:u,input:_}=G(g),ee=r.useId(),E=Q??ee,te=Y??(x&&x>0||j===","?"decimal":"numeric"),m=r.useCallback(e=>e===void 0?"":j===","?String(e).replace(".",","):String(e),[j]),y=r.useRef(null),B=r.useRef(!1),[ne,L]=r.useState(""),[re,V]=r.useState(O),[ie,I]=r.useState(()=>m(c??O)),F=c!==void 0,n=F?c:re,b=r.useRef(),p=r.useRef(),P=r.useRef(n);r.useEffect(()=>{!B.current&&typeof c<"u"&&I(m(c))},[c,m]);const $=u?`${E}-helper`:void 0,z=r.useCallback(e=>{if(e===void 0)return R||(u==null?void 0:u.type)==="error";const t=d!==void 0&&e<d,l=o!==void 0&&e>o;return R||t||l||(u==null?void 0:u.type)==="error"},[R,u,o,d]),A=e=>Math.min(o??1/0,Math.max(d??-1/0,e)),D=r.useCallback(e=>{e&&(L(""),b.current&&clearTimeout(b.current),p.current&&clearTimeout(p.current),b.current=setTimeout(()=>{L(e),p.current=setTimeout(()=>L(""),5e3)},100))},[]);r.useEffect(()=>()=>{b.current&&clearTimeout(b.current),p.current&&clearTimeout(p.current)},[]),r.useEffect(()=>{P.current!==n&&(!B.current&&n!==void 0&&D(h("numberField.quantityUpdated",n)),P.current=n)},[n,D,h]);const W=e=>x!==void 0?parseFloat(e.toFixed(x)):e,ue=e=>{let t=n??0;e==="increment"&&(t=t+M),e==="decrement"&&(t=t-M),t=A(t),t=W(t),a==null||a(t),F||V(t),I(m(t))},ae=({currentTarget:{value:e}})=>{if(I(e),e===""){n!==void 0&&(a==null||a(void 0),F||V(void 0));return}const t=e.replace(",",".");if(!/^-?(\d+(\.\d*)?|\.\d+)$/.test(t))return;const l=parseFloat(t);if(Number.isNaN(l))return;const f=A(l),v=W(f);v!==n&&(a==null||a(v),F||V(v))},se=()=>{B.current=!0},le=()=>{B.current=!1,I(m(n))},H=e=>{const t=n!==void 0&&(e==="increment"?o!==void 0&&n>=o:d!==void 0&&n<=d),l=T.default(i.default["tedi-number-field__button"],i.default[`tedi-number-field__button--${e}`],{[i.default["tedi-number-field__button--disabled"]]:t||N}),f=typeof k=="string"?k:void 0,v=h(`numberField.${e}`,M,f);return s.jsx(fe.Button,{"aria-label":v,onClick:()=>ue(e),disabled:t||N,visualType:"secondary",className:l,icon:{name:e==="increment"?"add":"remove"},size:q==="small"?"small":void 0,children:e==="increment"?"+":"-"})},de=()=>{const e=T.default(i.default["tedi-number-field__input-wrapper"],{[i.default["tedi-number-field__input-wrapper--with-suffix"]]:S,[i.default["tedi-number-field__input-wrapper--full-width"]]:Z}),t=T.default(i.default["tedi-number-field__input"],_==null?void 0:_.className),l=()=>{var f;return(f=y==null?void 0:y.current)==null?void 0:f.focus()};return s.jsxs("div",{className:e,onClick:l,children:[s.jsx("input",{ref:y,id:E,role:"spinbutton","aria-valuemin":d,"aria-valuemax":o,"aria-valuenow":n,"aria-describedby":$,"aria-invalid":z(n)?"true":"false",type:"text",inputMode:te,value:ie,required:w,disabled:N,onChange:ae,onFocus:se,onBlur:le,className:t,..._}),S&&s.jsx(ce.Text,{element:"span",modifiers:"small",color:"tertiary",className:i.default["tedi-number-field__suffix"],children:S})]})},oe=T.default(i.default["tedi-number-field"],{[i.default["tedi-number-field--invalid"]]:z(n)},{[i.default["tedi-number-field--disabled"]]:N},{[i.default["tedi-number-field--small"]]:q==="small"},C);return s.jsxs("div",{"data-name":"number-field",className:C,children:[s.jsx(be.FormLabel,{id:E,label:k,required:w,hideLabel:X,size:q}),s.jsxs("div",{className:oe,children:[H("decrement"),de(),H("increment")]}),u&&s.jsx(me.FeedbackText,{className:i.default["tedi-number-field__feedback"],...u,id:$}),s.jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:ne})]})};U.displayName="NumberField";exports.NumberField=U;
@@ -1,145 +1,150 @@
1
- import { jsxs as L, jsx as c } from "react/jsx-runtime";
2
- import _ from "../../../../../external/classnames/index.es.js";
3
- import { useCallback as D, useRef as W, useState as S, useEffect as se } from "react";
4
- import { Text as oe } from "../../base/typography/text/text.es.js";
5
- import { Button as de } from "../../buttons/button/button.es.js";
6
- import { FeedbackText as ue } from "../feedback-text/feedback-text.es.js";
7
- import { FormLabel as ce } from "../form-label/form-label.es.js";
1
+ import { jsxs as $, jsx as c } from "react/jsx-runtime";
2
+ import F from "../../../../../external/classnames/index.es.js";
3
+ import { useId as pe, useCallback as z, useRef as v, useState as C, useEffect as P } from "react";
4
+ import { Text as be } from "../../base/typography/text/text.es.js";
5
+ import { Button as ve } from "../../buttons/button/button.es.js";
6
+ import { FeedbackText as Ne } from "../feedback-text/feedback-text.es.js";
7
+ import { FormLabel as _e } from "../form-label/form-label.es.js";
8
8
  import n from "./number-field.module.scss.es.js";
9
- import { useBreakpointProps as me } from "../../../helpers/hooks/use-breakpoint-props.es.js";
10
- import { useLabels as fe } from "../../../providers/label-provider/use-labels.es.js";
11
- const pe = (T) => {
12
- const { getCurrentBreakpointProps: A } = me(T.defaultServerBreakpoint), { getLabel: w, locale: R } = fe(), G = R === "en" ? "." : ",", {
13
- id: y,
14
- label: H,
15
- hideLabel: J,
16
- required: E,
17
- className: U,
18
- size: B,
19
- inputMode: K,
20
- decimalPlaces: f,
21
- decimalSeparator: I = G,
22
- min: l,
23
- max: s,
24
- step: x = 1,
25
- defaultValue: O,
26
- value: d,
27
- onChange: i,
28
- suffix: h,
29
- fullWidth: Q = !1,
30
- disabled: p = !1,
31
- invalid: F = !1,
32
- helper: r,
33
- input: b
34
- } = A(T), X = K ?? (f && f > 0 || I === "," ? "decimal" : "numeric"), m = D(
35
- (e) => e === void 0 ? "" : I === "," ? String(e).replace(".", ",") : String(e),
36
- [I]
37
- ), v = W(null), M = W(!1), [$, g] = S(""), [Y, k] = S(O), [Z, N] = S(() => m(d ?? O)), a = i && typeof d < "u" ? d : Y;
38
- se(() => {
39
- !M.current && typeof d < "u" && N(m(d));
40
- }, [d, m]);
41
- const z = r ? `${y}-helper` : void 0, P = D(
9
+ import { useBreakpointProps as ye } from "../../../helpers/hooks/use-breakpoint-props.es.js";
10
+ import { useLabels as Be } from "../../../providers/label-provider/use-labels.es.js";
11
+ const Ie = (j) => {
12
+ const { getCurrentBreakpointProps: Q } = ye(j.defaultServerBreakpoint), { getLabel: T, locale: X } = Be(), Y = X === "en" ? "." : ",", {
13
+ id: Z,
14
+ label: M,
15
+ hideLabel: ee,
16
+ required: q,
17
+ className: A,
18
+ size: k,
19
+ inputMode: te,
20
+ decimalPlaces: N,
21
+ decimalSeparator: S = Y,
22
+ min: a,
23
+ max: l,
24
+ step: V = 1,
25
+ defaultValue: D,
26
+ value: u,
27
+ onChange: o,
28
+ suffix: w,
29
+ fullWidth: re = !1,
30
+ disabled: _ = !1,
31
+ invalid: E = !1,
32
+ helper: i,
33
+ input: y
34
+ } = Q(j), ne = pe(), L = Z ?? ne, ie = te ?? (N && N > 0 || S === "," ? "decimal" : "numeric"), m = z(
35
+ (e) => e === void 0 ? "" : S === "," ? String(e).replace(".", ",") : String(e),
36
+ [S]
37
+ ), B = v(null), I = v(!1), [oe, g] = C(""), [ae, O] = C(D), [le, h] = C(() => m(u ?? D)), x = u !== void 0, r = x ? u : ae, f = v(), p = v(), R = v(r);
38
+ P(() => {
39
+ !I.current && typeof u < "u" && h(m(u));
40
+ }, [u, m]);
41
+ const W = i ? `${L}-helper` : void 0, H = z(
42
42
  (e) => {
43
43
  if (e === void 0)
44
- return F || (r == null ? void 0 : r.type) === "error";
45
- const t = l !== void 0 && e < l, o = s !== void 0 && e > s;
46
- return F || t || o || (r == null ? void 0 : r.type) === "error";
44
+ return E || (i == null ? void 0 : i.type) === "error";
45
+ const t = a !== void 0 && e < a, s = l !== void 0 && e > l;
46
+ return E || t || s || (i == null ? void 0 : i.type) === "error";
47
47
  },
48
- [F, r, s, l]
49
- ), j = (e) => Math.min(s ?? 1 / 0, Math.max(l ?? -1 / 0, e)), ee = (e) => {
50
- const t = w("numberField.quantityUpdated", e);
51
- g(t), setTimeout(() => {
52
- g("");
53
- }, 5e3);
54
- }, q = (e) => f !== void 0 ? parseFloat(e.toFixed(f)) : e, te = (e) => {
55
- let t = a ?? 0;
56
- e === "increment" && (t = t + x), e === "decrement" && (t = t - x), t = j(t), t = q(t), ee(t), i == null || i(t), k(t), N(m(t));
57
- }, ne = ({ currentTarget: { value: e } }) => {
58
- if (N(e), e === "") {
59
- a !== void 0 && (i == null || i(void 0), k(void 0));
48
+ [E, i, l, a]
49
+ ), U = (e) => Math.min(l ?? 1 / 0, Math.max(a ?? -1 / 0, e)), G = z((e) => {
50
+ e && (g(""), f.current && clearTimeout(f.current), p.current && clearTimeout(p.current), f.current = setTimeout(() => {
51
+ g(e), p.current = setTimeout(() => g(""), 5e3);
52
+ }, 100));
53
+ }, []);
54
+ P(() => () => {
55
+ f.current && clearTimeout(f.current), p.current && clearTimeout(p.current);
56
+ }, []), P(() => {
57
+ R.current !== r && (!I.current && r !== void 0 && G(T("numberField.quantityUpdated", r)), R.current = r);
58
+ }, [r, G, T]);
59
+ const J = (e) => N !== void 0 ? parseFloat(e.toFixed(N)) : e, se = (e) => {
60
+ let t = r ?? 0;
61
+ e === "increment" && (t = t + V), e === "decrement" && (t = t - V), t = U(t), t = J(t), o == null || o(t), x || O(t), h(m(t));
62
+ }, ue = ({ currentTarget: { value: e } }) => {
63
+ if (h(e), e === "") {
64
+ r !== void 0 && (o == null || o(void 0), x || O(void 0));
60
65
  return;
61
66
  }
62
67
  const t = e.replace(",", ".");
63
68
  if (!/^-?(\d+(\.\d*)?|\.\d+)$/.test(t))
64
69
  return;
65
- const o = parseFloat(t);
66
- if (Number.isNaN(o)) return;
67
- const u = j(o), V = q(u);
68
- V !== a && (i == null || i(V), k(V));
69
- }, ie = () => {
70
- M.current = !0;
71
- }, re = () => {
72
- M.current = !1, N(m(a));
73
- }, C = (e) => {
74
- const t = a !== void 0 && (e === "increment" ? s !== void 0 && a >= s : l !== void 0 && a <= l), o = _(n["tedi-number-field__button"], n[`tedi-number-field__button--${e}`], {
75
- [n["tedi-number-field__button--disabled"]]: t || p
76
- }), u = w(`numberField.${e}`, x);
70
+ const s = parseFloat(t);
71
+ if (Number.isNaN(s)) return;
72
+ const d = U(s), b = J(d);
73
+ b !== r && (o == null || o(b), x || O(b));
74
+ }, de = () => {
75
+ I.current = !0;
76
+ }, ce = () => {
77
+ I.current = !1, h(m(r));
78
+ }, K = (e) => {
79
+ const t = r !== void 0 && (e === "increment" ? l !== void 0 && r >= l : a !== void 0 && r <= a), s = F(n["tedi-number-field__button"], n[`tedi-number-field__button--${e}`], {
80
+ [n["tedi-number-field__button--disabled"]]: t || _
81
+ }), d = typeof M == "string" ? M : void 0, b = T(`numberField.${e}`, V, d);
77
82
  return /* @__PURE__ */ c(
78
- de,
83
+ ve,
79
84
  {
80
- "aria-label": u,
81
- onClick: () => te(e),
82
- disabled: t || p,
85
+ "aria-label": b,
86
+ onClick: () => se(e),
87
+ disabled: t || _,
83
88
  visualType: "secondary",
84
- className: o,
89
+ className: s,
85
90
  icon: { name: e === "increment" ? "add" : "remove" },
86
- size: B === "small" ? "small" : void 0,
91
+ size: k === "small" ? "small" : void 0,
87
92
  children: e === "increment" ? "+" : "-"
88
93
  }
89
94
  );
90
- }, ae = () => {
91
- const e = _(n["tedi-number-field__input-wrapper"], {
92
- [n["tedi-number-field__input-wrapper--with-suffix"]]: h,
93
- [n["tedi-number-field__input-wrapper--full-width"]]: Q
94
- }), t = _(n["tedi-number-field__input"], b == null ? void 0 : b.className);
95
- return /* @__PURE__ */ L("div", { className: e, onClick: () => {
96
- var u;
97
- return (u = v == null ? void 0 : v.current) == null ? void 0 : u.focus();
95
+ }, me = () => {
96
+ const e = F(n["tedi-number-field__input-wrapper"], {
97
+ [n["tedi-number-field__input-wrapper--with-suffix"]]: w,
98
+ [n["tedi-number-field__input-wrapper--full-width"]]: re
99
+ }), t = F(n["tedi-number-field__input"], y == null ? void 0 : y.className);
100
+ return /* @__PURE__ */ $("div", { className: e, onClick: () => {
101
+ var d;
102
+ return (d = B == null ? void 0 : B.current) == null ? void 0 : d.focus();
98
103
  }, children: [
99
104
  /* @__PURE__ */ c(
100
105
  "input",
101
106
  {
102
- ref: v,
103
- id: y,
107
+ ref: B,
108
+ id: L,
104
109
  role: "spinbutton",
105
- "aria-valuemin": l,
106
- "aria-valuemax": s,
107
- "aria-valuenow": a,
108
- "aria-describedby": z,
109
- "aria-invalid": P(a) ? "true" : "false",
110
+ "aria-valuemin": a,
111
+ "aria-valuemax": l,
112
+ "aria-valuenow": r,
113
+ "aria-describedby": W,
114
+ "aria-invalid": H(r) ? "true" : "false",
110
115
  type: "text",
111
- inputMode: X,
112
- value: Z,
113
- required: E,
114
- disabled: p,
115
- onChange: ne,
116
- onFocus: ie,
117
- onBlur: re,
116
+ inputMode: ie,
117
+ value: le,
118
+ required: q,
119
+ disabled: _,
120
+ onChange: ue,
121
+ onFocus: de,
122
+ onBlur: ce,
118
123
  className: t,
119
- ...b
124
+ ...y
120
125
  }
121
126
  ),
122
- h && /* @__PURE__ */ c(oe, { element: "span", modifiers: "small", color: "tertiary", className: n["tedi-number-field__suffix"], children: h })
127
+ w && /* @__PURE__ */ c(be, { element: "span", modifiers: "small", color: "tertiary", className: n["tedi-number-field__suffix"], children: w })
123
128
  ] });
124
- }, le = _(
129
+ }, fe = F(
125
130
  n["tedi-number-field"],
126
- { [n["tedi-number-field--invalid"]]: P(a) },
127
- { [n["tedi-number-field--disabled"]]: p },
128
- { [n["tedi-number-field--small"]]: B === "small" },
129
- U
131
+ { [n["tedi-number-field--invalid"]]: H(r) },
132
+ { [n["tedi-number-field--disabled"]]: _ },
133
+ { [n["tedi-number-field--small"]]: k === "small" },
134
+ A
130
135
  );
131
- return /* @__PURE__ */ L("div", { "data-name": "number-field", className: U, children: [
132
- /* @__PURE__ */ c(ce, { id: y, label: H, required: E, hideLabel: J, size: B }),
133
- /* @__PURE__ */ L("div", { className: le, children: [
134
- C("decrement"),
135
- ae(),
136
- C("increment")
136
+ return /* @__PURE__ */ $("div", { "data-name": "number-field", className: A, children: [
137
+ /* @__PURE__ */ c(_e, { id: L, label: M, required: q, hideLabel: ee, size: k }),
138
+ /* @__PURE__ */ $("div", { className: fe, children: [
139
+ K("decrement"),
140
+ me(),
141
+ K("increment")
137
142
  ] }),
138
- r && /* @__PURE__ */ c(ue, { className: n["tedi-number-field__feedback"], ...r, id: z }),
139
- $ && /* @__PURE__ */ c("div", { "aria-live": "polite", className: "sr-only", children: $ })
143
+ i && /* @__PURE__ */ c(Ne, { className: n["tedi-number-field__feedback"], ...i, id: W }),
144
+ /* @__PURE__ */ c("div", { role: "status", "aria-live": "polite", "aria-atomic": "true", className: "sr-only", children: oe })
140
145
  ] });
141
146
  };
142
- pe.displayName = "NumberField";
147
+ Ie.displayName = "NumberField";
143
148
  export {
144
- pe as NumberField
149
+ Ie as NumberField
145
150
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),i=require("../../../../../external/classnames/index.cjs.js"),v=require("react"),L=require("../../buttons/button/button.cjs.js"),N=require("../textfield/textfield.cjs.js"),s=require("./search.module.scss.cjs.js"),w=require("../../../providers/label-provider/use-labels.cjs.js"),u=v.forwardRef(({placeholder:c,isClearable:d=!0,searchIcon:n="search",onSearch:a,onChange:o,button:e,ariaLabel:f,className:h,input:x,...t},_)=>{const{getLabel:r}=w.useLabels(),b=j=>{j.key==="Enter"&&(a==null||a(t.value))},m=()=>{a==null||a(t.value)},p={...t,ref:_,inputClassName:i.default(s.default["tedi-search__input"],e&&s.default["tedi-search__input--has-button"],h),placeholder:c,isClearable:d,onKeyDown:b,onChange:o,input:{...x,role:"searchbox"},...e?{}:{icon:n}},q=c||r("search"),y=f??q;return l.jsxs("div",{className:i.default(s.default["tedi-search__wrapper"]),role:"search","aria-label":y,children:[l.jsx(N.TextField,{...p}),e&&l.jsx(L.Button,{...e,onClick:m,className:i.default(s.default["tedi-search__button"],e.className),"aria-label":e.children?void 0:r("search"),children:e.children??r("search")})]})});u.displayName="Search";exports.Search=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),t=require("../../../../../external/classnames/index.cjs.js"),v=require("react"),w=require("../../buttons/button/button.cjs.js"),j=require("../textfield/textfield.cjs.js"),a=require("./search.module.scss.cjs.js"),L=require("../../../providers/label-provider/use-labels.cjs.js"),n=v.forwardRef(({placeholder:u,isClearable:o=!0,searchIcon:r="search",onSearch:s,onChange:f,button:e,ariaLabel:h,className:_,input:p,...l},m)=>{const{getLabel:i}=L.useLabels(),b=g=>{g.key==="Enter"&&(s==null||s(l.value))},x=()=>{s==null||s(l.value)},d=typeof r=="string"?{name:r}:r,y={color:"secondary",...d,className:t.default(d.className,l.disabled&&a.default["tedi-search__icon--disabled"])},q={...l,ref:m,inputClassName:t.default(a.default["tedi-search__input"],e&&a.default["tedi-search__input--has-button"],_),placeholder:u,isClearable:o,onKeyDown:b,onChange:f,input:{...p,role:"searchbox"},...e?{}:{icon:y}},N=h||i("search");return c.jsxs("div",{className:t.default(a.default["tedi-search__wrapper"],l.size==="small"&&a.default["tedi-search__wrapper--small"],l.size==="large"&&a.default["tedi-search__wrapper--large"]),role:"search","aria-label":N,children:[c.jsx(j.TextField,{...q}),e&&c.jsx(w.Button,{...e,onClick:x,className:t.default(a.default["tedi-search__button"],!e.children&&a.default["tedi-search__button--icon-only"],e.className),"aria-label":e.children?void 0:i("search"),children:e.children??i("search")})]})});n.displayName="Search";exports.Search=n;
@@ -1,54 +1,74 @@
1
- import { jsxs as w, jsx as c } from "react/jsx-runtime";
2
- import l from "../../../../../external/classnames/index.es.js";
3
- import { forwardRef as L } from "react";
4
- import { Button as b } from "../../buttons/button/button.es.js";
5
- import { TextField as k } from "../textfield/textfield.es.js";
1
+ import { jsxs as b, jsx as t } from "react/jsx-runtime";
2
+ import i from "../../../../../external/classnames/index.es.js";
3
+ import { forwardRef as g } from "react";
4
+ import { Button as k } from "../../buttons/button/button.es.js";
5
+ import { TextField as B } from "../textfield/textfield.es.js";
6
6
  import a from "./search.module.scss.es.js";
7
7
  import { useLabels as C } from "../../../providers/label-provider/use-labels.es.js";
8
- const j = L(
8
+ const L = g(
9
9
  ({
10
- placeholder: t,
11
- isClearable: o = !0,
12
- searchIcon: m = "search",
10
+ placeholder: d,
11
+ isClearable: m = !0,
12
+ searchIcon: l = "search",
13
13
  onSearch: s,
14
- onChange: d,
14
+ onChange: n,
15
15
  button: e,
16
16
  ariaLabel: p,
17
- className: n,
18
- input: f,
17
+ className: _,
18
+ input: h,
19
19
  ...r
20
- }, h) => {
21
- const { getLabel: i } = C(), u = (v) => {
20
+ }, f) => {
21
+ const { getLabel: c } = C(), y = (v) => {
22
22
  v.key === "Enter" && (s == null || s(r.value));
23
- }, _ = () => {
23
+ }, N = () => {
24
24
  s == null || s(r.value);
25
- }, x = {
25
+ }, o = typeof l == "string" ? { name: l } : l, u = {
26
+ color: "secondary",
27
+ ...o,
28
+ className: i(o.className, r.disabled && a["tedi-search__icon--disabled"])
29
+ }, w = {
26
30
  ...r,
27
- ref: h,
28
- inputClassName: l(a["tedi-search__input"], e && a["tedi-search__input--has-button"], n),
29
- placeholder: t,
30
- isClearable: o,
31
- onKeyDown: u,
32
- onChange: d,
33
- input: { ...f, role: "searchbox" },
34
- ...e ? {} : { icon: m }
35
- }, N = t || i("search"), y = p ?? N;
36
- return /* @__PURE__ */ w("div", { className: l(a["tedi-search__wrapper"]), role: "search", "aria-label": y, children: [
37
- /* @__PURE__ */ c(k, { ...x }),
38
- e && /* @__PURE__ */ c(
39
- b,
40
- {
41
- ...e,
42
- onClick: _,
43
- className: l(a["tedi-search__button"], e.className),
44
- "aria-label": e.children ? void 0 : i("search"),
45
- children: e.children ?? i("search")
46
- }
47
- )
48
- ] });
31
+ ref: f,
32
+ inputClassName: i(a["tedi-search__input"], e && a["tedi-search__input--has-button"], _),
33
+ placeholder: d,
34
+ isClearable: m,
35
+ onKeyDown: y,
36
+ onChange: n,
37
+ input: { ...h, role: "searchbox" },
38
+ ...e ? {} : { icon: u }
39
+ }, x = p || c("search");
40
+ return /* @__PURE__ */ b(
41
+ "div",
42
+ {
43
+ className: i(
44
+ a["tedi-search__wrapper"],
45
+ r.size === "small" && a["tedi-search__wrapper--small"],
46
+ r.size === "large" && a["tedi-search__wrapper--large"]
47
+ ),
48
+ role: "search",
49
+ "aria-label": x,
50
+ children: [
51
+ /* @__PURE__ */ t(B, { ...w }),
52
+ e && /* @__PURE__ */ t(
53
+ k,
54
+ {
55
+ ...e,
56
+ onClick: N,
57
+ className: i(
58
+ a["tedi-search__button"],
59
+ !e.children && a["tedi-search__button--icon-only"],
60
+ e.className
61
+ ),
62
+ "aria-label": e.children ? void 0 : c("search"),
63
+ children: e.children ?? c("search")
64
+ }
65
+ )
66
+ ]
67
+ }
68
+ );
49
69
  }
50
70
  );
51
- j.displayName = "Search";
71
+ L.displayName = "Search";
52
72
  export {
53
- j as Search
73
+ L as Search
54
74
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-search__wrapper":"tedi-search__wrapper-92d6f11f","tedi-search__input":"tedi-search__input-94d53b76","tedi-search__input--has-button":"tedi-search__input--has-button-d8e073e7","tedi-search__button":"tedi-search__button-cbb4df17"};exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-search__wrapper":"tedi-search__wrapper-92d6f11f","tedi-search__input":"tedi-search__input-94d53b76","tedi-search__input--has-button":"tedi-search__input--has-button-d8e073e7","tedi-search__icon--disabled":"tedi-search__icon--disabled-2b492592","tedi-search__button":"tedi-search__button-cbb4df17","tedi-search__wrapper--small":"tedi-search__wrapper--small-7c104c6a","tedi-search__wrapper--large":"tedi-search__wrapper--large-b59e60d7","tedi-search__button--icon-only":"tedi-search__button--icon-only-cf897af5"};exports.default=e;
@@ -1,9 +1,13 @@
1
- const t = {
1
+ const e = {
2
2
  "tedi-search__wrapper": "tedi-search__wrapper-92d6f11f",
3
3
  "tedi-search__input": "tedi-search__input-94d53b76",
4
4
  "tedi-search__input--has-button": "tedi-search__input--has-button-d8e073e7",
5
- "tedi-search__button": "tedi-search__button-cbb4df17"
5
+ "tedi-search__icon--disabled": "tedi-search__icon--disabled-2b492592",
6
+ "tedi-search__button": "tedi-search__button-cbb4df17",
7
+ "tedi-search__wrapper--small": "tedi-search__wrapper--small-7c104c6a",
8
+ "tedi-search__wrapper--large": "tedi-search__wrapper--large-b59e60d7",
9
+ "tedi-search__button--icon-only": "tedi-search__button--icon-only-cf897af5"
6
10
  };
7
11
  export {
8
- t as default
12
+ e as default
9
13
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),o=require("../../../../../../../external/classnames/index.cjs.js"),p=require("react"),P=require("../../../../base/typography/text/text.cjs.js"),T=require("../../../../base/icon/icon.cjs.js"),b=require("../../../../buttons/button/button.cjs.js"),S=require("../../../../navigation/link/link.cjs.js"),u=require("../../../../overlays/popover/popover.cjs.js"),l=require("./header-language.module.scss.cjs.js"),C=require("../../../../../providers/label-provider/use-labels.cjs.js"),N=require("../../../../../helpers/hooks/use-breakpoint-props.cjs.js"),m=require("../../../../../helpers/hooks/use-breakpoint.cjs.js"),d=x=>{const{languages:r,currentLanguage:i,selectLabel:c,labelPosition:L="top"}=x,[n,t]=p.useState(!1),{getLabel:g,setLocale:k,locale:s}=C.useLabels(),{getCurrentBreakpointProps:_}=N.useBreakpointProps(),j=m.default(),v=m.isBreakpointBelow(j,"md"),{hideLabel:q}=_({hideLabel:!0,lg:{hideLabel:!1}}),f=p.useMemo(()=>{var e;if(s){const h=r.find(y=>y.locale===s);if(h)return h.label}return i||(((e=r[0])==null?void 0:e.label)??"")},[r,s,i]),B=e=>{if(e.onClick){e.onClick({onToggle:t});return}t(!1),e.locale&&k(e.locale)};return a.jsxs("div",{className:o.default(l.default["tedi-header-language"],l.default[`tedi-header-language--label-${L}`],{[l.default["tedi-header-language__mobile"]]:v}),children:[a.jsx(P.Text,{modifiers:"small",color:"secondary",className:o.default({"visually-hidden":q}),children:c??g("header.select-lang")}),a.jsxs(u.Popover,{placement:"bottom",open:n,onToggle:()=>t(e=>!e),withBorder:!0,children:[a.jsx(u.Popover.Trigger,{children:a.jsx(b.Button,{visualType:"link",underline:!1,"aria-label":`${c??g("header.select-lang")} ${f}`,"aria-expanded":n,children:a.jsxs("div",{className:l.default["tedi-header-language__selected"],children:[f,a.jsx(T.Icon,{name:"expand_more",size:18,className:o.default(l.default["tedi-header-language__icon"],{[l.default["tedi-header-language__icon--open"]]:n})})]})})}),a.jsx(u.Popover.Content,{width:"none",children:a.jsx("div",{className:l.default["tedi-header-language__list"],children:r.map(e=>e.href&&!e.onClick?a.jsx(S.Link,{visualType:"link","aria-current":e.isSelected,"aria-label":e["aria-label"],underline:!1,href:e.href,children:e.label},e.label):a.jsx(b.Button,{visualType:"link","aria-current":e.isSelected,"aria-label":e["aria-label"],underline:!1,onClick:()=>B(e),children:e.label},e.label))})})]})]})};d.displayName="HeaderLanguage";exports.HeaderLanguage=d;exports.default=d;
@@ -0,0 +1,105 @@
1
+ import { jsxs as s, jsx as a } from "react/jsx-runtime";
2
+ import d from "../../../../../../../external/classnames/index.es.js";
3
+ import { useState as T, useMemo as x } from "react";
4
+ import { Text as C } from "../../../../base/typography/text/text.es.js";
5
+ import { Icon as S } from "../../../../base/icon/icon.es.js";
6
+ import { Button as h } from "../../../../buttons/button/button.es.js";
7
+ import { Link as w } from "../../../../navigation/link/link.es.js";
8
+ import { Popover as c } from "../../../../overlays/popover/popover.es.js";
9
+ import l from "./header-language.module.scss.es.js";
10
+ import { useLabels as P } from "../../../../../providers/label-provider/use-labels.es.js";
11
+ import { useBreakpointProps as $ } from "../../../../../helpers/hooks/use-breakpoint-props.es.js";
12
+ import j, { isBreakpointBelow as H } from "../../../../../helpers/hooks/use-breakpoint.es.js";
13
+ const M = (g) => {
14
+ const { languages: r, currentLanguage: i, selectLabel: m, labelPosition: b = "top" } = g, [o, n] = T(!1), { getLabel: u, setLocale: L, locale: t } = P(), { getCurrentBreakpointProps: k } = $(), _ = j(), v = H(_, "md"), { hideLabel: y } = k({
15
+ hideLabel: !0,
16
+ lg: { hideLabel: !1 }
17
+ }), p = x(() => {
18
+ var e;
19
+ if (t) {
20
+ const f = r.find((N) => N.locale === t);
21
+ if (f) return f.label;
22
+ }
23
+ return i || (((e = r[0]) == null ? void 0 : e.label) ?? "");
24
+ }, [r, t, i]), B = (e) => {
25
+ if (e.onClick) {
26
+ e.onClick({ onToggle: n });
27
+ return;
28
+ }
29
+ n(!1), e.locale && L(e.locale);
30
+ };
31
+ return /* @__PURE__ */ s(
32
+ "div",
33
+ {
34
+ className: d(l["tedi-header-language"], l[`tedi-header-language--label-${b}`], {
35
+ [l["tedi-header-language__mobile"]]: v
36
+ }),
37
+ children: [
38
+ /* @__PURE__ */ a(C, { modifiers: "small", color: "secondary", className: d({ "visually-hidden": y }), children: m ?? u("header.select-lang") }),
39
+ /* @__PURE__ */ s(
40
+ c,
41
+ {
42
+ placement: "bottom",
43
+ open: o,
44
+ onToggle: () => n((e) => !e),
45
+ withBorder: !0,
46
+ children: [
47
+ /* @__PURE__ */ a(c.Trigger, { children: /* @__PURE__ */ a(
48
+ h,
49
+ {
50
+ visualType: "link",
51
+ underline: !1,
52
+ "aria-label": `${m ?? u("header.select-lang")} ${p}`,
53
+ "aria-expanded": o,
54
+ children: /* @__PURE__ */ s("div", { className: l["tedi-header-language__selected"], children: [
55
+ p,
56
+ /* @__PURE__ */ a(
57
+ S,
58
+ {
59
+ name: "expand_more",
60
+ size: 18,
61
+ className: d(l["tedi-header-language__icon"], {
62
+ [l["tedi-header-language__icon--open"]]: o
63
+ })
64
+ }
65
+ )
66
+ ] })
67
+ }
68
+ ) }),
69
+ /* @__PURE__ */ a(c.Content, { width: "none", children: /* @__PURE__ */ a("div", { className: l["tedi-header-language__list"], children: r.map(
70
+ (e) => e.href && !e.onClick ? /* @__PURE__ */ a(
71
+ w,
72
+ {
73
+ visualType: "link",
74
+ "aria-current": e.isSelected,
75
+ "aria-label": e["aria-label"],
76
+ underline: !1,
77
+ href: e.href,
78
+ children: e.label
79
+ },
80
+ e.label
81
+ ) : /* @__PURE__ */ a(
82
+ h,
83
+ {
84
+ visualType: "link",
85
+ "aria-current": e.isSelected,
86
+ "aria-label": e["aria-label"],
87
+ underline: !1,
88
+ onClick: () => B(e),
89
+ children: e.label
90
+ },
91
+ e.label
92
+ )
93
+ ) }) })
94
+ ]
95
+ }
96
+ )
97
+ ]
98
+ }
99
+ );
100
+ };
101
+ M.displayName = "HeaderLanguage";
102
+ export {
103
+ M as HeaderLanguage,
104
+ M as default
105
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-header-language":"tedi-header-language-a837abad","tedi-header-language--label-left":"tedi-header-language--label-left-5e0282da","tedi-header-language__icon":"tedi-header-language__icon-0eda6084","tedi-header-language__icon--open":"tedi-header-language__icon--open-f3ab5bd4","tedi-header-language__mobile":"tedi-header-language__mobile-e3625dc5","tedi-header-language__selected":"tedi-header-language__selected-c08d15e5","tedi-header-language__list":"tedi-header-language__list-eea73437"};exports.default=e;
@@ -0,0 +1,12 @@
1
+ const e = {
2
+ "tedi-header-language": "tedi-header-language-a837abad",
3
+ "tedi-header-language--label-left": "tedi-header-language--label-left-5e0282da",
4
+ "tedi-header-language__icon": "tedi-header-language__icon-0eda6084",
5
+ "tedi-header-language__icon--open": "tedi-header-language__icon--open-f3ab5bd4",
6
+ "tedi-header-language__mobile": "tedi-header-language__mobile-e3625dc5",
7
+ "tedi-header-language__selected": "tedi-header-language__selected-c08d15e5",
8
+ "tedi-header-language__list": "tedi-header-language__list-eea73437"
9
+ };
10
+ export {
11
+ e as default
12
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),d=require("../../../../base/typography/text/text.cjs.js"),f=require("../../../../buttons/button/button.cjs.js"),_=require("../../../../navigation/link/link.cjs.js"),x=require("../header-mobile-button/header-mobile-button.cjs.js"),t=require("./header-login.module.scss.cjs.js"),p=require("../../../../../helpers/hooks/use-breakpoint-props.cjs.js"),j=require("../../../../../providers/label-provider/use-labels.cjs.js"),u=require("../../../../../helpers/hooks/use-breakpoint.cjs.js"),s=i=>{const{onClick:n,href:r}=i,{getCurrentBreakpointProps:c}=p.useBreakpointProps(i.defaultServerBreakpoint),{size:m,label:b}=c(i),{getLabel:l}=j.useLabels(),h=u.default(),g=u.isBreakpointBelow(h,"md"),a=(m??(g?"small":"default"))==="small",o=b??l(a?"header.login.mobile":"header.login");return e.jsx(e.Fragment,{children:a?e.jsx(x.default,{onClick:n,href:r,icon:{name:"login",size:24,color:"inherit"},label:o}):r?e.jsx(_.Link,{onClick:n,href:r,underline:!1,visualType:"primary",className:t.default["tedi-header-login__button"],children:e.jsx("div",{className:t.default["tedi-header-login__button--inner"],children:e.jsx(d.Text,{modifiers:"normal",className:t.default["tedi-header-login__button--text"],children:o})})}):e.jsx(f.Button,{onClick:n,visualType:"primary",className:t.default["tedi-header-login__button"],children:e.jsx("div",{className:t.default["tedi-header-login__button--inner"],children:e.jsx(d.Text,{modifiers:"normal",className:t.default["tedi-header-login__button--text"],children:o})})})})};s.displayName="Header.Login";exports.HeaderLogin=s;exports.default=s;