Skip to content

Commit 046f194

Browse files
authored
Update styling
1 parent ef13173 commit 046f194

File tree

1 file changed

+10
-2
lines changed
  • packages/component/src/providers/CustomElements/customElements

1 file changed

+10
-2
lines changed

packages/component/src/providers/CustomElements/customElements/CodeBlock.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,15 @@ class CodeBlock extends HTMLElement {
4545

4646
attributeChangedCallback(_name: string, oldValue: string, newValue: string) {
4747
const updated = !Object.is(oldValue, newValue);
48+
4849
this.#connected && updated && this.scheduleUpdate();
4950
}
5051

5152
scheduleUpdate() {
5253
if (this.#updateTask) {
5354
return;
5455
}
56+
5557
this.#updateTask = Promise.resolve().then(() => {
5658
this.#updateTask = undefined;
5759
this.update();
@@ -75,6 +77,7 @@ class CodeBlock extends HTMLElement {
7577
result instanceof DocumentFragment ? result : parseDocumentFragmentFromString(result);
7678

7779
const body = highlightedCodeFragment.querySelector('pre');
80+
7881
body?.classList.add('webchat__code-block__body');
7982
options?.theme && body?.classList.add(`webchat__code-block__theme--${options.theme}`);
8083

@@ -116,9 +119,9 @@ const useCodeBlockProps = (copyButtonTagName: string) => {
116119
const [{ codeBlockTheme }] = useStyleOptions();
117120
const copyButtonAltCopied = localize('COPY_BUTTON_COPIED_TEXT');
118121
const copyButtonAltCopy = localize('COPY_BUTTON_TEXT');
119-
120122
const propsChangedEventTarget = useMemo<EventTarget>(() => new EventTarget(), []);
121123
const propsRef = useRef<CodeBlockReactProps>();
124+
122125
useMemo(() => {
123126
propsRef.current = Object.freeze({
124127
codeBlockClass,
@@ -129,6 +132,7 @@ const useCodeBlockProps = (copyButtonTagName: string) => {
129132
copyButtonTagName,
130133
highlightCode
131134
});
135+
132136
propsChangedEventTarget.dispatchEvent(new CustomEvent('change'));
133137
}, [
134138
codeBlockClass,
@@ -156,6 +160,7 @@ export default function useReactCodeBlockClass(copyButtonTagName: string) {
156160
static observedAttributes = CodeBlock.observedAttributes;
157161

158162
#prevProps: CodeBlockReactProps | undefined;
163+
159164
get #props() {
160165
return codeBlockPropsRef.current;
161166
}
@@ -179,6 +184,7 @@ export default function useReactCodeBlockClass(copyButtonTagName: string) {
179184

180185
if (prevProps?.copyButtonTagName !== props.copyButtonTagName || !this.copyButtonElement) {
181186
const { ownerDocument: document } = this;
187+
182188
this.copyButtonElement = document.createElement(props.copyButtonTagName);
183189
this.scheduleUpdate();
184190
}
@@ -192,8 +198,8 @@ export default function useReactCodeBlockClass(copyButtonTagName: string) {
192198
this.classList.add('webchat__code-block');
193199

194200
codeBlockTarget.addEventListener('change', this.#handlePropsChange);
195-
this.#handlePropsChange();
196201

202+
this.#handlePropsChange();
197203
super.connectedCallback();
198204
}
199205

@@ -205,9 +211,11 @@ export default function useReactCodeBlockClass(copyButtonTagName: string) {
205211

206212
highlightCode(...args: Parameters<HighlightCodeFn>) {
207213
const [, language, options] = args;
214+
208215
if (!language || !options) {
209216
return defaultHighlightCode(...args);
210217
}
218+
211219
return this.#props.highlightCode(...args);
212220
}
213221
},

0 commit comments

Comments
 (0)