@teseor/css 1.14.3 → 1.15.1
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 +19 -0
- package/src/base/typography/docs.html +159 -0
- package/src/components/actions/button/docs.html +73 -0
- package/src/components/actions/button/{button.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/actions/button-group/docs.html +44 -0
- package/src/components/actions/button-group/{button-group.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/actions/close-button/docs.html +74 -0
- package/src/components/actions/close-button/{close-button.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/content/divider/docs.html +25 -0
- package/src/components/content/divider/{divider.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/content/scroll-area/docs.html +127 -0
- package/src/components/content/scroll-area/visual.png +0 -0
- package/src/components/content/scroll-area/{scroll-area.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/content/spacer/docs.html +20 -0
- package/src/components/content/spacer/{spacer.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/data-display/avatar/docs.html +64 -0
- package/src/components/data-display/avatar/{avatar.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/data-display/badge/docs.html +37 -0
- package/src/components/data-display/badge/{badge.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/data-display/card/docs.html +33 -0
- package/src/components/data-display/card/visual.png +0 -0
- package/src/components/data-display/card/{card.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/data-display/data-list/docs.html +94 -0
- package/src/components/data-display/data-list/{data-list-visual.png → visual.png} +0 -0
- package/src/components/data-display/data-list/{data-list.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/data-display/icon/docs.html +69 -0
- package/src/components/data-display/icon/{icon.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/data-display/image/docs.html +64 -0
- package/src/components/data-display/image/visual.png +0 -0
- package/src/components/data-display/image/{image.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/data-display/stat/docs.html +32 -0
- package/src/components/data-display/stat/{stat.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/data-display/status/docs.html +64 -0
- package/src/components/data-display/status/{status.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/data-display/table/docs.html +70 -0
- package/src/components/data-display/table/{table.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/data-display/tag/docs.html +39 -0
- package/src/components/data-display/tag/{tag.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/disclosure/accordion/docs.html +80 -0
- package/src/components/disclosure/accordion/{accordion.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/disclosure/disclosure/docs.html +48 -0
- package/src/components/disclosure/disclosure/{disclosure.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/feedback/alert/docs.html +87 -0
- package/src/components/feedback/alert/{alert.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/feedback/progress/docs.html +62 -0
- package/src/components/feedback/progress/{progress.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/feedback/progress-circle/docs.html +62 -0
- package/src/components/feedback/progress-circle/{progress-circle.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/feedback/skeleton/docs.html +37 -0
- package/src/components/feedback/skeleton/{skeleton.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/feedback/spinner/docs.html +26 -0
- package/src/components/feedback/spinner/{spinner.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/feedback/toast/docs.html +106 -0
- package/src/components/feedback/toast/visual.png +0 -0
- package/src/components/feedback/toast/{toast.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/checkbox/docs.html +30 -0
- package/src/components/forms/checkbox/{checkbox.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/checkbox-group/docs.html +101 -0
- package/src/components/forms/checkbox-group/{checkbox-group.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/field/docs.html +60 -0
- package/src/components/forms/field/{field.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/fieldset/docs.html +119 -0
- package/src/components/forms/fieldset/{fieldset.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/form/docs.html +129 -0
- package/src/components/forms/form/{form.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/form-error/docs.html +15 -0
- package/src/components/forms/form-error/{form-error.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/form-helper/docs.html +39 -0
- package/src/components/forms/form-helper/{form-helper.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/input/docs.html +66 -0
- package/src/components/forms/input/visual.png +0 -0
- package/src/components/forms/input/{input.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/label/docs.html +26 -0
- package/src/components/forms/label/visual.png +0 -0
- package/src/components/forms/label/{label.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/number-input/docs.html +97 -0
- package/src/components/forms/number-input/visual.png +0 -0
- package/src/components/forms/number-input/{number-input.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/password-input/docs.html +85 -0
- package/src/components/forms/password-input/visual.png +0 -0
- package/src/components/forms/password-input/{password-input.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/radio/docs.html +49 -0
- package/src/components/forms/radio/{radio.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/radio-group/docs.html +97 -0
- package/src/components/forms/radio-group/{radio-group.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/search-input/docs.html +84 -0
- package/src/components/forms/search-input/visual.png +0 -0
- package/src/components/forms/search-input/{search-input.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/select/docs.html +67 -0
- package/src/components/forms/select/visual.png +0 -0
- package/src/components/forms/select/{select.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/slider/docs.html +22 -0
- package/src/components/forms/slider/visual.png +0 -0
- package/src/components/forms/slider/{slider.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/textarea/docs.html +36 -0
- package/src/components/forms/textarea/visual.png +0 -0
- package/src/components/forms/textarea/{textarea.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/forms/toggle/docs.html +61 -0
- package/src/components/forms/toggle/{toggle.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/navigation/breadcrumb/docs.html +57 -0
- package/src/components/navigation/breadcrumb/{breadcrumb.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/navigation/dropdown-menu/docs.html +103 -0
- package/src/components/navigation/dropdown-menu/visual.png +0 -0
- package/src/components/navigation/dropdown-menu/{dropdown-menu.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/navigation/menu/docs.html +119 -0
- package/src/components/navigation/menu/{menu.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/navigation/nav/docs.html +71 -0
- package/src/components/navigation/nav/{nav.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/navigation/pagination/docs.html +113 -0
- package/src/components/navigation/pagination/visual.png +0 -0
- package/src/components/navigation/pagination/{pagination.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/navigation/tabs/docs.html +63 -0
- package/src/components/navigation/tabs/{tabs.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/overlays/dialog/docs.html +58 -0
- package/src/components/overlays/dialog/{dialog.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/overlays/drawer/docs.html +87 -0
- package/src/components/overlays/drawer/visual.png +0 -0
- package/src/components/overlays/drawer/{drawer.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/overlays/modal/docs.html +66 -0
- package/src/components/overlays/modal/{modal.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/overlays/overlay/docs.html +27 -0
- package/src/components/overlays/overlay/{overlay.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/overlays/popover/docs.html +38 -0
- package/src/components/overlays/popover/{popover.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/overlays/tooltip/docs.html +30 -0
- package/src/components/overlays/tooltip/{tooltip.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/typography/blockquote/docs.html +21 -0
- package/src/components/typography/blockquote/{blockquote.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/typography/code/docs.html +20 -0
- package/src/components/typography/code/visual.png +0 -0
- package/src/components/typography/code/{code.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/typography/code-block/docs.html +84 -0
- package/src/components/typography/code-block/visual.png +0 -0
- package/src/components/typography/code-block/{code-block.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/typography/heading/docs.html +23 -0
- package/src/components/typography/heading/visual.png +0 -0
- package/src/components/typography/heading/{heading.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/typography/kbd/docs.html +14 -0
- package/src/components/typography/kbd/{kbd.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/typography/link/docs.html +30 -0
- package/src/components/typography/link/{link.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/typography/list/docs.html +76 -0
- package/src/components/typography/list/{list.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/components/typography/mark/docs.html +10 -0
- package/src/components/typography/mark/{mark.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/config/guides/accessibility.docs.html +106 -0
- package/src/config/guides/getting-started.docs.html +45 -0
- package/src/config/guides/theming.docs.html +69 -0
- package/src/config/tokens/colors/docs.html +73 -0
- package/src/config/tokens/docs.html +115 -0
- package/src/config/tokens/grid/docs.html +10 -0
- package/src/config/tokens/spacing/docs.html +31 -0
- package/src/debug/docs.html +27 -0
- package/src/layout/app-shell/docs.html +100 -0
- package/src/layout/app-shell/visual.png +0 -0
- package/src/layout/app-shell/visual.spec.ts +13 -0
- package/src/layout/aspect-ratio/docs.html +38 -0
- package/src/layout/aspect-ratio/{aspect-ratio.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/layout/box/docs.html +24 -0
- package/src/layout/box/visual.png +0 -0
- package/src/layout/box/visual.spec.ts +13 -0
- package/src/layout/center/docs.html +23 -0
- package/src/layout/center/visual.spec.ts +13 -0
- package/src/layout/column/docs.html +29 -0
- package/src/layout/column/visual.spec.ts +13 -0
- package/src/layout/container/docs.html +34 -0
- package/src/layout/content/docs.html +35 -0
- package/src/layout/content/{content-visual.png → visual.png} +0 -0
- package/src/layout/content/visual.spec.ts +18 -0
- package/src/layout/footer/docs.html +70 -0
- package/src/layout/footer/visual.png +0 -0
- package/src/layout/footer/visual.spec.ts +18 -0
- package/src/layout/grid/docs.html +85 -0
- package/src/layout/grid/visual.spec.ts +13 -0
- package/src/layout/main/docs.html +28 -0
- package/src/layout/nav-rail/docs.html +39 -0
- package/src/layout/nav-rail/visual.png +0 -0
- package/src/layout/nav-rail/visual.spec.ts +18 -0
- package/src/layout/page-header/docs.html +49 -0
- package/src/layout/page-header/{page-header.visual.spec.ts → visual.spec.ts} +8 -4
- package/src/layout/row/docs.html +44 -0
- package/src/layout/row/{row.visual.spec.ts → visual.spec.ts} +4 -4
- package/src/layout/sidebar/docs.html +27 -0
- package/src/layout/sidebar/visual.png +0 -0
- package/src/layout/sidebar/visual.spec.ts +18 -0
- package/src/layout/sidebar-nav/docs.html +232 -0
- package/src/layout/sidebar-nav/{sidebar-nav.visual.spec.ts → visual.spec.ts} +7 -3
- package/src/layout/topbar/docs.html +61 -0
- package/src/layout/topbar/visual.png +0 -0
- package/src/layout/topbar/visual.spec.ts +18 -0
- package/src/utilities/container/docs.html +31 -0
- package/src/utilities/display/docs.html +27 -0
- package/src/utilities/scroll-animation/docs.html +29 -0
- package/src/utilities/scroll-snap/docs.html +77 -0
- package/src/utilities/spacing/docs.html +26 -0
- package/src/utilities/text/docs.html +63 -0
- package/src/utilities/view-transition/docs.html +49 -0
- package/src/utilities/visually-hidden/docs.html +16 -0
- package/src/base/root.docs.json +0 -35
- package/src/base/typography/typography.docs.json +0 -328
- package/src/components/actions/button/button.docs.json +0 -264
- package/src/components/actions/button-group/button-group.docs.json +0 -151
- package/src/components/actions/close-button/close-button.docs.json +0 -265
- package/src/components/content/divider/divider.docs.json +0 -113
- package/src/components/content/scroll-area/scroll-area-visual.png +0 -0
- package/src/components/content/scroll-area/scroll-area.docs.json +0 -273
- package/src/components/content/spacer/spacer.docs.json +0 -102
- package/src/components/data-display/avatar/avatar.docs.json +0 -245
- package/src/components/data-display/badge/badge.docs.json +0 -114
- package/src/components/data-display/card/card-visual.png +0 -0
- package/src/components/data-display/card/card.docs.json +0 -229
- package/src/components/data-display/data-list/data-list.docs.json +0 -259
- package/src/components/data-display/icon/icon.docs.json +0 -307
- package/src/components/data-display/image/image-visual.png +0 -0
- package/src/components/data-display/image/image.docs.json +0 -337
- package/src/components/data-display/stat/stat.docs.json +0 -114
- package/src/components/data-display/status/status.docs.json +0 -147
- package/src/components/data-display/table/table.docs.json +0 -184
- package/src/components/data-display/tag/tag.docs.json +0 -146
- package/src/components/disclosure/accordion/accordion.docs.json +0 -206
- package/src/components/disclosure/disclosure/disclosure.docs.json +0 -154
- package/src/components/feedback/alert/alert.docs.json +0 -325
- package/src/components/feedback/progress/progress.docs.json +0 -315
- package/src/components/feedback/progress-circle/progress-circle.docs.json +0 -378
- package/src/components/feedback/skeleton/skeleton.docs.json +0 -142
- package/src/components/feedback/spinner/spinner.docs.json +0 -121
- package/src/components/feedback/toast/toast-visual.png +0 -0
- package/src/components/feedback/toast/toast.docs.json +0 -418
- package/src/components/forms/checkbox/checkbox.docs.json +0 -166
- package/src/components/forms/checkbox-group/checkbox-group.docs.json +0 -339
- package/src/components/forms/field/field.docs.json +0 -276
- package/src/components/forms/fieldset/fieldset.docs.json +0 -520
- package/src/components/forms/form/form.docs.json +0 -482
- package/src/components/forms/form-error/form-error.docs.json +0 -61
- package/src/components/forms/form-helper/form-helper.docs.json +0 -151
- package/src/components/forms/input/input-visual.png +0 -0
- package/src/components/forms/input/input.docs.json +0 -306
- package/src/components/forms/label/label-visual.png +0 -0
- package/src/components/forms/label/label.docs.json +0 -110
- package/src/components/forms/number-input/number-input-visual.png +0 -0
- package/src/components/forms/number-input/number-input.docs.json +0 -311
- package/src/components/forms/password-input/password-input-visual.png +0 -0
- package/src/components/forms/password-input/password-input.docs.json +0 -316
- package/src/components/forms/radio/radio.docs.json +0 -236
- package/src/components/forms/radio-group/radio-group.docs.json +0 -351
- package/src/components/forms/search-input/search-input-visual.png +0 -0
- package/src/components/forms/search-input/search-input.docs.json +0 -293
- package/src/components/forms/select/select-visual.png +0 -0
- package/src/components/forms/select/select.docs.json +0 -231
- package/src/components/forms/slider/slider-visual.png +0 -0
- package/src/components/forms/slider/slider.docs.json +0 -144
- package/src/components/forms/textarea/textarea-visual.png +0 -0
- package/src/components/forms/textarea/textarea.docs.json +0 -229
- package/src/components/forms/toggle/toggle.docs.json +0 -229
- package/src/components/navigation/breadcrumb/breadcrumb.docs.json +0 -240
- package/src/components/navigation/dropdown-menu/dropdown-menu-visual.png +0 -0
- package/src/components/navigation/dropdown-menu/dropdown-menu.docs.json +0 -290
- package/src/components/navigation/menu/menu.docs.json +0 -326
- package/src/components/navigation/nav/nav.docs.json +0 -304
- package/src/components/navigation/pagination/pagination-visual.png +0 -0
- package/src/components/navigation/pagination/pagination.docs.json +0 -483
- package/src/components/navigation/tabs/tabs.docs.json +0 -243
- package/src/components/overlays/dialog/dialog.docs.json +0 -200
- package/src/components/overlays/drawer/drawer-visual.png +0 -0
- package/src/components/overlays/drawer/drawer.docs.json +0 -307
- package/src/components/overlays/modal/modal.docs.json +0 -252
- package/src/components/overlays/overlay/overlay.docs.json +0 -138
- package/src/components/overlays/popover/popover.docs.json +0 -154
- package/src/components/overlays/tooltip/tooltip.docs.json +0 -133
- package/src/components/typography/blockquote/blockquote.docs.json +0 -89
- package/src/components/typography/code/code-visual.png +0 -0
- package/src/components/typography/code/code.docs.json +0 -104
- package/src/components/typography/code-block/code-block-visual.png +0 -0
- package/src/components/typography/code-block/code-block.docs.json +0 -308
- package/src/components/typography/heading/heading-visual.png +0 -0
- package/src/components/typography/heading/heading.docs.json +0 -120
- package/src/components/typography/kbd/kbd.docs.json +0 -61
- package/src/components/typography/link/link.docs.json +0 -149
- package/src/components/typography/list/list.docs.json +0 -296
- package/src/components/typography/mark/mark.docs.json +0 -60
- package/src/config/guides/accessibility.docs.json +0 -126
- package/src/config/guides/getting-started.docs.json +0 -106
- package/src/config/guides/theming.docs.json +0 -289
- package/src/config/tokens/colors/colors.docs.json +0 -316
- package/src/config/tokens/design-tokens.docs.json +0 -239
- package/src/config/tokens/grid/grid.docs.json +0 -54
- package/src/config/tokens/spacing/spacing.docs.json +0 -114
- package/src/debug/debug.docs.json +0 -96
- package/src/layout/app-shell/app-shell-visual.png +0 -0
- package/src/layout/app-shell/app-shell.docs.json +0 -155
- package/src/layout/app-shell/app-shell.visual.spec.ts +0 -13
- package/src/layout/aspect-ratio/aspect-ratio.docs.json +0 -193
- package/src/layout/box/box-visual.png +0 -0
- package/src/layout/box/box.docs.json +0 -93
- package/src/layout/box/box.visual.spec.ts +0 -13
- package/src/layout/center/center.docs.json +0 -63
- package/src/layout/center/center.visual.spec.ts +0 -13
- package/src/layout/column/column.docs.json +0 -157
- package/src/layout/column/column.visual.spec.ts +0 -13
- package/src/layout/container/container.docs.json +0 -85
- package/src/layout/content/content.docs.json +0 -82
- package/src/layout/content/content.visual.spec.ts +0 -14
- package/src/layout/footer/footer-visual.png +0 -0
- package/src/layout/footer/footer.docs.json +0 -119
- package/src/layout/footer/footer.visual.spec.ts +0 -14
- package/src/layout/grid/grid.docs.json +0 -493
- package/src/layout/grid/grid.visual.spec.ts +0 -13
- package/src/layout/main/main.docs.json +0 -87
- package/src/layout/nav-rail/nav-rail-visual.png +0 -0
- package/src/layout/nav-rail/nav-rail.docs.json +0 -76
- package/src/layout/nav-rail/nav-rail.visual.spec.ts +0 -14
- package/src/layout/page-header/page-header.docs.json +0 -124
- package/src/layout/row/row.docs.json +0 -237
- package/src/layout/sidebar/sidebar-visual.png +0 -0
- package/src/layout/sidebar/sidebar.docs.json +0 -63
- package/src/layout/sidebar/sidebar.visual.spec.ts +0 -14
- package/src/layout/sidebar-nav/sidebar-nav.docs.json +0 -833
- package/src/layout/topbar/topbar-visual.png +0 -0
- package/src/layout/topbar/topbar.docs.json +0 -110
- package/src/layout/topbar/topbar.visual.spec.ts +0 -14
- package/src/utilities/container/container.docs.json +0 -121
- package/src/utilities/display/display.docs.json +0 -83
- package/src/utilities/scroll-animation/scroll-animation.docs.json +0 -100
- package/src/utilities/scroll-snap/scroll-snap.docs.json +0 -333
- package/src/utilities/spacing/spacing.docs.json +0 -133
- package/src/utilities/text/text.docs.json +0 -191
- package/src/utilities/view-transition/view-transition.docs.json +0 -63
- package/src/utilities/visually-hidden/visually-hidden.docs.json +0 -44
- /package/src/components/actions/button/{button.api.json → api.json} +0 -0
- /package/src/components/actions/button/{button-visual.png → visual.png} +0 -0
- /package/src/components/actions/button-group/{button-group.api.json → api.json} +0 -0
- /package/src/components/actions/button-group/{button-group-visual.png → visual.png} +0 -0
- /package/src/components/actions/close-button/{close-button.api.json → api.json} +0 -0
- /package/src/components/actions/close-button/{close-button-visual.png → visual.png} +0 -0
- /package/src/components/content/divider/{divider.api.json → api.json} +0 -0
- /package/src/components/content/divider/{divider-visual.png → visual.png} +0 -0
- /package/src/components/content/scroll-area/{scroll-area.api.json → api.json} +0 -0
- /package/src/components/content/spacer/{spacer.api.json → api.json} +0 -0
- /package/src/components/content/spacer/{spacer-visual.png → visual.png} +0 -0
- /package/src/components/data-display/avatar/{avatar.api.json → api.json} +0 -0
- /package/src/components/data-display/avatar/{avatar-visual.png → visual.png} +0 -0
- /package/src/components/data-display/badge/{badge.api.json → api.json} +0 -0
- /package/src/components/data-display/badge/{badge-visual.png → visual.png} +0 -0
- /package/src/components/data-display/card/{card.api.json → api.json} +0 -0
- /package/src/components/data-display/data-list/{data-list.api.json → api.json} +0 -0
- /package/src/components/data-display/icon/{icon.api.json → api.json} +0 -0
- /package/src/components/data-display/icon/{icon-visual.png → visual.png} +0 -0
- /package/src/components/data-display/image/{image.api.json → api.json} +0 -0
- /package/src/components/data-display/stat/{stat.api.json → api.json} +0 -0
- /package/src/components/data-display/stat/{stat-visual.png → visual.png} +0 -0
- /package/src/components/data-display/status/{status.api.json → api.json} +0 -0
- /package/src/components/data-display/status/{status-visual.png → visual.png} +0 -0
- /package/src/components/data-display/table/{table.api.json → api.json} +0 -0
- /package/src/components/data-display/table/{table-visual.png → visual.png} +0 -0
- /package/src/components/data-display/tag/{tag.api.json → api.json} +0 -0
- /package/src/components/data-display/tag/{tag-visual.png → visual.png} +0 -0
- /package/src/components/disclosure/accordion/{accordion.api.json → api.json} +0 -0
- /package/src/components/disclosure/accordion/{accordion-visual.png → visual.png} +0 -0
- /package/src/components/disclosure/disclosure/{disclosure.api.json → api.json} +0 -0
- /package/src/components/disclosure/disclosure/{disclosure-visual.png → visual.png} +0 -0
- /package/src/components/feedback/alert/{alert.api.json → api.json} +0 -0
- /package/src/components/feedback/alert/{alert-visual.png → visual.png} +0 -0
- /package/src/components/feedback/progress/{progress.api.json → api.json} +0 -0
- /package/src/components/feedback/progress/{progress-visual.png → visual.png} +0 -0
- /package/src/components/feedback/progress-circle/{progress-circle.api.json → api.json} +0 -0
- /package/src/components/feedback/progress-circle/{progress-circle-visual.png → visual.png} +0 -0
- /package/src/components/feedback/skeleton/{skeleton.api.json → api.json} +0 -0
- /package/src/components/feedback/skeleton/{skeleton-visual.png → visual.png} +0 -0
- /package/src/components/feedback/spinner/{spinner.api.json → api.json} +0 -0
- /package/src/components/feedback/spinner/{spinner-visual.png → visual.png} +0 -0
- /package/src/components/feedback/toast/{toast.api.json → api.json} +0 -0
- /package/src/components/forms/checkbox/{checkbox.api.json → api.json} +0 -0
- /package/src/components/forms/checkbox/{checkbox-visual.png → visual.png} +0 -0
- /package/src/components/forms/checkbox-group/{checkbox-group.api.json → api.json} +0 -0
- /package/src/components/forms/checkbox-group/{checkbox-group-visual.png → visual.png} +0 -0
- /package/src/components/forms/field/{field.api.json → api.json} +0 -0
- /package/src/components/forms/field/{field-visual.png → visual.png} +0 -0
- /package/src/components/forms/fieldset/{fieldset.api.json → api.json} +0 -0
- /package/src/components/forms/fieldset/{fieldset-visual.png → visual.png} +0 -0
- /package/src/components/forms/form/{form.api.json → api.json} +0 -0
- /package/src/components/forms/form/{form-visual.png → visual.png} +0 -0
- /package/src/components/forms/form-error/{form-error.api.json → api.json} +0 -0
- /package/src/components/forms/form-error/{form-error-visual.png → visual.png} +0 -0
- /package/src/components/forms/form-helper/{form-helper.api.json → api.json} +0 -0
- /package/src/components/forms/form-helper/{form-helper-visual.png → visual.png} +0 -0
- /package/src/components/forms/input/{input.api.json → api.json} +0 -0
- /package/src/components/forms/label/{label.api.json → api.json} +0 -0
- /package/src/components/forms/number-input/{number-input.api.json → api.json} +0 -0
- /package/src/components/forms/password-input/{password-input.api.json → api.json} +0 -0
- /package/src/components/forms/radio/{radio.api.json → api.json} +0 -0
- /package/src/components/forms/radio/{radio-visual.png → visual.png} +0 -0
- /package/src/components/forms/radio-group/{radio-group.api.json → api.json} +0 -0
- /package/src/components/forms/radio-group/{radio-group-visual.png → visual.png} +0 -0
- /package/src/components/forms/search-input/{search-input.api.json → api.json} +0 -0
- /package/src/components/forms/select/{select.api.json → api.json} +0 -0
- /package/src/components/forms/slider/{slider.api.json → api.json} +0 -0
- /package/src/components/forms/textarea/{textarea.api.json → api.json} +0 -0
- /package/src/components/forms/toggle/{toggle.api.json → api.json} +0 -0
- /package/src/components/forms/toggle/{toggle-visual.png → visual.png} +0 -0
- /package/src/components/navigation/breadcrumb/{breadcrumb.api.json → api.json} +0 -0
- /package/src/components/navigation/breadcrumb/{breadcrumb-visual.png → visual.png} +0 -0
- /package/src/components/navigation/dropdown-menu/{dropdown-menu.api.json → api.json} +0 -0
- /package/src/components/navigation/menu/{menu.api.json → api.json} +0 -0
- /package/src/components/navigation/menu/{menu-visual.png → visual.png} +0 -0
- /package/src/components/navigation/nav/{nav.api.json → api.json} +0 -0
- /package/src/components/navigation/nav/{nav-visual.png → visual.png} +0 -0
- /package/src/components/navigation/pagination/{pagination.api.json → api.json} +0 -0
- /package/src/components/navigation/tabs/{tabs.api.json → api.json} +0 -0
- /package/src/components/navigation/tabs/{tabs-visual.png → visual.png} +0 -0
- /package/src/components/overlays/dialog/{dialog.api.json → api.json} +0 -0
- /package/src/components/overlays/dialog/{dialog-visual.png → visual.png} +0 -0
- /package/src/components/overlays/drawer/{drawer.api.json → api.json} +0 -0
- /package/src/components/overlays/modal/{modal.api.json → api.json} +0 -0
- /package/src/components/overlays/modal/{modal-visual.png → visual.png} +0 -0
- /package/src/components/overlays/overlay/{overlay.api.json → api.json} +0 -0
- /package/src/components/overlays/overlay/{overlay-visual.png → visual.png} +0 -0
- /package/src/components/overlays/popover/{popover.api.json → api.json} +0 -0
- /package/src/components/overlays/popover/{popover-visual.png → visual.png} +0 -0
- /package/src/components/overlays/tooltip/{tooltip.api.json → api.json} +0 -0
- /package/src/components/overlays/tooltip/{tooltip-visual.png → visual.png} +0 -0
- /package/src/components/typography/blockquote/{blockquote.api.json → api.json} +0 -0
- /package/src/components/typography/blockquote/{blockquote-visual.png → visual.png} +0 -0
- /package/src/components/typography/code/{code.api.json → api.json} +0 -0
- /package/src/components/typography/code-block/{code-block.api.json → api.json} +0 -0
- /package/src/components/typography/heading/{heading.api.json → api.json} +0 -0
- /package/src/components/typography/kbd/{kbd.api.json → api.json} +0 -0
- /package/src/components/typography/kbd/{kbd-visual.png → visual.png} +0 -0
- /package/src/components/typography/link/{link.api.json → api.json} +0 -0
- /package/src/components/typography/link/{link-visual.png → visual.png} +0 -0
- /package/src/components/typography/list/{list.api.json → api.json} +0 -0
- /package/src/components/typography/list/{list-visual.png → visual.png} +0 -0
- /package/src/components/typography/mark/{mark.api.json → api.json} +0 -0
- /package/src/components/typography/mark/{mark-visual.png → visual.png} +0 -0
- /package/src/layout/app-shell/{app-shell.api.json → api.json} +0 -0
- /package/src/layout/aspect-ratio/{aspect-ratio.api.json → api.json} +0 -0
- /package/src/layout/aspect-ratio/{aspect-ratio-visual.png → visual.png} +0 -0
- /package/src/layout/box/{box.api.json → api.json} +0 -0
- /package/src/layout/center/{center.api.json → api.json} +0 -0
- /package/src/layout/center/{center-visual.png → visual.png} +0 -0
- /package/src/layout/column/{column.api.json → api.json} +0 -0
- /package/src/layout/column/{column-visual.png → visual.png} +0 -0
- /package/src/layout/container/{container.api.json → api.json} +0 -0
- /package/src/layout/content/{content.api.json → api.json} +0 -0
- /package/src/layout/footer/{footer.api.json → api.json} +0 -0
- /package/src/layout/grid/{grid.api.json → api.json} +0 -0
- /package/src/layout/grid/{grid-visual.png → visual.png} +0 -0
- /package/src/layout/main/{main.api.json → api.json} +0 -0
- /package/src/layout/nav-rail/{nav-rail.api.json → api.json} +0 -0
- /package/src/layout/page-header/{page-header.api.json → api.json} +0 -0
- /package/src/layout/page-header/{page-header-visual.png → visual.png} +0 -0
- /package/src/layout/row/{row.api.json → api.json} +0 -0
- /package/src/layout/row/{row-visual.png → visual.png} +0 -0
- /package/src/layout/sidebar/{sidebar.api.json → api.json} +0 -0
- /package/src/layout/sidebar-nav/{sidebar-nav.api.json → api.json} +0 -0
- /package/src/layout/topbar/{topbar.api.json → api.json} +0 -0
- /package/src/utilities/container/{container.api.json → api.json} +0 -0
- /package/src/utilities/display/{display.api.json → api.json} +0 -0
- /package/src/utilities/scroll-animation/{scroll-animation.api.json → api.json} +0 -0
- /package/src/utilities/scroll-snap/{scroll-snap.api.json → api.json} +0 -0
- /package/src/utilities/spacing/{spacing.api.json → api.json} +0 -0
- /package/src/utilities/text/{text.api.json → api.json} +0 -0
- /package/src/utilities/view-transition/{view-transition.api.json → api.json} +0 -0
- /package/src/utilities/visually-hidden/{visually-hidden.api.json → api.json} +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Spacer
|
|
3
|
+
description: Flexible space filler that grows to fill available space in flex containers.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<div class="ui-row" style="inline-size: 100%; background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">
|
|
8
|
+
<span style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">Start</span>
|
|
9
|
+
<div class="ui-spacer"></div>
|
|
10
|
+
<span style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">End</span>
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<!-- @between_items -->
|
|
14
|
+
<div class="ui-row" style="inline-size: 100%; background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">
|
|
15
|
+
<span style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">Logo</span>
|
|
16
|
+
<div class="ui-spacer"></div>
|
|
17
|
+
<span style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">Nav 1</span>
|
|
18
|
+
<span style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">Nav 2</span>
|
|
19
|
+
<span style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">Nav 3</span>
|
|
20
|
+
</div>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { resolve } from 'node:path';
|
|
2
2
|
import { expect, test } from '@playwright/test';
|
|
3
|
-
import { saveForLostPixel,
|
|
3
|
+
import { saveForLostPixel, setupVisualTestFromHtmlDocs } from '../../../../test-utils';
|
|
4
4
|
|
|
5
|
-
const DOCS_PATH = resolve(__dirname, '
|
|
5
|
+
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
6
6
|
|
|
7
7
|
test.describe('spacer visual regression', () => {
|
|
8
8
|
test('all variations', async ({ page }) => {
|
|
9
|
-
await
|
|
9
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
10
10
|
// skip validateGridRhythm: spacer has no intrinsic height
|
|
11
11
|
await saveForLostPixel(page, 'spacer');
|
|
12
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
12
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
13
13
|
});
|
|
14
14
|
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Avatar
|
|
3
|
+
description: User or entity thumbnail representation. Supports image with fallback to initials.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default | row -->
|
|
7
|
+
<div class="ui-avatar">
|
|
8
|
+
<span class="ui-avatar__fallback">JD</span>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="ui-avatar">
|
|
11
|
+
<img class="ui-avatar__image" src="https://i.pravatar.cc/80?u=1" alt="User"></img>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<!-- @sizes | row -->
|
|
15
|
+
<div class="ui-avatar ui-avatar--xs">
|
|
16
|
+
<span class="ui-avatar__fallback">XS</span>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="ui-avatar ui-avatar--sm">
|
|
19
|
+
<span class="ui-avatar__fallback">SM</span>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="ui-avatar">
|
|
22
|
+
<span class="ui-avatar__fallback">MD</span>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="ui-avatar ui-avatar--lg">
|
|
25
|
+
<span class="ui-avatar__fallback">LG</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="ui-avatar ui-avatar--xl">
|
|
28
|
+
<span class="ui-avatar__fallback">XL</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<!-- @square_shape | row -->
|
|
32
|
+
<div class="ui-avatar ui-avatar--square">
|
|
33
|
+
<span class="ui-avatar__fallback">ORG</span>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="ui-avatar ui-avatar--square">
|
|
36
|
+
<img class="ui-avatar__image" src="https://i.pravatar.cc/80?u=org" alt="Org"></img>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<!-- @with_images | row -->
|
|
40
|
+
<div class="ui-avatar ui-avatar--sm">
|
|
41
|
+
<img class="ui-avatar__image" src="https://i.pravatar.cc/64?u=a" alt="User A"></img>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="ui-avatar">
|
|
44
|
+
<img class="ui-avatar__image" src="https://i.pravatar.cc/80?u=b" alt="User B"></img>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="ui-avatar ui-avatar--lg">
|
|
47
|
+
<img class="ui-avatar__image" src="https://i.pravatar.cc/96?u=c" alt="User C"></img>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
<!-- @avatar_group -->
|
|
51
|
+
<div class="ui-avatar-group">
|
|
52
|
+
<div class="ui-avatar">
|
|
53
|
+
<img class="ui-avatar__image" src="https://i.pravatar.cc/80?u=g1" alt></img>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="ui-avatar">
|
|
56
|
+
<img class="ui-avatar__image" src="https://i.pravatar.cc/80?u=g2" alt></img>
|
|
57
|
+
</div>
|
|
58
|
+
<div class="ui-avatar">
|
|
59
|
+
<img class="ui-avatar__image" src="https://i.pravatar.cc/80?u=g3" alt></img>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="ui-avatar">
|
|
62
|
+
<span class="ui-avatar__fallback">+5</span>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
|
|
|
2
2
|
import { expect, test } from '@playwright/test';
|
|
3
3
|
import {
|
|
4
4
|
saveForLostPixel,
|
|
5
|
-
|
|
5
|
+
setupVisualTestFromHtmlDocs,
|
|
6
6
|
validateGridRhythm,
|
|
7
7
|
} from '../../../../test-utils';
|
|
8
8
|
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, '
|
|
9
|
+
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
10
|
|
|
11
11
|
test.describe('avatar visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'avatar');
|
|
15
15
|
await saveForLostPixel(page, 'avatar');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Badge
|
|
3
|
+
description: Inline labels for status indicators, counts, and categories
|
|
4
|
+
labels:
|
|
5
|
+
sm: Small
|
|
6
|
+
lg: Large
|
|
7
|
+
primary: Primary
|
|
8
|
+
success: Success
|
|
9
|
+
warning: Warning
|
|
10
|
+
danger: Danger
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<!-- @default -->
|
|
14
|
+
<span class="ui-badge">{{ t('default', 'Default') }}</span>
|
|
15
|
+
|
|
16
|
+
<!-- @variants | row -->
|
|
17
|
+
<span class="ui-badge">{{ t('default', 'Default') }}</span>
|
|
18
|
+
{% for v in api.modifiers.variant.values %}
|
|
19
|
+
<span class="ui-badge ui-badge--{{ v }}">{{ t(v, labels[v]) }}</span>
|
|
20
|
+
{% endfor %}
|
|
21
|
+
|
|
22
|
+
<!-- @sizes | row -->
|
|
23
|
+
{% for s in api.modifiers.size.values %}
|
|
24
|
+
<span class="ui-badge ui-badge--{{ s }}">{{ t(s, labels[s]) }}</span>
|
|
25
|
+
{% endfor %}
|
|
26
|
+
<span class="ui-badge">{{ t('default', 'Default') }}</span>
|
|
27
|
+
|
|
28
|
+
<!-- @use_cases -->
|
|
29
|
+
<div class="ui-row">
|
|
30
|
+
<span>{{ t('notifications', 'Notifications') }}</span>
|
|
31
|
+
<span class="ui-badge ui-badge--primary">5</span>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="ui-row">
|
|
34
|
+
<span class="ui-badge ui-badge--success">{{ t('published', 'Published') }}</span>
|
|
35
|
+
<span class="ui-badge ui-badge--warning">{{ t('draft', 'Draft') }}</span>
|
|
36
|
+
<span class="ui-badge ui-badge--danger">{{ t('archived', 'Archived') }}</span>
|
|
37
|
+
</div>
|
|
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
|
|
|
2
2
|
import { expect, test } from '@playwright/test';
|
|
3
3
|
import {
|
|
4
4
|
saveForLostPixel,
|
|
5
|
-
|
|
5
|
+
setupVisualTestFromHtmlDocs,
|
|
6
6
|
validateGridRhythm,
|
|
7
7
|
} from '../../../../test-utils';
|
|
8
8
|
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, '
|
|
9
|
+
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
10
|
|
|
11
11
|
test.describe('badge visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'badge');
|
|
15
15
|
await saveForLostPixel(page, 'badge');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Card
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<!-- @default -->
|
|
6
|
+
<div class="ui-card">Default card with padding and border</div>
|
|
7
|
+
|
|
8
|
+
<!-- @background_variants | column -->
|
|
9
|
+
<div class="ui-card">Default background</div>
|
|
10
|
+
<div class="ui-card ui-card--subtle">Subtle background</div>
|
|
11
|
+
<div class="ui-card ui-card--muted">Muted background</div>
|
|
12
|
+
|
|
13
|
+
<!-- @padding_variants | column -->
|
|
14
|
+
<div class="ui-card ui-card--sm">Small padding</div>
|
|
15
|
+
<div class="ui-card">Default padding</div>
|
|
16
|
+
<div class="ui-card ui-card--lg">Large padding</div>
|
|
17
|
+
<div class="ui-card ui-card--flush">No padding (flush)</div>
|
|
18
|
+
|
|
19
|
+
<!-- @interactive | column -->
|
|
20
|
+
<div class="ui-card ui-card--interactive">Hover and click this card</div>
|
|
21
|
+
<div class="ui-card ui-card--interactive ui-card--subtle">Interactive subtle card</div>
|
|
22
|
+
|
|
23
|
+
<!-- @responsive_container_query -->
|
|
24
|
+
<!-- Switches to horizontal layout when container is wide enough. Requires a parent with container-type: inline-size (use ui-container-inline utility). -->
|
|
25
|
+
<div class="ui-container-inline">
|
|
26
|
+
<div class="ui-card ui-card--responsive">
|
|
27
|
+
<div class="ui-card__media" style="background: var(--ui-color-bg-muted); min-block-size: 6rem"></div>
|
|
28
|
+
<div class="ui-card__body">
|
|
29
|
+
<strong>Responsive Card</strong>
|
|
30
|
+
<p>Stacks vertically in narrow containers, switches to side-by-side at >= 30rem.</p>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
Binary file
|
|
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
|
|
|
2
2
|
import { expect, test } from '@playwright/test';
|
|
3
3
|
import {
|
|
4
4
|
saveForLostPixel,
|
|
5
|
-
|
|
5
|
+
setupVisualTestFromHtmlDocs,
|
|
6
6
|
validateGridRhythm,
|
|
7
7
|
} from '../../../../test-utils';
|
|
8
8
|
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, '
|
|
9
|
+
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
10
|
|
|
11
11
|
test.describe('card visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'card');
|
|
15
15
|
await saveForLostPixel(page, 'card');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Data List
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<!-- @default -->
|
|
6
|
+
<dl class="ui-data-list">
|
|
7
|
+
<div class="ui-data-list__item">
|
|
8
|
+
<dt class="ui-data-list__label">Name</dt>
|
|
9
|
+
<dd class="ui-data-list__value">John Doe</dd>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="ui-data-list__item">
|
|
12
|
+
<dt class="ui-data-list__label">Email</dt>
|
|
13
|
+
<dd class="ui-data-list__value">john@example.com</dd>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="ui-data-list__item">
|
|
16
|
+
<dt class="ui-data-list__label">Role</dt>
|
|
17
|
+
<dd class="ui-data-list__value">Administrator</dd>
|
|
18
|
+
</div>
|
|
19
|
+
</dl>
|
|
20
|
+
|
|
21
|
+
<!-- @horizontal_layout -->
|
|
22
|
+
<!-- Side-by-side label and value -->
|
|
23
|
+
<dl class="ui-data-list ui-data-list--horizontal">
|
|
24
|
+
<div class="ui-data-list__item">
|
|
25
|
+
<dt class="ui-data-list__label">Status</dt>
|
|
26
|
+
<dd class="ui-data-list__value">Active</dd>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="ui-data-list__item">
|
|
29
|
+
<dt class="ui-data-list__label">Created</dt>
|
|
30
|
+
<dd class="ui-data-list__value">Dec 8, 2025</dd>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="ui-data-list__item">
|
|
33
|
+
<dt class="ui-data-list__label">Updated</dt>
|
|
34
|
+
<dd class="ui-data-list__value">Dec 8, 2025</dd>
|
|
35
|
+
</div>
|
|
36
|
+
</dl>
|
|
37
|
+
|
|
38
|
+
<!-- @divided -->
|
|
39
|
+
<!-- With separator lines between items -->
|
|
40
|
+
<dl class="ui-data-list ui-data-list--divided">
|
|
41
|
+
<div class="ui-data-list__item">
|
|
42
|
+
<dt class="ui-data-list__label">Order ID</dt>
|
|
43
|
+
<dd class="ui-data-list__value">#12345</dd>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="ui-data-list__item">
|
|
46
|
+
<dt class="ui-data-list__label">Total</dt>
|
|
47
|
+
<dd class="ui-data-list__value">$99.00</dd>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="ui-data-list__item">
|
|
50
|
+
<dt class="ui-data-list__label">Payment</dt>
|
|
51
|
+
<dd class="ui-data-list__value">Credit Card</dd>
|
|
52
|
+
</div>
|
|
53
|
+
</dl>
|
|
54
|
+
|
|
55
|
+
<!-- @striped -->
|
|
56
|
+
<!-- Alternating background for readability -->
|
|
57
|
+
<dl class="ui-data-list ui-data-list--striped">
|
|
58
|
+
<div class="ui-data-list__item">
|
|
59
|
+
<dt class="ui-data-list__label">CPU</dt>
|
|
60
|
+
<dd class="ui-data-list__value">Intel i7</dd>
|
|
61
|
+
</div>
|
|
62
|
+
<div class="ui-data-list__item">
|
|
63
|
+
<dt class="ui-data-list__label">Memory</dt>
|
|
64
|
+
<dd class="ui-data-list__value">16 GB</dd>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="ui-data-list__item">
|
|
67
|
+
<dt class="ui-data-list__label">Storage</dt>
|
|
68
|
+
<dd class="ui-data-list__value">512 GB SSD</dd>
|
|
69
|
+
</div>
|
|
70
|
+
<div class="ui-data-list__item">
|
|
71
|
+
<dt class="ui-data-list__label">Display</dt>
|
|
72
|
+
<dd class="ui-data-list__value">14" Retina</dd>
|
|
73
|
+
</div>
|
|
74
|
+
</dl>
|
|
75
|
+
|
|
76
|
+
<!-- @sizes | column -->
|
|
77
|
+
<dl class="ui-data-list ui-data-list--sm">
|
|
78
|
+
<div class="ui-data-list__item">
|
|
79
|
+
<dt class="ui-data-list__label">Small</dt>
|
|
80
|
+
<dd class="ui-data-list__value">Compact display</dd>
|
|
81
|
+
</div>
|
|
82
|
+
</dl>
|
|
83
|
+
<dl class="ui-data-list">
|
|
84
|
+
<div class="ui-data-list__item">
|
|
85
|
+
<dt class="ui-data-list__label">Default</dt>
|
|
86
|
+
<dd class="ui-data-list__value">Standard display</dd>
|
|
87
|
+
</div>
|
|
88
|
+
</dl>
|
|
89
|
+
<dl class="ui-data-list ui-data-list--lg">
|
|
90
|
+
<div class="ui-data-list__item">
|
|
91
|
+
<dt class="ui-data-list__label">Large</dt>
|
|
92
|
+
<dd class="ui-data-list__value">Spacious display</dd>
|
|
93
|
+
</div>
|
|
94
|
+
</dl>
|
|
Binary file
|
|
@@ -2,18 +2,18 @@ import { resolve } from 'node:path';
|
|
|
2
2
|
import { expect, test } from '@playwright/test';
|
|
3
3
|
import {
|
|
4
4
|
saveForLostPixel,
|
|
5
|
-
|
|
5
|
+
setupVisualTestFromHtmlDocs,
|
|
6
6
|
validateGridRhythm,
|
|
7
7
|
} from '../../../../test-utils';
|
|
8
8
|
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, '
|
|
9
|
+
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
10
|
|
|
11
11
|
test.describe('data-list visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
// TODO: fix grid rhythm - 1px borders cause off-grid heights (#179)
|
|
15
15
|
// await validateGridRhythm(page, 'data-list');
|
|
16
16
|
await saveForLostPixel(page, 'data-list');
|
|
17
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
17
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
18
18
|
});
|
|
19
19
|
});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Icon
|
|
3
|
+
description: CSS classes for sizing and styling SVG icons. Works with any stroke-based icon set like Lucide, Heroicons, or Feather.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @basic_usage -->
|
|
7
|
+
<!-- Add the `ui-icon` class to any SVG. Icons inherit color from their parent via `currentColor`. -->
|
|
8
|
+
<svg class="ui-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 5v14M5 12h14"/></svg>
|
|
9
|
+
|
|
10
|
+
<!-- @with_lucide_icons -->
|
|
11
|
+
<!-- Recommended icon set. Copy SVG from lucide.dev and add the ui-icon class. -->
|
|
12
|
+
<div class="ui-row ui-row--gap-2">
|
|
13
|
+
<svg class="ui-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg>
|
|
14
|
+
<svg class="ui-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
15
|
+
<svg class="ui-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/></svg>
|
|
16
|
+
<svg class="ui-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
<!-- @sizes | row -->
|
|
20
|
+
<!-- Scale icons from extra small to extra large. -->
|
|
21
|
+
<div class="ui-column" style="align-items: center; gap: var(--ui-space-1)">
|
|
22
|
+
<svg class="ui-icon ui-icon--xs" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
23
|
+
<small>xs</small>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="ui-column" style="align-items: center; gap: var(--ui-space-1)">
|
|
26
|
+
<svg class="ui-icon ui-icon--sm" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
27
|
+
<small>sm</small>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="ui-column" style="align-items: center; gap: var(--ui-space-1)">
|
|
30
|
+
<svg class="ui-icon ui-icon--md" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
31
|
+
<small>md</small>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="ui-column" style="align-items: center; gap: var(--ui-space-1)">
|
|
34
|
+
<svg class="ui-icon ui-icon--lg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
35
|
+
<small>lg</small>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="ui-column" style="align-items: center; gap: var(--ui-space-1)">
|
|
38
|
+
<svg class="ui-icon ui-icon--xl" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
39
|
+
<small>xl</small>
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
<!-- @stroke_width | row -->
|
|
43
|
+
<!-- Adjust stroke thickness for visual weight. -->
|
|
44
|
+
<svg class="ui-icon ui-icon--lg ui-icon--stroke-thin" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
45
|
+
<svg class="ui-icon ui-icon--lg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
46
|
+
<svg class="ui-icon ui-icon--lg ui-icon--stroke-thick" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
47
|
+
|
|
48
|
+
<!-- @filled_icons | row -->
|
|
49
|
+
<!-- For solid icons, use the `--filled` modifier. -->
|
|
50
|
+
<svg class="ui-icon ui-icon--lg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"/></svg>
|
|
51
|
+
<svg class="ui-icon ui-icon--lg ui-icon--filled" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"/></svg>
|
|
52
|
+
|
|
53
|
+
<!-- @spin_animation -->
|
|
54
|
+
<!-- Use `--spin` for loading indicators. -->
|
|
55
|
+
<svg class="ui-icon ui-icon--lg ui-icon--spin" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 12a9 9 0 1 1-6.219-8.56"/></svg>
|
|
56
|
+
|
|
57
|
+
<!-- @color_inheritance -->
|
|
58
|
+
<!-- Icons inherit color from parent text color. -->
|
|
59
|
+
<div class="ui-row ui-row--gap-2">
|
|
60
|
+
<span style="color: var(--ui-color-primary)">
|
|
61
|
+
<svg class="ui-icon ui-icon--lg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
62
|
+
</span>
|
|
63
|
+
<span style="color: var(--ui-color-success)">
|
|
64
|
+
<svg class="ui-icon ui-icon--lg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
65
|
+
</span>
|
|
66
|
+
<span style="color: var(--ui-color-danger)">
|
|
67
|
+
<svg class="ui-icon ui-icon--lg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
68
|
+
</span>
|
|
69
|
+
</div>
|
|
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
|
|
|
2
2
|
import { expect, test } from '@playwright/test';
|
|
3
3
|
import {
|
|
4
4
|
saveForLostPixel,
|
|
5
|
-
|
|
5
|
+
setupVisualTestFromHtmlDocs,
|
|
6
6
|
validateGridRhythm,
|
|
7
7
|
} from '../../../../test-utils';
|
|
8
8
|
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, '
|
|
9
|
+
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
10
|
|
|
11
11
|
test.describe('icon visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'icon');
|
|
15
15
|
await saveForLostPixel(page, 'icon');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Image
|
|
3
|
+
description: Responsive image with fallback placeholder, optional caption, and shape modifiers.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<figure class="ui-image">
|
|
8
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='160'%3E%3Crect fill='%23b0bec5' width='192' height='160'/%3E%3C/svg%3E" alt="Placeholder"></img>
|
|
9
|
+
</figure>
|
|
10
|
+
|
|
11
|
+
<!-- @sizes | row -->
|
|
12
|
+
<figure class="ui-image ui-image--sm">
|
|
13
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Crect fill='%2390a4ae' width='96' height='96'/%3E%3C/svg%3E" alt="Small"></img>
|
|
14
|
+
</figure>
|
|
15
|
+
<figure class="ui-image ui-image--md">
|
|
16
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192'%3E%3Crect fill='%2378909c' width='192' height='192'/%3E%3C/svg%3E" alt="Medium"></img>
|
|
17
|
+
</figure>
|
|
18
|
+
<figure class="ui-image ui-image--lg">
|
|
19
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Crect fill='%23607d8b' width='320' height='320'/%3E%3C/svg%3E" alt="Large"></img>
|
|
20
|
+
</figure>
|
|
21
|
+
<figure class="ui-image ui-image--xl">
|
|
22
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='480'%3E%3Crect fill='%23546e7a' width='480' height='480'/%3E%3C/svg%3E" alt="XL"></img>
|
|
23
|
+
</figure>
|
|
24
|
+
<figure class="ui-image ui-image--full">
|
|
25
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='200'%3E%3Crect fill='%23455a64' width='600' height='200'/%3E%3C/svg%3E" alt="Full"></img>
|
|
26
|
+
</figure>
|
|
27
|
+
|
|
28
|
+
<!-- @rounded -->
|
|
29
|
+
<figure class="ui-image ui-image--md ui-image--rounded">
|
|
30
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='140'%3E%3Crect fill='%234db6ac' width='192' height='140'/%3E%3C/svg%3E" alt="Rounded"></img>
|
|
31
|
+
</figure>
|
|
32
|
+
|
|
33
|
+
<!-- @circle | row -->
|
|
34
|
+
<figure class="ui-image ui-image--sm ui-image--circle">
|
|
35
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Crect fill='%23ce93d8' width='96' height='96'/%3E%3C/svg%3E" alt="Circle small"></img>
|
|
36
|
+
</figure>
|
|
37
|
+
<figure class="ui-image ui-image--md ui-image--circle">
|
|
38
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192'%3E%3Crect fill='%23ba68c8' width='192' height='192'/%3E%3C/svg%3E" alt="Circle medium"></img>
|
|
39
|
+
</figure>
|
|
40
|
+
|
|
41
|
+
<!-- @object_fit | row -->
|
|
42
|
+
<figure class="ui-image ui-image--md ui-image--cover">
|
|
43
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='150'%3E%3Crect fill='%2364b5f6' width='300' height='150'/%3E%3Ctext x='150' y='80' text-anchor='middle' fill='%23fff' font-size='16'%3Ecover%3C/text%3E%3C/svg%3E" alt="Cover fit"></img>
|
|
44
|
+
</figure>
|
|
45
|
+
<figure class="ui-image ui-image--md ui-image--contain">
|
|
46
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='150'%3E%3Crect fill='%2381c784' width='300' height='150'/%3E%3Ctext x='150' y='80' text-anchor='middle' fill='%23fff' font-size='16'%3Econtain%3C/text%3E%3C/svg%3E" alt="Contain fit"></img>
|
|
47
|
+
</figure>
|
|
48
|
+
|
|
49
|
+
<!-- @caption -->
|
|
50
|
+
<figure class="ui-image ui-image--md ui-image--rounded">
|
|
51
|
+
<img class="ui-image__img" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='140'%3E%3Crect fill='%23ffb74d' width='192' height='140'/%3E%3C/svg%3E" alt="With caption"></img>
|
|
52
|
+
<figcaption class="ui-image__caption">An optional image caption</figcaption>
|
|
53
|
+
</figure>
|
|
54
|
+
|
|
55
|
+
<!-- @fallback | row -->
|
|
56
|
+
<figure class="ui-image ui-image--sm">
|
|
57
|
+
<img class="ui-image__img" src alt="Broken image"></img>
|
|
58
|
+
</figure>
|
|
59
|
+
<figure class="ui-image ui-image--sm ui-image--rounded">
|
|
60
|
+
<img class="ui-image__img" src alt="Broken rounded"></img>
|
|
61
|
+
</figure>
|
|
62
|
+
<figure class="ui-image ui-image--sm ui-image--circle">
|
|
63
|
+
<img class="ui-image__img" src alt="Broken circle"></img>
|
|
64
|
+
</figure>
|
|
Binary file
|
|
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
|
|
|
2
2
|
import { expect, test } from '@playwright/test';
|
|
3
3
|
import {
|
|
4
4
|
saveForLostPixel,
|
|
5
|
-
|
|
5
|
+
setupVisualTestFromHtmlDocs,
|
|
6
6
|
validateGridRhythm,
|
|
7
7
|
} from '../../../../test-utils';
|
|
8
8
|
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, '
|
|
9
|
+
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
10
|
|
|
11
11
|
test.describe('image visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'image');
|
|
15
15
|
await saveForLostPixel(page, 'image');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Stat
|
|
3
|
+
description: Statistic display with prominent value and descriptive label.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<div class="ui-stat">
|
|
8
|
+
<span class="ui-stat__value">2,847</span>
|
|
9
|
+
<span class="ui-stat__label">Total users</span>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<!-- @multiple_stats -->
|
|
13
|
+
<div class="ui-row ui-row--lg">
|
|
14
|
+
<div class="ui-stat">
|
|
15
|
+
<span class="ui-stat__value">12.5k</span>
|
|
16
|
+
<span class="ui-stat__label">Revenue</span>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="ui-stat">
|
|
19
|
+
<span class="ui-stat__value">573</span>
|
|
20
|
+
<span class="ui-stat__label">Orders</span>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="ui-stat">
|
|
23
|
+
<span class="ui-stat__value">98%</span>
|
|
24
|
+
<span class="ui-stat__label">Satisfaction</span>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<!-- @small -->
|
|
29
|
+
<div class="ui-stat ui-stat--sm">
|
|
30
|
+
<span class="ui-stat__value">42</span>
|
|
31
|
+
<span class="ui-stat__label">Active now</span>
|
|
32
|
+
</div>
|
|
@@ -2,17 +2,17 @@ import { resolve } from 'node:path';
|
|
|
2
2
|
import { expect, test } from '@playwright/test';
|
|
3
3
|
import {
|
|
4
4
|
saveForLostPixel,
|
|
5
|
-
|
|
5
|
+
setupVisualTestFromHtmlDocs,
|
|
6
6
|
validateGridRhythm,
|
|
7
7
|
} from '../../../../test-utils';
|
|
8
8
|
|
|
9
|
-
const DOCS_PATH = resolve(__dirname, '
|
|
9
|
+
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
10
10
|
|
|
11
11
|
test.describe('stat visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'stat');
|
|
15
15
|
await saveForLostPixel(page, 'stat');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|