@phun-ky/speccer 10.0.8 → 11.0.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/README.md +126 -29
- package/dist/speccer.css +394 -129
- package/dist/speccer.d.ts +32 -5
- package/dist/speccer.esm.js +2 -2
- package/dist/speccer.esm.js.map +1 -1
- package/dist/speccer.js +2 -2
- package/dist/speccer.js.map +1 -1
- package/dist/speccer.min.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## About
|
|
8
8
|
|
|
9
|
-

|
|
9
|
+

|
|
10
10
|
|
|
11
11
|
**SPECCER** was originally created to simplify documenting components in a design system, but it can be used to highlight any HTML element on a webpage. If you need to draw attention to elements, **SPECCER** is your tool!
|
|
12
12
|
|
|
@@ -25,9 +25,12 @@
|
|
|
25
25
|
- [Features](#features)
|
|
26
26
|
- [Element spacing](#element-spacing)
|
|
27
27
|
- [Element dimensions](#element-dimensions)
|
|
28
|
-
- [
|
|
28
|
+
- [Slim measure](#slim-measure)
|
|
29
29
|
- [Pin element to highlight the anatomy](#pin-element-to-highlight-the-anatomy)
|
|
30
|
+
- [Default](#default)
|
|
31
|
+
- [Enclose](#enclose)
|
|
30
32
|
- [Align with parent container](#align-with-parent-container)
|
|
33
|
+
- [Pin with text](#pin-with-text)
|
|
31
34
|
- [Custom literals](#custom-literals)
|
|
32
35
|
- [Subtle anatomy](#subtle-anatomy)
|
|
33
36
|
- [Curly brackets](#curly-brackets)
|
|
@@ -199,7 +202,7 @@ export default Component;
|
|
|
199
202
|
|
|
200
203
|
### Element spacing
|
|
201
204
|
|
|
202
|
-

|
|
203
206
|
|
|
204
207
|
Use the following attribute to display element padding and margin:
|
|
205
208
|
|
|
@@ -209,29 +212,44 @@ Use the following attribute to display element padding and margin:
|
|
|
209
212
|
|
|
210
213
|
This will display the element _and all of it's children_ padding and margin.
|
|
211
214
|
|
|
215
|
+

|
|
216
|
+
|
|
212
217
|
### Element dimensions
|
|
213
218
|
|
|
214
|
-

|
|
220
|
+

|
|
215
221
|
|
|
216
222
|
Display dimensions with:
|
|
217
223
|
|
|
218
224
|
```html
|
|
219
225
|
<div
|
|
220
|
-
data-speccer="measure [height right
|
|
226
|
+
data-speccer="measure [height left|right] | [width top|bottom]"
|
|
221
227
|
class="..."
|
|
222
228
|
></div>
|
|
223
229
|
```
|
|
224
230
|
|
|
225
231
|
Where `height` and `width` comes with placement flags. Default for `height` is `left`, default for `width` is `top`.
|
|
226
232
|
|
|
227
|
-
|
|
233
|
+

|
|
234
|
+
|
|
235
|
+
#### Slim measure
|
|
228
236
|
|
|
229
|
-

|
|
230
238
|
|
|
231
|
-
Use a
|
|
239
|
+
Use a slim style:
|
|
232
240
|
|
|
233
241
|
```html
|
|
234
|
-
<div data-speccer="measure height left
|
|
242
|
+
<div data-speccer="measure slim height left" class="..."></div>
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
This will give a slimmer look and feel.
|
|
246
|
+
|
|
247
|
+
##### Subtle slim measure
|
|
248
|
+
|
|
249
|
+
Use a subtle style for the slim option, uses a dashed line instead of a solid line:
|
|
250
|
+
|
|
251
|
+
```html
|
|
252
|
+
<div data-speccer="measure slim height left subtle" class="..."></div>
|
|
235
253
|
```
|
|
236
254
|
|
|
237
255
|
This will give a dashed border.
|
|
@@ -253,9 +271,39 @@ In your component examples, use the following attribute. Remember to use the `da
|
|
|
253
271
|
|
|
254
272
|
This will place a pin to the outline of the element. Default is `top`.
|
|
255
273
|
|
|
274
|
+
#### Default
|
|
275
|
+
|
|
276
|
+

|
|
277
|
+
|
|
278
|
+
```html
|
|
279
|
+
<div data-speccer="pin-area">
|
|
280
|
+
<div data-speccer="pin" class="..."></div>
|
|
281
|
+
</div>
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
#### Enclose
|
|
285
|
+
|
|
286
|
+

|
|
287
|
+
|
|
288
|
+
```html
|
|
289
|
+
<div data-speccer="pin-area">
|
|
290
|
+
<div data-speccer="pin enclose" class="..."></div>
|
|
291
|
+
</div>
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
##### Subtle enclose
|
|
295
|
+
|
|
296
|
+

|
|
297
|
+
|
|
298
|
+
```html
|
|
299
|
+
<div data-speccer="pin-area">
|
|
300
|
+
<div data-speccer="pin enclose" class="..."></div>
|
|
301
|
+
</div>
|
|
302
|
+
```
|
|
303
|
+
|
|
256
304
|
#### Align with parent container
|
|
257
305
|
|
|
258
|
-

|
|
259
307
|
|
|
260
308
|
You can also align the pins to the parent container.
|
|
261
309
|
|
|
@@ -287,9 +335,28 @@ The lines from the element to the pin is drawn with a svg path and circle, so re
|
|
|
287
335
|
</svg>
|
|
288
336
|
```
|
|
289
337
|
|
|
338
|
+

|
|
339
|
+
|
|
340
|
+
#### Pin with text
|
|
341
|
+
|
|
342
|
+

|
|
343
|
+
|
|
344
|
+
If you want _text-in-place_ pinning feature, instead of referencing the pins, you can use the `text` feature:
|
|
345
|
+
|
|
346
|
+
```html
|
|
347
|
+
<input
|
|
348
|
+
type="text"
|
|
349
|
+
…
|
|
350
|
+
data-speccer="pin left text"
|
|
351
|
+
data-speccer-title="Static text"
|
|
352
|
+
data-speccer-description="Document size [xx] by [yy][units]"
|
|
353
|
+
…
|
|
354
|
+
/>
|
|
355
|
+
```
|
|
356
|
+
|
|
290
357
|
#### Custom literals
|
|
291
358
|
|
|
292
|
-

|
|
293
360
|
|
|
294
361
|
You can use custom literals by assigned a global variable with the literals you want:
|
|
295
362
|
|
|
@@ -307,9 +374,27 @@ window.SPECCER_LITERALS = [
|
|
|
307
374
|
];
|
|
308
375
|
```
|
|
309
376
|
|
|
377
|
+
Or with a data attribute on the `data-speccer="pin-area"`-element:
|
|
378
|
+
|
|
379
|
+
```html
|
|
380
|
+
<div data-speccer="pin-area" data-speccer-literals="ऄ|अआइईउऊऋऌऍऎएऐऑऒओऔकखगघङच">
|
|
381
|
+
…
|
|
382
|
+
</div>
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
> [!TIP]
|
|
386
|
+
> Try it out with emoticons!
|
|
387
|
+
>
|
|
388
|
+
> ```js
|
|
389
|
+
> window.SPECCER_LITERALS = [
|
|
390
|
+
> '🥰',
|
|
391
|
+
> …
|
|
392
|
+
> ];
|
|
393
|
+
> ```
|
|
394
|
+
|
|
310
395
|
#### Subtle anatomy
|
|
311
396
|
|
|
312
|
-

|
|
397
|
+

|
|
313
398
|
|
|
314
399
|
You can also give a more subtle touch to the anatomy elements.
|
|
315
400
|
|
|
@@ -325,6 +410,8 @@ This will give a dashed border, and a more subtle pin style.
|
|
|
325
410
|
|
|
326
411
|
You can use curly brackets with the `curly` tag in `data-speccer` along side `pin bracket` to provide a more sleek style.
|
|
327
412
|
|
|
413
|
+

|
|
414
|
+
|
|
328
415
|
> [!NOTE]
|
|
329
416
|
> Only works with `pin bracket`
|
|
330
417
|
|
|
@@ -355,7 +442,7 @@ from v9.5 you can utilize the `pin` feature to highlight the anatomy of an eleme
|
|
|
355
442
|
|
|
356
443
|
### Element typography
|
|
357
444
|
|
|
358
|
-

|
|
445
|
+

|
|
359
446
|
|
|
360
447
|
Display typography details:
|
|
361
448
|
|
|
@@ -412,11 +499,11 @@ Here is an example with these colors and overrides:
|
|
|
412
499
|
}
|
|
413
500
|
```
|
|
414
501
|
|
|
415
|
-

|
|
502
|
+

|
|
416
503
|
|
|
417
504
|
### Grid spacing
|
|
418
505
|
|
|
419
|
-

|
|
506
|
+

|
|
420
507
|
|
|
421
508
|
This will highlight the grid spacing in a `display: grid;` element.
|
|
422
509
|
|
|
@@ -426,9 +513,18 @@ In your component examples, use the following attribute on your grid container.
|
|
|
426
513
|
<div data-speccer="grid" …>…</div>
|
|
427
514
|
```
|
|
428
515
|
|
|
516
|
+
> [!TIP]
|
|
517
|
+
> If you only want to display `rows` or `columns`, use this syntax (default is both with `grid` only):
|
|
518
|
+
>
|
|
519
|
+
> ```html
|
|
520
|
+
> <div data-speccer="grid [rows|columns]" …>…</div>
|
|
521
|
+
> ```
|
|
522
|
+
|
|
523
|
+

|
|
524
|
+
|
|
429
525
|
### Mark elements
|
|
430
526
|
|
|
431
|
-

|
|
527
|
+

|
|
432
528
|
|
|
433
529
|
This will mark the given elements.
|
|
434
530
|
|
|
@@ -446,19 +542,19 @@ Prior art: [Jeremy Elder](https://twitter.com/JeremyElder)
|
|
|
446
542
|
|
|
447
543
|
#### Tab stops
|
|
448
544
|
|
|
449
|
-

|
|
450
546
|
|
|
451
547
|
If you want to display tab stops, append `data-speccer="a11y tabstops"` as an attribute to the container you want to display the tab stops in.
|
|
452
548
|
|
|
453
549
|
#### Landmarks and regions
|
|
454
550
|
|
|
455
|
-

|
|
456
552
|
|
|
457
553
|
If you want to display landmarks and regions, append `data-speccer="a11y landmark"` as an attribute to the container you want to display the landmarks and regions in.
|
|
458
554
|
|
|
459
555
|
#### Keys and shortcut
|
|
460
556
|
|
|
461
|
-

|
|
462
558
|
|
|
463
559
|
If you want to display the shortcut with keys used for elements, use `data-speccer="a11y shortcut"` and `data-speccer-a11y-shortcut="<shortcut>"` on the element that uses this shortcut:
|
|
464
560
|
|
|
@@ -474,7 +570,7 @@ If you want to display the shortcut with keys used for elements, use `data-specc
|
|
|
474
570
|
|
|
475
571
|
### Customization
|
|
476
572
|
|
|
477
|
-

|
|
478
574
|
|
|
479
575
|
Allthough the styling works nicely with dark mode, you can use the provided CSS variables to customize the look and feel. If more control is needed, you can use CSS overrides :)
|
|
480
576
|
|
|
@@ -491,18 +587,17 @@ Allthough the styling works nicely with dark mode, you can use the provided CSS
|
|
|
491
587
|
--ph-speccer-color-fuchsiaBlue: #7e60c5;
|
|
492
588
|
--ph-speccer-base-color: var(--ph-speccer-color-artificialStrawberry);
|
|
493
589
|
--ph-speccer-spacing-color: var(--ph-speccer-base-color);
|
|
494
|
-
--ph-speccer-spacing-color
|
|
590
|
+
--ph-speccer-spacing-padding-color: var(--ph-speccer-color-carbon);
|
|
591
|
+
--ph-speccer-spacing-padding-color-background: rgb(
|
|
495
592
|
from var(--ph-speccer-color-venusSlipperOrchid) r g b /
|
|
496
593
|
var(--ph-speccer-opacity-40)
|
|
497
594
|
);
|
|
498
|
-
--ph-speccer-spacing-color
|
|
499
|
-
|
|
500
|
-
);
|
|
501
|
-
--ph-speccer-spacing-color-margin: rgb(
|
|
595
|
+
--ph-speccer-spacing-margin-color: var(--ph-speccer-color-red);
|
|
596
|
+
--ph-speccer-spacing-margin-color-background: rgb(
|
|
502
597
|
from var(--ph-speccer-color-superBanana) r g b /
|
|
503
598
|
var(--ph-speccer-opacity-40)
|
|
504
599
|
);
|
|
505
|
-
--ph-speccer-spacing-
|
|
600
|
+
--ph-speccer-spacing-line-width: var(--ph-speccer-line-width);
|
|
506
601
|
--ph-speccer-typography-background-color: var(--ph-speccer-color-white);
|
|
507
602
|
--ph-speccer-typography-color-property: var(--ph-speccer-color-niuZaiSeDenim);
|
|
508
603
|
--ph-speccer-typography-color-text: var(--ph-speccer-base-color);
|
|
@@ -511,9 +606,11 @@ Allthough the styling works nicely with dark mode, you can use the provided CSS
|
|
|
511
606
|
from var(--ph-speccer-base-color) r g b / var(--ph-speccer-opacity-20)
|
|
512
607
|
);
|
|
513
608
|
--ph-speccer-mark-border-color: var(--ph-speccer-base-color);
|
|
514
|
-
--ph-speccer-mark-border-width:
|
|
609
|
+
--ph-speccer-mark-border-width: 1.5px;
|
|
515
610
|
--ph-speccer-mark-border-style: solid;
|
|
516
611
|
--ph-speccer-measure-color: var(--ph-speccer-color-red);
|
|
612
|
+
--ph-speccer-measure-line-width: 1.5px;
|
|
613
|
+
--ph-speccer-measure-border-style: dotted;
|
|
517
614
|
--ph-speccer-measure-size: 8px;
|
|
518
615
|
--ph-speccer-a11y-color-background: var(--ph-speccer-color-beautifulBlue);
|
|
519
616
|
--ph-speccer-a11y-landmark-color-background: var(
|
|
@@ -525,8 +622,8 @@ Allthough the styling works nicely with dark mode, you can use the provided CSS
|
|
|
525
622
|
--ph-speccer-pin-size: 24px;
|
|
526
623
|
--ph-speccer-pin-space: 48px;
|
|
527
624
|
--ph-speccer-line-height: 12px;
|
|
528
|
-
--ph-speccer-line-width:
|
|
529
|
-
--ph-speccer-line-width-negative: -
|
|
625
|
+
--ph-speccer-line-width: 1.5px;
|
|
626
|
+
--ph-speccer-line-width-negative: -1.5px;
|
|
530
627
|
--ph-speccer-opacity-20: 0.2;
|
|
531
628
|
--ph-speccer-opacity-40: 0.4;
|
|
532
629
|
--ph-speccer-font-family: 'Menlo for Powerline', 'Menlo Regular for Powerline',
|