@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,18 @@
|
|
|
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('content visual regression', () => {
|
|
12
|
+
test('all variations', async ({ page }) => {
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
+
await validateGridRhythm(page, 'content');
|
|
15
|
+
await saveForLostPixel(page, 'content');
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
+
});
|
|
18
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Footer
|
|
3
|
+
description: Page footer with start, center, and end sections. Supports sticky/fixed positioning and border/shadow variants.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<!-- Basic footer with three sections. -->
|
|
8
|
+
<footer class="ui-footer ui-footer--bordered">
|
|
9
|
+
<div class="ui-footer__start">
|
|
10
|
+
<small>2026 Brand</small>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="ui-footer__center">
|
|
13
|
+
<span>Footer links</span>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="ui-footer__end">
|
|
16
|
+
<small>v1.0.0</small>
|
|
17
|
+
</div>
|
|
18
|
+
</footer>
|
|
19
|
+
|
|
20
|
+
<!-- @sticky -->
|
|
21
|
+
<!-- Stays at the bottom of the viewport on scroll. -->
|
|
22
|
+
<footer class="ui-footer ui-footer--sticky ui-footer--bordered">
|
|
23
|
+
<div class="ui-footer__start"><small>Brand</small></div>
|
|
24
|
+
<div class="ui-footer__center">Links</div>
|
|
25
|
+
<div class="ui-footer__end"><small>v1.0.0</small></div>
|
|
26
|
+
</footer>
|
|
27
|
+
|
|
28
|
+
<!-- @bordered -->
|
|
29
|
+
<!-- Top border via inset box-shadow to preserve grid rhythm. -->
|
|
30
|
+
<footer class="ui-footer ui-footer--bordered">
|
|
31
|
+
<div class="ui-footer__start">
|
|
32
|
+
<small>Bordered footer</small>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="ui-footer__end">
|
|
35
|
+
<small>v1.0.0</small>
|
|
36
|
+
</div>
|
|
37
|
+
</footer>
|
|
38
|
+
|
|
39
|
+
<!-- @raised -->
|
|
40
|
+
<!-- Subtle drop shadow above the footer. -->
|
|
41
|
+
<footer class="ui-footer ui-footer--raised">
|
|
42
|
+
<div class="ui-footer__start">
|
|
43
|
+
<small>Raised footer</small>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="ui-footer__end">
|
|
46
|
+
<small>v1.0.0</small>
|
|
47
|
+
</div>
|
|
48
|
+
</footer>
|
|
49
|
+
|
|
50
|
+
<!-- @fixed -->
|
|
51
|
+
<!-- Fixed to viewport bottom, always visible. -->
|
|
52
|
+
<footer class="ui-footer ui-footer--fixed ui-footer--bordered">
|
|
53
|
+
<div class="ui-footer__start"><small>Brand</small></div>
|
|
54
|
+
<div class="ui-footer__end"><small>v1.0.0</small></div>
|
|
55
|
+
</footer>
|
|
56
|
+
|
|
57
|
+
<!-- @full_layout -->
|
|
58
|
+
<!-- Footer inside an app-shell with topbar and sidebar. -->
|
|
59
|
+
<body class="ui-app-shell">
|
|
60
|
+
<header class="ui-topbar ui-topbar--bordered">
|
|
61
|
+
<div class="ui-topbar__start"><strong>App</strong></div>
|
|
62
|
+
</header>
|
|
63
|
+
<main class="ui-main ui-main--full">
|
|
64
|
+
<div class="ui-container">Content</div>
|
|
65
|
+
<footer class="ui-footer ui-footer--bordered">
|
|
66
|
+
<div class="ui-footer__start"><small>Brand</small></div>
|
|
67
|
+
<div class="ui-footer__end"><small>v1.0.0</small></div>
|
|
68
|
+
</footer>
|
|
69
|
+
</main>
|
|
70
|
+
</body>
|
|
Binary file
|
|
@@ -0,0 +1,18 @@
|
|
|
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('footer visual regression', () => {
|
|
12
|
+
test('all variations', async ({ page }) => {
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
+
await validateGridRhythm(page, 'footer');
|
|
15
|
+
await saveForLostPixel(page, 'footer');
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
+
});
|
|
18
|
+
});
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Grid
|
|
3
|
+
id: grid-primitive
|
|
4
|
+
description: CSS Grid with column variants, subgrid support, and span utilities.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!-- @columns -->
|
|
8
|
+
<div class="ui-grid ui-grid--2">
|
|
9
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">1</div>
|
|
10
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">2</div>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="ui-grid ui-grid--3">
|
|
13
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">1</div>
|
|
14
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">2</div>
|
|
15
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">3</div>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="ui-grid ui-grid--4">
|
|
18
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">1</div>
|
|
19
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">2</div>
|
|
20
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">3</div>
|
|
21
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">4</div>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="ui-grid ui-grid--auto">
|
|
24
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Auto</div>
|
|
25
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Auto</div>
|
|
26
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Auto</div>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<!-- @subgrid -->
|
|
30
|
+
<!-- Children inherit parent grid tracks for cross-item alignment. -->
|
|
31
|
+
<div class="ui-grid ui-grid--3">
|
|
32
|
+
<div class="ui-grid--subgrid" style="grid-column: span 3">
|
|
33
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Subgrid child 1</div>
|
|
34
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Subgrid child 2</div>
|
|
35
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Subgrid child 3</div>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="ui-grid ui-grid--3" style="grid-template-rows: auto 1fr auto">
|
|
39
|
+
<div class="ui-grid--subgrid-rows" style="grid-row: span 3; border: 1px solid var(--ui-color-border); padding: var(--ui-space-2)">
|
|
40
|
+
<strong>Card A</strong>
|
|
41
|
+
<p>Short content.</p>
|
|
42
|
+
<span style="color: var(--ui-color-text-muted)">Footer</span>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="ui-grid--subgrid-rows" style="grid-row: span 3; border: 1px solid var(--ui-color-border); padding: var(--ui-space-2)">
|
|
45
|
+
<strong>Card B</strong>
|
|
46
|
+
<p>Longer content that wraps to multiple lines to demonstrate row alignment.</p>
|
|
47
|
+
<span style="color: var(--ui-color-text-muted)">Footer</span>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="ui-grid--subgrid-rows" style="grid-row: span 3; border: 1px solid var(--ui-color-border); padding: var(--ui-space-2)">
|
|
50
|
+
<strong>Card C</strong>
|
|
51
|
+
<p>Medium text.</p>
|
|
52
|
+
<span style="color: var(--ui-color-text-muted)">Footer</span>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="ui-grid ui-grid--3" style="grid-template-rows: auto auto">
|
|
56
|
+
<div class="ui-grid--subgrid-both" style="grid-column: span 3; grid-row: span 2">
|
|
57
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">A1</div>
|
|
58
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">A2</div>
|
|
59
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">A3</div>
|
|
60
|
+
<div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">B1</div>
|
|
61
|
+
<div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">B2</div>
|
|
62
|
+
<div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">B3</div>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<!-- @column_span -->
|
|
67
|
+
<!-- Span multiple columns with .ui-grid-col-span-{2,3,4,full} utilities. -->
|
|
68
|
+
<div class="ui-grid ui-grid--4">
|
|
69
|
+
<div style="grid-column: span 2; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Span 2</div>
|
|
70
|
+
<div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">1</div>
|
|
71
|
+
<div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">1</div>
|
|
72
|
+
<div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">1</div>
|
|
73
|
+
<div style="grid-column: span 3; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Span 3</div>
|
|
74
|
+
<div style="grid-column: 1 / -1; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Span full</div>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<!-- @row_span -->
|
|
78
|
+
<!-- Span multiple rows with .ui-grid-row-span-{2,3,full} utilities. -->
|
|
79
|
+
<div class="ui-grid ui-grid--3">
|
|
80
|
+
<div style="grid-row: span 2; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Row span 2</div>
|
|
81
|
+
<div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">1</div>
|
|
82
|
+
<div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">2</div>
|
|
83
|
+
<div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">3</div>
|
|
84
|
+
<div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">4</div>
|
|
85
|
+
</div>
|
|
@@ -0,0 +1,13 @@
|
|
|
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('grid visual regression', () => {
|
|
8
|
+
test('all variations', async ({ page }) => {
|
|
9
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
10
|
+
await saveForLostPixel(page, 'grid');
|
|
11
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
12
|
+
});
|
|
13
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Main
|
|
3
|
+
description: Main content area that accounts for sidebar and topbar offsets in app layouts.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<!-- Offsets content for a start-side sidebar and optional topbar. -->
|
|
8
|
+
<div style="position: relative; height: var(--ui-row-4)">
|
|
9
|
+
<main class="ui-main" style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">
|
|
10
|
+
<p>Main content area</p>
|
|
11
|
+
</main>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<!-- @sidebar_end -->
|
|
15
|
+
<!-- Offsets content for an end-side sidebar instead of start. -->
|
|
16
|
+
<div style="position: relative; height: var(--ui-row-4)">
|
|
17
|
+
<main class="ui-main ui-main--sidebar-end" style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">
|
|
18
|
+
<p>Content with end sidebar</p>
|
|
19
|
+
</main>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<!-- @full_width -->
|
|
23
|
+
<!-- No sidebar offset. Use when there is no sidebar. -->
|
|
24
|
+
<div style="position: relative; height: var(--ui-row-4)">
|
|
25
|
+
<main class="ui-main ui-main--full" style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">
|
|
26
|
+
<p>Full width content</p>
|
|
27
|
+
</main>
|
|
28
|
+
</div>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Nav Rail
|
|
3
|
+
description: Narrow fixed vertical navigation rail for icon-based navigation with bottom actions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<!-- Fixed narrow rail with icon items and bottom actions. -->
|
|
8
|
+
<nav class="ui-nav-rail" style="0: p; 1: o; 2: s; 3: i; 4: t; 5: i; 6: o; 7: n; 8: :; 9: ; 10: r; 11: e; 12: l; 13: a; 14: t; 15: i; 16: v; 17: e; 18: ;; 19: ; 20: b; 21: l; 22: o; 23: c; 24: k; 25: -; 26: s; 27: i; 28: z; 29: e; 30: :; 31: ; 32: 3; 33: 2; 34: 0; 35: p; 36: x">
|
|
9
|
+
<div class="ui-nav-rail__items">
|
|
10
|
+
<button class="ui-button ui-button--ghost ui-button--icon">H</button>
|
|
11
|
+
<button class="ui-button ui-button--ghost ui-button--icon">S</button>
|
|
12
|
+
<button class="ui-button ui-button--ghost ui-button--icon">M</button>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="ui-nav-rail__actions">
|
|
15
|
+
<button class="ui-button ui-button--ghost ui-button--icon">G</button>
|
|
16
|
+
</div>
|
|
17
|
+
</nav>
|
|
18
|
+
|
|
19
|
+
<!-- @end_position -->
|
|
20
|
+
<!-- Rail on the end (right in LTR) side. -->
|
|
21
|
+
<nav class="ui-nav-rail ui-nav-rail--end">
|
|
22
|
+
<div class="ui-nav-rail__items">
|
|
23
|
+
<!-- icon buttons -->
|
|
24
|
+
</div>
|
|
25
|
+
<div class="ui-nav-rail__actions">
|
|
26
|
+
<!-- settings, profile -->
|
|
27
|
+
</div>
|
|
28
|
+
</nav>
|
|
29
|
+
|
|
30
|
+
<!-- @with_topbar -->
|
|
31
|
+
<!-- Nav rail respects --topbar-height, offsetting below the topbar. -->
|
|
32
|
+
<body class="ui-app-shell" style="--topbar-height: var(--ui-row-3)">
|
|
33
|
+
<header class="ui-topbar ui-topbar--fixed ui-topbar--bordered">
|
|
34
|
+
<div class="ui-topbar__start"><strong>App</strong></div>
|
|
35
|
+
</header>
|
|
36
|
+
<nav class="ui-nav-rail">
|
|
37
|
+
<div class="ui-nav-rail__items"><!-- icons --></div>
|
|
38
|
+
</nav>
|
|
39
|
+
</body>
|
|
Binary file
|
|
@@ -0,0 +1,18 @@
|
|
|
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('nav-rail visual regression', () => {
|
|
12
|
+
test('all variations', async ({ page }) => {
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
+
await validateGridRhythm(page, 'nav-rail');
|
|
15
|
+
await saveForLostPixel(page, 'nav-rail');
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
+
});
|
|
18
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Page Header
|
|
3
|
+
description: Content area header with title, description, actions, and optional breadcrumb.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<!-- Title with actions on the end side. -->
|
|
8
|
+
<header class="ui-page-header ui-page-header--bordered">
|
|
9
|
+
<div class="ui-page-header__title">
|
|
10
|
+
<h1 class="ui-heading ui-heading--xl">Users</h1>
|
|
11
|
+
<p>Manage user accounts and permissions.</p>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="ui-page-header__actions">
|
|
14
|
+
<button class="ui-button ui-button--primary">Add user</button>
|
|
15
|
+
</div>
|
|
16
|
+
</header>
|
|
17
|
+
|
|
18
|
+
<!-- @with_breadcrumb -->
|
|
19
|
+
<!-- Breadcrumb spans the full width above the title row. -->
|
|
20
|
+
<header class="ui-page-header ui-page-header--bordered">
|
|
21
|
+
<nav class="ui-page-header__breadcrumb">
|
|
22
|
+
<span>Home / Settings / Users</span>
|
|
23
|
+
</nav>
|
|
24
|
+
<div class="ui-page-header__title">
|
|
25
|
+
<h1 class="ui-heading ui-heading--xl">Users</h1>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="ui-page-header__actions">
|
|
28
|
+
<button class="ui-button">Export</button>
|
|
29
|
+
</div>
|
|
30
|
+
</header>
|
|
31
|
+
|
|
32
|
+
<!-- @bordered -->
|
|
33
|
+
<!-- Bottom border via inset box-shadow. -->
|
|
34
|
+
<header class="ui-page-header ui-page-header--bordered">
|
|
35
|
+
<div class="ui-page-header__title">
|
|
36
|
+
<h1 class="ui-heading ui-heading--xl">Dashboard</h1>
|
|
37
|
+
</div>
|
|
38
|
+
</header>
|
|
39
|
+
|
|
40
|
+
<!-- @sticky -->
|
|
41
|
+
<!-- Sticks to the top of the scroll container. -->
|
|
42
|
+
<header class="ui-page-header ui-page-header--sticky ui-page-header--bordered">
|
|
43
|
+
<div class="ui-page-header__title">
|
|
44
|
+
<h1 class="ui-heading ui-heading--xl">Sticky Header</h1>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="ui-page-header__actions">
|
|
47
|
+
<button class="ui-button">Save</button>
|
|
48
|
+
</div>
|
|
49
|
+
</header>
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { resolve } from 'node:path';
|
|
2
2
|
import { expect, test } from '@playwright/test';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
saveForLostPixel,
|
|
5
|
+
setupVisualTestFromHtmlDocs,
|
|
6
|
+
validateGridRhythm,
|
|
7
|
+
} from '../../../test-utils';
|
|
4
8
|
|
|
5
|
-
const DOCS_PATH = resolve(__dirname, '
|
|
9
|
+
const DOCS_PATH = resolve(__dirname, 'docs.html');
|
|
6
10
|
|
|
7
11
|
test.describe('page-header visual regression', () => {
|
|
8
12
|
test('all variations', async ({ page }) => {
|
|
9
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
10
14
|
await validateGridRhythm(page, 'page-header');
|
|
11
15
|
await saveForLostPixel(page, 'page-header');
|
|
12
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
13
17
|
});
|
|
14
18
|
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Row
|
|
3
|
+
description: Horizontal layout with wrapping.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @basic -->
|
|
7
|
+
<div class="ui-row ui-row--md">
|
|
8
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Tag 1</div>
|
|
9
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Tag 2</div>
|
|
10
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Tag 3</div>
|
|
11
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Tag 4</div>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<!-- @sizes -->
|
|
15
|
+
<div class="ui-row ui-row--xs">
|
|
16
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">xs</div>
|
|
17
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">xs</div>
|
|
18
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">xs</div>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="ui-row ui-row--lg">
|
|
21
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">lg</div>
|
|
22
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">lg</div>
|
|
23
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">lg</div>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="ui-row ui-row--sm">
|
|
26
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">sm</div>
|
|
27
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">sm</div>
|
|
28
|
+
<div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">sm</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<!-- @alignment -->
|
|
32
|
+
<div class="ui-row ui-row--start" style="background: var(--ui-color-bg-muted)">
|
|
33
|
+
<div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">Start</div>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="ui-row ui-row--center" style="background: var(--ui-color-bg-muted)">
|
|
36
|
+
<div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">Center</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="ui-row ui-row--end" style="background: var(--ui-color-bg-muted)">
|
|
39
|
+
<div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">End</div>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="ui-row ui-row--between" style="background: var(--ui-color-bg-muted)">
|
|
42
|
+
<div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">Between A</div>
|
|
43
|
+
<div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">Between B</div>
|
|
44
|
+
</div>
|
|
@@ -1,15 +1,15 @@
|
|
|
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('row visual regression', () => {
|
|
8
8
|
test('all variations', async ({ page }) => {
|
|
9
|
-
await
|
|
9
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
10
10
|
// skip validateGridRhythm: row is a layout primitive that
|
|
11
11
|
// controls gap/alignment, not child height
|
|
12
12
|
await saveForLostPixel(page, 'row');
|
|
13
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
13
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
14
14
|
});
|
|
15
15
|
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Sidebar
|
|
3
|
+
description: Fixed-position sidebar for app layouts with adjustable widths and positioning.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @basic -->
|
|
7
|
+
<!-- Default sidebar positioned on the start side. Use inside an app-shell layout. -->
|
|
8
|
+
<aside class="ui-sidebar">
|
|
9
|
+
<p>Sidebar content</p>
|
|
10
|
+
</aside>
|
|
11
|
+
|
|
12
|
+
<!-- @widths | column -->
|
|
13
|
+
<aside class="ui-sidebar ui-sidebar--sm" style="position: relative; height: auto;">
|
|
14
|
+
<p>Small (192px)</p>
|
|
15
|
+
</aside>
|
|
16
|
+
<aside class="ui-sidebar ui-sidebar--md" style="position: relative; height: auto;">
|
|
17
|
+
<p>Medium (240px, default)</p>
|
|
18
|
+
</aside>
|
|
19
|
+
<aside class="ui-sidebar ui-sidebar--lg" style="position: relative; height: auto;">
|
|
20
|
+
<p>Large (320px)</p>
|
|
21
|
+
</aside>
|
|
22
|
+
|
|
23
|
+
<!-- @end_position -->
|
|
24
|
+
<!-- Position sidebar on the end side with --end modifier. -->
|
|
25
|
+
<aside class="ui-sidebar ui-sidebar--end">
|
|
26
|
+
<p>End sidebar</p>
|
|
27
|
+
</aside>
|
|
Binary file
|
|
@@ -0,0 +1,18 @@
|
|
|
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('sidebar visual regression', () => {
|
|
12
|
+
test('all variations', async ({ page }) => {
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
|
+
await validateGridRhythm(page, 'sidebar');
|
|
15
|
+
await saveForLostPixel(page, 'sidebar');
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
|
+
});
|
|
18
|
+
});
|