@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,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Code Block
|
|
3
|
+
description: Multi-line code display with monospace font, horizontal scroll, and optional line numbers.
|
|
4
|
+
mergeInto: code
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!-- @default -->
|
|
8
|
+
<pre class="ui-code-block">
|
|
9
|
+
<code class="ui-code-block__code">.button {
|
|
10
|
+
display: inline-flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: var(--ui-space-1);
|
|
13
|
+
}</code>
|
|
14
|
+
</pre>
|
|
15
|
+
|
|
16
|
+
<!-- @horizontal_overflow -->
|
|
17
|
+
<pre class="ui-code-block">
|
|
18
|
+
<code class="ui-code-block__code">export function calculateGridRhythm(element: HTMLElement, unit: number): { violations: string[]; totalHeight: number } {
|
|
19
|
+
const computed = getComputedStyle(element);
|
|
20
|
+
return { violations: [], totalHeight: parseFloat(computed.height) };
|
|
21
|
+
}</code>
|
|
22
|
+
</pre>
|
|
23
|
+
|
|
24
|
+
<!-- @compact -->
|
|
25
|
+
<pre class="ui-code-block ui-code-block--compact">
|
|
26
|
+
<code class="ui-code-block__code">npm install @teseor/css
|
|
27
|
+
import "@teseor/css/dist/index.css";</code>
|
|
28
|
+
</pre>
|
|
29
|
+
|
|
30
|
+
<!-- @line_numbers -->
|
|
31
|
+
<pre class="ui-code-block ui-code-block--line-numbers">
|
|
32
|
+
<code class="ui-code-block__code">
|
|
33
|
+
<span class="ui-code-block__line">
|
|
34
|
+
<span class="ui-code-block__line-number"></span>
|
|
35
|
+
<span>@layer components {</span>
|
|
36
|
+
</span>
|
|
37
|
+
<span class="ui-code-block__line">
|
|
38
|
+
<span class="ui-code-block__line-number"></span>
|
|
39
|
+
<span> .card {</span>
|
|
40
|
+
</span>
|
|
41
|
+
<span class="ui-code-block__line">
|
|
42
|
+
<span class="ui-code-block__line-number"></span>
|
|
43
|
+
<span> padding: var(--_padding);</span>
|
|
44
|
+
</span>
|
|
45
|
+
<span class="ui-code-block__line">
|
|
46
|
+
<span class="ui-code-block__line-number"></span>
|
|
47
|
+
<span> background: var(--_bg);</span>
|
|
48
|
+
</span>
|
|
49
|
+
<span class="ui-code-block__line">
|
|
50
|
+
<span class="ui-code-block__line-number"></span>
|
|
51
|
+
<span> border-radius: var(--_radius);</span>
|
|
52
|
+
</span>
|
|
53
|
+
<span class="ui-code-block__line">
|
|
54
|
+
<span class="ui-code-block__line-number"></span>
|
|
55
|
+
<span> }</span>
|
|
56
|
+
</span>
|
|
57
|
+
<span class="ui-code-block__line">
|
|
58
|
+
<span class="ui-code-block__line-number"></span>
|
|
59
|
+
<span>}</span>
|
|
60
|
+
</span>
|
|
61
|
+
</code>
|
|
62
|
+
</pre>
|
|
63
|
+
|
|
64
|
+
<!-- @inline_code -->
|
|
65
|
+
<!-- Use the related ui-code class for inline snippets. -->
|
|
66
|
+
<p>
|
|
67
|
+
<span>Use </span>
|
|
68
|
+
<code class="ui-code">var(--ui-space-2)</code>
|
|
69
|
+
<span> for consistent spacing.</span>
|
|
70
|
+
</p>
|
|
71
|
+
|
|
72
|
+
<!-- @compact_with_line_numbers -->
|
|
73
|
+
<pre class="ui-code-block ui-code-block--compact ui-code-block--line-numbers">
|
|
74
|
+
<code class="ui-code-block__code">
|
|
75
|
+
<span class="ui-code-block__line">
|
|
76
|
+
<span class="ui-code-block__line-number"></span>
|
|
77
|
+
<span>const name = "world";</span>
|
|
78
|
+
</span>
|
|
79
|
+
<span class="ui-code-block__line">
|
|
80
|
+
<span class="ui-code-block__line-number"></span>
|
|
81
|
+
<span>console.log(`Hello, ${name}`);</span>
|
|
82
|
+
</span>
|
|
83
|
+
</code>
|
|
84
|
+
</pre>
|
|
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('code-block visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'code-block');
|
|
15
15
|
await saveForLostPixel(page, 'code-block');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Heading
|
|
3
|
+
description: Semantic headings with visual size control. Use semantic level (h1-h6) for structure, size modifier for visual styling.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @sizes | column -->
|
|
7
|
+
<h1 class="ui-heading ui-heading--4xl">Heading 4xl</h1>
|
|
8
|
+
<h2 class="ui-heading ui-heading--3xl">Heading 3xl</h2>
|
|
9
|
+
<h3 class="ui-heading ui-heading--2xl">Heading 2xl</h3>
|
|
10
|
+
<h4 class="ui-heading ui-heading--xl">Heading xl</h4>
|
|
11
|
+
<h5 class="ui-heading ui-heading--lg">Heading lg</h5>
|
|
12
|
+
<h6 class="ui-heading ui-heading--md">Heading md</h6>
|
|
13
|
+
<p class="ui-heading ui-heading--sm">Heading sm</p>
|
|
14
|
+
|
|
15
|
+
<!-- @decoupled_sizing | column -->
|
|
16
|
+
<!-- Use any size with any semantic level. -->
|
|
17
|
+
<h2 class="ui-heading ui-heading--3xl">h2 styled as 3xl</h2>
|
|
18
|
+
<h1 class="ui-heading ui-heading--lg">h1 styled as lg</h1>
|
|
19
|
+
|
|
20
|
+
<!-- @with_text_utilities | column -->
|
|
21
|
+
<!-- Combine with text utilities for color and other styles. -->
|
|
22
|
+
<h2 class="ui-heading ui-heading--2xl ui-text-muted">Muted heading</h2>
|
|
23
|
+
<h2 class="ui-heading ui-heading--2xl ui-text-primary">Primary heading</h2>
|
|
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('heading visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'heading');
|
|
15
15
|
await saveForLostPixel(page, 'heading');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Kbd
|
|
3
|
+
description: Keyboard shortcut display with monospace font and key-cap styling.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<p>{{ t('press', 'Press') }} <kbd class="ui-kbd">Ctrl</kbd> + <kbd class="ui-kbd">S</kbd> {{ t('to_save', 'to save') }}</p>
|
|
8
|
+
|
|
9
|
+
<!-- @variations | row -->
|
|
10
|
+
<kbd class="ui-kbd">Esc</kbd>
|
|
11
|
+
<kbd class="ui-kbd">Enter</kbd>
|
|
12
|
+
<kbd class="ui-kbd">Tab</kbd>
|
|
13
|
+
<kbd class="ui-kbd">Shift</kbd>
|
|
14
|
+
<kbd class="ui-kbd">Space</kbd>
|
|
@@ -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('kbd visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'kbd');
|
|
15
15
|
await saveForLostPixel(page, 'kbd');
|
|
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: Link
|
|
3
|
+
description: Styled anchor element for text links with consistent hover and focus states.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<a class="ui-link" href="#">Default link</a>
|
|
8
|
+
|
|
9
|
+
<!-- @muted_variant -->
|
|
10
|
+
<!-- For secondary or less prominent links -->
|
|
11
|
+
<a class="ui-link ui-link--muted" href="#">Muted link</a>
|
|
12
|
+
|
|
13
|
+
<!-- @subtle_variant -->
|
|
14
|
+
<!-- No underline by default, shows on hover -->
|
|
15
|
+
<a class="ui-link ui-link--subtle" href="#">Subtle link</a>
|
|
16
|
+
|
|
17
|
+
<!-- @external_link -->
|
|
18
|
+
<!-- Adds arrow indicator for external links -->
|
|
19
|
+
<a class="ui-link ui-link--external" href="#">External link</a>
|
|
20
|
+
|
|
21
|
+
<!-- @disabled -->
|
|
22
|
+
<a class="ui-link ui-link--disabled" href="#" aria-disabled="true">Disabled link</a>
|
|
23
|
+
|
|
24
|
+
<!-- @in_context -->
|
|
25
|
+
<!-- Links inherit text size from context -->
|
|
26
|
+
<p style="font-size: var(--ui-size-sm);">
|
|
27
|
+
Read our
|
|
28
|
+
<a class="ui-link" href="#">privacy policy</a>
|
|
29
|
+
for more information.
|
|
30
|
+
</p>
|
|
@@ -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('link visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'link');
|
|
15
15
|
await saveForLostPixel(page, 'link');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: List
|
|
3
|
+
description: Ordered and unordered lists with spacing control, inline layout, and marker customization.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<!-- Unordered list with default bullet markers. -->
|
|
8
|
+
<ul class="ui-list">
|
|
9
|
+
<li class="ui-list__item">First item in the list</li>
|
|
10
|
+
<li class="ui-list__item">Second item in the list</li>
|
|
11
|
+
<li class="ui-list__item">Third item in the list</li>
|
|
12
|
+
</ul>
|
|
13
|
+
|
|
14
|
+
<!-- @ordered -->
|
|
15
|
+
<!-- Use on ol for numbered markers. -->
|
|
16
|
+
<ol class="ui-list">
|
|
17
|
+
<li>Create the branch</li>
|
|
18
|
+
<li>Implement the feature</li>
|
|
19
|
+
<li>Open a pull request</li>
|
|
20
|
+
<li>Merge after review</li>
|
|
21
|
+
</ol>
|
|
22
|
+
|
|
23
|
+
<!-- @unstyled -->
|
|
24
|
+
<!-- Removes markers and indent for nav or custom lists. -->
|
|
25
|
+
<ul class="ui-list ui-list--unstyled">
|
|
26
|
+
<li>No bullet markers</li>
|
|
27
|
+
<li>No inline padding</li>
|
|
28
|
+
<li>Clean vertical stack</li>
|
|
29
|
+
</ul>
|
|
30
|
+
|
|
31
|
+
<!-- @inline -->
|
|
32
|
+
<!-- Horizontal flow with wrapping. Markers removed. -->
|
|
33
|
+
<ul class="ui-list ui-list--inline">
|
|
34
|
+
<li>HTML</li>
|
|
35
|
+
<li>CSS</li>
|
|
36
|
+
<li>JavaScript</li>
|
|
37
|
+
<li>TypeScript</li>
|
|
38
|
+
<li>React</li>
|
|
39
|
+
</ul>
|
|
40
|
+
|
|
41
|
+
<!-- @spacing -->
|
|
42
|
+
<!-- Control gap between items with compact or loose variants. -->
|
|
43
|
+
<div class="ui-column" style="gap: var(--ui-space-2)">
|
|
44
|
+
<p>Compact</p>
|
|
45
|
+
<ul class="ui-list ui-list--compact">
|
|
46
|
+
<li>Tight spacing</li>
|
|
47
|
+
<li>No gap between items</li>
|
|
48
|
+
<li>Dense content</li>
|
|
49
|
+
</ul>
|
|
50
|
+
<p>Default</p>
|
|
51
|
+
<ul class="ui-list">
|
|
52
|
+
<li>Standard spacing</li>
|
|
53
|
+
<li>One grid unit gap</li>
|
|
54
|
+
<li>Balanced readability</li>
|
|
55
|
+
</ul>
|
|
56
|
+
<p>Loose</p>
|
|
57
|
+
<ul class="ui-list ui-list--loose">
|
|
58
|
+
<li>Extra breathing room</li>
|
|
59
|
+
<li>Two grid units gap</li>
|
|
60
|
+
<li>Prominent separation</li>
|
|
61
|
+
</ul>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<!-- @nested -->
|
|
65
|
+
<!-- Lists inside lists inherit spacing and show sub-level markers. -->
|
|
66
|
+
<ul class="ui-list">
|
|
67
|
+
<li>Top-level item</li>
|
|
68
|
+
<li>
|
|
69
|
+
<span>Parent with children</span>
|
|
70
|
+
<ul class="ui-list">
|
|
71
|
+
<li>Nested child</li>
|
|
72
|
+
<li>Another nested child</li>
|
|
73
|
+
</ul>
|
|
74
|
+
</li>
|
|
75
|
+
<li>Back to top level</li>
|
|
76
|
+
</ul>
|
|
@@ -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('list visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'list');
|
|
15
15
|
await saveForLostPixel(page, 'list');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Mark
|
|
3
|
+
description: Highlighted text for search results, emphasis, or annotations.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- @default -->
|
|
7
|
+
<p>{{ t('the', 'The') }} <mark class="ui-mark">{{ t('highlighted', 'highlighted') }}</mark> {{ t('text_stands_out', 'text stands out from surrounding content.') }}</p>
|
|
8
|
+
|
|
9
|
+
<!-- @search_results -->
|
|
10
|
+
<p>{{ t('results_for', 'Results for') }} <mark class="ui-mark">{{ t('design_tokens', 'design tokens') }}</mark>: CSS custom properties that store <mark class="ui-mark">{{ t('design', 'design') }}</mark> decisions as reusable <mark class="ui-mark">{{ t('tokens', 'tokens') }}</mark>.</p>
|
|
@@ -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('mark visual regression', () => {
|
|
12
12
|
test('all variations', async ({ page }) => {
|
|
13
|
-
await
|
|
13
|
+
await setupVisualTestFromHtmlDocs(page, DOCS_PATH);
|
|
14
14
|
await validateGridRhythm(page, 'mark');
|
|
15
15
|
await saveForLostPixel(page, 'mark');
|
|
16
|
-
await expect(page.locator('body')).toHaveScreenshot('
|
|
16
|
+
await expect(page.locator('body')).toHaveScreenshot('visual.png');
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Accessibility
|
|
3
|
+
description: Built-in accessibility features: reduced motion, system theme detection, high contrast, and keyboard focus indicators
|
|
4
|
+
skipValidation: true
|
|
5
|
+
weight: 3
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- @reduced_motion -->
|
|
9
|
+
<!-- All animations and transitions respect prefers-reduced-motion. Duration tokens are set to 0ms, and component animations are disabled with animation: none. -->
|
|
10
|
+
// Motion tokens (config/tokens/motion)
|
|
11
|
+
:root {
|
|
12
|
+
--ui-duration-fast: 100ms;
|
|
13
|
+
--ui-duration-base: 150ms;
|
|
14
|
+
--ui-duration-slow: 250ms;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@media (prefers-reduced-motion: reduce) {
|
|
18
|
+
:root {
|
|
19
|
+
--ui-duration-fast: 0ms;
|
|
20
|
+
--ui-duration-base: 0ms;
|
|
21
|
+
--ui-duration-slow: 0ms;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// Example: spinner
|
|
25
|
+
@media (prefers-reduced-motion: reduce) {
|
|
26
|
+
.spinner {
|
|
27
|
+
animation: none;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
<!-- @system_theme_detection -->
|
|
32
|
+
<!-- Dark mode activates automatically when the OS is set to dark and no explicit data-theme attribute is present. Set data-theme to override. -->
|
|
33
|
+
<div class="ui-card">
|
|
34
|
+
<p>Follows system preference when no data-theme is set</p>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="ui-card" data-theme="dark">
|
|
37
|
+
<p>Forced dark regardless of system preference</p>
|
|
38
|
+
</div>
|
|
39
|
+
// Explicit toggle (highest priority)
|
|
40
|
+
[data-theme="dark"] {
|
|
41
|
+
--ui-color-bg: var(--ui-color-neutral-900);
|
|
42
|
+
...
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Auto-detect (only when no data-theme is set)
|
|
46
|
+
@media (prefers-color-scheme: dark) {
|
|
47
|
+
:root:not([data-theme]) {
|
|
48
|
+
--ui-color-bg: var(--ui-color-neutral-900);
|
|
49
|
+
...
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
<!-- @focus_indicators -->
|
|
54
|
+
<!-- All interactive elements use :focus-visible for keyboard-only focus rings. Mouse clicks do not show focus outlines. -->
|
|
55
|
+
<div class="ui-row ui-row--sm">
|
|
56
|
+
<button class="ui-button ui-button--focus">Button</button>
|
|
57
|
+
<input class="ui-input ui-input--focus" placeholder="Input"></input>
|
|
58
|
+
<select class="ui-select ui-select--focus">
|
|
59
|
+
<option>Select</option>
|
|
60
|
+
</select>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<!-- @contrast_preference -->
|
|
64
|
+
<!-- Adapts border visibility, muted text, and subtle backgrounds when users request more or less contrast via OS settings. -->
|
|
65
|
+
@media (prefers-contrast: more) {
|
|
66
|
+
:root {
|
|
67
|
+
--ui-color-border: var(--ui-color-neutral-400);
|
|
68
|
+
--ui-color-border-strong: var(--ui-color-neutral-600);
|
|
69
|
+
--ui-color-text-muted: var(--ui-color-neutral-600);
|
|
70
|
+
--ui-color-bg-subtle: var(--ui-color-neutral-200);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
@media (prefers-contrast: less) {
|
|
74
|
+
:root {
|
|
75
|
+
--ui-color-border: var(--ui-color-neutral-150);
|
|
76
|
+
--ui-color-border-strong: var(--ui-color-neutral-200);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// Tokens affected by prefers-contrast:
|
|
80
|
+
// --ui-color-border (default: neutral-200 -> more: neutral-400)
|
|
81
|
+
// --ui-color-border-strong (default: neutral-300 -> more: neutral-600)
|
|
82
|
+
// --ui-color-text-muted (default: neutral-500 -> more: neutral-600)
|
|
83
|
+
// --ui-color-bg-subtle (default: neutral-100 -> more: neutral-200)
|
|
84
|
+
|
|
85
|
+
<!-- @forced_colors_high_contrast -->
|
|
86
|
+
<!-- Windows High Contrast Mode support. Focus rings use transparent outlines that become visible in forced-colors mode, and the focus color maps to the system Highlight color. -->
|
|
87
|
+
// Normal mode: box-shadow visible, outline transparent
|
|
88
|
+
.input:focus-visible {
|
|
89
|
+
outline: var(--ui-border-width-md) solid transparent;
|
|
90
|
+
outline-offset: var(--ui-border-width-sm);
|
|
91
|
+
box-shadow: 0 0 0 var(--ui-border-width-md)
|
|
92
|
+
var(--ui-color-focus);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Forced colors: browser removes box-shadow,
|
|
96
|
+
// transparent outline becomes system-colored
|
|
97
|
+
@media (forced-colors: active) {
|
|
98
|
+
:root {
|
|
99
|
+
--ui-color-focus: Highlight;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Components with forced-colors support:
|
|
103
|
+
// Forms: input, select, checkbox, radio, slider
|
|
104
|
+
// Actions: button, close-button
|
|
105
|
+
// Navigation: tabs, breadcrumb, pagination
|
|
106
|
+
// Overlays: modal, drawer, dialog
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Getting Started
|
|
3
|
+
description: Install, import, and start using the CSS library in your project
|
|
4
|
+
skipValidation: true
|
|
5
|
+
weight: 1
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- @installation -->
|
|
9
|
+
<!-- Install the package from npm. -->
|
|
10
|
+
npm install @teseor/css
|
|
11
|
+
# or
|
|
12
|
+
pnpm add @teseor/css
|
|
13
|
+
# or
|
|
14
|
+
yarn add @teseor/css
|
|
15
|
+
|
|
16
|
+
<!-- @import -->
|
|
17
|
+
<!-- Import the compiled CSS in your app entry point. -->
|
|
18
|
+
import '@teseor/css';
|
|
19
|
+
// or
|
|
20
|
+
import '@teseor/css/dist/index.css';
|
|
21
|
+
<link rel="stylesheet" href="node_modules/@teseor/css/dist/index.css">
|
|
22
|
+
|
|
23
|
+
<!-- @root_class -->
|
|
24
|
+
<!-- Add the .ui-root class to set baseline typography and colors. -->
|
|
25
|
+
<div class="ui-root">
|
|
26
|
+
<p>Text inherits font, size, color from .ui-root</p>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<!-- @first_component -->
|
|
30
|
+
<!-- Use any component by adding its class. No JS required. -->
|
|
31
|
+
<div class="ui-row ui-row--sm">
|
|
32
|
+
<button class="ui-button">Primary</button>
|
|
33
|
+
<button class="ui-button ui-button--secondary">Secondary</button>
|
|
34
|
+
<button class="ui-button ui-button--danger">Danger</button>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="ui-card">
|
|
37
|
+
<h3 class="ui-heading ui-heading--4">Card Title</h3>
|
|
38
|
+
<p>Cards use semantic tokens for padding, border, and background.</p>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<!-- @customize -->
|
|
42
|
+
<!-- Override design tokens with CSS custom properties. No build step required. -->
|
|
43
|
+
<div class="theme-demo" style="--ui-hue-primary: 270">
|
|
44
|
+
<button class="ui-button">Purple brand</button>
|
|
45
|
+
</div>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Theming
|
|
3
|
+
description: Customize the design system with CSS custom properties
|
|
4
|
+
skipValidation: true
|
|
5
|
+
weight: 2
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- @brand_colors -->
|
|
9
|
+
<!-- Change the entire color palette by adjusting hue values -->
|
|
10
|
+
<div class="theme-demo">
|
|
11
|
+
<button class="ui-button">Primary</button>
|
|
12
|
+
<button class="ui-button ui-button--secondary">Secondary</button>
|
|
13
|
+
<button class="ui-button ui-button--danger">Danger</button>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="theme-demo theme-purple">
|
|
16
|
+
<button class="ui-button">Primary</button>
|
|
17
|
+
<button class="ui-button ui-button--secondary">Secondary</button>
|
|
18
|
+
<button class="ui-button ui-button--danger">Danger</button>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="theme-demo theme-teal">
|
|
21
|
+
<button class="ui-button">Primary</button>
|
|
22
|
+
<button class="ui-button ui-button--secondary">Secondary</button>
|
|
23
|
+
<button class="ui-button ui-button--danger">Danger</button>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="theme-demo theme-orange">
|
|
26
|
+
<button class="ui-button">Primary</button>
|
|
27
|
+
<button class="ui-button ui-button--secondary">Secondary</button>
|
|
28
|
+
<button class="ui-button ui-button--danger">Danger</button>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<!-- @dark_mode -->
|
|
32
|
+
<!-- Dark mode uses the CSS light-dark() function. Tokens resolve automatically based on color-scheme. Override with data-theme attribute. -->
|
|
33
|
+
<div class="theme-demo">
|
|
34
|
+
<div class="ui-card">
|
|
35
|
+
<p>Follows OS color scheme</p>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="theme-demo" data-theme="light">
|
|
39
|
+
<div class="ui-card">
|
|
40
|
+
<p>Always light</p>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="theme-demo" data-theme="dark">
|
|
44
|
+
<div class="ui-card">
|
|
45
|
+
<p>Always dark</p>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
<!-- @component_overrides -->
|
|
50
|
+
<!-- Override specific component tokens -->
|
|
51
|
+
<div class="theme-demo custom-buttons">
|
|
52
|
+
<button class="ui-button ui-button--sm">Small</button>
|
|
53
|
+
<button class="ui-button">Default</button>
|
|
54
|
+
<button class="ui-button ui-button--lg">Large</button>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="theme-demo custom-cards">
|
|
57
|
+
<div class="ui-card">
|
|
58
|
+
<p>Card with custom padding</p>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<!-- @full_theme_example -->
|
|
63
|
+
<!-- Complete theme customization -->
|
|
64
|
+
<div class="theme-demo theme-corporate">
|
|
65
|
+
<button class="ui-button">Action</button>
|
|
66
|
+
<div class="ui-card">
|
|
67
|
+
<p>Corporate theme with teal accent and sharp corners</p>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|