@@ -158,6 +158,8 @@ const renderedCode = ref('');
158158const runTextValue = ref <string >(' ' );
159159const useTheme = ref <boolean | string >(' ' );
160160
161+ const { cssPath } = toRefs (props );
162+
161163
162164// -------------------------------------------------- Computed //
163165const computedCode = computed <unknown >(() => {
@@ -269,6 +271,10 @@ watch(props as Props, () => {
269271 }
270272});
271273
274+ watch (() => cssPath .value , () => {
275+ loadTheme ();
276+ });
277+
272278
273279// -------------------------------------------------- Mounts //
274280onBeforeMount (() => {
@@ -404,30 +410,36 @@ function loadTheme(): void {
404410
405411 const adjustCssFilename = themeNameAdjustments (activeLibrary , useTheme .value );
406412
407- switch (activeLibrary ) {
408- case ' highlightjs' :
409- cssFilename = ` ${adjustCssFilename }.min.css ` ;
410- fetchUrl = ` ${highlightCdn .value }/${cssFilename } ` ;
411- break ;
412- case ' prism' :
413- cssFilename = ` ${adjustCssFilename }.css ` ;
414-
415- if (useTheme .value === ' default' ) {
416- fetchUrl = ` ${prismCdn .value }/prism.css ` ;
417- }
418- else if (useTheme .value .includes (' themes-' )) {
419- fetchUrl = ` ${prismThemesCdn .value }/${cssFilename } ` ;
420- }
421- else {
422- fetchUrl = ` ${prismCdn .value }/prism-${cssFilename } ` ;
423- }
413+ if (typeof cssPath .value !== ' undefined' ) {
414+ fetchUrl = cssPath .value ;
415+ }
416+ else {
417+ switch (activeLibrary ) {
418+ case ' highlightjs' :
419+ cssFilename = ` ${adjustCssFilename }.min.css ` ;
420+ fetchUrl = ` ${highlightCdn .value }/${cssFilename } ` ;
421+ break ;
422+ case ' prism' :
423+ cssFilename = ` ${adjustCssFilename }.css ` ;
424+
425+ if (useTheme .value === ' default' ) {
426+ fetchUrl = ` ${prismCdn .value }/prism.css ` ;
427+ }
428+ else if (useTheme .value .includes (' themes-' )) {
429+ fetchUrl = ` ${prismThemesCdn .value }/${cssFilename } ` ;
430+ }
431+ else {
432+ fetchUrl = ` ${prismCdn .value }/prism-${cssFilename } ` ;
433+ }
424434
425- break ;
426- default :
427- cssFilename = ' ' ;
428- break ;
435+ break ;
436+ default :
437+ cssFilename = ' ' ;
438+ break ;
439+ }
429440 }
430441
442+
431443 isLoading .value = true ;
432444
433445 fetch (fetchUrl ).then ((response ) => {
0 commit comments