@jaisocx/css-code-snippet 1.2.6 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/MediaAndStyles/{csstool-codesnippet-theme-styles-main.css → CssCodeSnippet_main.css} +19 -17
  2. package/MediaAndStyles/CssCodeSnippet_main_Webpack.css +31 -0
  3. package/MediaAndStyles/CssCodeSnippet_main_Webpack_minimal.css +33 -0
  4. package/MediaAndStyles/CssCodeSnippet_main_relative.css +30 -0
  5. package/MediaAndStyles/CssCodeSnippet_main_resolved.css +736 -0
  6. package/MediaAndStyles/CssCodeSnippet_main_resolved_minimal.css +251 -0
  7. package/MediaAndStyles/themes/color_themes/css_code_snippet__css_clean_start_2__color_theme.css +15 -0
  8. package/MediaAndStyles/themes/{csstool-codesnippet-theme-colour-blue.css → color_themes/csstool-codesnippet-theme-colour-blue.css} +4 -0
  9. package/MediaAndStyles/themes/{csstool-codesnippet-theme-colour-rosa.css → color_themes/csstool-codesnippet-theme-colour-rosa.css} +5 -1
  10. package/MediaAndStyles/themes/{csstool-codesnippet-theme-colour-salad.css → color_themes/csstool-codesnippet-theme-colour-salad.css} +7 -0
  11. package/MediaAndStyles/themes/{csstool-codesnippet-theme-base.css → theme_base/CssCodeSnippet_theme_base_main.css} +26 -4
  12. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_d05_very_small_xxs_landscape__CssCodeSnippet__theme_base.css +10 -0
  13. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_d05_very_small_xxs_portrait__CssCodeSnippet__theme_base.css +10 -0
  14. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_e02_mobile_xs_landscape__CssCodeSnippet__theme_base.css +10 -0
  15. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_e02_mobile_xs_portrait__CssCodeSnippet__theme_base.css +10 -0
  16. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_e04_mobile_s_landscape__CssCodeSnippet__theme_base.css +10 -0
  17. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_e04_mobile_s_portrait__CssCodeSnippet__theme_base.css +10 -0
  18. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_e06_mobile_sm_landscape__CssCodeSnippet__theme_base.css +10 -0
  19. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_e06_mobile_sm_portrait__CssCodeSnippet__theme_base.css +10 -0
  20. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_e08_mobile_md_landscape__CssCodeSnippet__theme_base.css +10 -0
  21. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_e08_mobile_md_portrait__CssCodeSnippet__theme_base.css +10 -0
  22. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_h03_tablet_s_landscape__CssCodeSnippet__theme_base.css +10 -0
  23. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_h03_tablet_s_portrait__CssCodeSnippet__theme_base.css +10 -0
  24. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_h05_tablet_sm_landscape__CssCodeSnippet__theme_base.css +10 -0
  25. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_h05_tablet_sm_portrait__CssCodeSnippet__theme_base.css +10 -0
  26. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_h07_tablet_md_landscape__CssCodeSnippet__theme_base.css +10 -0
  27. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_h07_tablet_md_portrait__CssCodeSnippet__theme_base.css +10 -0
  28. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_h09_tablet_lg_landscape__CssCodeSnippet__theme_base.css +10 -0
  29. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_h09_tablet_lg_portrait__CssCodeSnippet__theme_base.css +10 -0
  30. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_l02_laptop_sm_landscape__CssCodeSnippet__theme_base.css +10 -0
  31. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_l02_laptop_sm_portrait__CssCodeSnippet__theme_base.css +10 -0
  32. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_l03_laptop_md_landscape__CssCodeSnippet__theme_base.css +10 -0
  33. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_l03_laptop_md_portrait__CssCodeSnippet__theme_base.css +10 -0
  34. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_l07_laptop_lg_landscape__CssCodeSnippet__theme_base.css +10 -0
  35. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_l07_laptop_lg_portrait__CssCodeSnippet__theme_base.css +10 -0
  36. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_s02_display_xl_landscape__CssCodeSnippet__theme_base.css +10 -0
  37. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_s02_display_xl_portrait__CssCodeSnippet__theme_base.css +10 -0
  38. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_s04_display_xxl_landscape__CssCodeSnippet__theme_base.css +10 -0
  39. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_s04_display_xxl_portrait__CssCodeSnippet__theme_base.css +10 -0
  40. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_s08_display_qhd_landscape__CssCodeSnippet__theme_base.css +10 -0
  41. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_s08_display_qhd_portrait__CssCodeSnippet__theme_base.css +10 -0
  42. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_t04_tv_4k_landscape__CssCodeSnippet__theme_base.css +10 -0
  43. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_t04_tv_4k_portrait__CssCodeSnippet__theme_base.css +10 -0
  44. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_t08_tv_8k_landscape__CssCodeSnippet__theme_base.css +10 -0
  45. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_t08_tv_8k_portrait__CssCodeSnippet__theme_base.css +10 -0
  46. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_t16_tv_16k_landscape__CssCodeSnippet__theme_base.css +10 -0
  47. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_t16_tv_16k_portrait__CssCodeSnippet__theme_base.css +10 -0
  48. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_t99_tv_xxxl_landscape__CssCodeSnippet__theme_base.css +10 -0
  49. package/MediaAndStyles/themes/theme_base/responsive/responsive_size_t99_tv_xxxl_portrait__CssCodeSnippet__theme_base.css +10 -0
  50. package/MediaAndStyles/themes/theme_base/responsive_size_Imports_CssCodeSnippet_theme_base_Relative.css +98 -0
  51. package/MediaAndStyles/themes/theme_base/responsive_size_Imports_CssCodeSnippet_theme_base_Webpack.css +98 -0
  52. package/MediaAndStyles/themes/theme_base/responsive_size_Imports_CssCodeSnippet_theme_base_Webpack_minimal.css +98 -0
  53. package/README.md +3 -4
  54. package/css_code_snippet.example.html +418 -0
  55. package/index.example.html +417 -0
  56. package/package.json +33 -21
  57. package/transpiled/CommonJS/CssCodeSnippetHelpers.d.ts.map +1 -1
  58. package/transpiled/CommonJS/CssCodeSnippetHelpers.js.map +1 -1
  59. package/transpiled/CommonJS/index.d.ts +1 -1
  60. package/transpiled/CommonJS/index.d.ts.map +1 -1
  61. package/transpiled/CommonJS/index.js +1 -3
  62. package/transpiled/CommonJS/index.js.map +1 -1
  63. package/transpiled/CommonJS/webpack.aliases.cjs +19 -0
  64. package/transpiled/CommonJS/webpack.aliases.cjs.map +1 -0
  65. package/transpiled/CommonJS/webpack.aliases.d.cts +6 -0
  66. package/transpiled/CommonJS/webpack.aliases.d.cts.map +1 -0
  67. package/transpiled/CommonJS/webpack.aliases.d.mts +6 -0
  68. package/transpiled/CommonJS/webpack.aliases.d.mts.map +1 -0
  69. package/transpiled/CommonJS/webpack.aliases.mjs +15 -0
  70. package/transpiled/CommonJS/webpack.aliases.mjs.map +1 -0
  71. package/transpiled/CommonJS/webpackAliases.d.ts +2 -0
  72. package/transpiled/CommonJS/webpackAliases.d.ts.map +1 -0
  73. package/transpiled/CommonJS/webpackAliases.js +64 -0
  74. package/transpiled/CommonJS/webpackAliases.js.map +1 -0
  75. package/transpiled/ESNext/CssCodeSnippetHelpers.d.ts.map +1 -1
  76. package/transpiled/ESNext/CssCodeSnippetHelpers.js.map +1 -1
  77. package/transpiled/ESNext/index.d.ts +1 -1
  78. package/transpiled/ESNext/index.d.ts.map +1 -1
  79. package/transpiled/ESNext/index.js +1 -1
  80. package/transpiled/ESNext/index.js.map +1 -1
  81. package/transpiled/ESNext/webpack.aliases.cjs +19 -0
  82. package/transpiled/ESNext/webpack.aliases.cjs.map +1 -0
  83. package/transpiled/ESNext/webpack.aliases.d.cts +6 -0
  84. package/transpiled/ESNext/webpack.aliases.d.cts.map +1 -0
  85. package/transpiled/ESNext/webpack.aliases.d.mts +6 -0
  86. package/transpiled/ESNext/webpack.aliases.d.mts.map +1 -0
  87. package/transpiled/ESNext/webpack.aliases.mjs +14 -0
  88. package/transpiled/ESNext/webpack.aliases.mjs.map +1 -0
  89. package/transpiled/ESNext/webpackAliases.d.ts +2 -0
  90. package/transpiled/ESNext/webpackAliases.d.ts.map +1 -0
  91. package/transpiled/ESNext/webpackAliases.js +28 -0
  92. package/transpiled/ESNext/webpackAliases.js.map +1 -0
  93. package/transpiled/Simple/CssCodeSnippetHelpers.js +47 -42
  94. package/webpack.aliases.json +5 -0
  95. package/ExampleCss_CssCodeSnippet.html +0 -213
  96. /package/MediaAndStyles/themes/{csstool-codesnippet-theme-size-large.css → layout_themes/csstool-codesnippet-theme-size-large.css} +0 -0
  97. /package/MediaAndStyles/themes/{csstool-codesnippet-theme-size-little.css → layout_themes/csstool-codesnippet-theme-size-little.css} +0 -0
