{"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","HTMLButtonElement","type","setupButton","enableButton","handleEnableFocus","enableFocus","bind","window","resizeObserver","ResizeObserver","observe","addEventListener","screenReaderStatusMessageClass","textContent","t","document","createElement","setAttribute","classList","add","insertAdjacentElement","hasAttribute","removeAttribute","event","defaultPrevented","copy","isOverflowing","navigator","clipboard","writeText","then","copied","catch","reset","timeout","clearTimeout","setTimeout","checkSupport","SupportError","formatErrorMessage","$element","scrollHeight","clientHeight","scrollWidth","clientWidth","moduleName","defaults","Object","freeze","copyButton","copiedButton","copiedAnnouncement","schema","properties","initCode","options","scope","$scope","normaliseOptions","$codes","querySelectorAll","forEach"],"mappings":"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"}