@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,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Progress Circle
|
|
3
|
+
description: Circular progress indicator showing completion as a donut ring. Set value via --ui-progress-circle-value (0-100).
|
|
4
|
+
mergeInto: progress
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!-- @default | row -->
|
|
8
|
+
<svg class="ui-progress-circle" style="--ui-progress-circle-value: 25" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">
|
|
9
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
10
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
11
|
+
</svg>
|
|
12
|
+
<svg class="ui-progress-circle" style="--ui-progress-circle-value: 50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
|
|
13
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
14
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
15
|
+
</svg>
|
|
16
|
+
<svg class="ui-progress-circle" style="--ui-progress-circle-value: 75" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100">
|
|
17
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
18
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
19
|
+
</svg>
|
|
20
|
+
|
|
21
|
+
<!-- @sizes | row -->
|
|
22
|
+
<svg class="ui-progress-circle ui-progress-circle--sm" style="--ui-progress-circle-value: 50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
|
|
23
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
24
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
25
|
+
</svg>
|
|
26
|
+
<svg class="ui-progress-circle" style="--ui-progress-circle-value: 50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
|
|
27
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
28
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
29
|
+
</svg>
|
|
30
|
+
<svg class="ui-progress-circle ui-progress-circle--lg" style="--ui-progress-circle-value: 50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
|
|
31
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
32
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
33
|
+
</svg>
|
|
34
|
+
<svg class="ui-progress-circle ui-progress-circle--xl" style="--ui-progress-circle-value: 50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
|
|
35
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
36
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
37
|
+
</svg>
|
|
38
|
+
|
|
39
|
+
<!-- @colors | row -->
|
|
40
|
+
<svg class="ui-progress-circle" style="--ui-progress-circle-value: 65" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="65" aria-valuemin="0" aria-valuemax="100">
|
|
41
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
42
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
43
|
+
</svg>
|
|
44
|
+
<svg class="ui-progress-circle ui-progress-circle--success" style="--ui-progress-circle-value: 65" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="65" aria-valuemin="0" aria-valuemax="100">
|
|
45
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
46
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
47
|
+
</svg>
|
|
48
|
+
<svg class="ui-progress-circle ui-progress-circle--warning" style="--ui-progress-circle-value: 65" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="65" aria-valuemin="0" aria-valuemax="100">
|
|
49
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
50
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
51
|
+
</svg>
|
|
52
|
+
<svg class="ui-progress-circle ui-progress-circle--danger" style="--ui-progress-circle-value: 65" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-valuenow="65" aria-valuemin="0" aria-valuemax="100">
|
|
53
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
54
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
55
|
+
</svg>
|
|
56
|
+
|
|
57
|
+
<!-- @indeterminate -->
|
|
58
|
+
<!-- For unknown progress duration -->
|
|
59
|
+
<svg class="ui-progress-circle ui-progress-circle--indeterminate" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" role="progressbar" aria-label="Loading">
|
|
60
|
+
<circle class="ui-progress-circle__track" cx="50" cy="50" r="45"></circle>
|
|
61
|
+
<circle class="ui-progress-circle__fill" cx="50" cy="50" r="45"></circle>
|
|
62
|
+
</svg>
|
package/src/components/feedback/progress-circle/{progress-circle.visual.spec.ts → visual.spec.ts}
RENAMED
|
@@ -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('progress-circle visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'progress-circle');
|
|
15
15
|
await saveForLostPixel(page, 'progress-circle');
|
|
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: Skeleton
|
|
3
|
+
description: Loading placeholder with shimmer animation for content loading states.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @text_lines -->
|
|
7
|
+
<div style="display: flex; flex-direction: column; gap: var(--ui-space-1);">
|
|
8
|
+
<div class="ui-skeleton ui-skeleton--text"></div>
|
|
9
|
+
<div class="ui-skeleton ui-skeleton--text" style="width: 80%;"></div>
|
|
10
|
+
<div class="ui-skeleton ui-skeleton--text" style="width: 60%;"></div>
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<!-- @shapes -->
|
|
14
|
+
<div style="display: flex; gap: var(--ui-space-2); align-items: flex-start;">
|
|
15
|
+
<div class="ui-skeleton ui-skeleton--circle"></div>
|
|
16
|
+
<div style="flex: 1; display: flex; flex-direction: column; gap: var(--ui-space-1);">
|
|
17
|
+
<div class="ui-skeleton ui-skeleton--heading"></div>
|
|
18
|
+
<div class="ui-skeleton ui-skeleton--text"></div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<!-- @card_skeleton -->
|
|
23
|
+
<div class="ui-card" style="width: 300px;">
|
|
24
|
+
<div class="ui-skeleton ui-skeleton--rect"></div>
|
|
25
|
+
<div style="padding: var(--ui-space-2); display: flex; flex-direction: column; gap: var(--ui-space-1);">
|
|
26
|
+
<div class="ui-skeleton ui-skeleton--heading"></div>
|
|
27
|
+
<div class="ui-skeleton ui-skeleton--text"></div>
|
|
28
|
+
<div class="ui-skeleton ui-skeleton--text" style="width: 70%;"></div>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<!-- @pulse_animation -->
|
|
33
|
+
<div class="ui-skeleton ui-skeleton--text ui-skeleton--pulse"></div>
|
|
34
|
+
|
|
35
|
+
<!-- @static -->
|
|
36
|
+
<!-- No animation, just a placeholder block. -->
|
|
37
|
+
<div class="ui-skeleton ui-skeleton--static" style="width: 200px;"></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('skeleton visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'skeleton');
|
|
15
15
|
await saveForLostPixel(page, 'skeleton');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Spinner
|
|
3
|
+
description: Loading indicator with pure CSS animation. Inherits color from parent.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default | row -->
|
|
7
|
+
<div class="ui-spinner"></div>
|
|
8
|
+
|
|
9
|
+
<!-- @sizes | row -->
|
|
10
|
+
{% for s in api.modifiers.size.values %}
|
|
11
|
+
<div class="ui-spinner ui-spinner--{{ s }}"></div>
|
|
12
|
+
{% endfor %}
|
|
13
|
+
<div class="ui-spinner"></div>
|
|
14
|
+
|
|
15
|
+
<!-- @color_inheritance -->
|
|
16
|
+
<div class="ui-row" style="gap: var(--ui-space-2);">
|
|
17
|
+
<div style="color: var(--ui-color-primary);"><div class="ui-spinner"></div></div>
|
|
18
|
+
<div style="color: var(--ui-color-danger);"><div class="ui-spinner"></div></div>
|
|
19
|
+
<div style="color: var(--ui-color-success);"><div class="ui-spinner"></div></div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<!-- @in_button -->
|
|
23
|
+
<button class="ui-button ui-button--primary" disabled style="opacity: 0.7;">
|
|
24
|
+
<div class="ui-spinner ui-spinner--xs"></div>
|
|
25
|
+
<span>{{ t('loading', 'Loading...') }}</span>
|
|
26
|
+
</button>
|
|
@@ -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('spinner visual regression', () => {
|
|
12
12
|
// TODO: Skip grid rhythm until #154 is resolved (CSS var resolution issue)
|
|
13
13
|
test('all variations', async ({ page }) => {
|
|
14
|
-
await
|
|
14
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
15
15
|
// await validateGridRhythm(page, 'spinner');
|
|
16
16
|
await saveForLostPixel(page, 'spinner');
|
|
17
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
17
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
18
18
|
});
|
|
19
19
|
});
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Toast
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<!-- @default -->
|
|
6
|
+
<div class="ui-toast">
|
|
7
|
+
<span class="ui-toast__icon">i</span>
|
|
8
|
+
<div class="ui-toast__content">
|
|
9
|
+
<p class="ui-toast__title">Notification</p>
|
|
10
|
+
<p class="ui-toast__description">Your changes have been saved.</p>
|
|
11
|
+
</div>
|
|
12
|
+
<button class="ui-toast__close">X</button>
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
<!-- @variants | column -->
|
|
16
|
+
<div class="ui-toast ui-toast--success">
|
|
17
|
+
<div class="ui-toast__content">
|
|
18
|
+
<p class="ui-toast__title">Success</p>
|
|
19
|
+
<p class="ui-toast__description">Operation completed successfully.</p>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="ui-toast ui-toast--warning">
|
|
23
|
+
<div class="ui-toast__content">
|
|
24
|
+
<p class="ui-toast__title">Warning</p>
|
|
25
|
+
<p class="ui-toast__description">Please review before continuing.</p>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="ui-toast ui-toast--danger">
|
|
29
|
+
<div class="ui-toast__content">
|
|
30
|
+
<p class="ui-toast__title">Error</p>
|
|
31
|
+
<p class="ui-toast__description">Something went wrong.</p>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="ui-toast ui-toast--info">
|
|
35
|
+
<div class="ui-toast__content">
|
|
36
|
+
<p class="ui-toast__title">Info</p>
|
|
37
|
+
<p class="ui-toast__description">New updates available.</p>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<!-- @with_action -->
|
|
42
|
+
<div class="ui-toast">
|
|
43
|
+
<div class="ui-toast__content">
|
|
44
|
+
<p class="ui-toast__title">File deleted</p>
|
|
45
|
+
<p class="ui-toast__description">document.pdf was moved to trash.</p>
|
|
46
|
+
</div>
|
|
47
|
+
<button class="ui-toast__action ui-button ui-button--sm ui-button--secondary">Undo</button>
|
|
48
|
+
<button class="ui-toast__close">X</button>
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<!-- @viewport_positions | column -->
|
|
52
|
+
<!-- Container positions for toast placement -->
|
|
53
|
+
<div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
|
|
54
|
+
<div class="ui-toast-viewport ui-toast-viewport--top-end" style="position:absolute">
|
|
55
|
+
<div class="ui-toast">
|
|
56
|
+
<div class="ui-toast__content">
|
|
57
|
+
<p class="ui-toast__title">Top End</p>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
<div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
|
|
63
|
+
<div class="ui-toast-viewport ui-toast-viewport--bottom-end" style="position:absolute">
|
|
64
|
+
<div class="ui-toast">
|
|
65
|
+
<div class="ui-toast__content">
|
|
66
|
+
<p class="ui-toast__title">Bottom End</p>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
<div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
|
|
72
|
+
<div class="ui-toast-viewport ui-toast-viewport--top-start" style="position:absolute">
|
|
73
|
+
<div class="ui-toast">
|
|
74
|
+
<div class="ui-toast__content">
|
|
75
|
+
<p class="ui-toast__title">Top Start</p>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
<div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
|
|
81
|
+
<div class="ui-toast-viewport ui-toast-viewport--top-center" style="position:absolute">
|
|
82
|
+
<div class="ui-toast">
|
|
83
|
+
<div class="ui-toast__content">
|
|
84
|
+
<p class="ui-toast__title">Top Center</p>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
<div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
|
|
90
|
+
<div class="ui-toast-viewport ui-toast-viewport--bottom-start" style="position:absolute">
|
|
91
|
+
<div class="ui-toast">
|
|
92
|
+
<div class="ui-toast__content">
|
|
93
|
+
<p class="ui-toast__title">Bottom Start</p>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
<div style="position:relative;height:200px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md)">
|
|
99
|
+
<div class="ui-toast-viewport ui-toast-viewport--bottom-center" style="position:absolute">
|
|
100
|
+
<div class="ui-toast">
|
|
101
|
+
<div class="ui-toast__content">
|
|
102
|
+
<p class="ui-toast__title">Bottom Center</p>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
</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('toast visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'toast');
|
|
15
15
|
await saveForLostPixel(page, 'toast');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Checkbox
|
|
3
|
+
description: Native checkbox input with custom styling. Supports checked, indeterminate, and disabled states.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default | row -->
|
|
7
|
+
<input class="ui-checkbox" type="checkbox"></input>
|
|
8
|
+
<input class="ui-checkbox" type="checkbox" checked></input>
|
|
9
|
+
|
|
10
|
+
<!-- @sizes | row -->
|
|
11
|
+
<input class="ui-checkbox" type="checkbox" checked></input>
|
|
12
|
+
<input class="ui-checkbox ui-checkbox--lg" type="checkbox" checked></input>
|
|
13
|
+
|
|
14
|
+
<!-- @states | row -->
|
|
15
|
+
<input class="ui-checkbox" type="checkbox"></input>
|
|
16
|
+
<input class="ui-checkbox" type="checkbox" checked></input>
|
|
17
|
+
<input class="ui-checkbox" type="checkbox" disabled></input>
|
|
18
|
+
<input class="ui-checkbox" type="checkbox" checked disabled></input>
|
|
19
|
+
|
|
20
|
+
<!-- @validation_states | row -->
|
|
21
|
+
<input class="ui-checkbox ui-checkbox--error" type="checkbox"></input>
|
|
22
|
+
<input class="ui-checkbox ui-checkbox--error" type="checkbox" checked></input>
|
|
23
|
+
<input class="ui-checkbox ui-checkbox--success" type="checkbox"></input>
|
|
24
|
+
<input class="ui-checkbox ui-checkbox--success" type="checkbox" checked></input>
|
|
25
|
+
|
|
26
|
+
<!-- @with_label -->
|
|
27
|
+
<label class="ui-row" style="gap: var(--ui-space-1); cursor: pointer;">
|
|
28
|
+
<input class="ui-checkbox" type="checkbox"></input>
|
|
29
|
+
<span>Accept terms and conditions</span>
|
|
30
|
+
</label>
|
|
@@ -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('checkbox visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'checkbox');
|
|
15
15
|
await saveForLostPixel(page, 'checkbox');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Checkbox Group
|
|
3
|
+
description: Groups related checkboxes with a legend and consistent spacing. Built on native fieldset semantics.
|
|
4
|
+
mergeInto: checkbox
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!-- @default -->
|
|
8
|
+
<fieldset class="ui-checkbox-group">
|
|
9
|
+
<legend class="ui-checkbox-group__legend">Notifications</legend>
|
|
10
|
+
<div class="ui-checkbox-group__items">
|
|
11
|
+
<label class="ui-checkbox-group__item">
|
|
12
|
+
<input class="ui-checkbox" type="checkbox" checked></input>
|
|
13
|
+
<span>Email</span>
|
|
14
|
+
</label>
|
|
15
|
+
<label class="ui-checkbox-group__item">
|
|
16
|
+
<input class="ui-checkbox" type="checkbox"></input>
|
|
17
|
+
<span>SMS</span>
|
|
18
|
+
</label>
|
|
19
|
+
<label class="ui-checkbox-group__item">
|
|
20
|
+
<input class="ui-checkbox" type="checkbox"></input>
|
|
21
|
+
<span>Push</span>
|
|
22
|
+
</label>
|
|
23
|
+
</div>
|
|
24
|
+
</fieldset>
|
|
25
|
+
|
|
26
|
+
<!-- @horizontal -->
|
|
27
|
+
<fieldset class="ui-checkbox-group ui-checkbox-group--horizontal">
|
|
28
|
+
<legend class="ui-checkbox-group__legend">Interests</legend>
|
|
29
|
+
<div class="ui-checkbox-group__items">
|
|
30
|
+
<label class="ui-checkbox-group__item">
|
|
31
|
+
<input class="ui-checkbox" type="checkbox" checked></input>
|
|
32
|
+
<span>Design</span>
|
|
33
|
+
</label>
|
|
34
|
+
<label class="ui-checkbox-group__item">
|
|
35
|
+
<input class="ui-checkbox" type="checkbox"></input>
|
|
36
|
+
<span>Engineering</span>
|
|
37
|
+
</label>
|
|
38
|
+
<label class="ui-checkbox-group__item">
|
|
39
|
+
<input class="ui-checkbox" type="checkbox" checked></input>
|
|
40
|
+
<span>Product</span>
|
|
41
|
+
</label>
|
|
42
|
+
<label class="ui-checkbox-group__item">
|
|
43
|
+
<input class="ui-checkbox" type="checkbox"></input>
|
|
44
|
+
<span>Marketing</span>
|
|
45
|
+
</label>
|
|
46
|
+
</div>
|
|
47
|
+
</fieldset>
|
|
48
|
+
|
|
49
|
+
<!-- @compact -->
|
|
50
|
+
<fieldset class="ui-checkbox-group ui-checkbox-group--compact">
|
|
51
|
+
<legend class="ui-checkbox-group__legend">Features</legend>
|
|
52
|
+
<div class="ui-checkbox-group__items">
|
|
53
|
+
<label class="ui-checkbox-group__item">
|
|
54
|
+
<input class="ui-checkbox" type="checkbox" checked></input>
|
|
55
|
+
<span>Dark mode</span>
|
|
56
|
+
</label>
|
|
57
|
+
<label class="ui-checkbox-group__item">
|
|
58
|
+
<input class="ui-checkbox" type="checkbox" checked></input>
|
|
59
|
+
<span>Notifications</span>
|
|
60
|
+
</label>
|
|
61
|
+
<label class="ui-checkbox-group__item">
|
|
62
|
+
<input class="ui-checkbox" type="checkbox"></input>
|
|
63
|
+
<span>Analytics</span>
|
|
64
|
+
</label>
|
|
65
|
+
</div>
|
|
66
|
+
</fieldset>
|
|
67
|
+
|
|
68
|
+
<!-- @error_state -->
|
|
69
|
+
<fieldset class="ui-checkbox-group ui-checkbox-group--error">
|
|
70
|
+
<legend class="ui-checkbox-group__legend">Terms</legend>
|
|
71
|
+
<div class="ui-checkbox-group__items">
|
|
72
|
+
<label class="ui-checkbox-group__item">
|
|
73
|
+
<input class="ui-checkbox ui-checkbox--error" type="checkbox"></input>
|
|
74
|
+
<span>I accept the terms of service</span>
|
|
75
|
+
</label>
|
|
76
|
+
<label class="ui-checkbox-group__item">
|
|
77
|
+
<input class="ui-checkbox ui-checkbox--error" type="checkbox"></input>
|
|
78
|
+
<span>I accept the privacy policy</span>
|
|
79
|
+
</label>
|
|
80
|
+
</div>
|
|
81
|
+
<span class="ui-form-error">You must accept all terms to continue</span>
|
|
82
|
+
</fieldset>
|
|
83
|
+
|
|
84
|
+
<!-- @disabled -->
|
|
85
|
+
<fieldset class="ui-checkbox-group" disabled>
|
|
86
|
+
<legend class="ui-checkbox-group__legend">Permissions (locked)</legend>
|
|
87
|
+
<div class="ui-checkbox-group__items">
|
|
88
|
+
<label class="ui-checkbox-group__item">
|
|
89
|
+
<input class="ui-checkbox" type="checkbox" checked></input>
|
|
90
|
+
<span>Read</span>
|
|
91
|
+
</label>
|
|
92
|
+
<label class="ui-checkbox-group__item">
|
|
93
|
+
<input class="ui-checkbox" type="checkbox" checked></input>
|
|
94
|
+
<span>Write</span>
|
|
95
|
+
</label>
|
|
96
|
+
<label class="ui-checkbox-group__item">
|
|
97
|
+
<input class="ui-checkbox" type="checkbox"></input>
|
|
98
|
+
<span>Admin</span>
|
|
99
|
+
</label>
|
|
100
|
+
</div>
|
|
101
|
+
</fieldset>
|
package/src/components/forms/checkbox-group/{checkbox-group.visual.spec.ts → visual.spec.ts}
RENAMED
|
@@ -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('checkbox-group visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'checkbox-group');
|
|
15
15
|
await saveForLostPixel(page, 'checkbox-group');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Field
|
|
3
|
+
description: Form field wrapper that combines label, control, helper text, and error message.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<div class="ui-field">
|
|
8
|
+
<label class="ui-label" for="email">Email</label>
|
|
9
|
+
<div class="ui-field__control">
|
|
10
|
+
<input class="ui-input" type="email" id="email" placeholder="Enter email"></input>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<!-- @with_helper_text -->
|
|
15
|
+
<div class="ui-field">
|
|
16
|
+
<label class="ui-label" for="password">Password</label>
|
|
17
|
+
<div class="ui-field__control">
|
|
18
|
+
<input class="ui-input" type="password" id="password"></input>
|
|
19
|
+
<span class="ui-form-helper">Must be at least 8 characters</span>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<!-- @with_error -->
|
|
24
|
+
<div class="ui-field">
|
|
25
|
+
<label class="ui-label" for="username">Username</label>
|
|
26
|
+
<div class="ui-field__control">
|
|
27
|
+
<input class="ui-input ui-input--error" type="text" id="username" value="ab"></input>
|
|
28
|
+
<span class="ui-form-error">Username must be at least 3 characters</span>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<!-- @horizontal_layout -->
|
|
33
|
+
<!-- Label beside control for wider forms -->
|
|
34
|
+
<div class="ui-field ui-field--horizontal">
|
|
35
|
+
<label class="ui-label ui-field__label" for="name">Full Name</label>
|
|
36
|
+
<div class="ui-field__control">
|
|
37
|
+
<input class="ui-input" type="text" id="name"></input>
|
|
38
|
+
<span class="ui-form-helper">As it appears on your ID</span>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
<!-- @responsive_layout -->
|
|
43
|
+
<!-- Auto-switches to horizontal layout when container is wide enough (>= 30rem). Requires a parent with container-type: inline-size (use ui-container-inline utility). -->
|
|
44
|
+
<div class="ui-container-inline">
|
|
45
|
+
<div class="ui-field ui-field--responsive">
|
|
46
|
+
<label class="ui-label ui-field__label" for="resp-name">Full Name</label>
|
|
47
|
+
<div class="ui-field__control">
|
|
48
|
+
<input class="ui-input" type="text" id="resp-name"></input>
|
|
49
|
+
<span class="ui-form-helper">Stacks vertically in narrow containers, horizontal at >= 30rem</span>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<!-- @required_field -->
|
|
55
|
+
<div class="ui-field">
|
|
56
|
+
<label class="ui-label ui-label--required" for="req">Required Field</label>
|
|
57
|
+
<div class="ui-field__control">
|
|
58
|
+
<input class="ui-input" type="text" id="req" required></input>
|
|
59
|
+
</div>
|
|
60
|
+
</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('field visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'field');
|
|
15
15
|
await saveForLostPixel(page, 'field');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|