diff --git a/.changeset/paper-bulma.md b/.changeset/paper-bulma.md new file mode 100644 index 000000000..b395f060f --- /dev/null +++ b/.changeset/paper-bulma.md @@ -0,0 +1,9 @@ +--- +"@paper/bulma": minor +--- + +feat(bulma): Vue behavior for Bulma's markup (#760) + +`@paper/bulma` is a compat design system: components render the markup and classes [bulma.io](https://bulma.io/documentation/) documents, against the `bulma.css` you already load. There is no theme, no class prefix, and no CSS in the package. `bulma` is an optional peer. + +What ships is the JavaScript Bulma never did — open state, click-outside, Escape, focus, and form wiring — for the documented component, element, and form families, plus `BuNumberField` composed from form addons. diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 6474a6f78..48b3362e6 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -47,8 +47,10 @@ jobs: # components had an SF: entry in neither report). The v8 provider only # emits records for files a run actually loaded, so a wide include costs # this job nothing — it does not backfill untouched files at 0%. + # `*:browser` (v0:browser, bulma:browser) needs Playwright Chromium — + # those projects run in the `browser` job, which installs the binary. - name: Run unit tests with coverage - run: pnpm test:run --coverage --project '!v0:browser' + run: pnpm test:run --coverage --project '!*:browser' - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 with: @@ -90,7 +92,7 @@ jobs: # PR #725 to duplicate its browser assertions as unit tests to recover # codecov/patch (70.83% -> 100%). Keep the include wide. - name: Run component tests with coverage - run: pnpm exec vitest run --project v0:browser --coverage + run: pnpm exec vitest run --project '*:browser' --coverage - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 with: diff --git a/.gitignore b/.gitignore index ba4b40d7b..787ab25c0 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ apps/docs/build/generated/ # Vitest failure artifacts packages/0/.vitest-attachments/ **/__screenshots__/ +.vitest-attachments/ diff --git a/apps/docs/build/markdown.ts b/apps/docs/build/markdown.ts index 2cc6f3a1d..adfd0c02b 100644 --- a/apps/docs/build/markdown.ts +++ b/apps/docs/build/markdown.ts @@ -80,6 +80,7 @@ export function applyMarkdownPlugins (md: MarkdownIt, highlighter: DocsHighlight const hasOrders = orders?.some(o => o !== undefined) const collapse = env._exampleCollapse const collapseAttr = collapse ? ' collapse' : '' + const noResizeAttr = env._exampleNoResize ? ' disable-resize' : '' const imports = env._exampleImports as Record const importsAttr = Object.keys(imports).length > 0 ? ` :imports="${JSON.stringify(imports).replace(/"/g, '\'')}"` @@ -87,11 +88,11 @@ export function applyMarkdownPlugins (md: MarkdownIt, highlighter: DocsHighlight const exampleTag = env._exampleTag as string if (paths.length === 1) { - return `<${exampleTag} file-path="${paths[0]}"${collapseAttr}${importsAttr}>\n