@@ -0,0 +1,418 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="jsx theme_visible_height">
3
+ <head>
4
+
5
+ <title>CssCodeSnippet</title>
6
+
7
+ <base href="./">
8
+
9
+ <meta charset="utf-8" />
10
+ <meta content="width=device-width, initial-scale=1.0" name="viewport" />
11
+
12
+
13
+
14
+ <!--# FAVICON -->
15
+ <!-- <link
16
+ rel="icon"
17
+ type="image/x-icon"
18
+ href="https://sandbox.brightday.email/cdn/www/media/images/favicon/Icon_Jaisocx.ico"
19
+ href-fallback="favicon/Icon_Jaisocx.ico"
20
+ onerror="javascript: ( () => { console.log( this ); this.onerror = null; this.href = this.getAttribute( 'href-fallback' ); } )();"
21
+ /> -->
22
+
23
+ <link
24
+ rel="icon"
25
+ type="image/x-icon"
26
+ href="https://sandbox.brightday.email/cdn/www/media/images/favicon/Icon_Sandbox_Brightday.ico"
27
+ href-fallback="favicon/Icon_Sandbox_Brightday.ico"
28
+ onerror="javascript: ( () => { console.log( this ); this.onerror = null; this.href = this.getAttribute( 'href-fallback' ); } )();"
29
+ />
30
+
31
+
32
+
33
+ <!--# FONTS PRELOAD WITHOUT JAVASCRIPT CALL -->
34
+ <link
35
+ fetchpriority="high"
36
+ rel="preload"
37
+ as="font"
38
+ type="font/ttf"
39
+ href="https://sandbox.brightday.email/cdn/www/fonts/LibreFranklin/static/LibreFranklin-SemiBold.ttf"
40
+ />
41
+
42
+ <link
43
+ fetchpriority="high"
44
+ rel="preload"
45
+ as="font"
46
+ type="font/ttf"
47
+ href="https://sandbox.brightday.email/cdn/www/fonts/LibreFranklin/static/LibreFranklin-Regular.ttf"
48
+ />
49
+
50
+ <!--# CSS FOR FONTS -->
51
+ <link
52
+ rel="stylesheet"
53
+ type="text/css"
54
+ href="https://sandbox.brightday.email/cdn/www/fonts_css/font_LibreFranklin_cdn.css"
55
+ />
56
+
57
+
58
+
59
+ <!--# CSS CLEAN START 2: html & css WHEN STARTING A SITE FROM SCRATCH -->
60
+
61
+ <!--# importing @jaisocx/css-clean-start-2 IN DEV MODE, TO RESEARCH THE .css STYLES IN BROWSER'S DEV TOOLS IN NETWORKS TAB -->
62
+ <!-- <link
63
+ rel="stylesheet"
64
+ type="text/css"
65
+ charset="utf-8"
66
+ href="../css-clean-start-2/MediaAndStyles/CssCleanStart_2_main_relative.css"
67
+ href-fallback="node_modules/@jaisocx/css-clean-start-2/MediaAndStyles/CssCleanStart_2_main_relative.css"
68
+ onerror="javascript: ( () => { console.log( this ); this.onerror = null; this.href = this.getAttribute( 'href-fallback' ); } )();"
69
+ /> -->
70
+
71
+ <!--# THE SAME importing @jaisocx/css-clean-start-2 IN PROD MODE, PACKED BY @jaisocx/css-importer TOOL -->
72
+ <link
73
+ rel="stylesheet"
74
+ type="text/css"
75
+ charset="utf-8"
76
+ href="../css-clean-start-2/MediaAndStyles/CssCleanStart_2_main_resolved_minimal.css"
77
+ href-fallback="node_modules/@jaisocx/css-clean-start-2/MediaAndStyles/CssCleanStart_2_main_resolved_minimal.css"
78
+ onerror="javascript: ( () => { console.log( this ); this.onerror = null; this.href = this.getAttribute( 'href-fallback' ); } )();"
79
+ />
80
+
81
+
82
+
83
+
84
+
85
+ <!--# STYLES CssCodeSnippet and theme_base -->
86
+ <link
87
+ fetchpriority="medium"
88
+ rel="stylesheet"
89
+ type="text/css"
90
+ charset="utf-8"
91
+ href="MediaAndStyles/CssCodeSnippet_main_relative.css"
92
+ />
93
+
94
+
95
+
96
+ <!-- <style>
97
+ /* .jsx {
98
+
99
+ }
100
+
101
+ .jsx .CssCodeSnippet {
102
+
103
+ } */
104
+
105
+ </style> -->
106
+
107
+
108
+
109
+ <style>
110
+
111
+ .jsx {
112
+ --jsx--css-clean-start-2--site--padding: 2rem 0 0 0;
113
+
114
+ --jsx--css-clean-start-2--h1--font-size: 1.05rem;
115
+ --jsx--css-clean-start-2--h2--font-size: 0.9rem;
116
+ --jsx--css-clean-start-2--h3--font-size: 0.83rem;
117
+
118
+ --jsx--css-clean-start-2--h2--font-weight: 500;
119
+
120
+ --theme-button-width: fit-content;
121
+ }
122
+
123
+ .jsx themebuttons {
124
+ width: fit-content;
125
+ display: grid;
126
+ grid-auto-flow: column;
127
+ column-gap: 3rem;
128
+ margin: 0.9rem 0px 1.6rem 0px;
129
+ }
130
+
131
+ .jsx themebuttons button {
132
+ width: var(--theme-button-width);
133
+ }
134
+
135
+ .current::after {
136
+ content: "";
137
+ position: absolute;
138
+ bottom: -0.3rem;
139
+ left: 0;
140
+ width: 100%;
141
+ height: 0;
142
+ max-height: 0;
143
+ overflow-y: hidden;
144
+ border-bottom-width: 0.14rem;
145
+ border-bottom-style: solid;
146
+ border-bottom-color: var(--clean-start__text-color);
147
+ }
148
+
149
+ .jsx button {
150
+ background-color: transparent;
151
+ text-align: left;
152
+ }
153
+
154
+ #tooltip-button {
155
+ font-family: fantasy;
156
+ }
157
+
158
+
159
+
160
+ .jsx.theme_visible_height body > main > content {
161
+ padding: 0 1rem 0 1rem;
162
+
163
+ overflow-y: hidden;
164
+
165
+ min-height: unset;
166
+ height: unset;
167
+
168
+ flex-grow: 1;
169
+ flex-shrink: 1;
170
+
171
+ display: flex;
172
+ flex-direction: column;
173
+ flex-basis: auto;
174
+ justify-content: stretch;
175
+ align-items: stretch;
176
+ }
177
+
178
+ .jsx.theme_visible_height > body > main > content > * {
179
+ flex-grow: 0;
180
+ flex-shrink: 1;
181
+ }
182
+
183
+ .jsx.theme_visible_height .CodeSnippetHolder {
184
+ --code-snippet-tool--overflow-y: auto;
185
+ --code-snippet-tool--height: unset;
186
+
187
+ min-height: 0;
188
+ max-height: unset;
189
+ height: unset;
190
+
191
+ flex-grow: 1;
192
+ flex-shrink: 1;
193
+ }
194
+
195
+ .jsx.theme_visible_height > body > main > page_signed {
196
+ flex-shrink: 1;
197
+
198
+ display: flex;
199
+ flex-direction: row;
200
+ justify-content: flex-start;
201
+ align-items: center;
202
+
203
+ padding: 2rem 0 0 0;
204
+
205
+ height: 6rem;
206
+ min-height: 6rem;
207
+ max-height: 6rem;
208
+ width: 100%;
209
+ }
210
+
211
+ .jsx.theme_visible_height > body > main > page_signed text {
212
+ display: flex;
213
+ flex-direction: row;
214
+ justify-content: flex-start;
215
+ align-items: center;
216
+
217
+ height: 100%;
218
+ min-height: 100%;
219
+ max-height: 100%;
220
+
221
+ width: 100%;
222
+
223
+ padding: 0 1rem 0 1rem;
224
+
225
+ color: whitesmoke;
226
+ background-color: green;
227
+ }
228
+
229
+ </style>
230
+
231
+
232
+
233
+ <style>
234
+
235
+ .jsx .CodeSnippetHolder#code-snippet-example,
236
+ .jsx .CodeSnippetHolder#code-snippet-example-thin {
237
+ /* when a .css is loaded with hardcoded lines numbers in code-snippet-lines-numbers-99.css
238
+ on path MediaAndStyles/lines-numbers-variables/code-snippet-lines-numbers-99.css */
239
+ --lines-numbers--content: var(--lines-numbers--content--99);
240
+
241
+ --lines-number: 29;
242
+ }
243
+
244
+ .jsx .CodeSnippetHolder#code-snippet-example {
245
+ --code-snippet-tool--width: max-content;
246
+ }
247
+
248
+ .jsx .CodeSnippetHolder#code-snippet-example-thin {
249
+ --code-snippet-tool--width: 28rem;
250
+ --code-snippet-tool--height: 22rem;
251
+ --overflow-y: auto;
252
+ }
253
+
254
+ </style>
255
+
256
+ </head>
257
+
258
+ <body>
259
+
260
+ <main>
261
+
262
+ <content>
263
+
264
+ <h1>Css Code Snippet</h1>
265
+ <h2>@jaisocx/css-code-snippet</h2>
266
+ <h3>css_code_snippet.example.html</h3>
267
+ <description>Css sites tool rendering code blocks with numbered code rows</description>
268
+
269
+
270
+
271
+ <ThemeButtons>
272
+ <button id="button-turn-on-base-theme" data-theme="">Base Theme</button>
273
+ <button id="button-turn-on-daymode" data-theme="theme_lightmode">Day Mode</button>
274
+ <button id="button-turn-on-nightmode" data-theme="theme_darkmode">Night Mode</button>
275
+ </ThemeButtons>
276
+
277
+
278
+
279
+ <CodeSnippetHolder id="code-snippet-example" class="CodeSnippetHolder css_clean_start_2__color_theme little">
280
+ <pre class="CodeSnippetArea">
281
+ import { TestBed } from '@angular/core/testing';
282
+ import { AppComponent } from './app.component';
283
+
284
+ describe('AppComponent', () => {
285
+ beforeEach(async () => {
286
+ await TestBed.configureTestingModule({
287
+ imports: [AppComponent],
288
+ }).compileComponents();
289
+ });
290
+
291
+ it('should create the app', () => {
292
+ const fixture = TestBed.createComponent(AppComponent);
293
+ const app = fixture.componentInstance;
294
+ expect(app).toBeTruthy();
295
+ });
296
+
297
+ it(`should have the 'angular' title`, () => {
298
+ const fixture = TestBed.createComponent(AppComponent);
299
+ const app = fixture.componentInstance;
300
+ expect(app.title).toEqual('angular');
301
+ });
302
+
303
+ it('should render title', () => {
304
+ const fixture = TestBed.createComponent(AppComponent);
305
+ fixture.detectChanges();
306
+ const compiled = fixture.nativeElement as HTMLElement;
307
+ expect(compiled.querySelector('h1')?.textContent).toContain('Hello, angular');
308
+ });
309
+ });
310
+ </pre>
311
+ </CodeSnippetHolder>
312
+
313
+
314
+ </content>
315
+
316
+
317
+
318
+ <page_signed>
319
+ <text>CSS Code Snippet 1.2.7 2025</text>
320
+ </page_signed>
321
+
322
+ </main>
323
+
324
+ </body>
325
+
326
+
327
+
328
+ <script
329
+ async="true"
330
+ defer="true"
331
+ charset="utf-8"
332
+ type="text/javascript"
333
+ >
334
+
335
+ let currentButtonNodeClicked = null;
336
+
337
+ let cssClassesNames = [
338
+ "jsx",
339
+ "theme_visible_height"
340
+ ];
341
+
342
+
343
+
344
+ // declaring the function, this is used in the event handler of the theme turning button when clicked on this button.
345
+ function turnOnTheme ( buttonNodeClicked ) {
346
+
347
+ if ( currentButtonNodeClicked !== null ) {
348
+ currentButtonNodeClicked.classList.remove( "current" );
349
+ }
350
+
351
+ const htmlNode = document.getElementsByTagName("html")[0];
352
+ const htmlNodeClassList = htmlNode.classList;
353
+
354
+ const themeCssClassPrefix = "theme";
355
+
356
+ htmlNodeClassList.forEach (
357
+ (cssClassName) => {
358
+ if ( cssClassesNames.includes( cssClassName ) ) {
359
+ return;
360
+ }
361
+
362
+ if ( cssClassName.startsWith( themeCssClassPrefix ) === true ) {
363
+ htmlNodeClassList.remove( cssClassName );
364
+ }
365
+ }
366
+ );
367
+
368
+ const themeName = buttonNodeClicked.dataset.theme;
369
+ if ( themeName && ( themeName.length !== 0 ) ) {
370
+ htmlNode.classList.add( themeName );
371
+ }
372
+
373
+ currentButtonNodeClicked = buttonNodeClicked;
374
+ currentButtonNodeClicked.classList.add( "current" );
375
+
376
+ }
377
+
378
+ // declaring the function, this adds to buttons the event handler to turn on the theme.
379
+ // this function is invoked when the site loads in the browser,
380
+ // in the event handler for the event DOMContentLoaded
381
+ function addThemeButtonsEventHandlers() {
382
+
383
+ const buttonsIDs = [
384
+ "button-turn-on-base-theme",
385
+ "button-turn-on-daymode",
386
+ "button-turn-on-nightmode"
387
+ ];
388
+
389
+ for ( let buttonId of buttonsIDs ) {
390
+
391
+ let buttonNode = document.getElementById( buttonId );
392
+
393
+ buttonNode.addEventListener (
394
+ "click",
395
+ (evt) => {
396
+ let buttonNodeClicked = evt.target;
397
+ turnOnTheme ( buttonNodeClicked );
398
+ }
399
+ );
400
+
401
+ }
402
+ }
403
+
404
+
405
+
406
+ // DOCUMENT ONLOAD, INVOKES THE FUNCTION TO PRELOAD THEME FONTS
407
+ document.addEventListener('DOMContentLoaded', () => {
408
+
409
+ // adding to buttons the event handler to turn on the theme.
410
+ addThemeButtonsEventHandlers();
411
+
412
+ });
413
+
414
+ </script>
415
+
416
+ </html>
417
+
418
+