@birdapi/velinstyle 0.8.0 → 0.9.0
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/README.de.md +135 -246
- package/README.md +134 -245
- package/cli/blueprints/onboarding.html +2 -2
- package/cli/cli-manifest.json +97 -0
- package/cli/docgen/extract-a11y.js +89 -0
- package/cli/docgen/extract-attributes.js +95 -0
- package/cli/docgen/extract-cli.js +50 -0
- package/cli/docgen/extract-components.js +175 -0
- package/cli/docgen/extract-meta.js +32 -0
- package/cli/docgen/extract-rules.js +76 -0
- package/cli/docgen/extract-tokens.js +79 -0
- package/cli/docgen/extract-utilities.js +75 -0
- package/cli/docgen/markdown.js +43 -0
- package/cli/docs-generate.js +196 -0
- package/cli/index.js +121 -5
- package/cli/meta.js +97 -0
- package/cli/perf-audit.js +174 -0
- package/cli/pii-scanner.js +134 -0
- package/cli/scanner-rules-data.js +62 -0
- package/cli/scanner.js +68 -1
- package/cli/search-index.js +163 -0
- package/cli/tokens-build.js +21 -1
- package/cli/tokens-validate.js +69 -0
- package/components/a11y-entry.js +42 -0
- package/components/a11y-utils.js +71 -0
- package/components/focus-manager.js +45 -8
- package/components/index.js +22 -12
- package/components/runtime/component-loaders.js +43 -0
- package/components/runtime/index.js +77 -0
- package/components/runtime-entry.js +10 -0
- package/components/sanitize.js +135 -54
- package/components/velin-accordion.js +12 -0
- package/components/velin-bottom-nav.js +19 -0
- package/components/velin-carousel.js +2 -2
- package/components/velin-code-block.js +142 -0
- package/components/velin-command.js +15 -0
- package/components/velin-copy.js +18 -5
- package/components/velin-counter.js +3 -0
- package/components/velin-dialog.js +9 -1
- package/components/velin-email.js +94 -0
- package/components/velin-icon.js +65 -22
- package/components/velin-lightbox.js +8 -3
- package/components/velin-live-dot.js +5 -0
- package/components/velin-modal.js +6 -3
- package/components/velin-popover.js +34 -2
- package/components/velin-reveal.js +7 -65
- package/components/velin-scroll-top.js +1 -1
- package/components/velin-search.js +267 -0
- package/components/velin-secure-field.js +99 -0
- package/components/velin-sparkline.js +27 -7
- package/components/{velin-stepper-wc.js → velin-stepper.js} +37 -8
- package/components/velin-theme-toggle.js +12 -5
- package/components/velin-toast.js +4 -0
- package/components/{velin-tooltip-wc.js → velin-tooltip.js} +22 -3
- package/core/a11y/component-contracts.json +221 -0
- package/core/attributes/index.js +6 -0
- package/core/attributes/registry.js +268 -0
- package/core/highlight/highlight.js +114 -0
- package/core/highlight/index.js +29 -0
- package/core/highlight/languages/_utils.js +52 -0
- package/core/highlight/languages/blade.js +16 -0
- package/core/highlight/languages/css.js +26 -0
- package/core/highlight/languages/html.js +17 -0
- package/core/highlight/languages/js.js +58 -0
- package/core/highlight/languages/json.js +14 -0
- package/core/highlight/languages/markdown.js +16 -0
- package/core/highlight/languages/php.js +39 -0
- package/core/highlight/languages/plain.js +7 -0
- package/core/highlight/languages/shell.js +33 -0
- package/core/highlight/languages/sql.js +20 -0
- package/core/highlight/languages/typescript.js +28 -0
- package/core/highlight/observe.js +53 -0
- package/core/highlight/registry.js +107 -0
- package/core/highlight/render.js +35 -0
- package/core/highlight/types.js +28 -0
- package/core/meta/build.js +293 -0
- package/core/meta/index.js +17 -0
- package/core/meta/schema.js +49 -0
- package/core/motion/effects.js +54 -0
- package/core/motion/index.js +76 -0
- package/core/motion/scheduler.js +72 -0
- package/core/motion/scroll.js +32 -0
- package/core/motion/stagger.js +24 -0
- package/core/search/docs-url.js +96 -0
- package/core/search/engine.js +139 -0
- package/core/search/highlight.js +48 -0
- package/core/search/index.js +126 -0
- package/core/search/providers.js +36 -0
- package/core/search/types.js +61 -0
- package/core/search/worker-client.js +56 -0
- package/core/search/worker.js +20 -0
- package/dist/chunks/a11y-utils-IRC7LOPF.js +16 -0
- package/dist/chunks/attributes-3BZLI7XF.js +364 -0
- package/dist/chunks/attributes-4N5JP4CG.js +364 -0
- package/dist/chunks/attributes-5Q2WXGRC.js +374 -0
- package/dist/chunks/attributes-AIR7SVLK.js +364 -0
- package/dist/chunks/attributes-BGRN5XZO.js +364 -0
- package/dist/chunks/attributes-BVSQAYLR.js +364 -0
- package/dist/chunks/attributes-CDYFUY7Y.js +364 -0
- package/dist/chunks/attributes-JMYJZBPE.js +364 -0
- package/dist/chunks/attributes-R5JY3X4O.js +374 -0
- package/dist/chunks/attributes-STYCS3O5.js +391 -0
- package/dist/chunks/attributes-TNSPQTHX.js +374 -0
- package/dist/chunks/attributes-TPANLMLF.js +391 -0
- package/dist/chunks/blade-LIQLVKZQ.js +19 -0
- package/dist/chunks/browser-MRKYZPEH.js +1149 -0
- package/dist/chunks/chunk-2354NEBP.js +109 -0
- package/dist/chunks/chunk-2VNA7G7S.js +109 -0
- package/dist/chunks/chunk-42VVPW6N.js +132 -0
- package/dist/chunks/chunk-7FFAMRFV.js +44 -0
- package/dist/chunks/chunk-7MCGPHVC.js +69 -0
- package/dist/chunks/chunk-AQLRJSGG.js +109 -0
- package/dist/chunks/chunk-EWPSDMQT.js +109 -0
- package/dist/chunks/chunk-F7OLHTGX.js +22 -0
- package/dist/chunks/chunk-J472ERN2.js +242 -0
- package/dist/chunks/chunk-LA7264K4.js +85 -0
- package/dist/chunks/chunk-M5CHQVP6.js +61 -0
- package/dist/chunks/chunk-MKZP2TBH.js +89 -0
- package/dist/chunks/chunk-QTJJ3DPO.js +109 -0
- package/dist/chunks/chunk-RDE3QE7Z.js +89 -0
- package/dist/chunks/chunk-RSMRR27R.js +109 -0
- package/dist/chunks/chunk-RZQVWFHW.js +109 -0
- package/dist/chunks/chunk-SRL6EWHP.js +109 -0
- package/dist/chunks/chunk-U4XHMZ7D.js +109 -0
- package/dist/chunks/chunk-V5YIUA6G.js +109 -0
- package/dist/chunks/chunk-XIET2VSZ.js +109 -0
- package/dist/chunks/chunk-XYLJ2GCB.js +205 -0
- package/dist/chunks/chunk-Z4JYQ2XX.js +51 -0
- package/dist/chunks/chunk-ZPSPKUYD.js +109 -0
- package/dist/chunks/css-MQ5YU77P.js +28 -0
- package/dist/chunks/highlight-GJHHV4KM.js +37 -0
- package/dist/chunks/highlight-XTHRKBA3.js +37 -0
- package/dist/chunks/html-ZODC4DLQ.js +20 -0
- package/dist/chunks/js-MNSNYTJU.js +7 -0
- package/dist/chunks/json-VEM2HFH3.js +17 -0
- package/dist/chunks/markdown-E7OPGS3S.js +19 -0
- package/dist/chunks/php-MLL7T3LT.js +41 -0
- package/dist/chunks/plain-LJJDC5TN.js +8 -0
- package/dist/chunks/runtime-entry.js +14 -0
- package/dist/chunks/shell-QTRK4U4E.js +35 -0
- package/dist/chunks/sql-PPWLHGJ2.js +23 -0
- package/dist/chunks/typescript-JT3CCYWL.js +30 -0
- package/dist/chunks/velin-accordion-FBIPAEXG.js +105 -0
- package/dist/chunks/velin-accordion-QAQO7BI7.js +117 -0
- package/dist/chunks/velin-announcer-PVTXXCWR.js +33 -0
- package/dist/chunks/velin-bottom-nav-2N2TYWOF.js +86 -0
- package/dist/chunks/velin-bottom-nav-7GEMPIM6.js +86 -0
- package/dist/chunks/velin-bottom-nav-CTU6FFZV.js +101 -0
- package/dist/chunks/velin-bottom-nav-N3DFQR66.js +86 -0
- package/dist/chunks/velin-carousel-Y5VCOABZ.js +213 -0
- package/dist/chunks/velin-carousel-ZTBANFQQ.js +213 -0
- package/dist/chunks/velin-code-block-ASUBTAQV.js +119 -0
- package/dist/chunks/velin-code-block-CIAURDRJ.js +132 -0
- package/dist/chunks/velin-code-block-TSUKPY4C.js +123 -0
- package/dist/chunks/velin-code-block-Y6CM726Q.js +119 -0
- package/dist/chunks/velin-collapse-5XYBUIID.js +80 -0
- package/dist/chunks/velin-combobox-2KDTCQ7N.js +155 -0
- package/dist/chunks/velin-combobox-NXS4QB4R.js +155 -0
- package/dist/chunks/velin-combobox-UGA56HP3.js +155 -0
- package/dist/chunks/velin-command-CKDNO4BW.js +148 -0
- package/dist/chunks/velin-command-M7RNHUPR.js +136 -0
- package/dist/chunks/velin-command-ONKO2A3J.js +136 -0
- package/dist/chunks/velin-command-TMLSRGIU.js +136 -0
- package/dist/chunks/velin-copy-G2TZ5YBB.js +81 -0
- package/dist/chunks/velin-copy-NYDBOKXT.js +81 -0
- package/dist/chunks/velin-copy-T5KDTDXP.js +81 -0
- package/dist/chunks/velin-countdown-4ZVDGK4R.js +101 -0
- package/dist/chunks/velin-countdown-5XSTN3BH.js +101 -0
- package/dist/chunks/velin-countdown-7AIY66CU.js +101 -0
- package/dist/chunks/velin-counter-ISCTEAHI.js +118 -0
- package/dist/chunks/velin-counter-L5FYJF7A.js +121 -0
- package/dist/chunks/velin-dialog-D2GUHSCD.js +144 -0
- package/dist/chunks/velin-dialog-ELFOZIXZ.js +152 -0
- package/dist/chunks/velin-dialog-GTTZI564.js +147 -0
- package/dist/chunks/velin-dialog-IJLFDXAJ.js +144 -0
- package/dist/chunks/velin-dialog-TNS3WXMB.js +144 -0
- package/dist/chunks/velin-drawer-BE6TYN3H.js +130 -0
- package/dist/chunks/velin-drawer-DLL2GLT6.js +130 -0
- package/dist/chunks/velin-drawer-MJS6WCF7.js +130 -0
- package/dist/chunks/velin-dropdown-PLUIFA5M.js +172 -0
- package/dist/chunks/velin-email-N5B5ZYTE.js +90 -0
- package/dist/chunks/velin-email-NTM6DG3V.js +90 -0
- package/dist/chunks/velin-email-RBX6ZR4S.js +90 -0
- package/dist/chunks/velin-haptic-4QQTM3RK.js +50 -0
- package/dist/chunks/velin-icon-7M76DOPB.js +164 -0
- package/dist/chunks/velin-icon-KZO3IEHG.js +164 -0
- package/dist/chunks/velin-icon-WTFPG2DD.js +191 -0
- package/dist/chunks/velin-icon-ZTSKUOVN.js +193 -0
- package/dist/chunks/velin-lightbox-6E7CAATP.js +149 -0
- package/dist/chunks/velin-lightbox-I75U6JF4.js +140 -0
- package/dist/chunks/velin-lightbox-QOTB4PRL.js +140 -0
- package/dist/chunks/velin-lightbox-UCD6N7HF.js +140 -0
- package/dist/chunks/velin-live-dot-RJHX2DGY.js +74 -0
- package/dist/chunks/velin-live-dot-XHUZCIDZ.js +67 -0
- package/dist/chunks/velin-menubar-I426AED2.js +86 -0
- package/dist/chunks/velin-menubar-J66JXRWW.js +86 -0
- package/dist/chunks/velin-menubar-SFEXJE56.js +86 -0
- package/dist/chunks/velin-modal-2HOBXE6F.js +176 -0
- package/dist/chunks/velin-modal-5HYNNNUI.js +176 -0
- package/dist/chunks/velin-modal-AEOTZ67O.js +177 -0
- package/dist/chunks/velin-modal-GLI2XZZB.js +176 -0
- package/dist/chunks/velin-persist-DFPL3QP4.js +110 -0
- package/dist/chunks/velin-popover-EXINRIGJ.js +145 -0
- package/dist/chunks/velin-popover-HQW6Q2Y6.js +172 -0
- package/dist/chunks/velin-popover-OXX7MRZ6.js +145 -0
- package/dist/chunks/velin-popover-T72HK3DF.js +151 -0
- package/dist/chunks/velin-popover-YKCCROJG.js +145 -0
- package/dist/chunks/velin-progress-ring-E4YRLZHH.js +66 -0
- package/dist/chunks/velin-rating-6CDBI6DG.js +91 -0
- package/dist/chunks/velin-rating-N4DI2XNL.js +91 -0
- package/dist/chunks/velin-rating-XRQJV4LO.js +91 -0
- package/dist/chunks/velin-scroll-top-F2FCZNYD.js +58 -0
- package/dist/chunks/velin-scroll-top-OHYVVHHY.js +58 -0
- package/dist/chunks/velin-scrollspy-OKCT4FDV.js +50 -0
- package/dist/chunks/velin-search-2XRQFBCS.js +556 -0
- package/dist/chunks/velin-search-4YHJWYSS.js +556 -0
- package/dist/chunks/velin-search-7B4KJ6TX.js +557 -0
- package/dist/chunks/velin-search-LWHY23Q5.js +474 -0
- package/dist/chunks/velin-secure-field-6PV7RZDJ.js +95 -0
- package/dist/chunks/velin-secure-field-H7FSBUJW.js +95 -0
- package/dist/chunks/velin-secure-field-OFNAXCDP.js +95 -0
- package/dist/chunks/velin-segmented-control-EKL4E3BL.js +109 -0
- package/dist/chunks/velin-segmented-control-GYD5BIXQ.js +109 -0
- package/dist/chunks/velin-segmented-control-PQX6LKOJ.js +109 -0
- package/dist/chunks/velin-sheet-3OGI4HD7.js +119 -0
- package/dist/chunks/velin-sheet-OUK6572T.js +119 -0
- package/dist/chunks/velin-sheet-R2Y67X6H.js +119 -0
- package/dist/chunks/velin-sparkline-GVEANJVW.js +184 -0
- package/dist/chunks/velin-sparkline-KDA3GQAN.js +162 -0
- package/dist/chunks/velin-sparkline-XVTFC6GE.js +181 -0
- package/dist/chunks/velin-stepper-2ZIHLKGM.js +141 -0
- package/dist/chunks/velin-stepper-7ECRUYHD.js +148 -0
- package/dist/chunks/velin-stepper-FYEUEWE6.js +141 -0
- package/dist/chunks/velin-stepper-X54WGHDG.js +141 -0
- package/dist/chunks/velin-stepper-wc-QU3KRVQR.js +133 -0
- package/dist/chunks/velin-tabs-5UQ5ZVMV.js +138 -0
- package/dist/chunks/velin-theme-toggle-32J2CBNC.js +291 -0
- package/dist/chunks/velin-theme-toggle-BNNS7WLV.js +285 -0
- package/dist/chunks/velin-theme-toggle-NO7V4TWI.js +285 -0
- package/dist/chunks/velin-theme-toggle-QELCJM2Q.js +291 -0
- package/dist/chunks/velin-toast-OMMOA2DK.js +109 -0
- package/dist/chunks/velin-toast-RCZ4CSUC.js +109 -0
- package/dist/chunks/velin-toast-RSF2IHT3.js +113 -0
- package/dist/chunks/velin-toast-WEUBTJG6.js +109 -0
- package/dist/chunks/velin-tooltip-664IOHZA.js +112 -0
- package/dist/chunks/velin-tooltip-BDHGRTQB.js +112 -0
- package/dist/chunks/velin-tooltip-HVUOKNVX.js +112 -0
- package/dist/chunks/velin-tooltip-wc-LXDVT6DE.js +103 -0
- package/dist/chunks/worker-client-R6DBYPFT.js +46 -0
- package/dist/llms.test.txt +40 -0
- package/dist/llms.txt +40 -0
- package/dist/search-index.json +1773 -0
- package/dist/search-index.test.json +1773 -0
- package/dist/themes/brutalist.min.css +1 -1
- package/dist/themes/midnight.min.css +1 -1
- package/dist/themes/pastel.min.css +1 -1
- package/dist/themes/retro.min.css +1 -1
- package/dist/themes/sunset.min.css +1 -1
- package/dist/velin-agent.json +684 -0
- package/dist/velin-agent.test.json +684 -0
- package/dist/velinstyle-components.iife.js +7715 -3515
- package/dist/velinstyle-components.js +7087 -2859
- package/dist/velinstyle-components.min.js +196 -109
- package/dist/velinstyle.css +604 -65
- package/dist/velinstyle.d.ts +54 -0
- package/dist/velinstyle.min.css +1 -1
- package/examples/search-index.schema.json +33 -0
- package/package.json +56 -10
- package/src/a11y/authentication.css +37 -0
- package/src/a11y/consistent-help.css +22 -0
- package/src/a11y/dragging-alternatives.css +30 -0
- package/src/a11y/focus-appearance.css +20 -0
- package/src/a11y/high-contrast-aaa.css +16 -26
- package/src/a11y/skip-link.css +3 -1
- package/src/a11y/sr-only.css +1 -1
- package/src/base/reset.css +0 -36
- package/src/base/wc-placeholder.css +102 -0
- package/src/components/attributes.css +42 -0
- package/src/components/highlight.css +182 -0
- package/src/components/input-group.css +1 -2
- package/src/components/nav.css +2 -3
- package/src/components/search.css +95 -0
- package/src/components/stepper.css +2 -4
- package/src/components/timeline.css +1 -2
- package/src/components/tooltip.css +2 -4
- package/src/layout/container.css +5 -5
- package/src/layout/grid.css +8 -8
- package/src/layout/patterns.css +5 -5
- package/src/themes/brutalist.css +2 -11
- package/src/themes/corporate.css +0 -9
- package/src/themes/earth.css +0 -9
- package/src/themes/forest.css +0 -9
- package/src/themes/midnight.css +1 -10
- package/src/themes/neon.css +0 -9
- package/src/themes/nordic.css +0 -9
- package/src/themes/ocean.css +0 -9
- package/src/themes/pastel.css +1 -10
- package/src/themes/retro.css +2 -11
- package/src/themes/sharp.css +0 -7
- package/src/themes/soft.css +0 -7
- package/src/themes/sunset.css +1 -10
- package/src/tokens/color.css +45 -46
- package/src/tokens/fonts.css +10 -0
- package/src/tokens/typography.css +4 -5
- package/src/utilities/animation.css +2 -2
- package/src/utilities/display.css +3 -3
- package/src/utilities/divide.css +2 -6
- package/src/utilities/responsive.css +4 -4
- package/src/utilities/safe-area.css +1 -1
- package/src/utilities/scroll-animation.css +34 -0
- package/src/utilities/spacing.css +17 -8
- package/src/utilities/text.css +4 -1
- package/src/velinstyle.css +9 -0
package/README.md
CHANGED
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
```
|
|
4
|
+
██╗ ██╗███████╗██╗ ██╗███╗ ██╗███████╗████████╗██╗ ██╗██╗ ███████╗
|
|
5
|
+
██║ ██║██╔════╝██║ ██║████╗ ██║██╔════╝╚══██╔══╝██║ ██║██║ ██╔════╝
|
|
6
|
+
██║ ██║█████╗ ██║ ██║██╔██╗ ██║███████╗ ██║ ███████║██║ █████╗
|
|
7
|
+
╚██╗ ██╔╝██╔══╝ ██║ ██║██║╚██╗██║╚════██║ ██║ ██╔══██║██║ ██╔══╝
|
|
8
|
+
╚████╔╝ ███████╗███████╗██║██║ ╚████║███████║ ██║ ██║ ██║███████╗███████╗
|
|
9
|
+
╚═══╝ ╚══════╝╚══════╝╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝
|
|
10
|
+
```
|
|
9
11
|
|
|
10
12
|
[](LICENSE)
|
|
11
|
-
[](docs/a11y.html)
|
|
13
|
-
[]()
|
|
14
|
-
[]()
|
|
13
|
+
[](https://github.com/SkyliteDesign/velinstyle/releases/tag/v0.9.0)
|
|
15
14
|
[](https://www.npmjs.com/package/@birdapi/velinstyle)
|
|
16
|
-
[](https://velinstyle.info/docs/a11y.html)
|
|
16
|
+
[](https://github.com/SkyliteDesign/velinstyle/stargazers)
|
|
17
|
+
[](CONTRIBUTING.md)
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
```bash
|
|
20
|
+
npm i @birdapi/velinstyle
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**[Website](https://velinstyle.info)** · **[Docs](https://velinstyle.info/docs/)** · **[Demos](https://velinstyle.info/demos/)** · **[npm](https://www.npmjs.com/package/@birdapi/velinstyle)** · **[Star on GitHub](https://github.com/SkyliteDesign/velinstyle)**
|
|
19
24
|
|
|
20
25
|
**English** · **[Deutsch](README.de.md)**
|
|
21
26
|
|
|
@@ -23,304 +28,190 @@
|
|
|
23
28
|
|
|
24
29
|
---
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- [The problem & the fix](#the-problem--the-fix)
|
|
29
|
-
- [What you get](#what-you-get)
|
|
30
|
-
- [Architecture](#architecture)
|
|
31
|
-
- [Quick start](#quick-start)
|
|
32
|
-
- [Why VelinStyle?](#why-velinstyle)
|
|
33
|
-
- [Demo gallery](#demo-gallery)
|
|
34
|
-
- [CLI reference](#cli-reference)
|
|
35
|
-
- [Ecosystem](#ecosystem)
|
|
36
|
-
- [Join in](#join-in)
|
|
37
|
-
- [Browser support](#browser-support)
|
|
38
|
-
- [License](#license)
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## The problem & the fix
|
|
43
|
-
|
|
44
|
-
<table>
|
|
45
|
-
<tr>
|
|
46
|
-
<td width="50%" valign="top">
|
|
47
|
-
|
|
48
|
-
### The problem
|
|
49
|
-
|
|
50
|
-
Teams ship UI under pressure. **Accessibility** and **consistent theming** are often bolted on late—if at all. Heavy bundles, Bootstrap sameness, or Tailwind sprawl frustrate designers and engineers alike.
|
|
51
|
-
|
|
52
|
-
</td>
|
|
53
|
-
<td width="50%" valign="top">
|
|
54
|
-
|
|
55
|
-
### The VelinStyle answer
|
|
56
|
-
|
|
57
|
-
**WCAG AA patterns**, **OKLCH tokens**, **container-aware layout**, and **interactive Web Components** are part of the system—not an afterthought. Readable CSS, optional CLI automation, zero preprocessor lock-in.
|
|
58
|
-
|
|
59
|
-
</td>
|
|
60
|
-
</tr>
|
|
61
|
-
</table>
|
|
31
|
+
**VelinStyle** is the **WCAG 2.2 AAA CSS framework** with native JavaScript runtime and Web Components — CSS utilities, 0.9.0 modules (search, motion, highlight, attributes, meta), and security tooling, with **no external UI framework dependencies** in the core.
|
|
62
32
|
|
|
63
|
-
|
|
33
|
+
Built for teams who want **readable HTML**, **AAA token defaults** (AA via `data-velin-contrast="aa"`), and **CLI automation** instead of utility sprawl.
|
|
64
34
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
<table>
|
|
68
|
-
<thead>
|
|
69
|
-
<tr><th></th><th>Capability</th><th>What it means for you</th></tr>
|
|
70
|
-
</thead>
|
|
71
|
-
<tbody>
|
|
72
|
-
<tr><td align="center">♿</td><td><strong>WCAG AA by design</strong></td><td>Focus, ARIA, and keyboard patterns in components and overlays</td></tr>
|
|
73
|
-
<tr><td align="center">🎨</td><td><strong>OKLCH + 13 theme presets</strong></td><td>Perceptually uniform colors; dark mode via token swap</td></tr>
|
|
74
|
-
<tr><td align="center">📦</td><td><strong>~46 KB CSS + ~66 KB JS (min)</strong></td><td>Lean defaults vs. heavier all-in-one stacks</td></tr>
|
|
75
|
-
<tr><td align="center">📐</td><td><strong>Container Queries + utilities</strong></td><td>Components adapt to <em>their</em> container, not only the viewport</td></tr>
|
|
76
|
-
<tr><td align="center">🧩</td><td><strong>25 CSS modules · 29 Web Components</strong></td><td>Modals, tabs, drawers, toasts, icons—documented APIs in <a href="docs/css-components.html">CSS</a> & <a href="docs/components.html">WC docs</a></td></tr>
|
|
77
|
-
<tr><td align="center">🛠️</td><td><strong>Optional CLI</strong></td><td><code>init</code>, <code>build</code>, <code>icons</code>, <code>scan</code>, <code>prefix</code>, <code>blueprint</code>, <code>scaffold</code>, <code>layout</code>, <code>tokens build</code></td></tr>
|
|
78
|
-
<tr><td align="center">🌍</td><td><strong>RTL-ready</strong></td><td>Logical properties and layout-minded defaults · <a href="samples/rtl.html">RTL sample</a></td></tr>
|
|
79
|
-
</tbody>
|
|
80
|
-
</table>
|
|
35
|
+
> **Dogfooding:** The entire VelinStyle website and documentation runs 100% on VelinStyle — no external scripts or UI frameworks.
|
|
81
36
|
|
|
82
37
|
---
|
|
83
38
|
|
|
84
|
-
##
|
|
85
|
-
|
|
86
|
-
```mermaid
|
|
87
|
-
flowchart LR
|
|
88
|
-
tokens[tokens] --> reset[reset]
|
|
89
|
-
reset --> base[base]
|
|
90
|
-
base --> a11y[a11y]
|
|
91
|
-
a11y --> layout[layout]
|
|
92
|
-
layout --> components[components]
|
|
93
|
-
components --> utilities[utilities]
|
|
94
|
-
utilities --> themes[themes]
|
|
95
|
-
```
|
|
39
|
+
## Features at a glance
|
|
96
40
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
41
|
+
- **CSS utilities** — `velin-*` spacing, color, flex, motion, safe-area; cascade layers + OKLCH tokens
|
|
42
|
+
- **35+ components** — semantic BEM classes (`velin-btn`, `velin-card`, `velin-grid`, …)
|
|
43
|
+
- **Motion runtime** — reveal, stagger, scroll-driven animation, rAF scheduler
|
|
44
|
+
- **VelinSearch** — fuzzy offline search with highlighting and categories
|
|
45
|
+
- **Syntax highlighting** — lazy in-view highlighting for JS, HTML, CSS, JSON, and more
|
|
46
|
+
- **HTML attributes** — 27 declarative bridges (`velin-modal`, `velin-reveal`, `velin-scroll-top`, `velin-code`, …)
|
|
47
|
+
- **Quality** — 36/36 component a11y contracts, Playwright cross-browser smoke (`npm run test:e2e`), CLS placeholders (`wc-placeholder.css`)
|
|
48
|
+
- **Security tools** — `scan`, PII rules, sanitize API, hardened components
|
|
49
|
+
- **CLI** — init, build, scan, scaffold, tokens, docs generate, perf audit, layout audit
|
|
50
|
+
- **Velin-Meta** — `velin-agent.json`, `llms.txt`, and page-level agent JSON for AI assistants
|
|
102
51
|
|
|
103
52
|
---
|
|
104
53
|
|
|
105
|
-
##
|
|
106
|
-
|
|
107
|
-
### <span>①</span> Install
|
|
54
|
+
## Installation
|
|
108
55
|
|
|
109
56
|
```bash
|
|
110
|
-
npm
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### <span>②</span> Link CSS + components (ES modules)
|
|
114
|
-
|
|
115
|
-
```html
|
|
116
|
-
<link rel="stylesheet" href="node_modules/@birdapi/velinstyle/dist/velinstyle.min.css">
|
|
117
|
-
<script type="module" src="node_modules/@birdapi/velinstyle/dist/velinstyle-components.min.js"></script>
|
|
57
|
+
npm i @birdapi/velinstyle
|
|
118
58
|
```
|
|
119
59
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
60
|
+
| Path | Use |
|
|
61
|
+
| --- | --- |
|
|
62
|
+
| `@birdapi/velinstyle/css` | Full minified stylesheet |
|
|
63
|
+
| `@birdapi/velinstyle/bundle` | Web Components ESM bundle |
|
|
64
|
+
| `@birdapi/velinstyle/search` | VelinSearch module |
|
|
65
|
+
| `@birdapi/velinstyle/motion` | Motion runtime |
|
|
66
|
+
| `@birdapi/velinstyle/attributes` | HTML attribute bridges |
|
|
67
|
+
| `@birdapi/velinstyle/highlight` | Syntax highlighting |
|
|
68
|
+
| `@birdapi/velinstyle/meta` | Agent metadata API |
|
|
129
69
|
|
|
130
|
-
|
|
70
|
+
**CDN (pin version):**
|
|
131
71
|
|
|
132
72
|
```html
|
|
133
|
-
<
|
|
134
|
-
<
|
|
135
|
-
<p class="velin-lead velin-text-muted">Hello, VelinStyle.</p>
|
|
136
|
-
<button type="button" class="velin-btn velin-btn--primary">Primary action</button>
|
|
137
|
-
</div>
|
|
73
|
+
<link rel="stylesheet" href="https://unpkg.com/@birdapi/velinstyle@0.9.0/dist/velinstyle.min.css">
|
|
74
|
+
<script type="module" src="https://unpkg.com/@birdapi/velinstyle@0.9.0/dist/velinstyle-components.min.js"></script>
|
|
138
75
|
```
|
|
139
76
|
|
|
140
|
-
|
|
77
|
+
After cloning, run `npm install && npm run build` — `dist/` is generated, not committed.
|
|
141
78
|
|
|
142
79
|
---
|
|
143
80
|
|
|
144
|
-
##
|
|
81
|
+
## Quickstart
|
|
145
82
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
83
|
+
```html
|
|
84
|
+
<!DOCTYPE html>
|
|
85
|
+
<html lang="en" data-velin-theme="ocean">
|
|
86
|
+
<head>
|
|
87
|
+
<meta charset="UTF-8">
|
|
88
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
89
|
+
<link rel="stylesheet" href="https://unpkg.com/@birdapi/velinstyle@0.9.0/dist/velinstyle.min.css">
|
|
90
|
+
<script type="module" src="https://unpkg.com/@birdapi/velinstyle@0.9.0/dist/velinstyle-components.min.js"></script>
|
|
91
|
+
</head>
|
|
92
|
+
<body class="velin-p-6">
|
|
93
|
+
<button type="button" class="velin-btn velin-btn--primary" velin-reveal="slide-up">Ship it</button>
|
|
94
|
+
<velin-code-block language="html" line-numbers><p class="velin-text-muted">Hello VelinStyle</p></velin-code-block>
|
|
95
|
+
</body>
|
|
96
|
+
</html>
|
|
97
|
+
```
|
|
156
98
|
|
|
157
99
|
---
|
|
158
100
|
|
|
159
|
-
##
|
|
160
|
-
|
|
161
|
-
| Demo | Page | Demo | Page |
|
|
162
|
-
| --- | --- | --- | --- |
|
|
163
|
-
| Landing | [samples/landing.html](samples/landing.html) | Dashboard | [samples/dashboard.html](samples/dashboard.html) |
|
|
164
|
-
| Login | [samples/login.html](samples/login.html) | Sign up | [samples/signup.html](samples/signup.html) |
|
|
165
|
-
| Pricing | [samples/pricing.html](samples/pricing.html) | E-commerce | [samples/ecommerce.html](samples/ecommerce.html) |
|
|
166
|
-
| Blog | [samples/blog.html](samples/blog.html) | Portfolio | [samples/portfolio.html](samples/portfolio.html) |
|
|
167
|
-
| Chat | [samples/chat.html](samples/chat.html) | Email | [samples/email.html](samples/email.html) |
|
|
168
|
-
| Kanban | [samples/kanban.html](samples/kanban.html) | Settings | [samples/settings.html](samples/settings.html) |
|
|
169
|
-
| RTL layout | [samples/rtl.html](samples/rtl.html) | A11y patterns | [samples/a11y-patterns.html](samples/a11y-patterns.html) |
|
|
101
|
+
## Core modules (0.9.0)
|
|
170
102
|
|
|
171
|
-
|
|
|
103
|
+
| Export | Description |
|
|
172
104
|
| --- | --- |
|
|
173
|
-
|
|
|
174
|
-
|
|
|
105
|
+
| `@birdapi/velinstyle/search` | Fuzzy offline search, providers, optional Web Worker |
|
|
106
|
+
| `@birdapi/velinstyle/motion` | `initMotion`, stagger, smooth scroll, unified `.velin-in-view` |
|
|
107
|
+
| `@birdapi/velinstyle/attributes` | Registry of declarative `velin-*` HTML attribute bridges |
|
|
108
|
+
| `@birdapi/velinstyle/highlight` | `velinSyntax`, lazy language packs, OKLCH token colors |
|
|
109
|
+
| `@birdapi/velinstyle/meta` | `buildAgentBundle`, page meta MIME `application/vnd.velinstyle.meta+json` |
|
|
175
110
|
|
|
176
111
|
---
|
|
177
112
|
|
|
178
|
-
##
|
|
179
|
-
|
|
180
|
-
All commands: `npx velinstyle <command>` · `npx velinstyle --help`
|
|
181
|
-
|
|
182
|
-
<details>
|
|
183
|
-
<summary><strong>Project & build</strong> — <code>init</code>, <code>build</code>, <code>themes</code>, <code>add</code></summary>
|
|
184
|
-
|
|
185
|
-
- **`npx velinstyle init`** — creates `velinstyle.config.js` (layer selection, theme, scan options).
|
|
186
|
-
- **`npx velinstyle build`** — custom CSS bundle from selected layers (`--output` / `-o`, `--minify`).
|
|
187
|
-
- **`npx velinstyle themes`** — lists 13 theme presets.
|
|
188
|
-
- **`npx velinstyle add <component>`** — copies a single component CSS file into your project.
|
|
189
|
-
|
|
190
|
-
</details>
|
|
191
|
-
|
|
192
|
-
<details>
|
|
193
|
-
<summary><strong>Icons</strong> — multi-provider sprite workflow</summary>
|
|
194
|
-
|
|
195
|
-
- **`npx velinstyle icons list`** — Lucide, Heroicons, Bootstrap Icons, Material Symbols, Font Awesome, Tabler.
|
|
196
|
-
- **`npx velinstyle icons add lucide --icons menu,search,check`**
|
|
197
|
-
- **`npx velinstyle icons add heroicons --icons arrow-left --variant outline`**
|
|
198
|
-
- **`npx velinstyle icons build`** — rebuilds sprite (from a VelinStyle clone: writes `icons/svg/` and rebuilds).
|
|
199
|
-
|
|
200
|
-
</details>
|
|
113
|
+
## Web Components
|
|
201
114
|
|
|
202
|
-
|
|
203
|
-
<summary><strong>scan</strong> — security, a11y & CSS lint</summary>
|
|
115
|
+
**36 canonical** custom elements (38 lazy-loader entries including legacy `velin-tooltip-wc` and `velin-stepper-wc`) — use plain CSS when you do not need behavior. `src/base/wc-placeholder.css` reduces layout shift before elements upgrade.
|
|
204
116
|
|
|
205
|
-
-
|
|
206
|
-
- **`--severity`** — filter minimum level: `error` | `warning` | `info`.
|
|
207
|
-
- **`--fix`** — safe auto-fixes only; **`--fix-dry-run`** lists files without writing.
|
|
208
|
-
- **`--fix-lang`** — BCP 47 for setting `lang` on `<html>` (default `en`).
|
|
117
|
+
Examples: `velin-modal`, `velin-search`, `velin-code-block`, `velin-drawer`, `velin-stepper`, `velin-tooltip`, `velin-toast`, `velin-persist`.
|
|
209
118
|
|
|
210
|
-
|
|
119
|
+
- [Component documentation](https://velinstyle.info/docs/components/buttons.html)
|
|
120
|
+
- [Generated Web Component API](https://velinstyle.info/docs/generated/components/README.md)
|
|
211
121
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
**Trusted Types / XSS:** the scanner does not replace CSP policies. Web Components use `escapeHTML()` / `sanitizeURL()`; see [docs/security.html](docs/security.html).
|
|
215
|
-
|
|
216
|
-
</details>
|
|
217
|
-
|
|
218
|
-
<details>
|
|
219
|
-
<summary><strong>prefix</strong> — class codemod & JSON maps</summary>
|
|
220
|
-
|
|
221
|
-
- **`npx velinstyle prefix <folder>`** — dry-run by default; **`--write`** applies changes.
|
|
222
|
-
- **`--bootstrap-display`** — maps Bootstrap `d-*` to Velin display classes.
|
|
223
|
-
- **`velinstyle-prefix-map.json`** in the target folder or **`--map file.json`** — explicit token → class mappings (overrides catalog and Bootstrap aliases). Sample: [examples/velinstyle-prefix-map.sample.json](examples/velinstyle-prefix-map.sample.json).
|
|
224
|
-
|
|
225
|
-
</details>
|
|
226
|
-
|
|
227
|
-
<details>
|
|
228
|
-
<summary><strong>scaffold</strong> — prompt → HTML (0.8.0)</summary>
|
|
229
|
-
|
|
230
|
-
- **`npx velinstyle scaffold list-intents`**
|
|
231
|
-
- **`npx velinstyle scaffold "Navbar with search" -o nav.html`**
|
|
232
|
-
- **`npx velinstyle scaffold "…" --json`** — for agents/CI
|
|
122
|
+
---
|
|
233
123
|
|
|
234
|
-
|
|
124
|
+
## CLI
|
|
235
125
|
|
|
236
|
-
|
|
126
|
+
| Command | Purpose |
|
|
127
|
+
| --- | --- |
|
|
128
|
+
| `npx velinstyle init` | Create `velinstyle.config.js` in your project |
|
|
129
|
+
| `npx velinstyle scan` | Security, accessibility, CSS, and PII checks |
|
|
130
|
+
| `npx velinstyle search index` | Build `dist/search-index.json` for offline doc search |
|
|
131
|
+
| `npx velinstyle tokens build` | Compile design tokens JSON to CSS |
|
|
132
|
+
| `npx velinstyle meta` | Generate `velin-agent.json` and `llms.txt` |
|
|
237
133
|
|
|
238
|
-
|
|
239
|
-
<summary><strong>layout</strong> — responsive audit (0.8.0)</summary>
|
|
134
|
+
Also: `npx velinstyle docs generate` — Markdown reference under `docs/generated/`.
|
|
240
135
|
|
|
241
|
-
|
|
242
|
-
- **`npx velinstyle layout suggest [path]`**
|
|
243
|
-
- **`npx velinstyle layout fix [path] --write`**
|
|
136
|
+
---
|
|
244
137
|
|
|
245
|
-
|
|
138
|
+
## Security
|
|
246
139
|
|
|
247
|
-
|
|
140
|
+
VelinStyle ships **first-class security tooling**, not an afterthought:
|
|
248
141
|
|
|
249
|
-
|
|
250
|
-
|
|
142
|
+
- **`velinstyle scan`** — markup and a11y rules; PII scanner (`--only pii`, `--fix`)
|
|
143
|
+
- **`@birdapi/velinstyle/sanitize`** — URL and text sanitization helpers
|
|
144
|
+
- **`<velin-secure-field>`** — no plaintext secrets in the DOM; hardened search/copy URLs
|
|
251
145
|
|
|
252
|
-
|
|
253
|
-
- **`npx velinstyle blueprint <name> -o snippet.html`**
|
|
146
|
+
[Security documentation](https://velinstyle.info/docs/extend/security.html)
|
|
254
147
|
|
|
255
|
-
|
|
148
|
+
---
|
|
256
149
|
|
|
257
|
-
|
|
150
|
+
## Velin-Meta
|
|
258
151
|
|
|
259
|
-
|
|
260
|
-
<summary><strong>tokens build</strong> — design tokens → CSS</summary>
|
|
152
|
+
Machine-readable context for **Cursor, Copilot, and custom agents**:
|
|
261
153
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
154
|
+
- **Global bundle** — `dist/velin-agent.json` + `dist/llms.txt` via `velinstyle meta`
|
|
155
|
+
- **Page-level meta** — `<script type="application/vnd.velinstyle.meta+json" id="velin-meta">`
|
|
156
|
+
- **CLI** — `velinstyle meta page my.html --write`
|
|
265
157
|
|
|
266
|
-
|
|
158
|
+
[Velin-Meta guide](https://velinstyle.info/docs/guides/velin-meta.html)
|
|
267
159
|
|
|
268
160
|
---
|
|
269
161
|
|
|
270
|
-
##
|
|
162
|
+
## Docs & website
|
|
271
163
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
164
|
+
- [velinstyle.info](https://velinstyle.info) — product site and demos
|
|
165
|
+
- [Guides](https://velinstyle.info/docs/guides/index.html) · [Feature scope](https://velinstyle.info/docs/guides/feature-scope.html)
|
|
166
|
+
- [API reference](https://velinstyle.info/docs/guides/api-reference.html) — generated from source
|
|
167
|
+
- [Generated Markdown](https://velinstyle.info/docs/generated/index.html) — components, tokens, utilities, CLI, rules
|
|
275
168
|
|
|
276
|
-
|
|
169
|
+
---
|
|
277
170
|
|
|
278
|
-
|
|
279
|
-
- [@velinstyle/react](packages/react) — experimental thin React wrappers
|
|
171
|
+
## Changelog
|
|
280
172
|
|
|
281
|
-
|
|
173
|
+
See [CHANGELOG.md](CHANGELOG.md) for releases, breaking changes, and migration notes.
|
|
282
174
|
|
|
283
|
-
|
|
284
|
-
- [A11y patterns](docs/a11y-patterns/index.html) · [Security](docs/security.html)
|
|
175
|
+
---
|
|
285
176
|
|
|
286
|
-
|
|
287
|
-
<td width="50%" valign="top">
|
|
177
|
+
## Comparison
|
|
288
178
|
|
|
289
|
-
|
|
179
|
+
| | Bootstrap | Tailwind | Shoelace | **VelinStyle** |
|
|
180
|
+
| --- | :---: | :---: | :---: | :---: |
|
|
181
|
+
| HTML readability | Medium | Low | Medium | **High** |
|
|
182
|
+
| Class predictability | Medium | Low | Medium | **`velin-btn--primary`** |
|
|
183
|
+
| Utility sprawl | Low | **High** | Low | **Controlled** |
|
|
184
|
+
| Override story | Hard | Config file | Shadow DOM | **CSS layers + tokens** |
|
|
185
|
+
| Accessibility | Partial | DIY | Good WC | **WCAG 2.2 AAA tokens** |
|
|
186
|
+
| Dark mode | Manual | `dark:` everywhere | Theme attr | **Token swap** |
|
|
187
|
+
| App chrome | Legacy JS | BYO | WC only | **CSS + optional WCs** |
|
|
188
|
+
| Ship speed | Fast | Fast (with build) | Fast | **CDN, no build required** |
|
|
189
|
+
| Runtime modules | — | — | — | **Search, motion, meta, …** |
|
|
290
190
|
|
|
291
|
-
|
|
292
|
-
npm install
|
|
293
|
-
npm run dev # serve on :3000
|
|
294
|
-
npm run build
|
|
295
|
-
npm test
|
|
296
|
-
npm run test:a11y
|
|
297
|
-
```
|
|
191
|
+
---
|
|
298
192
|
|
|
299
|
-
|
|
193
|
+
## Live demos
|
|
300
194
|
|
|
301
|
-
|
|
302
|
-
</tr>
|
|
303
|
-
</table>
|
|
195
|
+
Full application pages on [velinstyle.info/demos/](https://velinstyle.info/demos/) — [Crypto](https://velinstyle.info/demos/showcase-crypto.html) · [E-Commerce](https://velinstyle.info/demos/showcase-ecommerce.html) · [Dashboard](https://velinstyle.info/demos/showcase-dashboard.html) · [All demos](https://velinstyle.info/demos/) · [Fork showcase-demos](https://github.com/SkyliteDesign/velinstyle/tree/main/showcase-demos)
|
|
304
196
|
|
|
305
|
-
|
|
197
|
+
<p align="center">
|
|
198
|
+
<a href="https://velinstyle.info/demos/showcase-crypto.html">
|
|
199
|
+
<img src=".github/assets/readme/hero-demo.webp" alt="VelinStyle crypto dashboard demo" width="720">
|
|
200
|
+
</a>
|
|
201
|
+
</p>
|
|
306
202
|
|
|
307
203
|
---
|
|
308
204
|
|
|
309
|
-
##
|
|
310
|
-
|
|
311
|
-
If VelinStyle saves you time or raises the bar for inclusive UI:
|
|
312
|
-
|
|
313
|
-
1. **Star the repo** so others discover it.
|
|
314
|
-
2. **Open an issue** with feedback, edge cases, or ideas.
|
|
315
|
-
3. **Open a PR** following [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
205
|
+
## Contributing
|
|
316
206
|
|
|
317
|
-
|
|
207
|
+
PRs welcome.
|
|
318
208
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
209
|
+
1. Fork the repo
|
|
210
|
+
2. `npm install && npm run build`
|
|
211
|
+
3. Make your change · run `npm test`, `npm run test:a11y`, and `npm run test:e2e` (after `npm run build`)
|
|
212
|
+
4. Open a pull request
|
|
322
213
|
|
|
323
|
-
|
|
214
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for code style and review process.
|
|
324
215
|
|
|
325
216
|
---
|
|
326
217
|
|
|
@@ -328,8 +219,6 @@ VelinStyle is **mobile-first**. Use a **current evergreen browser** (recent Safa
|
|
|
328
219
|
|
|
329
220
|
[MIT](LICENSE) — Copyright © 2026 VelinStyle
|
|
330
221
|
|
|
331
|
-
---
|
|
332
|
-
|
|
333
222
|
<div align="center">
|
|
334
223
|
|
|
335
224
|
Made with care for the web by [SkyliteDesign](https://github.com/SkyliteDesign)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<velin-stepper
|
|
1
|
+
<velin-stepper id="onboard" labels="Welcome,Profile,Done" active="0">
|
|
2
2
|
<section class="velin-p-6">
|
|
3
3
|
<h2 class="velin-text-xl velin-mbe-2">Welcome</h2>
|
|
4
4
|
<p class="velin-mbe-4">Set up your workspace in a few steps.</p>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<h2 class="velin-text-xl velin-mbe-2">Done</h2>
|
|
14
14
|
<p>You are ready to go.</p>
|
|
15
15
|
</section>
|
|
16
|
-
</velin-stepper
|
|
16
|
+
</velin-stepper>
|
|
17
17
|
<script type="module">
|
|
18
18
|
import '../../dist/velinstyle-components.min.js';
|
|
19
19
|
const stepper = document.getElementById('onboard');
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.9.0",
|
|
3
|
+
"commands": [
|
|
4
|
+
{
|
|
5
|
+
"name": "init",
|
|
6
|
+
"summary": "Create velinstyle.config.js",
|
|
7
|
+
"flags": [],
|
|
8
|
+
"example": "velinstyle init"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "build",
|
|
12
|
+
"summary": "Build custom CSS with selected layers from config",
|
|
13
|
+
"flags": [],
|
|
14
|
+
"example": "velinstyle build"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "themes",
|
|
18
|
+
"summary": "List available built-in themes",
|
|
19
|
+
"flags": [],
|
|
20
|
+
"example": "velinstyle themes"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "add",
|
|
24
|
+
"summary": "Add a single component CSS file to your project",
|
|
25
|
+
"flags": [],
|
|
26
|
+
"example": "velinstyle add button"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "icons",
|
|
30
|
+
"summary": "Manage icon providers (list, add, remove, build)",
|
|
31
|
+
"flags": ["--icons", "--variant"],
|
|
32
|
+
"subcommands": ["list", "add", "remove", "build"],
|
|
33
|
+
"example": "velinstyle icons add lucide --icons menu,search"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "scan",
|
|
37
|
+
"summary": "Security, accessibility, CSS, and PII scanner",
|
|
38
|
+
"flags": ["--format", "--severity", "--only", "--fix", "--fix-dry-run", "--fix-lang"],
|
|
39
|
+
"example": "velinstyle scan . --only pii --fix-dry-run"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "prefix",
|
|
43
|
+
"summary": "Add missing velin- prefix to classes (dry-run; use --write)",
|
|
44
|
+
"flags": ["--write", "--map", "--bootstrap-display"],
|
|
45
|
+
"example": "velinstyle prefix src/ --write"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "blueprint",
|
|
49
|
+
"summary": "Print HTML blueprint snippets",
|
|
50
|
+
"flags": ["--output", "-o"],
|
|
51
|
+
"subcommands": ["list"],
|
|
52
|
+
"example": "velinstyle blueprint modal -o snippet.html"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "scaffold",
|
|
56
|
+
"summary": "Generate layout HTML from natural language prompt",
|
|
57
|
+
"flags": ["--output", "-o", "--json"],
|
|
58
|
+
"subcommands": ["list-intents"],
|
|
59
|
+
"example": "velinstyle scaffold \"dashboard with sidebar\""
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "layout",
|
|
63
|
+
"summary": "Responsive layout audit (flex, grid, viewport)",
|
|
64
|
+
"flags": ["--json", "--write", "--dry-run"],
|
|
65
|
+
"subcommands": ["audit", "suggest", "fix"],
|
|
66
|
+
"example": "velinstyle layout suggest index.html"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "perf",
|
|
70
|
+
"summary": "Performance audit for images and scripts",
|
|
71
|
+
"flags": ["--json", "--write", "--dry-run"],
|
|
72
|
+
"subcommands": ["audit", "suggest", "fix"],
|
|
73
|
+
"example": "velinstyle perf audit samples/"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "tokens",
|
|
77
|
+
"summary": "Build or validate design tokens JSON",
|
|
78
|
+
"flags": ["--input", "--output", "-o"],
|
|
79
|
+
"subcommands": ["build", "validate"],
|
|
80
|
+
"example": "velinstyle tokens validate --input examples/tokens.full.json"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "docs",
|
|
84
|
+
"summary": "Generate developer reference Markdown",
|
|
85
|
+
"flags": ["--scope", "--out"],
|
|
86
|
+
"subcommands": ["generate"],
|
|
87
|
+
"example": "velinstyle docs generate --scope all"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "meta",
|
|
91
|
+
"summary": "Build Velin-Meta agent bundle (velin-agent.json, llms.txt)",
|
|
92
|
+
"flags": ["--out", "--llms-out", "--base-url", "--no-llms"],
|
|
93
|
+
"subcommands": ["page"],
|
|
94
|
+
"example": "velinstyle meta"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
}
|