@toheeb/base 1.5.5 → 1.6.0
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.
- package/base-settings.js +55 -32
- package/base.html +11 -1
- package/package.json +1 -1
package/base-settings.js
CHANGED
|
@@ -208,39 +208,49 @@ class BaseSettings extends HTMLElement {
|
|
|
208
208
|
|
|
209
209
|
// Indent Mode
|
|
210
210
|
{
|
|
211
|
-
const mode_indent = root_styles.getPropertyValue("--base-mode-indent").trim();
|
|
212
211
|
const label_mode_indent = this.querySelector("#base-mode-indent").closest("label");
|
|
212
|
+
const has_other_sheet = doc_sheets.some(sheet => sheet.title?.toLowerCase()?.trim() != "base");
|
|
213
|
+
const mode_indent = root_styles.getPropertyValue("--base-mode-indent").trim();
|
|
213
214
|
|
|
214
|
-
if (
|
|
215
|
-
label_mode_indent.hidden = false;
|
|
216
|
-
this.querySelector("#base-mode-indent").checked = parseInt(mode_indent) === 1;
|
|
217
|
-
} else {
|
|
215
|
+
if (has_other_sheet) {
|
|
218
216
|
label_mode_indent.hidden = true;
|
|
217
|
+
this.querySelector("#base-mode-indent").checked = false;
|
|
218
|
+
} else {
|
|
219
|
+
|
|
220
|
+
if (mode_indent) {
|
|
221
|
+
label_mode_indent.hidden = false;
|
|
222
|
+
this.querySelector("#base-mode-indent").checked = parseInt(mode_indent) === 1;
|
|
223
|
+
} else {
|
|
224
|
+
label_mode_indent.hidden = true;
|
|
225
|
+
}
|
|
219
226
|
}
|
|
220
227
|
}
|
|
221
228
|
|
|
229
|
+
|
|
222
230
|
// Font Family
|
|
223
231
|
{
|
|
224
232
|
const font_family = root_styles.getPropertyValue("--base-font-family").trim();
|
|
233
|
+
const font_family_toggle = root_styles.getPropertyValue("--base-font-family-toggle").trim();
|
|
225
234
|
const label_font_family = this.querySelector("#base-font-family").closest("label");
|
|
226
|
-
|
|
227
|
-
if (
|
|
235
|
+
|
|
236
|
+
if (parseInt(font_family_toggle) == 0) {
|
|
237
|
+
label_font_family.hidden = true;
|
|
238
|
+
} else {
|
|
228
239
|
label_font_family.hidden = false;
|
|
229
|
-
|
|
240
|
+
|
|
230
241
|
const def_typefaces = ["serif", "sans-serif", "cursive", "system-ui", "monospace"];
|
|
231
|
-
|
|
242
|
+
|
|
232
243
|
if (def_typefaces.includes(font_family.toLowerCase())) {
|
|
233
244
|
} else {
|
|
234
245
|
const option = document.createElement("option");
|
|
235
|
-
|
|
246
|
+
|
|
236
247
|
option.value = font_family;
|
|
237
248
|
option.textContent = font_family;
|
|
238
249
|
this.querySelector("#base-font-family").append(option);
|
|
239
250
|
}
|
|
240
251
|
|
|
241
252
|
this.querySelector("#base-font-family").value = font_family;
|
|
242
|
-
|
|
243
|
-
label_font_family.hidden = true;
|
|
253
|
+
|
|
244
254
|
}
|
|
245
255
|
|
|
246
256
|
}
|
|
@@ -248,23 +258,29 @@ class BaseSettings extends HTMLElement {
|
|
|
248
258
|
// Font Size
|
|
249
259
|
{
|
|
250
260
|
const font_size = root_styles.getPropertyValue("--base-font-size").trim();
|
|
261
|
+
const font_size_toggle = root_styles.getPropertyValue("--base-font-size-toggle").trim();
|
|
251
262
|
const label_font_size = this.querySelector("#base-font-size").closest("label");
|
|
252
263
|
const positive_numbers = /^\d+\.?\d*$/;
|
|
253
264
|
|
|
254
|
-
if (
|
|
255
|
-
label_font_size.hidden = false;
|
|
256
|
-
this.querySelector("#base-font-size").value = font_size;
|
|
257
|
-
} else {
|
|
265
|
+
if (parseInt(font_size_toggle) == 0) {
|
|
258
266
|
label_font_size.hidden = true;
|
|
267
|
+
} else {
|
|
268
|
+
if (positive_numbers.test(font_size)) {
|
|
269
|
+
label_font_size.hidden = false;
|
|
270
|
+
this.querySelector("#base-font-size").value = font_size;
|
|
271
|
+
}
|
|
259
272
|
}
|
|
260
273
|
}
|
|
261
274
|
|
|
262
275
|
// Font Scale
|
|
263
276
|
{
|
|
264
277
|
const font_scale = root_styles.getPropertyValue("--base-font-scale").trim();
|
|
278
|
+
const font_scale_toggle = root_styles.getPropertyValue("--base-font-scale-toggle").trim();
|
|
265
279
|
const label_font_scale = this.querySelector("#base-font-scale").closest("label");
|
|
266
|
-
|
|
267
|
-
if (
|
|
280
|
+
|
|
281
|
+
if (parseInt(font_scale_toggle) == 0) {
|
|
282
|
+
label_font_scale.hidden = true;
|
|
283
|
+
} else {
|
|
268
284
|
label_font_scale.hidden = false;
|
|
269
285
|
|
|
270
286
|
const scale_set = [1.067, 1.125, 1.2, 1.25, 1.333, 1.414, 1.5, 1.618];
|
|
@@ -279,8 +295,6 @@ class BaseSettings extends HTMLElement {
|
|
|
279
295
|
}
|
|
280
296
|
|
|
281
297
|
this.querySelector("#base-font-scale").value = font_scale;
|
|
282
|
-
} else {
|
|
283
|
-
label_font_scale.hidden = true;
|
|
284
298
|
}
|
|
285
299
|
|
|
286
300
|
}
|
|
@@ -288,41 +302,50 @@ class BaseSettings extends HTMLElement {
|
|
|
288
302
|
// Line Height
|
|
289
303
|
{
|
|
290
304
|
const line_height = root_styles.getPropertyValue("--base-line-height").trim();
|
|
305
|
+
const line_height_toggle = root_styles.getPropertyValue("--base-line-height-toggle").trim();
|
|
291
306
|
const label_line_height = this.querySelector("#base-line-height").closest("label");
|
|
292
307
|
const positive_numbers = /^\d*\.?\d*$/;
|
|
293
308
|
|
|
294
|
-
if (
|
|
295
|
-
label_line_height.hidden = false;
|
|
296
|
-
this.querySelector("#base-line-height").value = line_height;
|
|
297
|
-
} else {
|
|
309
|
+
if (parseInt(line_height_toggle) == 0) {
|
|
298
310
|
label_line_height.hidden = true;
|
|
311
|
+
} else {
|
|
312
|
+
if (positive_numbers.test(line_height)) {
|
|
313
|
+
label_line_height.hidden = false;
|
|
314
|
+
this.querySelector("#base-line-height").value = line_height;
|
|
315
|
+
}
|
|
299
316
|
}
|
|
300
317
|
}
|
|
301
318
|
|
|
302
319
|
// Line Length
|
|
303
320
|
{
|
|
304
321
|
const line_length = root_styles.getPropertyValue("--base-line-length").trim();
|
|
322
|
+
const line_length_toggle = root_styles.getPropertyValue("--base-line-length-toggle").trim();
|
|
305
323
|
const label_line_length = this.querySelector("#base-line-length").closest("label");
|
|
306
324
|
|
|
307
|
-
if (
|
|
308
|
-
label_line_length.hidden = false;
|
|
309
|
-
this.querySelector("#base-line-length").value = parseFloat(line_length);
|
|
310
|
-
} else {
|
|
325
|
+
if (parseInt(line_length_toggle) == 0) {
|
|
311
326
|
label_line_length.hidden = true;
|
|
327
|
+
} else {
|
|
328
|
+
if (parseFloat(line_length)) {
|
|
329
|
+
label_line_length.hidden = false;
|
|
330
|
+
this.querySelector("#base-line-length").value = parseFloat(line_length);
|
|
331
|
+
}
|
|
312
332
|
}
|
|
313
333
|
}
|
|
314
334
|
|
|
315
335
|
// Block Gap
|
|
316
336
|
{
|
|
317
337
|
const block_gap = root_styles.getPropertyValue("--base-block-gap").trim();
|
|
338
|
+
const block_gap_toggle = root_styles.getPropertyValue("--base-block-gap-toggle").trim();
|
|
318
339
|
const label_block_gap = this.querySelector("#base-block-gap").closest("label");
|
|
319
340
|
const positive_numbers = /^\d*\.?\d*$/;
|
|
320
341
|
|
|
321
|
-
if (
|
|
322
|
-
label_block_gap.hidden = false;
|
|
323
|
-
this.querySelector("#base-block-gap").value = block_gap;
|
|
324
|
-
} else {
|
|
342
|
+
if (parseInt(block_gap_toggle) == 0) {
|
|
325
343
|
label_block_gap.hidden = true;
|
|
344
|
+
} else {
|
|
345
|
+
if (positive_numbers.test(block_gap)) {
|
|
346
|
+
label_block_gap.hidden = false;
|
|
347
|
+
this.querySelector("#base-block-gap").value = block_gap;
|
|
348
|
+
}
|
|
326
349
|
}
|
|
327
350
|
}
|
|
328
351
|
|
package/base.html
CHANGED
|
@@ -5,9 +5,19 @@
|
|
|
5
5
|
<meta charset="UTF-8">
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
7
|
<title>Document</title>
|
|
8
|
-
<link rel="stylesheet" href="./base.css">
|
|
8
|
+
<link rel="stylesheet" href="./base.css" title="Base">
|
|
9
9
|
<meta name="color-scheme" content="darks slight">
|
|
10
10
|
<script src="./base-settings.js"></script>
|
|
11
|
+
<style>
|
|
12
|
+
:root {
|
|
13
|
+
/* --base-font-family-toggle: 0;
|
|
14
|
+
--base-font-scale-toggle: 0;
|
|
15
|
+
--base-font-size-toggle: 0;
|
|
16
|
+
--base-line-length-toggle: 0;
|
|
17
|
+
--base-line-height-toggle: 0;
|
|
18
|
+
--base-block-gap-toggle: 0; */
|
|
19
|
+
}
|
|
20
|
+
</style>
|
|
11
21
|
</head>
|
|
12
22
|
|
|
13
23
|
<body>
|