@teseor/css 1.15.1 → 1.15.3
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/package.json +1 -1
- package/src/base/docs.html +1 -1
- package/src/base/typography/docs.html +33 -33
- package/src/components/actions/button/docs.html +19 -19
- package/src/components/actions/button-group/docs.html +12 -12
- package/src/components/actions/close-button/docs.html +10 -10
- package/src/components/content/divider/docs.html +1 -1
- package/src/components/content/scroll-area/docs.html +81 -81
- package/src/components/content/spacer/docs.html +6 -6
- package/src/components/data-display/avatar/docs.html +8 -8
- package/src/components/data-display/card/docs.html +12 -12
- package/src/components/data-display/data-list/docs.html +32 -32
- package/src/components/data-display/icon/docs.html +5 -5
- package/src/components/data-display/image/docs.html +1 -1
- package/src/components/data-display/stat/docs.html +6 -6
- package/src/components/data-display/status/docs.html +9 -9
- package/src/components/data-display/table/docs.html +14 -14
- package/src/components/data-display/tag/docs.html +17 -17
- package/src/components/disclosure/accordion/docs.html +14 -14
- package/src/components/disclosure/disclosure/docs.html +8 -8
- package/src/components/feedback/alert/docs.html +18 -18
- package/src/components/feedback/progress/docs.html +2 -2
- package/src/components/feedback/toast/docs.html +22 -22
- package/src/components/forms/checkbox/docs.html +1 -1
- package/src/components/forms/checkbox-group/docs.html +21 -21
- package/src/components/forms/field/docs.html +11 -11
- package/src/components/forms/fieldset/docs.html +30 -30
- package/src/components/forms/form/docs.html +29 -29
- package/src/components/forms/form-error/docs.html +2 -2
- package/src/components/forms/form-helper/docs.html +9 -9
- package/src/components/forms/input/docs.html +13 -13
- package/src/components/forms/label/docs.html +7 -7
- package/src/components/forms/number-input/docs.html +12 -12
- package/src/components/forms/password-input/docs.html +14 -14
- package/src/components/forms/radio/docs.html +5 -5
- package/src/components/forms/radio-group/docs.html +20 -20
- package/src/components/forms/search-input/docs.html +7 -7
- package/src/components/forms/select/docs.html +23 -23
- package/src/components/forms/textarea/docs.html +18 -18
- package/src/components/forms/toggle/docs.html +1 -1
- package/src/components/navigation/breadcrumb/docs.html +11 -11
- package/src/components/navigation/dropdown-menu/docs.html +18 -18
- package/src/components/navigation/menu/docs.html +25 -25
- package/src/components/navigation/nav/docs.html +13 -13
- package/src/components/navigation/pagination/docs.html +6 -6
- package/src/components/navigation/tabs/docs.html +19 -19
- package/src/components/overlays/dialog/docs.html +12 -12
- package/src/components/overlays/drawer/docs.html +16 -16
- package/src/components/overlays/modal/docs.html +11 -11
- package/src/components/overlays/overlay/docs.html +3 -3
- package/src/components/overlays/popover/docs.html +7 -7
- package/src/components/overlays/tooltip/docs.html +7 -7
- package/src/components/typography/blockquote/docs.html +5 -5
- package/src/components/typography/code/docs.html +2 -2
- package/src/components/typography/code-block/docs.html +2 -2
- package/src/components/typography/heading/docs.html +11 -11
- package/src/components/typography/kbd/docs.html +6 -6
- package/src/components/typography/link/docs.html +8 -8
- package/src/components/typography/list/docs.html +32 -32
- package/src/config/guides/accessibility.docs.html +5 -5
- package/src/config/guides/getting-started.docs.html +7 -7
- package/src/config/guides/theming.docs.html +21 -21
- package/src/config/tokens/docs.html +7 -7
- package/src/config/tokens/grid/docs.html +3 -3
- package/src/config/tokens/spacing/docs.html +6 -6
- package/src/debug/docs.html +3 -3
- package/src/layout/app-shell/docs.html +15 -15
- package/src/layout/aspect-ratio/docs.html +8 -8
- package/src/layout/box/docs.html +10 -10
- package/src/layout/center/docs.html +4 -4
- package/src/layout/column/docs.html +11 -11
- package/src/layout/container/docs.html +7 -7
- package/src/layout/content/docs.html +9 -9
- package/src/layout/footer/docs.html +16 -16
- package/src/layout/grid/docs.html +25 -25
- package/src/layout/main/docs.html +3 -3
- package/src/layout/nav-rail/docs.html +5 -5
- package/src/layout/page-header/docs.html +9 -9
- package/src/layout/row/docs.html +18 -18
- package/src/layout/sidebar/docs.html +5 -5
- package/src/layout/sidebar-nav/docs.html +37 -37
- package/src/layout/topbar/docs.html +14 -14
- package/src/utilities/container/docs.html +4 -4
- package/src/utilities/display/docs.html +11 -11
- package/src/utilities/scroll-animation/docs.html +5 -5
- package/src/utilities/scroll-snap/docs.html +30 -30
- package/src/utilities/spacing/docs.html +12 -12
- package/src/utilities/text/docs.html +36 -36
- package/src/utilities/view-transition/docs.html +12 -12
- package/src/utilities/visually-hidden/docs.html +3 -3
- package/src/components/actions/button/visual.png +0 -0
- package/src/components/actions/button/visual.spec.ts +0 -18
- package/src/components/actions/button-group/visual.png +0 -0
- package/src/components/actions/button-group/visual.spec.ts +0 -18
- package/src/components/actions/close-button/visual.png +0 -0
- package/src/components/actions/close-button/visual.spec.ts +0 -18
- package/src/components/content/divider/visual.png +0 -0
- package/src/components/content/divider/visual.spec.ts +0 -18
- package/src/components/content/scroll-area/visual.png +0 -0
- package/src/components/content/scroll-area/visual.spec.ts +0 -18
- package/src/components/content/spacer/visual.png +0 -0
- package/src/components/content/spacer/visual.spec.ts +0 -14
- package/src/components/data-display/avatar/visual.png +0 -0
- package/src/components/data-display/avatar/visual.spec.ts +0 -18
- package/src/components/data-display/badge/visual.png +0 -0
- package/src/components/data-display/badge/visual.spec.ts +0 -18
- package/src/components/data-display/card/visual.png +0 -0
- package/src/components/data-display/card/visual.spec.ts +0 -18
- package/src/components/data-display/data-list/visual.png +0 -0
- package/src/components/data-display/data-list/visual.spec.ts +0 -19
- package/src/components/data-display/icon/visual.png +0 -0
- package/src/components/data-display/icon/visual.spec.ts +0 -18
- package/src/components/data-display/image/visual.png +0 -0
- package/src/components/data-display/image/visual.spec.ts +0 -18
- package/src/components/data-display/stat/visual.png +0 -0
- package/src/components/data-display/stat/visual.spec.ts +0 -18
- package/src/components/data-display/status/visual.png +0 -0
- package/src/components/data-display/status/visual.spec.ts +0 -18
- package/src/components/data-display/table/visual.png +0 -0
- package/src/components/data-display/table/visual.spec.ts +0 -18
- package/src/components/data-display/tag/visual.png +0 -0
- package/src/components/data-display/tag/visual.spec.ts +0 -18
- package/src/components/disclosure/accordion/visual.png +0 -0
- package/src/components/disclosure/accordion/visual.spec.ts +0 -18
- package/src/components/disclosure/disclosure/visual.png +0 -0
- package/src/components/disclosure/disclosure/visual.spec.ts +0 -18
- package/src/components/feedback/alert/visual.png +0 -0
- package/src/components/feedback/alert/visual.spec.ts +0 -18
- package/src/components/feedback/progress/visual.png +0 -0
- package/src/components/feedback/progress/visual.spec.ts +0 -18
- package/src/components/feedback/progress-circle/visual.png +0 -0
- package/src/components/feedback/progress-circle/visual.spec.ts +0 -18
- package/src/components/feedback/skeleton/visual.png +0 -0
- package/src/components/feedback/skeleton/visual.spec.ts +0 -18
- package/src/components/feedback/spinner/visual.png +0 -0
- package/src/components/feedback/spinner/visual.spec.ts +0 -19
- package/src/components/feedback/toast/visual.png +0 -0
- package/src/components/feedback/toast/visual.spec.ts +0 -18
- package/src/components/forms/checkbox/visual.png +0 -0
- package/src/components/forms/checkbox/visual.spec.ts +0 -18
- package/src/components/forms/checkbox-group/visual.png +0 -0
- package/src/components/forms/checkbox-group/visual.spec.ts +0 -18
- package/src/components/forms/field/visual.png +0 -0
- package/src/components/forms/field/visual.spec.ts +0 -18
- package/src/components/forms/fieldset/visual.png +0 -0
- package/src/components/forms/fieldset/visual.spec.ts +0 -18
- package/src/components/forms/form/visual.png +0 -0
- package/src/components/forms/form/visual.spec.ts +0 -18
- package/src/components/forms/form-error/visual.png +0 -0
- package/src/components/forms/form-error/visual.spec.ts +0 -18
- package/src/components/forms/form-helper/visual.png +0 -0
- package/src/components/forms/form-helper/visual.spec.ts +0 -18
- package/src/components/forms/input/visual.png +0 -0
- package/src/components/forms/input/visual.spec.ts +0 -18
- package/src/components/forms/label/visual.png +0 -0
- package/src/components/forms/label/visual.spec.ts +0 -18
- package/src/components/forms/number-input/visual.png +0 -0
- package/src/components/forms/number-input/visual.spec.ts +0 -18
- package/src/components/forms/password-input/visual.png +0 -0
- package/src/components/forms/password-input/visual.spec.ts +0 -18
- package/src/components/forms/radio/visual.png +0 -0
- package/src/components/forms/radio/visual.spec.ts +0 -18
- package/src/components/forms/radio-group/visual.png +0 -0
- package/src/components/forms/radio-group/visual.spec.ts +0 -18
- package/src/components/forms/search-input/visual.png +0 -0
- package/src/components/forms/search-input/visual.spec.ts +0 -18
- package/src/components/forms/select/visual.png +0 -0
- package/src/components/forms/select/visual.spec.ts +0 -18
- package/src/components/forms/slider/visual.png +0 -0
- package/src/components/forms/slider/visual.spec.ts +0 -18
- package/src/components/forms/textarea/visual.png +0 -0
- package/src/components/forms/textarea/visual.spec.ts +0 -18
- package/src/components/forms/toggle/visual.png +0 -0
- package/src/components/forms/toggle/visual.spec.ts +0 -18
- package/src/components/navigation/breadcrumb/visual.png +0 -0
- package/src/components/navigation/breadcrumb/visual.spec.ts +0 -18
- package/src/components/navigation/dropdown-menu/visual.png +0 -0
- package/src/components/navigation/dropdown-menu/visual.spec.ts +0 -18
- package/src/components/navigation/menu/visual.png +0 -0
- package/src/components/navigation/menu/visual.spec.ts +0 -18
- package/src/components/navigation/nav/visual.png +0 -0
- package/src/components/navigation/nav/visual.spec.ts +0 -18
- package/src/components/navigation/pagination/visual.png +0 -0
- package/src/components/navigation/pagination/visual.spec.ts +0 -18
- package/src/components/navigation/tabs/visual.png +0 -0
- package/src/components/navigation/tabs/visual.spec.ts +0 -18
- package/src/components/overlays/dialog/visual.png +0 -0
- package/src/components/overlays/dialog/visual.spec.ts +0 -18
- package/src/components/overlays/drawer/visual.png +0 -0
- package/src/components/overlays/drawer/visual.spec.ts +0 -18
- package/src/components/overlays/modal/visual.png +0 -0
- package/src/components/overlays/modal/visual.spec.ts +0 -18
- package/src/components/overlays/overlay/visual.png +0 -0
- package/src/components/overlays/overlay/visual.spec.ts +0 -18
- package/src/components/overlays/popover/visual.png +0 -0
- package/src/components/overlays/popover/visual.spec.ts +0 -18
- package/src/components/overlays/tooltip/visual.png +0 -0
- package/src/components/overlays/tooltip/visual.spec.ts +0 -18
- package/src/components/typography/blockquote/visual.png +0 -0
- package/src/components/typography/blockquote/visual.spec.ts +0 -18
- package/src/components/typography/code/visual.png +0 -0
- package/src/components/typography/code/visual.spec.ts +0 -18
- package/src/components/typography/code-block/visual.png +0 -0
- package/src/components/typography/code-block/visual.spec.ts +0 -18
- package/src/components/typography/heading/visual.png +0 -0
- package/src/components/typography/heading/visual.spec.ts +0 -18
- package/src/components/typography/kbd/visual.png +0 -0
- package/src/components/typography/kbd/visual.spec.ts +0 -18
- package/src/components/typography/link/visual.png +0 -0
- package/src/components/typography/link/visual.spec.ts +0 -18
- package/src/components/typography/list/visual.png +0 -0
- package/src/components/typography/list/visual.spec.ts +0 -18
- package/src/components/typography/mark/visual.png +0 -0
- package/src/components/typography/mark/visual.spec.ts +0 -18
- package/src/layout/app-shell/visual.png +0 -0
- package/src/layout/app-shell/visual.spec.ts +0 -13
- package/src/layout/aspect-ratio/visual.png +0 -0
- package/src/layout/aspect-ratio/visual.spec.ts +0 -14
- package/src/layout/box/visual.png +0 -0
- package/src/layout/box/visual.spec.ts +0 -13
- package/src/layout/center/visual.png +0 -0
- package/src/layout/center/visual.spec.ts +0 -13
- package/src/layout/column/visual.png +0 -0
- package/src/layout/column/visual.spec.ts +0 -13
- package/src/layout/content/visual.png +0 -0
- package/src/layout/content/visual.spec.ts +0 -18
- package/src/layout/footer/visual.png +0 -0
- package/src/layout/footer/visual.spec.ts +0 -18
- package/src/layout/grid/visual.png +0 -0
- package/src/layout/grid/visual.spec.ts +0 -13
- package/src/layout/nav-rail/visual.png +0 -0
- package/src/layout/nav-rail/visual.spec.ts +0 -18
- package/src/layout/page-header/visual.png +0 -0
- package/src/layout/page-header/visual.spec.ts +0 -18
- package/src/layout/row/visual.png +0 -0
- package/src/layout/row/visual.spec.ts +0 -15
- package/src/layout/sidebar/visual.png +0 -0
- package/src/layout/sidebar/visual.spec.ts +0 -18
- package/src/layout/sidebar-nav/visual.spec.ts +0 -18
- package/src/layout/topbar/visual.png +0 -0
- package/src/layout/topbar/visual.spec.ts +0 -18
|
@@ -5,59 +5,59 @@ description: Typography and text utilities. Font sizes follow a 1.2 modular scal
|
|
|
5
5
|
|
|
6
6
|
<!-- @sizes | column -->
|
|
7
7
|
<!-- Font size utilities with 8px grid-snapped line-heights. -->
|
|
8
|
-
<p class="ui-text-xs">text-xs: 12px / 16px line-height</p>
|
|
9
|
-
<p class="ui-text-sm">text-sm: 14px / 24px line-height</p>
|
|
10
|
-
<p class="ui-text-md">text-md: 16px / 24px line-height</p>
|
|
11
|
-
<p class="ui-text-lg">text-lg: 20px / 32px line-height</p>
|
|
12
|
-
<p class="ui-text-xl">text-xl: 24px / 32px line-height</p>
|
|
13
|
-
<p class="ui-text-2xl">text-2xl: 28px / 32px line-height</p>
|
|
14
|
-
<p class="ui-text-3xl">text-3xl: 32px / 40px line-height</p>
|
|
15
|
-
<p class="ui-text-4xl">text-4xl: 40px / 48px line-height</p>
|
|
8
|
+
<p class="ui-text-xs">{{ t('text_xs_desc', 'text-xs: 12px / 16px line-height') }}</p>
|
|
9
|
+
<p class="ui-text-sm">{{ t('text_sm_desc', 'text-sm: 14px / 24px line-height') }}</p>
|
|
10
|
+
<p class="ui-text-md">{{ t('text_md_desc', 'text-md: 16px / 24px line-height') }}</p>
|
|
11
|
+
<p class="ui-text-lg">{{ t('text_lg_desc', 'text-lg: 20px / 32px line-height') }}</p>
|
|
12
|
+
<p class="ui-text-xl">{{ t('text_xl_desc', 'text-xl: 24px / 32px line-height') }}</p>
|
|
13
|
+
<p class="ui-text-2xl">{{ t('text_2xl_desc', 'text-2xl: 28px / 32px line-height') }}</p>
|
|
14
|
+
<p class="ui-text-3xl">{{ t('text_3xl_desc', 'text-3xl: 32px / 40px line-height') }}</p>
|
|
15
|
+
<p class="ui-text-4xl">{{ t('text_4xl_desc', 'text-4xl: 40px / 48px line-height') }}</p>
|
|
16
16
|
|
|
17
17
|
<!-- @text_roles | column -->
|
|
18
18
|
<!-- Semantic text styles for specific use cases. -->
|
|
19
|
-
<p class="ui-text-lead">Lead: Opening paragraph style (20px / 32px)</p>
|
|
20
|
-
<p class="ui-text-eyebrow">Eyebrow: Small caps label</p>
|
|
21
|
-
<p class="ui-text-caption">Caption: Labels and hints (12px / 16px)</p>
|
|
22
|
-
<p class="ui-text-body-sm">Body small: Secondary text (14px / 24px)</p>
|
|
19
|
+
<p class="ui-text-lead">{{ t('lead_desc', 'Lead: Opening paragraph style (20px / 32px)') }}</p>
|
|
20
|
+
<p class="ui-text-eyebrow">{{ t('eyebrow_desc', 'Eyebrow: Small caps label') }}</p>
|
|
21
|
+
<p class="ui-text-caption">{{ t('caption_desc', 'Caption: Labels and hints (12px / 16px)') }}</p>
|
|
22
|
+
<p class="ui-text-body-sm">{{ t('body_small_secondary_text_14px_24px', 'Body small: Secondary text (14px / 24px)') }}</p>
|
|
23
23
|
|
|
24
24
|
<!-- @weights | column -->
|
|
25
|
-
<p class="ui-font-normal">font-normal (400)</p>
|
|
26
|
-
<p class="ui-font-medium">font-medium (500)</p>
|
|
27
|
-
<p class="ui-font-semibold">font-semibold (600)</p>
|
|
28
|
-
<p class="ui-font-bold">font-bold (700)</p>
|
|
25
|
+
<p class="ui-font-normal">{{ t('font_normal_400', 'font-normal (400)') }}</p>
|
|
26
|
+
<p class="ui-font-medium">{{ t('font_medium_500', 'font-medium (500)') }}</p>
|
|
27
|
+
<p class="ui-font-semibold">{{ t('font_semibold_600', 'font-semibold (600)') }}</p>
|
|
28
|
+
<p class="ui-font-bold">{{ t('font_bold_700', 'font-bold (700)') }}</p>
|
|
29
29
|
|
|
30
30
|
<!-- @letter_spacing | column -->
|
|
31
|
-
<p class="ui-text-2xl ui-tracking-display">tracking-display: Tight (-0.02em)</p>
|
|
32
|
-
<p class="ui-tracking-body">tracking-body: Default (0)</p>
|
|
33
|
-
<p class="ui-tracking-caps ui-uppercase">tracking-caps: Wide (+0.08em)</p>
|
|
31
|
+
<p class="ui-text-2xl ui-tracking-display">{{ t('tracking_display_desc', 'tracking-display: Tight (-0.02em)') }}</p>
|
|
32
|
+
<p class="ui-tracking-body">{{ t('tracking_body_desc', 'tracking-body: Default (0)') }}</p>
|
|
33
|
+
<p class="ui-tracking-caps ui-uppercase">{{ t('tracking_caps_desc', 'tracking-caps: Wide (+0.08em)') }}</p>
|
|
34
34
|
|
|
35
35
|
<!-- @line_length | column -->
|
|
36
36
|
<!-- Constrain text width for optimal readability. -->
|
|
37
|
-
<p class="ui-prose-sm">prose-sm: 45ch max-width</p>
|
|
38
|
-
<p class="ui-prose">prose: 65ch max-width (recommended)</p>
|
|
39
|
-
<p class="ui-prose-lg">prose-lg: 75ch max-width</p>
|
|
37
|
+
<p class="ui-prose-sm">{{ t('prose_sm_desc', 'prose-sm: 45ch max-width') }}</p>
|
|
38
|
+
<p class="ui-prose">{{ t('prose_desc', 'prose: 65ch max-width (recommended)') }}</p>
|
|
39
|
+
<p class="ui-prose-lg">{{ t('prose_lg_desc', 'prose-lg: 75ch max-width') }}</p>
|
|
40
40
|
|
|
41
41
|
<!-- @colors | column -->
|
|
42
|
-
<p class="ui-text-primary">text-primary</p>
|
|
43
|
-
<p class="ui-text-muted">text-muted</p>
|
|
44
|
-
<p class="ui-text-success">text-success</p>
|
|
45
|
-
<p class="ui-text-warning">text-warning</p>
|
|
46
|
-
<p class="ui-text-danger">text-danger</p>
|
|
42
|
+
<p class="ui-text-primary">{{ t('text_primary', 'text-primary') }}</p>
|
|
43
|
+
<p class="ui-text-muted">{{ t('text_muted', 'text-muted') }}</p>
|
|
44
|
+
<p class="ui-text-success">{{ t('text_success', 'text-success') }}</p>
|
|
45
|
+
<p class="ui-text-warning">{{ t('text_warning', 'text-warning') }}</p>
|
|
46
|
+
<p class="ui-text-danger">{{ t('text_danger', 'text-danger') }}</p>
|
|
47
47
|
|
|
48
48
|
<!-- @alignment | column -->
|
|
49
|
-
<p class="ui-text-start">text-start (default)</p>
|
|
50
|
-
<p class="ui-text-center">text-center</p>
|
|
51
|
-
<p class="ui-text-end">text-end</p>
|
|
49
|
+
<p class="ui-text-start">{{ t('text_start_default', 'text-start (default)') }}</p>
|
|
50
|
+
<p class="ui-text-center">{{ t('text_center', 'text-center') }}</p>
|
|
51
|
+
<p class="ui-text-end">{{ t('text_end', 'text-end') }}</p>
|
|
52
52
|
|
|
53
53
|
<!-- @text_wrap | column -->
|
|
54
54
|
<!-- Control how text wraps across lines. -->
|
|
55
|
-
<p class="ui-text-balance ui-text-2xl ui-font-bold" style="max-inline-size: 20rem">Balanced: distributes text evenly across lines</p>
|
|
56
|
-
<p class="ui-text-pretty" style="max-inline-size: 20rem">Pretty: avoids orphans and widows for cleaner body text paragraphs that wrap naturally</p>
|
|
57
|
-
<p class="ui-text-nowrap">Nowrap: prevents text from wrapping to the next line</p>
|
|
55
|
+
<p class="ui-text-balance ui-text-2xl ui-font-bold" style="max-inline-size: 20rem">{{ t('balanced_desc', 'Balanced: distributes text evenly across lines') }}</p>
|
|
56
|
+
<p class="ui-text-pretty" style="max-inline-size: 20rem">{{ t('pretty_desc', 'Pretty: avoids orphans and widows for cleaner body text paragraphs that wrap naturally') }}</p>
|
|
57
|
+
<p class="ui-text-nowrap">{{ t('nowrap_desc', 'Nowrap: prevents text from wrapping to the next line') }}</p>
|
|
58
58
|
|
|
59
59
|
<!-- @multi_line_truncation | column -->
|
|
60
60
|
<!-- Clamp text to a specific number of lines with ellipsis. -->
|
|
61
|
-
<p class="ui-truncate-2" style="max-inline-size: 20rem">Truncate to 2 lines: This is a long paragraph that will be clamped after two lines of text. Any overflow content will be hidden and replaced with an ellipsis character
|
|
62
|
-
<p class="ui-truncate-3" style="max-inline-size: 20rem">Truncate to 3 lines: This is a long paragraph that will be clamped after three lines of text. Any overflow content beyond the third line will be hidden and replaced with an ellipsis character at the end
|
|
63
|
-
<p class="ui-truncate-4" style="max-inline-size: 20rem">Truncate to 4 lines: This is a long paragraph that will be clamped after four lines. It gives more room for content previews while still maintaining a consistent height. Overflow beyond line four is hidden with ellipsis
|
|
61
|
+
<p class="ui-truncate-2" style="max-inline-size: 20rem">{{ t('truncate_2_lines_demo', 'Truncate to 2 lines: This is a long paragraph that will be clamped after two lines of text. Any overflow content will be hidden and replaced with an ellipsis character.') }}</p>
|
|
62
|
+
<p class="ui-truncate-3" style="max-inline-size: 20rem">{{ t('truncate_3_lines_demo', 'Truncate to 3 lines: This is a long paragraph that will be clamped after three lines of text. Any overflow content beyond the third line will be hidden and replaced with an ellipsis character at the end.') }}</p>
|
|
63
|
+
<p class="ui-truncate-4" style="max-inline-size: 20rem">{{ t('truncate_4_lines_demo', 'Truncate to 4 lines: This is a long paragraph that will be clamped after four lines. It gives more room for content previews while still maintaining a consistent height. Overflow beyond line four is hidden with ellipsis.') }}</p>
|
|
@@ -10,18 +10,18 @@ description: CSS View Transitions API utilities for smooth page navigation. Enab
|
|
|
10
10
|
|
|
11
11
|
<!-- @slide_animations -->
|
|
12
12
|
<!-- Content slides in/out in different directions. -->
|
|
13
|
-
<main class="ui-transition-name-main">Slides up</main>
|
|
14
|
-
<main class="ui-transition-name-slide-up">Slides up</main>
|
|
15
|
-
<main class="ui-transition-name-slide-down">Slides down</main>
|
|
16
|
-
<main class="ui-transition-name-slide-start">Slides from left</main>
|
|
17
|
-
<main class="ui-transition-name-slide-end">Slides from right</main>
|
|
13
|
+
<main class="ui-transition-name-main">{{ t('slides_up', 'Slides up') }}</main>
|
|
14
|
+
<main class="ui-transition-name-slide-up">{{ t('slides_up', 'Slides up') }}</main>
|
|
15
|
+
<main class="ui-transition-name-slide-down">{{ t('slides_down', 'Slides down') }}</main>
|
|
16
|
+
<main class="ui-transition-name-slide-start">{{ t('slides_from_left', 'Slides from left') }}</main>
|
|
17
|
+
<main class="ui-transition-name-slide-end">{{ t('slides_from_right', 'Slides from right') }}</main>
|
|
18
18
|
|
|
19
19
|
<!-- @scale_and_fade -->
|
|
20
20
|
<!-- Scale effect for modals/cards, fade for subtle transitions. -->
|
|
21
|
-
<div class="ui-transition-name-scale">Scales in/out</div>
|
|
22
|
-
<div class="ui-transition-name-card">Card scales</div>
|
|
23
|
-
<div class="ui-transition-name-modal">Modal scales</div>
|
|
24
|
-
<div class="ui-transition-name-fade">Fades in/out</div>
|
|
21
|
+
<div class="ui-transition-name-scale">{{ t('scales_inout', 'Scales in/out') }}</div>
|
|
22
|
+
<div class="ui-transition-name-card">{{ t('card_scales', 'Card scales') }}</div>
|
|
23
|
+
<div class="ui-transition-name-modal">{{ t('modal_scales', 'Modal scales') }}</div>
|
|
24
|
+
<div class="ui-transition-name-fade">{{ t('fades_inout', 'Fades in/out') }}</div>
|
|
25
25
|
|
|
26
26
|
<!-- @hero_morph -->
|
|
27
27
|
<!-- Same element on both pages morphs (position/size interpolates). Use same class on source and target. -->
|
|
@@ -33,16 +33,16 @@ description: CSS View Transitions API utilities for smooth page navigation. Enab
|
|
|
33
33
|
|
|
34
34
|
<!-- @disable -->
|
|
35
35
|
<!-- Exclude an element from view transitions. -->
|
|
36
|
-
<div class="ui-transition-name-none">No transition</div>
|
|
36
|
+
<div class="ui-transition-name-none">{{ t('no_transition', 'No transition') }}</div>
|
|
37
37
|
|
|
38
38
|
<!-- @preserving_scroll_position -->
|
|
39
39
|
<!-- View transitions snapshot elements, resetting scroll. Use `pagereveal` event to restore scroll before paint. -->
|
|
40
|
-
// Save scroll on navigation
|
|
40
|
+
{{ t('save_scroll_on_navigation', '// Save scroll on navigation') }}
|
|
41
41
|
link.addEventListener('click', () => {
|
|
42
42
|
sessionStorage.setItem('scroll', sidebar.scrollTop);
|
|
43
43
|
});
|
|
44
44
|
|
|
45
|
-
// Restore before page reveals
|
|
45
|
+
{{ t('restore_before_page_reveals', '// Restore before page reveals') }}
|
|
46
46
|
window.addEventListener('pagereveal', () => {
|
|
47
47
|
const saved = sessionStorage.getItem('scroll');
|
|
48
48
|
if (saved) sidebar.scrollTop = parseInt(saved, 10);
|
|
@@ -7,10 +7,10 @@ description: Hides content visually while keeping it accessible to screen reader
|
|
|
7
7
|
<!-- @default -->
|
|
8
8
|
<!-- Content is hidden visually but announced by screen readers -->
|
|
9
9
|
<button>
|
|
10
|
-
Submit
|
|
11
|
-
<span class="ui-visually-hidden"> form to contact support</span>
|
|
10
|
+
{{ t('submit', 'Submit') }}
|
|
11
|
+
<span class="ui-visually-hidden"> {{ t('form_to_contact_support', 'form to contact support') }}</span>
|
|
12
12
|
</button>
|
|
13
13
|
|
|
14
14
|
<!-- @focusable_skip_link -->
|
|
15
15
|
<!-- Becomes visible when focused - useful for skip links -->
|
|
16
|
-
<a class="ui-visually-hidden ui-visually-hidden--focusable" href="#main" style="position: relative;">Skip to main content</a>
|
|
16
|
+
<a class="ui-visually-hidden ui-visually-hidden--focusable" href="#main" style="position: relative;">{{ t('skip_to_main_content', 'Skip to main content') }}</a>
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('button visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'button');
|
|
15
|
-
await saveForLostPixel(page, 'button');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('button-group visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'button-group');
|
|
15
|
-
await saveForLostPixel(page, 'button-group');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('close-button visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'close-button');
|
|
15
|
-
await saveForLostPixel(page, 'close-button');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('divider visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'divider');
|
|
15
|
-
await saveForLostPixel(page, 'divider');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('scroll-area visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'scroll-area');
|
|
15
|
-
await saveForLostPixel(page, 'scroll-area');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import { saveForLostPixel, setupVisualTestFromHtmlDocs } from '../../../../test-utils';
|
|
4
|
-
|
|
5
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
6
|
-
|
|
7
|
-
test.describe('spacer visual regression', () => {
|
|
8
|
-
test('all variations', async ({ page }) => {
|
|
9
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
10
|
-
// skip validateGridRhythm: spacer has no intrinsic height
|
|
11
|
-
await saveForLostPixel(page, 'spacer');
|
|
12
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
13
|
-
});
|
|
14
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('avatar visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'avatar');
|
|
15
|
-
await saveForLostPixel(page, 'avatar');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('badge visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'badge');
|
|
15
|
-
await saveForLostPixel(page, 'badge');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('card visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'card');
|
|
15
|
-
await saveForLostPixel(page, 'card');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('data-list visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
// TODO: fix grid rhythm - 1px borders cause off-grid heights (#179)
|
|
15
|
-
// await validateGridRhythm(page, 'data-list');
|
|
16
|
-
await saveForLostPixel(page, 'data-list');
|
|
17
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
18
|
-
});
|
|
19
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('icon visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'icon');
|
|
15
|
-
await saveForLostPixel(page, 'icon');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('image visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'image');
|
|
15
|
-
await saveForLostPixel(page, 'image');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('stat visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'stat');
|
|
15
|
-
await saveForLostPixel(page, 'stat');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('status visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'status');
|
|
15
|
-
await saveForLostPixel(page, 'status');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('table visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'table');
|
|
15
|
-
await saveForLostPixel(page, 'table');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('tag visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'tag');
|
|
15
|
-
await saveForLostPixel(page, 'tag');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('accordion visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'accordion');
|
|
15
|
-
await saveForLostPixel(page, 'accordion');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('disclosure visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'disclosure');
|
|
15
|
-
await saveForLostPixel(page, 'disclosure');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('alert visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'alert');
|
|
15
|
-
await saveForLostPixel(page, 'alert');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('progress visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'progress');
|
|
15
|
-
await saveForLostPixel(page, 'progress');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
2
|
-
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
4
|
-
saveForLostPixel,
|
|
5
|
-
setupVisualTestFromHtmlDocs,
|
|
6
|
-
validateGridRhythm,
|
|
7
|
-
} from '../../../../test-utils';
|
|
8
|
-
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
|
-
|
|
11
|
-
test.describe('progress-circle visual regression', () => {
|
|
12
|
-
test('all variations', async ({ page }) => {
|
|
13
|
-
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
-
await validateGridRhythm(page, 'progress-circle');
|
|
15
|
-
await saveForLostPixel(page, 'progress-circle');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
Binary file
|