{"_id":"@airdraft/ui-core","_rev":"9-30cde9f41e89578882c155b85577bdca","name":"@airdraft/ui-core","dist-tags":{"latest":"0.1.10"},"versions":{"0.1.0":{"name":"@airdraft/ui-core","version":"0.1.0","license":"MIT","_id":"@airdraft/ui-core@0.1.0","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"f02ffc9177f5afca02bb828aa63ff68a93de4bd6","tarball":"https://registry.npmjs.org/@airdraft/ui-core/-/ui-core-0.1.0.tgz","fileCount":22,"integrity":"sha512-jaTU4CbGMHEdjf35fY+9nzVNVV19+Sa/rCgn5d1nuBxXSQxZbcBI+mqvpEsILVhq6TUYxPJCOItc03vUVcFLkQ==","signatures":[{"sig":"MEUCICfl6v8Qv6cOyaW5yPNxh5g3WG7MJVcFGbZ4pWXA4kI1AiEA8/9uq3eul3c0hdQXxjcUloCzfiQ2f00fZVNIDwwGSzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13826},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d6c85dfed37f11c42151c93b49a80ede90699616","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft UI core — field type metadata, validators, and schema mutation helpers (zero framework deps)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@airdraft/core":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-core_0.1.0_1779387988634_0.5093313370700752","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@airdraft/ui-core","version":"0.1.2","license":"MIT","_id":"@airdraft/ui-core@0.1.2","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"423678defc03986c5345a4a262575fd601b4b1b8","tarball":"https://registry.npmjs.org/@airdraft/ui-core/-/ui-core-0.1.2.tgz","fileCount":22,"integrity":"sha512-EA/a1/mRqxo1adPS0LeUy50foRtmdz+SCir7m2QwKuXyDQUev26eh9dfreuRGtrVA4h3VjBj6hSvCzNGhVVhoA==","signatures":[{"sig":"MEQCIH+a4Wr+GxEsTtwem+JUPgzAwxxvL4CDGMahxKYBfiJRAiAU6aczcUv0pA+BBcqDUxshRDnfFmd6jRiWC2erbc8jDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18807},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"277e16b37c997996b49d90ec64fa3f5c023f4d0a","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft UI core — field type metadata, validators, and schema mutation helpers (zero framework deps)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@airdraft/core":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-core_0.1.2_1779521595860_0.28406816286984893","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@airdraft/ui-core","version":"0.1.3","license":"MIT","_id":"@airdraft/ui-core@0.1.3","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"dc18ff3c1b97fb3f951947e57adb194518f5a496","tarball":"https://registry.npmjs.org/@airdraft/ui-core/-/ui-core-0.1.3.tgz","fileCount":22,"integrity":"sha512-eSrGYp1lqn1S1X6929e4SkRyehYSjzHJt5Ix7z7GNxt3tXz2BF/sTg1qgq0xuGW2IUSV6Kwn4Sd1gIZxBWbWyg==","signatures":[{"sig":"MEUCIQD7Pab0nhatM2Vl8FV+GcOBOGdqqJn510l+NI66MLAE4AIgaFe9joRMzRYrfSNeU2TahC1VM4kmroHaAZslUzuGjVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20358},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8d692f6e9c48b0c7886d404b7bbc9f1b0a79ca7b","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft UI core — field type metadata, validators, and schema mutation helpers (zero framework deps)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@airdraft/core":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-core_0.1.3_1779557707623_0.5125417127378225","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@airdraft/ui-core","version":"0.1.5","license":"MIT","_id":"@airdraft/ui-core@0.1.5","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"24662f2fde55578cc6f3d9019e09cf5e0285c165","tarball":"https://registry.npmjs.org/@airdraft/ui-core/-/ui-core-0.1.5.tgz","fileCount":23,"integrity":"sha512-2f0okFRcc435wsmhtyi35FjBRqX3M3jPPHGAU3QkBMMA3urufqltvvNbquXCm9HGuTe+r7xSZHuJCyjc2CTizw==","signatures":[{"sig":"MEUCIQDfUnfILxBDlcrrlbpnmpqY7gHdSaGa8Wpfq+rto7AccAIgTQu++BIx8W3OzfO244p7Q2x+jW+j6OdO1hJ+SCm7Cj8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23445},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"00fe9c5eea0b7f5f48691c7e3290ba623f8e00d2","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft UI core — field type metadata, validators, and schema mutation helpers (zero framework deps)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@airdraft/core":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-core_0.1.5_1779557923982_0.47908371957939155","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@airdraft/ui-core","version":"0.1.6","license":"MIT","_id":"@airdraft/ui-core@0.1.6","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"da5bcaaeb923e56d86571ef3d6bbd09261d001e4","tarball":"https://registry.npmjs.org/@airdraft/ui-core/-/ui-core-0.1.6.tgz","fileCount":23,"integrity":"sha512-pMM74SEvKbuUV+JKUjGtLaLK21jlH9qNp2Dn98+tG4Bw+QRROuX1kgrNKXzwFwyHLVEkmPqXv81/Pjs0pq+Zlg==","signatures":[{"sig":"MEQCIFkrN7oHRwINkaKTh9GVpXHmznDW/L6LtCZYsFBqjChGAiAxs/UhlgUjg8gRZgg2m++5mkKzeIiBExEQKWbEUg4EGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24091},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"88185ba7e7a5ed54561a09a53f6d13367587bbfb","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft UI core — field type metadata, validators, and schema mutation helpers (zero framework deps)","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/ui-core_0.1.6_1779564545252_0.17174473756187725","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@airdraft/ui-core","version":"0.1.7","license":"MIT","_id":"@airdraft/ui-core@0.1.7","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"9f11c7a324a1477547f3bc77e5a4b265203d2ab7","tarball":"https://registry.npmjs.org/@airdraft/ui-core/-/ui-core-0.1.7.tgz","fileCount":23,"integrity":"sha512-6zHEDyyXb5OwbQeZ9kbdj6FVsjogtDQjAxawoxY/C50sLgaIVWv0XTrhJ9byGUMEiDUXOd3mU0m2p8BKhkjCJw==","signatures":[{"sig":"MEQCIC4ZvW2H0gAPtYcieuPtD9vfV+o9jz4M1XyQLEf2+F6vAiBH6afoxDt1YGSOt1BkNnFD889IdFvHH5eo6az3RqRSIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24767},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"829aab190f831c8d252be75e35c26b42715babe2","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft UI core — field type metadata, validators, and schema mutation helpers (zero framework deps)","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/ui-core_0.1.7_1779570927609_0.5899730214716092","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@airdraft/ui-core","version":"0.1.8","license":"MIT","_id":"@airdraft/ui-core@0.1.8","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"fd1d681aabda510a5fbda401a30a844fa2570395","tarball":"https://registry.npmjs.org/@airdraft/ui-core/-/ui-core-0.1.8.tgz","fileCount":23,"integrity":"sha512-V1/UoaoKeQvLzvT15vBZy4SMtK5iE97krfavTqmr/7MfM4jN/nWkdwcCJdH+pAe8Uky+Svc95rUKd8bfCBe/jw==","signatures":[{"sig":"MEQCIAzXWVemv1aH3dURrCAZEf805rrKy0NWP+S6E4cZWHqEAiBjcNhjP5Q+maXwiB6SHCcuIeNDIp1gRProFDaVOVQ4GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30588},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f7693c8d6ef7b185d4eadb25c4a39d154b263f89","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft UI core — field type metadata, validators, and schema mutation helpers (zero framework deps)","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/ui-core_0.1.8_1780125494329_0.8176113196625707","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@airdraft/ui-core","version":"0.1.9","license":"MIT","_id":"@airdraft/ui-core@0.1.9","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"196a9413b3e5c45ec31419ad122b52191be8db00","tarball":"https://registry.npmjs.org/@airdraft/ui-core/-/ui-core-0.1.9.tgz","fileCount":23,"integrity":"sha512-xSQ1BswMHKrmJ/+xABmsOtb3XdbmZCiM1xt9FujU3mhucXXJsuh+SDKjLG57aZSjXvrUn8azq0awKIjuF8TPWQ==","signatures":[{"sig":"MEQCICHdHppCdD3FldfNbeoN9QHH8FzladRKYasnWLiLBsdfAiAGBqN36z/akiwWHpZYag6KM4gLZ5pvSZiuT/RO9lFPEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32082},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"975a7289f19a226eedd197b9ede9b18ce6d4ee47","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft UI core — field type metadata, validators, and schema mutation helpers (zero framework deps)","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/ui-core_0.1.9_1780221415663_0.40222106557778936","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@airdraft/ui-core","version":"0.1.10","description":"Airdraft UI core — field type metadata, validators, and schema mutation helpers (zero framework deps)","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsc","dev":"tsc --watch","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","release":"standard-version","release:patch":"standard-version --release-as patch","release:minor":"standard-version --release-as minor","release:major":"standard-version --release-as major"},"publishConfig":{"access":"public"},"license":"MIT","devDependencies":{"@types/node":"^20.0.0","standard-version":"^9.5.0","typescript":"^5.4.0","@airdraft/core":"*"},"engines":{"node":">=18.0.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"gitHead":"9fdb3e0fbca1e58bb84aca8dd92155d0057ca4b1","_id":"@airdraft/ui-core@0.1.10","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-jjgauxrXMW4wMYFHdlpwYdVRxmlq77QwaJw82V2Etblbxtlad7vVej0aubT8sfZ1IV/550cG2uL9ix+HVcqarA==","shasum":"7a0d9e219240b024bae57daa32598a49233448f3","tarball":"https://registry.npmjs.org/@airdraft/ui-core/-/ui-core-0.1.10.tgz","fileCount":23,"unpackedSize":35954,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEmZQW2RqUh32NSUihAkRwxVhNNcGXFNrB4AVNvsVcBKAiAgnza8WOx3U8i4ZsaBO54DVw5MebTLwyAlozghcmgVsw=="}]},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"directories":{},"maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui-core_0.1.10_1782407393844_0.4461824587634866"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-21T18:26:28.482Z","modified":"2026-06-25T17:09:54.164Z","0.1.0":"2026-05-21T18:26:28.819Z","0.1.2":"2026-05-23T07:33:16.017Z","0.1.3":"2026-05-23T17:35:07.770Z","0.1.5":"2026-05-23T17:38:44.149Z","0.1.6":"2026-05-23T19:29:05.437Z","0.1.7":"2026-05-23T21:15:27.735Z","0.1.8":"2026-05-30T07:18:14.473Z","0.1.9":"2026-05-31T09:56:55.809Z","0.1.10":"2026-06-25T17:09:53.974Z"},"license":"MIT","description":"Airdraft UI core — field type metadata, validators, and schema mutation helpers (zero framework deps)","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"readme":"# @airdraft/ui-core\n\nShared UI-layer constants and utilities for Airdraft. Provides field-type metadata (labels, icons, descriptions), the schema editor mutation helpers, and collection name validators consumed by `@airdraft/react-ui`.\n\n## Installation\n\n```bash\nnpm install @airdraft/ui-core\n```\n\nThis package is typically a transitive dependency — you don't need to install it directly unless you're building a custom schema editor or type picker.\n\n## Exports\n\n### Field type metadata\n\n```ts\nimport { FIELD_TYPE_META, VISIBLE_FIELD_TYPES } from '@airdraft/ui-core'\nimport type { FieldTypeMeta } from '@airdraft/ui-core'\n```\n\n| Export | Description |\n|---|---|\n| `FIELD_TYPE_META` | `Record<FieldType, FieldTypeMeta>` — label, description, and Lucide icon name for every field type |\n| `VISIBLE_FIELD_TYPES` | `FieldType[]` — all field types with `hidden !== true`; use this to populate a type picker (excludes the deprecated `image` type) |\n| `FieldTypeMeta` | `{ type, label, description, icon, hidden? }` |\n\n**Supported field types** (all included in `FIELD_TYPE_META`):\n\n`string` · `text` · `number` · `boolean` · `date` · `datetime` · `list` · `select` · `multiselect` · `rich-text` · `relation` · `relations` · `object` · `url` · `media` · `blocks`\n\n`image` is present but marked `hidden: true` — it is excluded from `VISIBLE_FIELD_TYPES` and the schema editor type picker. Use `media` for new fields.\n\n### Schema editor mutations\n\n```ts\nimport { applyFieldUpdate, applyFieldDelete, buildDefaultPath } from '@airdraft/ui-core'\n```\n\n| Export | Description |\n|---|---|\n| `applyFieldUpdate(collection, key, config)` | Returns a new `CollectionConfig` with the field at `key` upserted |\n| `applyFieldDelete(collection, key)` | Returns a new `CollectionConfig` with the field at `key` removed |\n| `buildDefaultPath(name, format)` | Generates a default `path` pattern for a collection (e.g. `content/posts/**`) |\n\n### Validators\n\n```ts\nimport { validateFieldKey, generateFieldKey, validateCollectionName } from '@airdraft/ui-core'\n```\n\n| Export | Description |\n|---|---|\n| `validateFieldKey(key)` | Returns `{ valid: boolean, error?: string }`. Keys must match `[a-zA-Z][a-zA-Z0-9_]*`. |\n| `generateFieldKey(label)` | Converts a human label to a valid `snake_case` field key (e.g. `\"Hero Image\"` → `\"hero_image\"`). |\n| `validateCollectionName(name)` | Returns `{ valid: boolean, error?: string }`. Rejects reserved names (`schema`, `health`, `openapi`, etc.). |\n\n### Constants\n\n```ts\nimport { RESERVED_COLLECTION_NAMES } from '@airdraft/ui-core'\n```\n\n`RESERVED_COLLECTION_NAMES` — `string[]` of names that cannot be used as collection names (`schema`, `media`, `openapi`, `health`, `apply`, `collections`).\n\n> **Breaking change (v0.1.8):** `RESERVED_COLLECTION_NAMES` was previously exported as `Set<string>`. It is now a `string[]`. Replace any `.has(name)` calls with `.includes(name)`.\n\n## Changelog\n\nSee [CHANGELOG.md](./CHANGELOG.md).\n","readmeFilename":"README.md"}