@allxsmith/bestax-bulma 5.67.8 → 5.67.10
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.md +3 -3
- package/dist/bestax.css +1 -1
- package/dist/bestax.css.map +1 -1
- package/dist/esm/components/ContextMenu.js +2 -2
- package/dist/esm/components/ContextMenu.js.map +1 -1
- package/dist/esm/components/DataTable.js +2 -1
- package/dist/esm/components/DataTable.js.map +1 -1
- package/dist/esm/components/HoverCard.js.map +1 -1
- package/dist/esm/components/Panel.js.map +1 -1
- package/dist/esm/components/Popover.js.map +1 -1
- package/dist/esm/components/Sidebar.js.map +1 -1
- package/dist/esm/form/ColorInputBase.js.map +1 -1
- package/dist/esm/form/Combobox.js.map +1 -1
- package/dist/esm/form/DateInputBase.js.map +1 -1
- package/dist/esm/form/DateRangeInputBase.js.map +1 -1
- package/dist/esm/form/DateTimeInputBase.js.map +1 -1
- package/dist/esm/form/TimeInputBase.js.map +1 -1
- package/dist/esm/form/TreeSelect.js.map +1 -1
- package/dist/esm/helpers/Config.js.map +1 -1
- package/dist/esm/helpers/portal.js +8 -3
- package/dist/esm/helpers/portal.js.map +1 -1
- package/dist/esm/layout/AppFrame.js +9 -3
- package/dist/esm/layout/AppFrame.js.map +1 -1
- package/dist/extras.css +1 -1
- package/dist/extras.css.map +1 -1
- package/dist/index.cjs +19 -8
- package/dist/index.cjs.map +1 -1
- package/dist/types/components/DataTable.d.ts +2 -1
- package/dist/types/components/HoverCard.d.ts +11 -11
- package/dist/types/components/Panel.d.ts +6 -1
- package/dist/types/components/Popover.d.ts +6 -6
- package/dist/types/components/Sidebar.d.ts +10 -1
- package/dist/types/form/ColorInputBase.d.ts +2 -2
- package/dist/types/form/Combobox.d.ts +6 -6
- package/dist/types/form/DateInputBase.d.ts +2 -2
- package/dist/types/form/DateRangeInputBase.d.ts +2 -2
- package/dist/types/form/DateTimeInputBase.d.ts +2 -2
- package/dist/types/form/TimeInputBase.d.ts +2 -2
- package/dist/types/form/TreeSelect.d.ts +1 -1
- package/dist/types/helpers/Config.d.ts +9 -5
- package/dist/types/helpers/portal.d.ts +7 -3
- package/dist/types/layout/AppFrame.d.ts +5 -1
- package/dist/types-cjs/components/DataTable.d.ts +2 -1
- package/dist/types-cjs/components/HoverCard.d.ts +11 -11
- package/dist/types-cjs/components/Panel.d.ts +6 -1
- package/dist/types-cjs/components/Popover.d.ts +6 -6
- package/dist/types-cjs/components/Sidebar.d.ts +10 -1
- package/dist/types-cjs/form/ColorInputBase.d.ts +2 -2
- package/dist/types-cjs/form/Combobox.d.ts +6 -6
- package/dist/types-cjs/form/DateInputBase.d.ts +2 -2
- package/dist/types-cjs/form/DateRangeInputBase.d.ts +2 -2
- package/dist/types-cjs/form/DateTimeInputBase.d.ts +2 -2
- package/dist/types-cjs/form/TimeInputBase.d.ts +2 -2
- package/dist/types-cjs/form/TreeSelect.d.ts +1 -1
- package/dist/types-cjs/helpers/Config.d.ts +9 -5
- package/dist/types-cjs/helpers/portal.d.ts +7 -3
- package/dist/types-cjs/layout/AppFrame.d.ts +5 -1
- package/dist/versions/bestax-no-dark-mode.css +1 -1
- package/dist/versions/bestax-no-dark-mode.css.map +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css.map +1 -1
- package/dist/versions/bestax-no-helpers.css +1 -1
- package/dist/versions/bestax-no-helpers.css.map +1 -1
- package/dist/versions/bestax-prefixed.css +1 -1
- package/dist/versions/bestax-prefixed.css.map +1 -1
- package/package.json +2 -2
- package/src/scss/components/_datatable.scss +14 -2
- package/src/scss/components/_index.scss +1 -0
- package/src/scss/components/_panel.scss +31 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allxsmith/bestax-bulma",
|
|
3
|
-
"version": "5.67.
|
|
3
|
+
"version": "5.67.10",
|
|
4
4
|
"description": "Component library based on React, Bulma, with Agent Skills and MCP",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -228,5 +228,5 @@
|
|
|
228
228
|
"test-storybook:dark": "STORYBOOK_THEME=dark vitest run --config vitest.storybook.config.ts",
|
|
229
229
|
"test-storybook:ci": "node scripts/test-storybook-ci.mjs"
|
|
230
230
|
},
|
|
231
|
-
"readme": "# @allxsmith/bestax-bulma\n\n[](https://www.npmjs.com/package/@allxsmith/bestax-bulma)\n[](https://www.npmjs.com/package/@allxsmith/bestax-bulma)\n[](https://www.typescriptlang.org/)\n[](https://github.com/allxsmith/bestax/blob/main/bulma-ui/vitest.config.ts)\n[](https://bulma.io)\n[](https://opensource.org/licenses/MIT)\n[](https://socket.dev/npm/package/@allxsmith/bestax-bulma/overview)\n[](https://scorecard.dev/viewer/?uri=github.com/allxsmith/bestax)\n[](https://www.bestpractices.dev/projects/14361)\n[](https://www.npmjs.com/package/@allxsmith/bestax-bulma#provenance)\n[](https://github.com/allxsmith/bestax/blob/main/SECURITY.md)\n\nTypeScript-first React component library for the **Bulma v1** CSS framework — 80+ fully typed, tree-shakeable components, including extras like Carousel, Dialog, Sidebar, Steps, and date/time pickers.\n\n**Requires React `^18 || ^19`.** Bulma v1 is the only runtime dependency and installs automatically.\n\nPart of the [bestax monorepo](https://github.com/allxsmith/bestax) — see also [`create-bestax`](https://www.npmjs.com/package/create-bestax) for scaffolding new projects.\n\n---\n\n## 📚 Comprehensive Documentation\n\n**Looking for full documentation, guides, API references, and best practices?** \n👉 **Visit our official docs at [https://bestax.io](https://bestax.io)**\n\n> The documentation site is the best place to learn about all bestax-bulma features, usage patterns, and updates. We strongly recommend using the docs as your primary resource!\n\n---\n\n## 🚀 Getting Started\n\nStarting fresh? Scaffold a ready-to-go app instead: `npm create bestax@latest my-app`.\n\n### 1. Install the package\n\n```bash\nnpm install @allxsmith/bestax-bulma\n# or\npnpm add @allxsmith/bestax-bulma\n```\n\n### 2. Import the CSS\n\nThe library bundles its own CSS (Bulma v1 + the bestax extras). Import it once in your main JS/TS file:\n\n```js\nimport '@allxsmith/bestax-bulma/bestax.css';\n```\n\nPrefer stock Bulma? That works too — add `extras.css` for the bestax-only components' styles:\n\n```js\nimport 'bulma/css/bulma.min.css';\nimport '@allxsmith/bestax-bulma/extras.css';\n```\n\nMore flavors are shipped as subpath exports — prefixed classes (`versions/bestax-prefixed.css` + `<ConfigProvider classPrefix=\"bestax-\">`), no-helpers, no-dark-mode, and raw SCSS at `@allxsmith/bestax-bulma/scss/*`. See the [installation guide](https://bestax.io/docs/guides/getting-started/installation).\n\n### 3. (Optional) Add an Icon Library\n\nFive icon libraries are supported as optional peer dependencies: [Font Awesome](https://fontawesome.com/) (`@fortawesome/fontawesome-free`), Material Design Icons (`@mdi/font`), `ionicons`, `material-icons`, and `material-symbols`.\n\n```bash\nnpm install @fortawesome/fontawesome-free\n```\n\nSet the default for your whole app with [`ConfigProvider`](https://bestax.io/docs/api/helpers/config), e.g. `<ConfigProvider iconLibrary=\"fa\">`.\n\n### 4. Quick Example\n\n```tsx\nimport '@allxsmith/bestax-bulma/bestax.css';\nimport { Button } from '@allxsmith/bestax-bulma';\n\nfunction App() {\n return (\n <Button color=\"primary\" onClick={() => alert('Clicked!')}>\n Click Me\n </Button>\n );\n}\n\nexport default App;\n```\n\n### 5. Theming and Dark Mode\n\nWrap your app in [`Theme`](https://bestax.io/docs/api/helpers/theme) to override Bulma's `--bulma-*` CSS variables and control the color scheme:\n\n```tsx\nimport { Theme } from '@allxsmith/bestax-bulma';\n\n<Theme isRoot colorMode=\"system\">\n {/* colorMode: 'light' | 'dark' | 'system' */}\n <App />\n</Theme>;\n```\n\n---\n\n## ⭐ Why Choose bestax-bulma?\n\n- **Supports the latest Bulma v1.x**\n Other React Bulma libraries are stuck on Bulma 0.9.4 — bestax-bulma is built for the future.\n- **80+ components**\n All of Bulma v1, plus extras: Carousel, Dialog, Sidebar, Steps, Autocomplete, Taginput, DateInput/TimeInput/DateTimeInput pickers, and more. (Migrating from v2? Snackbar merged into [Toast](https://bestax.io/docs/api/components/toast).)\n- **Dark mode & theming built in**\n `Theme colorMode`, `--bulma-*` variable overrides, and prefixed-class builds via `ConfigProvider`.\n- **Just one dependency: Bulma**\n Every Bulma library depends on it — we ship it automatically. Clean install, fewer security concerns.\n- **Tree-shakeable ESM**\n Import only what you use; your bundler drops the rest. A CJS build is there for `require`.\n- **99% unit test coverage**\n Enforced in CI by the [Vitest config](https://github.com/allxsmith/bestax/blob/main/bulma-ui/vitest.config.ts) — not just claimed.\n- **100% TypeScript**\n Full type safety for you and your team.\n- **Active developer support**\n Issues? Questions? PRs? Get fast responses and real improvements.\n\n---\n\n## 📦 NPM Package\n\nView the package on npmjs: \n👉 [https://www.npmjs.com/package/@allxsmith/bestax-bulma](https://www.npmjs.com/package/@allxsmith/bestax-bulma)\n\n---\n\n## 🔒 Hardened by default\n\nThis package is one runtime dependency deep (Bulma) and is published under a deliberately strict pipeline:\n\n- **Signed provenance** — every release carries a sigstore attestation linking the tarball to the exact commit and CI run that built it. Verify it in the **Provenance** section of the [npm page](https://www.npmjs.com/package/@allxsmith/bestax-bulma#provenance), or run `npm audit signatures` in your project.\n- **npm OIDC trusted publishing** — short-lived, per-run credentials; no long-lived `NPM_TOKEN` exists to be stolen. Release commits and tags are GPG-signed.\n- **Socket.dev scans every PR** for malware, install scripts, obfuscated code, and privilege escalation before it can reach `main`.\n- **Dependencies are a deliberate act** — install scripts are blocked unless individually allow-listed, freshly published versions are refused for 3 days, and CI installs only what the reviewed lockfile resolves.\n- **Every GitHub Action is pinned to a full commit SHA**, so a compromised action release can't roll silently into a build of this package.\n- **CodeQL, Dependency Review, and Dependabot** run continuously, alongside a high-severity `pnpm audit` gate.\n- **Layered AI review before merge** — [CodeRabbit](https://coderabbit.ai) plus an independent adversarial Claude review (a different model from the one writing AI-authored changes), on top of required green CI, an approving review, and a human merge.\n\nFull detail: [`SECURITY.md`](https://github.com/allxsmith/bestax/blob/main/SECURITY.md) · [Security guide](https://bestax.io/docs/guides/security)\n\n---\n\n## 📚 Documentation\n\n**For full documentation, guides, and best practices, please use our official docs site:**\n\n👉 [https://bestax.io](https://bestax.io)\n\n> **Always refer to the [documentation site](https://bestax.io) first:** \n> It's the most complete and up-to-date source for everything bestax-bulma!\n\n---\n\n## 📖 Storybook\n\nExplore live, interactive component examples in our Storybook:\n\n👉 [https://bestax.io/storybook](https://bestax.io/storybook)\n\n---\n\n## 🤖 For AI Tools\n\nBuilding with an AI agent (Claude Code, Cursor, Copilot)? bestax-bulma ships LLM-optimized docs:\n\n- 📘 **[LLMs guide](https://bestax.io/docs/guides/llms)** — how to use the library with AI tools\n- 📄 **[llms.txt](https://bestax.io/llms.txt)** — curated index · **[llms-full.txt](https://bestax.io/llms-full.txt)** — the full docs in one file · every docs page is also served as raw markdown\n- 📦 **In the npm package** — the tarball ships `llms.txt`, `AGENTS.md`, and `CLAUDE.md` pointer files, so agents exploring `node_modules` land on these resources by filename\n- 🧩 **[Agent Skills](https://bestax.io/docs/skills/intro)** — teach your agent the bestax way:\n\n | Skill | Use it when… |\n | ------------------------- | -------------------------------------------------------------------------------- |\n | `bestax-layout-scaffold` | Turning a high-level request (dashboard, landing page, …) into a responsive page |\n | `bestax-form` | Building forms — Field/Control composition and the full input inventory |\n | `bestax-theming` | Customizing colors, fonts, dark mode via `Theme` and `--bulma-*` variables |\n | `bestax-custom-component` | Building a new custom component beyond stock Bulma, the bestax way |\n | `bestax-icons` | Adding icons — Icon/IconText and the five supported icon libraries |\n | `bestax-optimize` | Shrinking the built CSS — flavor builds, modular Sass, import hygiene |\n | `bestax-migrate` | Moving an app off react-bulma-components (v4) onto bestax-bulma |\n\n ```bash\n npx skills add https://github.com/allxsmith/bestax --skill bestax-layout-scaffold\n ```\n\n New projects get the skills automatically with `npm create bestax@latest my-app --skills` (plus a generated `CLAUDE.md`).\n\n---\n\n## 🙏 Attribution\n\nbestax-bulma is built on top of the incredible [Bulma](https://bulma.io) CSS framework,\n© [Jeremy Thomas](https://github.com/jgthms) and licensed under the\n[MIT License](https://github.com/jgthms/bulma/blob/main/LICENSE), whose notice ships with the\npackage in [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md). Some example content and documentation is\nadapted from the Bulma website\n([CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)), © Jeremy Thomas.\n\nIf you find Bulma useful, please consider\n[sponsoring Jeremy Thomas](https://github.com/sponsors/jgthms) to support its continued\ndevelopment.\n\n_We are not affiliated with Bulma or Jeremy Thomas in any way — we're just big fans of the\nBulma framework!_\n\n## License\n\nSource code licensed MIT\n"
|
|
231
|
+
"readme": "# @allxsmith/bestax-bulma\n\n[](https://www.npmjs.com/package/@allxsmith/bestax-bulma)\n[](https://www.npmjs.com/package/@allxsmith/bestax-bulma)\n[](https://www.typescriptlang.org/)\n[](https://github.com/allxsmith/bestax/blob/main/bulma-ui/vitest.config.ts)\n[](https://bulma.io)\n[](https://opensource.org/licenses/MIT)\n[](https://socket.dev/npm/package/@allxsmith/bestax-bulma/overview)\n[](https://scorecard.dev/viewer/?uri=github.com/allxsmith/bestax)\n[](https://www.bestpractices.dev/projects/14361)\n[](https://www.npmjs.com/package/@allxsmith/bestax-bulma#provenance)\n[](https://github.com/allxsmith/bestax/blob/main/SECURITY.md)\n\nTypeScript-first React component library for the **Bulma v1** CSS framework — 110+ fully typed, tree-shakeable components, including extras like Carousel, Dialog, Sidebar, Steps, and date/time pickers.\n\n**Requires React `^18 || ^19`.** Bulma v1 is the only runtime dependency and installs automatically.\n\nPart of the [bestax monorepo](https://github.com/allxsmith/bestax) — see also [`create-bestax`](https://www.npmjs.com/package/create-bestax) for scaffolding new projects.\n\n---\n\n## 📚 Comprehensive Documentation\n\n**Looking for full documentation, guides, API references, and best practices?** \n👉 **Visit our official docs at [https://bestax.io](https://bestax.io)**\n\n> The documentation site is the best place to learn about all bestax-bulma features, usage patterns, and updates. We strongly recommend using the docs as your primary resource!\n\n---\n\n## 🚀 Getting Started\n\nStarting fresh? Scaffold a ready-to-go app instead: `npm create bestax@latest my-app`.\n\n### 1. Install the package\n\n```bash\nnpm install @allxsmith/bestax-bulma\n# or\npnpm add @allxsmith/bestax-bulma\n```\n\n### 2. Import the CSS\n\nThe library bundles its own CSS (Bulma v1 + the bestax extras). Import it once in your main JS/TS file:\n\n```js\nimport '@allxsmith/bestax-bulma/bestax.css';\n```\n\nPrefer stock Bulma? That works too — add `extras.css` for the bestax-only components' styles:\n\n```js\nimport 'bulma/css/bulma.min.css';\nimport '@allxsmith/bestax-bulma/extras.css';\n```\n\nMore flavors are shipped as subpath exports — prefixed classes (`versions/bestax-prefixed.css` + `<ConfigProvider classPrefix=\"bestax-\">`), no-helpers, no-dark-mode, and raw SCSS at `@allxsmith/bestax-bulma/scss/*`. See the [installation guide](https://bestax.io/docs/guides/getting-started/installation).\n\n### 3. (Optional) Add an Icon Library\n\nFive icon libraries are supported as optional peer dependencies: [Font Awesome](https://fontawesome.com/) (`@fortawesome/fontawesome-free`), Material Design Icons (`@mdi/font`), `ionicons`, `material-icons`, and `material-symbols`.\n\n```bash\nnpm install @fortawesome/fontawesome-free\n```\n\nSet the default for your whole app with [`ConfigProvider`](https://bestax.io/docs/api/helpers/config), e.g. `<ConfigProvider iconLibrary=\"fa\">`.\n\n### 4. Quick Example\n\n```tsx\nimport '@allxsmith/bestax-bulma/bestax.css';\nimport { Button } from '@allxsmith/bestax-bulma';\n\nfunction App() {\n return (\n <Button color=\"primary\" onClick={() => alert('Clicked!')}>\n Click Me\n </Button>\n );\n}\n\nexport default App;\n```\n\n### 5. Theming and Dark Mode\n\nWrap your app in [`Theme`](https://bestax.io/docs/api/helpers/theme) to override Bulma's `--bulma-*` CSS variables and control the color scheme:\n\n```tsx\nimport { Theme } from '@allxsmith/bestax-bulma';\n\n<Theme isRoot colorMode=\"system\">\n {/* colorMode: 'light' | 'dark' | 'system' */}\n <App />\n</Theme>;\n```\n\n---\n\n## ⭐ Why Choose bestax-bulma?\n\n- **Supports the latest Bulma v1.x**\n Other React Bulma libraries are stuck on Bulma 0.9.4 — bestax-bulma is built for the future.\n- **110+ components**\n All of Bulma v1, plus extras: Carousel, Dialog, Sidebar, Steps, Autocomplete, Taginput, DateInput/TimeInput/DateTimeInput pickers, and more. (Migrating from v2? Snackbar merged into [Toast](https://bestax.io/docs/api/components/toast).)\n- **Dark mode & theming built in**\n `Theme colorMode`, `--bulma-*` variable overrides, and prefixed-class builds via `ConfigProvider`.\n- **Just one dependency: Bulma**\n Every Bulma library depends on it — we ship it automatically. Clean install, fewer security concerns.\n- **Tree-shakeable ESM**\n Import only what you use; your bundler drops the rest. Modular Sass does the same for CSS, and a CJS build is there for `require`.\n- **99% unit test coverage**\n Enforced in CI by the [Vitest config](https://github.com/allxsmith/bestax/blob/main/bulma-ui/vitest.config.ts) — not just claimed.\n- **100% TypeScript**\n Full type safety for you and your team.\n- **Active developer support**\n Issues? Questions? PRs? Get fast responses and real improvements.\n\n---\n\n## 📦 NPM Package\n\nView the package on npmjs: \n👉 [https://www.npmjs.com/package/@allxsmith/bestax-bulma](https://www.npmjs.com/package/@allxsmith/bestax-bulma)\n\n---\n\n## 🔒 Hardened by default\n\nThis package is one runtime dependency deep (Bulma) and is published under a deliberately strict pipeline:\n\n- **Signed provenance** — every release carries a sigstore attestation linking the tarball to the exact commit and CI run that built it. Verify it in the **Provenance** section of the [npm page](https://www.npmjs.com/package/@allxsmith/bestax-bulma#provenance), or run `npm audit signatures` in your project.\n- **npm OIDC trusted publishing** — short-lived, per-run credentials; no long-lived `NPM_TOKEN` exists to be stolen. Release commits and tags are GPG-signed.\n- **Socket.dev scans every PR** for malware, install scripts, obfuscated code, and privilege escalation before it can reach `main`.\n- **Dependencies are a deliberate act** — install scripts are blocked unless individually allow-listed, freshly published versions are refused for 3 days, and CI installs only what the reviewed lockfile resolves.\n- **Every GitHub Action is pinned to a full commit SHA**, so a compromised action release can't roll silently into a build of this package.\n- **CodeQL, Dependency Review, and Dependabot** run continuously, alongside a high-severity `pnpm audit` gate.\n- **Layered AI review before merge** — [CodeRabbit](https://coderabbit.ai) plus an independent adversarial Claude review (a different model from the one writing AI-authored changes), on top of required green CI, an approving review, and a human merge.\n\nFull detail: [`SECURITY.md`](https://github.com/allxsmith/bestax/blob/main/SECURITY.md) · [Security guide](https://bestax.io/docs/guides/security)\n\n---\n\n## 📚 Documentation\n\n**For full documentation, guides, and best practices, please use our official docs site:**\n\n👉 [https://bestax.io](https://bestax.io)\n\n> **Always refer to the [documentation site](https://bestax.io) first:** \n> It's the most complete and up-to-date source for everything bestax-bulma!\n\n---\n\n## 📖 Storybook\n\nExplore live, interactive component examples in our Storybook:\n\n👉 [https://bestax.io/storybook](https://bestax.io/storybook)\n\n---\n\n## 🤖 For AI Tools\n\nBuilding with an AI agent (Claude Code, Cursor, Copilot)? bestax-bulma ships LLM-optimized docs:\n\n- 📘 **[LLMs guide](https://bestax.io/docs/guides/llms)** — how to use the library with AI tools\n- 📄 **[llms.txt](https://bestax.io/llms.txt)** — curated index · **[llms-full.txt](https://bestax.io/llms-full.txt)** — the full docs in one file · every docs page is also served as raw markdown\n- 📦 **In the npm package** — the tarball ships `llms.txt`, `AGENTS.md`, and `CLAUDE.md` pointer files, so agents exploring `node_modules` land on these resources by filename\n- 🧩 **[Agent Skills](https://bestax.io/docs/skills/intro)** — teach your agent the bestax way:\n\n | Skill | Use it when… |\n | ------------------------- | -------------------------------------------------------------------------------- |\n | `bestax-layout-scaffold` | Turning a high-level request (dashboard, landing page, …) into a responsive page |\n | `bestax-form` | Building forms — Field/Control composition and the full input inventory |\n | `bestax-theming` | Customizing colors, fonts, dark mode via `Theme` and `--bulma-*` variables |\n | `bestax-custom-component` | Building a new custom component beyond stock Bulma, the bestax way |\n | `bestax-icons` | Adding icons — Icon/IconText and the five supported icon libraries |\n | `bestax-optimize` | Shrinking the built CSS — flavor builds, modular Sass, import hygiene |\n | `bestax-migrate` | Moving an app off react-bulma-components (v4) onto bestax-bulma |\n\n ```bash\n npx skills add https://github.com/allxsmith/bestax --skill bestax-layout-scaffold\n ```\n\n New projects get the skills automatically with `npm create bestax@latest my-app --skills` (plus a generated `CLAUDE.md`).\n\n---\n\n## 🙏 Attribution\n\nbestax-bulma is built on top of the incredible [Bulma](https://bulma.io) CSS framework,\n© [Jeremy Thomas](https://github.com/jgthms) and licensed under the\n[MIT License](https://github.com/jgthms/bulma/blob/main/LICENSE), whose notice ships with the\npackage in [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md). Some example content and documentation is\nadapted from the Bulma website\n([CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)), © Jeremy Thomas.\n\nIf you find Bulma useful, please consider\n[sponsoring Jeremy Thomas](https://github.com/sponsors/jgthms) to support its continued\ndevelopment.\n\n_We are not affiliated with Bulma or Jeremy Thomas in any way — we're just big fans of the\nBulma framework!_\n\n## License\n\nSource code licensed MIT\n"
|
|
232
232
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Bestax Extras - DataTable Styles
|
|
2
2
|
// DataTable renders Bulma's own table, checkboxes and pager, which Bulma and
|
|
3
3
|
// the Checkbox partial style. This adds what Bulma has no class for: the
|
|
4
|
-
// toolbar above the table, the button a sortable header holds,
|
|
5
|
-
// indicator that shows which way it sorts
|
|
4
|
+
// toolbar above the table, the button a sortable header holds, the
|
|
5
|
+
// indicator that shows which way it sorts, and the height of a loading
|
|
6
|
+
// row's skeleton lines.
|
|
6
7
|
//
|
|
7
8
|
// The sort button is styled on its own class rather than inside
|
|
8
9
|
// `.data-table`, so a table built from `useDataTable`'s props, with no
|
|
@@ -119,6 +120,17 @@ $-descending: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'
|
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
122
|
|
|
123
|
+
// While `loading`, each cell holds one skeleton line. Bulma draws a skeleton
|
|
124
|
+
// line half a line of text tall, which left a loading row shorter than the
|
|
125
|
+
// row that replaces it, so the table jumped when the data came. This one is
|
|
126
|
+
// a line of the cell's text tall, as Stat's loading Skeleton is a line of its
|
|
127
|
+
// figure. The extra class outranks Bulma's rule whichever sheet loads first,
|
|
128
|
+
// and a browser without `lh` keeps Bulma's height.
|
|
129
|
+
.#{iv.$class-prefix}data-table-skeleton.#{iv.$class-prefix}skeleton-lines
|
|
130
|
+
> div {
|
|
131
|
+
height: 1lh;
|
|
132
|
+
}
|
|
133
|
+
|
|
122
134
|
// The sorted header says which way in `aria-sort`, so the indicator reads it
|
|
123
135
|
// from there, and markup built from `useDataTable`'s props shows it too.
|
|
124
136
|
th[aria-sort='ascending'] > .#{iv.$class-prefix}data-table-sort::after {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Bestax Extras - Panel Styles
|
|
2
|
+
// Bulma paints a panel's heading in the text color and writes its title in
|
|
3
|
+
// `text-invert`, unless the panel has a color of its own. The dark scheme
|
|
4
|
+
// lightens the text color but leaves `text-invert` near white, so on that
|
|
5
|
+
// scheme a panel with no color has white text on a light gray heading.
|
|
6
|
+
//
|
|
7
|
+
// Text is chosen to read on the page background, so the page background
|
|
8
|
+
// reads on text too. This gives the panel the scheme's own background
|
|
9
|
+
// lightness as its `text-invert`, near white on the light scheme as before
|
|
10
|
+
// and near black on the dark one. The heading is the only part of Bulma's
|
|
11
|
+
// panel that reads `text-invert`. A colored panel takes the heading's text
|
|
12
|
+
// from its own color's invert, so this leaves it as it is.
|
|
13
|
+
//
|
|
14
|
+
// Bulma declares `--bulma-text-invert-l` on the root and the panel's heading
|
|
15
|
+
// variables on the panel, which resolve `var()` against the panel's own value,
|
|
16
|
+
// so this reaches the heading whichever order Bulma's CSS and this partial
|
|
17
|
+
// load in. Something inside a panel that reads `text-invert` itself, such as
|
|
18
|
+
// the `has-text-text-invert` helper, gets the same value.
|
|
19
|
+
|
|
20
|
+
@use 'bulma/sass/utilities/initial-variables' as iv;
|
|
21
|
+
@use 'bulma/sass/utilities/css-variables' as cv;
|
|
22
|
+
|
|
23
|
+
$panel-text-invert-l: cv.getVar('scheme-main-l') !default;
|
|
24
|
+
|
|
25
|
+
.#{iv.$class-prefix}panel {
|
|
26
|
+
@include cv.register-vars(
|
|
27
|
+
(
|
|
28
|
+
'text-invert-l': #{$panel-text-invert-l},
|
|
29
|
+
)
|
|
30
|
+
);
|
|
31
|
+
}
|