UNPKG

carbon-react

Version:

A library of reusable React components for easily building user interfaces.

2 lines (1 loc) 1.17 kB
import{jsxs as a,jsx as e}from"react/jsx-runtime";import"react";import{StyledCharacterCountWrapper as t,VisuallyHiddenHint as r,StyledCharacterCount as c,VisuallyHiddenCharacterCount as i}from"./character-count.style.js";import l from"../../hooks/__internal__/useLocale/useLocale.js";const o=({ariaLive:o="off",value:n,debouncedValue:d=n,limit:u,isDebouncedOverLimit:h,isOverLimit:s,visuallyHiddenHintId:m,isLarge:v})=>{const L=+u-+n,f=+n-+u,y=+u-+d,C=d-+u,p=l(),H=(a,e)=>new Intl.NumberFormat(e).format(a);return a(t,{children:[e(r,{"data-element":"visually-hidden-hint","data-role":"visually-hidden-hint",id:m,children:p.characterCount.visuallyHiddenHint(H(u,p.locale()))}),e(c,{"aria-hidden":"true",isOverLimit:s,"data-element":"character-count","data-role":"character-count",isLarge:v,children:s?p.characterCount.tooManyCharacters(f,H(f,p.locale())):p.characterCount.charactersLeft(L,H(L,p.locale()))}),e(i,{"data-element":"visually-hidden-character-count","data-role":"visually-hidden-character-count","aria-live":o,children:h?p.characterCount.tooManyCharacters(C,H(C,p.locale())):p.characterCount.charactersLeft(y,H(y,p.locale()))})]})};export{o as default};