{"version":3,"file":"code.mjs","sources":["../../../../src/nhsuk/components/code/code.mjs"],"names":["Code","ConfigurableComponent","constructor","$root","config","$button","$screenReaderStatusMessage","resetTimeoutId","i18n","containerClass","contentClass","I18n","locale","closestAttributeValue","$container","querySelector","HTMLPreElement","ElementError","component","element","expectedType","identifier","$content","HTMLElement","classList","contains","moduleName","HTMLButtonElement","type","setupButton","enableButton","handleEnableFocus","enableFocus","bind","window","resizeObserver","ResizeObserver","observe","addEventListener","screenReaderStatusMessageClass","textContent","t","document","createElement","setAttribute","add","insertAdjacentElement","hasAttribute","removeAttribute","event","defaultPrevented","copy","isOverflowing","navigator","clipboard","writeText","then","copied","catch","reset","timeout","clearTimeout","setTimeout","checkSupport","remove","SupportError","formatErrorMessage","$element","scrollHeight","clientHeight","scrollWidth","clientWidth","defaults","Object","freeze","copyButton","copiedButton","copiedAnnouncement","schema","properties","initCode","options","scope","$scope","normaliseOptions","$codes","querySelectorAll","forEach"],"mappings":"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"}