{"_id":"@apium-pro/ui","_rev":"7-e92d0e7df619876aebd51e216f2c2c73","name":"@apium-pro/ui","dist-tags":{"latest":"1.1.1"},"versions":{"0.1.0":{"name":"@apium-pro/ui","version":"0.1.0","keywords":["vue","vue3","ui","components","design-system","apium"],"license":"Apache-2.0","_id":"@apium-pro/ui@0.1.0","maintainers":[{"name":"eazymesa","email":"i@apium.pro"}],"homepage":"https://gitlab.apium.pro/apium/ui","bugs":{"url":"https://gitlab.apium.pro/apium/ui/-/issues"},"dist":{"shasum":"1a683c20ad2cf9c6ee517581b3178d53c4cd5ea7","tarball":"https://registry.npmjs.org/@apium-pro/ui/-/ui-0.1.0.tgz","fileCount":41,"integrity":"sha512-434KAAUn50oyTUInWVBADv9zhOmdXthxhmd1ZwTKrG/Q4j3KqZzODEXiIi0/ul1LY/xnK8aD35TnPrr8NYQ4gA==","signatures":[{"sig":"MEYCIQDYqHevog0OCYx+sXqtL6TFtTTtMovJo3XbhcG6oPeDVgIhAOxh8nsz3OB+vCuBiKEYE+kJjBk+QFqF37BvhdZKtROK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188038},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./styles":"./src/styles/index.css"},"gitHead":"7acd0861e9dd3a79c0cfda47a372cc81e6e32caf","scripts":{"lint":"eslint src"},"_npmUser":{"name":"eazymesa","email":"i@apium.pro"},"repository":{"url":"git+https://gitlab.apium.pro/apium/ui.git","type":"git","directory":"packages/ui"},"_npmVersion":"10.8.2","description":"Apium's custom Vue 3 UI library — source-only ESM components + design tokens.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.0_1778674011914_0.3585988568850096","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@apium-pro/ui","version":"0.1.1","keywords":["vue","vue3","ui","components","design-system","apium"],"license":"Apache-2.0","_id":"@apium-pro/ui@0.1.1","maintainers":[{"name":"eazymesa","email":"i@apium.pro"}],"homepage":"https://gitlab.apium.pro/apium/ui","bugs":{"url":"https://gitlab.apium.pro/apium/ui/-/issues"},"dist":{"shasum":"7a53c9cd0086bfe2d244a8bb57520cd0879ac678","tarball":"https://registry.npmjs.org/@apium-pro/ui/-/ui-0.1.1.tgz","fileCount":41,"integrity":"sha512-zBgRY7+lPSpglDueqKr7Y3n1uV+qby+R9fVY1snK91kHdwelSsNS5tEq1kiS66gFnOteugUKUfXLJV8dt7IWoQ==","signatures":[{"sig":"MEQCIFHPjyGfbLBwseiYU/JH1InNHWZyXRjLQ9wkSRRfaP+YAiAiRPYiFcMTZpfFOjg5nN8mSpQGBe9XPF9PRJ6IIV5Hjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176958},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./styles":"./src/styles/index.css"},"gitHead":"b5a3b02ffcc905b6b70c340bd7941866753dbfc2","scripts":{"lint":"eslint src"},"_npmUser":{"name":"eazymesa","email":"i@apium.pro"},"repository":{"url":"git+https://gitlab.apium.pro/apium/ui.git","type":"git","directory":"packages/ui"},"_npmVersion":"10.8.2","description":"Apium's custom Vue 3 UI library — source-only ESM components + design tokens.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.1_1778679486445_0.4469841546477371","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@apium-pro/ui","version":"0.2.0","keywords":["vue","vue3","ui","components","design-system","apium"],"license":"Apache-2.0","_id":"@apium-pro/ui@0.2.0","maintainers":[{"name":"eazymesa","email":"i@apium.pro"}],"homepage":"https://gitlab.apium.pro/apium/ui","bugs":{"url":"https://gitlab.apium.pro/apium/ui/-/issues"},"dist":{"shasum":"b8da0502e2daf6ad89a67892515a985b3a1a24ec","tarball":"https://registry.npmjs.org/@apium-pro/ui/-/ui-0.2.0.tgz","fileCount":41,"integrity":"sha512-nEsVu7r767CKoyYtA443j4t94LFxcwriFycbcW/+33Ch9IoiqMm5IXDY4Qa8UrV849kkfATKkgblLgFoUSLgMA==","signatures":[{"sig":"MEQCIAqrEoLUwH4tgQr1P8UGXOQmGs0/lSql91Ff2thciEIEAiAmAnsP+17+yySvFCX8QXQ+8oBMoiupNIlQd9CeCGWUHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184184},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./styles":"./src/styles/index.css"},"gitHead":"eecc02f548ff1257d62f915f2b2c5ec711c5c66b","scripts":{"lint":"eslint src"},"_npmUser":{"name":"eazymesa","email":"i@apium.pro"},"repository":{"url":"git+https://gitlab.apium.pro/apium/ui.git","type":"git","directory":"packages/ui"},"_npmVersion":"10.8.2","description":"Apium's custom Vue 3 UI library — source-only ESM components + design tokens.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.2.0_1778822659258_0.874566253893228","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@apium-pro/ui","version":"0.3.0","keywords":["vue","vue3","ui","components","design-system","apium"],"license":"Apache-2.0","_id":"@apium-pro/ui@0.3.0","maintainers":[{"name":"eazymesa","email":"i@apium.pro"}],"homepage":"https://gitlab.apium.pro/apium/ui","bugs":{"url":"https://gitlab.apium.pro/apium/ui/-/issues"},"dist":{"shasum":"94c97f1481a38fcc981c325b16f5675015b20980","tarball":"https://registry.npmjs.org/@apium-pro/ui/-/ui-0.3.0.tgz","fileCount":42,"integrity":"sha512-Bnpr2FF+szUh+8dKsZH/vpzBXESkaH3MB8ivbJ71hL5/DiZhIAsQhUQ3rTZ+pNAw8vprGJ3kyBlhR9H01lYrWg==","signatures":[{"sig":"MEUCIQCxIpuPsilPV38iFDO/FTJrXCNE78baUgMJmCwwRlT3NgIgKZklVUN6p7zo/LiLKnK/jBZ9GJ27w4+Vnk/e1D4bHbI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197305},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./styles":"./src/styles/index.css"},"gitHead":"8789776de97fd2db5215df35a11413f100d52784","scripts":{"lint":"eslint src"},"_npmUser":{"name":"eazymesa","email":"i@apium.pro"},"repository":{"url":"git+https://gitlab.apium.pro/apium/ui.git","type":"git","directory":"packages/ui"},"_npmVersion":"10.8.2","description":"Apium's custom Vue 3 UI library — source-only ESM components + design tokens.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.3.0_1778825364301_0.4825983001579557","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@apium-pro/ui","version":"1.0.0","keywords":["vue","vue3","ui","components","design-system","apium"],"license":"Apache-2.0","_id":"@apium-pro/ui@1.0.0","maintainers":[{"name":"eazymesa","email":"i@apium.pro"}],"homepage":"https://gitlab.apium.pro/apium/ui","bugs":{"url":"https://gitlab.apium.pro/apium/ui/-/issues"},"dist":{"shasum":"aabcd8508f35339e114662c6e9873d8e5580f4bd","tarball":"https://registry.npmjs.org/@apium-pro/ui/-/ui-1.0.0.tgz","fileCount":102,"integrity":"sha512-luhE2jEcVXKmtRGECbHIca13Ip3lp4FmlSTsYVegFacrPEzEY5gOWhDW0IhdptjZ2ieOTYEPkB14iykeQSGMow==","signatures":[{"sig":"MEUCIDdvTN/Hkvp21eawntuggP5GWGTNSwGMiDjzJAUZeOZKAiEAtkX+XzLFO9CQ5JSkY7RCeM7vOlaAJgcE05rQy/tTraw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":777145},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./lab":"./src/lab/index.js","./styles":"./src/styles/index.css","./presets/*":"./src/styles/presets/*.css"},"gitHead":"71d11ad0656a5bdbc8ac16496dbe9748cdac61f1","scripts":{"lint":"eslint src","gen:web-types":"node scripts/gen-web-types.mjs"},"_npmUser":{"name":"eazymesa","email":"i@apium.pro"},"web-types":"./web-types.json","repository":{"url":"git+https://gitlab.apium.pro/apium/ui.git","type":"git","directory":"packages/ui"},"_npmVersion":"10.8.2","description":"Apium's custom Vue 3 UI library — source-only ESM components + design tokens.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ol":"^10.9.0"},"peerDependencies":{"ol":"^10.0.0","vue":"^3.5.0"},"peerDependenciesMeta":{"ol":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.0_1781174470171_0.16613592206511596","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@apium-pro/ui","version":"1.1.0","keywords":["vue","vue3","ui","components","design-system","apium"],"license":"Apache-2.0","_id":"@apium-pro/ui@1.1.0","maintainers":[{"name":"eazymesa","email":"i@apium.pro"}],"homepage":"https://gitlab.apium.pro/apium/ui","bugs":{"url":"https://gitlab.apium.pro/apium/ui/-/issues"},"dist":{"shasum":"b21a9aa64fc368e960a893a235683c31c2b19bb3","tarball":"https://registry.npmjs.org/@apium-pro/ui/-/ui-1.1.0.tgz","fileCount":111,"integrity":"sha512-UNV/icUyVoOn/SrldbUrxYBf8KxH+uKU0yFfplHfArGzoW3AYXo/vwQtXzeakyGjNMWXX7us+Brmlze7y92uSA==","signatures":[{"sig":"MEYCIQDjt/kuBG1KXuZVlaxzH3yC6PBUEpr69bTttsSEy9XyXgIhAJVcU9szrK/Cs/VzzP4bqoAgwX4RigWOo7z+3tTpVaTo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":877009},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./lab":"./src/lab/index.js","./styles":"./src/styles/index.css","./presets/*":"./src/styles/presets/*.css"},"gitHead":"08bb4032640991d5fc3cf8a22e83cc95367c3156","scripts":{"lint":"eslint src","gen:web-types":"node scripts/gen-web-types.mjs"},"_npmUser":{"name":"eazymesa","email":"i@apium.pro"},"web-types":"./web-types.json","repository":{"url":"git+https://gitlab.apium.pro/apium/ui.git","type":"git","directory":"packages/ui"},"_npmVersion":"10.8.2","description":"Apium's custom Vue 3 UI library — source-only ESM components + design tokens.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ol":"^10.9.0"},"peerDependencies":{"ol":"^10.0.0","vue":"^3.5.0"},"peerDependenciesMeta":{"ol":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ui_1.1.0_1781542617194_0.37142514922049585","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@apium-pro/ui","version":"1.1.1","description":"Apium's custom Vue 3 UI library — source-only ESM components + design tokens.","license":"Apache-2.0","type":"module","homepage":"https://gitlab.apium.pro/apium/ui","repository":{"type":"git","url":"git+https://gitlab.apium.pro/apium/ui.git","directory":"packages/ui"},"bugs":{"url":"https://gitlab.apium.pro/apium/ui/-/issues"},"keywords":["vue","vue3","ui","components","design-system","apium"],"main":"./src/index.js","web-types":"./web-types.json","exports":{".":"./src/index.js","./lab":"./src/lab/index.js","./styles":"./src/styles/index.css","./presets/*":"./src/styles/presets/*.css"},"sideEffects":["**/*.css"],"scripts":{"lint":"eslint src","gen:web-types":"node scripts/gen-web-types.mjs"},"peerDependencies":{"ol":"^10.0.0","vue":"^3.5.0"},"peerDependenciesMeta":{"ol":{"optional":true}},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"ol":"^10.9.0"},"_id":"@apium-pro/ui@1.1.1","gitHead":"dd41f31ed41ba8d37cd2c502986ebefa3de4793b","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-dtUyD4K8advoFVXwH111e1Kg77JJzPoY3xMoOvjjOl8PYsSR66f+dhmRBimBQws8Rep3BpGgHC4hbYWcYcsceQ==","shasum":"668d8a5507b6aff62e70c0adaba6ac685c55c3e9","tarball":"https://registry.npmjs.org/@apium-pro/ui/-/ui-1.1.1.tgz","fileCount":111,"unpackedSize":877543,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBVweXwAjPGv0zCQpRKWolSSqP1qt6ADbOeQFwEUGn5IAiEAqf3uAbQJVhnCxVyoLDL9yG+zRQ5ouO0hBnErWUyg4jU="}]},"_npmUser":{"name":"eazymesa","email":"i@apium.pro"},"directories":{},"maintainers":[{"name":"eazymesa","email":"i@apium.pro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_1.1.1_1781691661395_0.05980944055337001"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-13T12:06:51.826Z","modified":"2026-06-17T10:21:01.714Z","0.1.0":"2026-05-13T12:06:52.125Z","0.1.1":"2026-05-13T13:38:06.618Z","0.2.0":"2026-05-15T05:24:19.417Z","0.3.0":"2026-05-15T06:09:24.450Z","1.0.0":"2026-06-11T10:41:10.317Z","1.1.0":"2026-06-15T16:56:57.337Z","1.1.1":"2026-06-17T10:21:01.591Z"},"bugs":{"url":"https://gitlab.apium.pro/apium/ui/-/issues"},"license":"Apache-2.0","homepage":"https://gitlab.apium.pro/apium/ui","keywords":["vue","vue3","ui","components","design-system","apium"],"repository":{"type":"git","url":"git+https://gitlab.apium.pro/apium/ui.git","directory":"packages/ui"},"description":"Apium's custom Vue 3 UI library — source-only ESM components + design tokens.","maintainers":[{"name":"eazymesa","email":"i@apium.pro"}],"readme":"# @apium-pro/ui\n\nApium's custom Vue 3 UI library — **source-only ESM** components + design tokens.\nThere is **no build step**: the package ships the raw `.vue` / CSS sources and\nconsumers bundle them themselves (Vite). This is intentional — see `CLAUDE.md`\nnext to this file for the why and for the full component / theming conventions.\n\n> Live examples and copy-paste-ready snippets: the brandbook app in\n> [`apps/brandbook`](../../apps/brandbook) of this repo.\n\n## Install\n\nPublished to the public npm registry, scope `@apium-pro`:\n\n```sh\npnpm add @apium-pro/ui   # or: npm i @apium-pro/ui / yarn add @apium-pro/ui\n```\n\n`peerDependencies`: `vue@^3.5`.\n\n## Usage\n\nThe recommended setup is the global plugin — register once, then use every\ncomponent anywhere with a configurable prefix (default `Ap`) plus short aliases,\nno per-file imports to maintain:\n\n```js\n// main.js\nimport ApiumUI from '@apium-pro/ui';\nimport '@apium-pro/ui/styles';            // reset + tokens + scrollbar + transitions\n\napp.use(ApiumUI);                         // <ApButton>, <ApBtn>, <ApCard>, …\n// app.use(ApiumUI, { prefix: 'Apium' }); // <ApiumButton>, <ApiumBtn>, …\n```\n\n```vue\n<template>\n  <ApButton variant=\"primary\">Save</ApButton>\n  <ApBtn />          <!-- short alias of ApButton -->\n  <ApCard>…</ApCard>\n</template>\n```\n\nLab components (`@apium-pro/ui/lab`) are not auto-registered — import them\nexplicitly (they pull optional peer deps like `ol`).\n\nBecause the package is **source** (`.vue` + CSS), not a pre-built bundle, the\nconsuming project must:\n\n- have `@vitejs/plugin-vue` (or an equivalent SFC compiler) — it processes the\n  `.vue` files;\n- exclude the package from Vite's dependency pre-bundling (esbuild can't parse\n  `.vue`):\n\n```js\n// vite.config.js\nimport vue from '@vitejs/plugin-vue';\n\nexport default {\n  plugins: [vue()],\n  optimizeDeps: { exclude: ['@apium-pro/ui'] },\n};\n```\n\n### Named imports (optional)\n\nPrefer explicit, per-component imports? Every component is also a tree-shakable\nnamed export — skip `app.use()` and import what you use:\n\n```js\nimport { Button, Modal, useToast, aurora } from '@apium-pro/ui';\n```\n\n## Theming\n\nSwitch `data-theme` on `<html>` — `dark` (warm dark, default) or `light` (warm\nlight). All colors/radii/spacing/gradients/shadows come from CSS custom\nproperties in `src/styles/tokens.css` (the public theming API). On theme switch,\ntoggle the `ap-theming` class on `<html>` for `--theme-anim-duration` to play\nthe per-component transition choreography (see `useTheme` in the brandbook).\nDetails: `CLAUDE.md` and the brandbook Foundations page.\n\n## IDE support\n\nThe package ships a `web-types.json` (referenced from `package.json`), so\nJetBrains IDEs (WebStorm, IntelliJ — and partially VS Code) give you, right in\nthe template: a one-line description per component on hover, prop completion with\ntypes, defaults and **allowed values** (parsed from the components' validators),\nplus the available events and slots, and an \"open docs\" link. No TypeScript /\n`.d.ts` needed — it's generated from the source. Regenerate after changing\nprops/emits/slots:\n\n```bash\npnpm --filter @apium-pro/ui gen:web-types\n```\n\nPer-component one-liners live in `scripts/gen-web-types.mjs` (the `SUMMARIES`\nmap); everything else is extracted from the `.vue` files.\n\n## What's inside\n\n≈22 components (Button, IconButton, Input, Textarea, Switch, Spinner, Badge,\nAvatar/AvatarGroup, Box, Container, Columns/Column, Inline, Stack, Tabs,\nEmptyState, Skeleton/SkeletonLoader, Modal, Drawer, Dropdown, Tooltip, Toast,\nMessageBubble, ChatListItem), the `useToast` singleton, overlay/popover\ncomposables, the deterministic `aurora(seed)` avatar-background generator, and\nthe design-token stylesheet (`@apium-pro/ui/styles`). Full per-component reference:\n`CLAUDE.md`.\n\n## Releasing a new version\n\nReleases are fully automated via [semantic-release](https://semantic-release.gitbook.io/).\nPush a commit to `main` whose message follows\n[Conventional Commits](https://www.conventionalcommits.org/):\n\n- `feat: …` → minor bump\n- `fix: …` → patch bump\n- `feat!: …` or footer `BREAKING CHANGE:` → major bump\n- `chore: …`, `docs: …`, `refactor: …`, `test: …`, `ci: …`, `build: …`,\n  `style: …` → no release\n\nThe `release:ui` CI job (`.gitlab-ci.yml`) analyzes commits since the last tag,\nbumps `version` in this `package.json`, updates `CHANGELOG.md`, commits the\nbump back to `main` with `[skip ci]`, tags `vX.Y.Z`, runs `npm publish\n--access public`, and opens a GitLab Release. Auth: CI/CD variables\n`NPM_TOKEN` and `GITLAB_TOKEN` (see `.gitlab-ci.yml` header for required\nscopes).\n\n## License\n\nApache-2.0 — see [`LICENSE`](./LICENSE) and [`NOTICE`](./NOTICE).\n","readmeFilename":"README.md"}