{"_id":"@b4m-oss/kiyax-js-sdk","_rev":"3-f100a656d8e8cd87f69cfed02a8fdf24","name":"@b4m-oss/kiyax-js-sdk","dist-tags":{"latest":"0.10.3"},"versions":{"0.10.0":{"name":"@b4m-oss/kiyax-js-sdk","version":"0.10.0","keywords":["kiyax","sdk","api","document","cms"],"author":"","license":"MIT","_id":"@b4m-oss/kiyax-js-sdk@0.10.0","maintainers":[{"name":"b4m-oss","email":"kohki.shikata@gmail.com"}],"dist":{"shasum":"39d6bb146a12b11c974298532eeee316c8c156ed","tarball":"https://registry.npmjs.org/@b4m-oss/kiyax-js-sdk/-/kiyax-js-sdk-0.10.0.tgz","fileCount":14,"integrity":"sha512-T096bFOclLjozEyr4Q3W+7algwvFH0tKZ/MiucovRenPUrGhjwwFe2kAZBtwD2SDVTgzy/bRIfxZ0VCr+BdlfA==","signatures":[{"sig":"MEUCIQC1eXjKITldJpSRo4A/wy9IH8JdhY9RYzFBDy3W+2AQHAIgExFbZtvB+VdHkJ96LDgUmNWmG43Asv5MmV3XoTInc0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25241},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.js"}},"scripts":{"dev":"vite","build":"tsc && vite build","build:watch":"vite build --watch --mode development","prepublishOnly":"npm run build"},"_npmUser":{"name":"b4m-oss","email":"kohki.shikata@gmail.com"},"_npmVersion":"11.7.0","description":"KIYAX Public API SDK for JavaScript/TypeScript","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.3","@types/node":"^20.0.0","vite-plugin-dts":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/kiyax-js-sdk_0.10.0_1766044345289_0.6793560759689099","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@b4m-oss/kiyax-js-sdk","version":"0.10.1","keywords":["kiyax","sdk","api","document","cms"],"author":"","license":"MIT","_id":"@b4m-oss/kiyax-js-sdk@0.10.1","maintainers":[{"name":"b4m-oss","email":"kohki.shikata@gmail.com"}],"dist":{"shasum":"6efebe40205a302e8b1e6bb8ce104ddc449fccf6","tarball":"https://registry.npmjs.org/@b4m-oss/kiyax-js-sdk/-/kiyax-js-sdk-0.10.1.tgz","fileCount":14,"integrity":"sha512-jy7K1quC6oR7hq9OHx6ojZ/Rd7AsJl9cBaFr1gkDXXkchEWKgtETdun+Ubgu6k5Rd22RFsEY0+EbzYPnI2CXkg==","signatures":[{"sig":"MEUCIQCgJOSWrFAMhTPpO5dDW0VfOmgka/b7cxhL25iaUxhrJAIgdPO23SndyMBY92mO7qAClpCdcHzGMogreDKYnn5F94w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24771},"main":"./dist/index.min.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.min.umd.js"}},"scripts":{"dev":"vite","build":"tsc && vite build","build:watch":"vite build --watch --mode development","prepublishOnly":"npm run build"},"_npmUser":{"name":"b4m-oss","email":"kohki.shikata@gmail.com"},"_npmVersion":"11.7.0","description":"KIYAX Public API SDK for JavaScript/TypeScript","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.3","@types/node":"^20.0.0","vite-plugin-dts":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/kiyax-js-sdk_0.10.1_1766047232409_0.4219121375570576","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@b4m-oss/kiyax-js-sdk","version":"0.10.3","description":"KIYAX Public API SDK for JavaScript/TypeScript","type":"module","main":"./dist/index.min.umd.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.min.umd.js","types":"./dist/index.d.ts"}},"scripts":{"dev":"vite","build":"tsc && vite build","build:watch":"vite build --watch --mode development","prepublishOnly":"npm run build"},"keywords":["kiyax","sdk","api","document","cms"],"author":"","license":"MIT","devDependencies":{"@types/node":"^20.0.0","typescript":"^5.3.3","vite":"^5.0.0","vite-plugin-dts":"^3.0.0"},"_id":"@b4m-oss/kiyax-js-sdk@0.10.3","_nodeVersion":"20.19.5","_npmVersion":"11.7.0","dist":{"integrity":"sha512-RnGUEJQz4W7HmAhAUDvRjl2tqMmKTVFva7NQljbexBxEKV4K4cETIHl5qV7X7pIiJPY/sUFVaTuSqk/mLWKJWQ==","shasum":"aff5ddf043f118ffddaa74e14a7c6f155450e362","tarball":"https://registry.npmjs.org/@b4m-oss/kiyax-js-sdk/-/kiyax-js-sdk-0.10.3.tgz","fileCount":14,"unpackedSize":24771,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDrEboGiicsBgiBanghbbn+FUY1QjO99HEbMtpZ5ekcxAIgYreWY+lh2A0QHvz3heWqAve1+UQX6x2o8p7+sB9LMt8="}]},"_npmUser":{"name":"b4m-oss","email":"kohki.shikata@gmail.com"},"directories":{},"maintainers":[{"name":"b4m-oss","email":"kohki.shikata@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kiyax-js-sdk_0.10.3_1766054676723_0.7247354430026571"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-18T07:52:25.179Z","modified":"2025-12-18T10:44:37.067Z","0.10.0":"2025-12-18T07:52:25.413Z","0.10.1":"2025-12-18T08:40:32.549Z","0.10.3":"2025-12-18T10:44:36.875Z"},"license":"MIT","keywords":["kiyax","sdk","api","document","cms"],"description":"KIYAX Public API SDK for JavaScript/TypeScript","maintainers":[{"name":"b4m-oss","email":"kohki.shikata@gmail.com"}],"readme":"# @b4m-oss/kiyax-js-sdk\n\nKIYAX Public API SDK for JavaScript/TypeScript\n\n## Installation\n\n### As an npm package\n\n```bash\nnpm install @b4m-oss/kiyax-js-sdk\n```\n\n### Via script tag (CDN)\n\n```html\n<script src=\"https://example.com/@b4m-oss/kiyax-js-sdk/dist/index.min.umd.js\"></script>\n```\n\n## Usage\n\n### ES Module\n\n```javascript\nimport { KiyaxSDK } from '@b4m-oss/kiyax-js-sdk'\n\nconst sdk = new KiyaxSDK({\n  apiBase: 'https://example.com/', // Base URL of the KIYAX API\n  timeout: 10000, // Timeout in milliseconds\n})\n\n// Load a document and render it into a DOM element\nawait sdk.loadAndRenderDocument(1, '#document-container')\n\n// Fetch document data only\nconst document = await sdk.getData(1)\nconsole.log(document.title)\n\n// Load a CMS article and render it\nawait sdk.loadAndRenderCMSArticle(1, '#article-container')\n\n// Load a CMS article list\nconst list = await sdk.loadCMSList(1, { page: 1, limit: 10 })\n```\n\n### UMD (via script tag)\n\n```html\n<div id=\"document-container\"></div>\n\n<script src=\"https://example.com/@b4m-oss/kiyax-js-sdk/dist/index.min.umd.js\"></script>\n<script>\n  const sdk = new KiyaxSDK.KiyaxSDK({\n    apiBase: 'https://example.com/'\n  })\n\n  sdk.loadAndRenderDocument(1, '#document-container')\n    .then(data => {\n      console.log('Loaded:', data)\n    })\n    .catch(error => {\n      console.error('Error:', error)\n    })\n</script>\n```\n\n## API\n\n### `KiyaxSDK`\n\n#### Constructor\n\n```typescript\nnew KiyaxSDK(config?: SDKConfig)\n```\n\n**config:**\n- `apiBase?: string` - Base URL of the KIYAX API (default: `https://example.com/`)\n- `timeout?: number` - Request timeout in milliseconds (default: `10000`)\n\n#### Methods\n\n##### `loadDocument(docId: number, options?: LoadOptions): Promise<DocumentData>`\n\nLoads a document.\n\n**Parameters:**\n- `docId: number` - Document ID\n- `options?: LoadOptions`\n  - `apiBase?: string` - Overrides the instance-level `apiBase`\n  - `timeout?: number` - Overrides the instance-level `timeout`\n\n**Returns:** `Promise<DocumentData>`\n\n##### `loadCMSArticle(announcementId: number, options?: LoadOptions): Promise<CMSArticleData>`\n\nLoads a CMS article.\n\n##### `loadCMSList(symbolId: number, options?: LoadOptions & { page?: number; limit?: number }): Promise<CMSListData>`\n\nLoads a CMS article list.\n\n##### `getData(docId: number, options?: LoadOptions): Promise<DocumentData>`\n\nFetches document data without rendering.\n\n##### `renderToElement(element: HTMLElement | string, data: DocumentData | CMSArticleData, options?: RenderOptions): Promise<void>`\n\nRenders data into a DOM element.\n\n**Parameters:**\n- `element: HTMLElement | string` - Target element or CSS selector\n- `data: DocumentData | CMSArticleData` - Data to render\n- `options?: RenderOptions`\n  - `format?: 'html' | 'markdown'` - Output format (default: `'html'`)\n  - `className?: string` - Base CSS class name (default: `'kiyax-document'` or `'kiyax-cms-article'`)\n  - `wrapperTag?: string` - Wrapper tag (default: `'div'` or `'article'`)\n\n##### `loadAndRenderDocument(docId: number, element: HTMLElement | string, loadOptions?: LoadOptions, renderOptions?: RenderOptions): Promise<DocumentData>`\n\nLoads a document and renders it into a DOM element.\n\n##### `loadAndRenderCMSArticle(announcementId: number, element: HTMLElement | string, loadOptions?: LoadOptions, renderOptions?: RenderOptions): Promise<CMSArticleData>`\n\nLoads a CMS article and renders it into a DOM element.\n\n## Types\n\n### `DocumentData`\n\n```typescript\ninterface DocumentData {\n  id: number\n  title: string\n  description: string | null\n  body: string\n  status: string\n  slug: string\n  created_at: string\n  updated_at: string\n}\n```\n\n### `CMSArticleData`\n\n```typescript\ninterface CMSArticleData {\n  id: number\n  title: string\n  description: string | null\n  symbol_title: string | null\n  current_revision: {\n    id: number\n    title: string\n    description: string | null\n    body: string\n  }\n  created_at: string\n  updated_at: string\n}\n```\n\n## Error handling\n\n```typescript\nimport { APIError, NetworkError } from '@b4m-oss/kiyax-js-sdk'\n\ntry {\n  const document = await sdk.loadDocument(1)\n} catch (error) {\n  if (error instanceof APIError) {\n    console.error('API Error:', error.code, error.message)\n  } else if (error instanceof NetworkError) {\n    console.error('Network Error:', error.message)\n  }\n}\n```\n\n## Authentication\n\nThe JS SDK supports the following modes:\n\n- **No authentication**: Default\n- **Origin restriction**: Handled via CORS configuration on the server\n\nAPI key–based authentication is intended for server-side usage only (see the PHP SDK).\n\n## Development\n\n```bash\nnpm install\nnpm run dev\nnpm run build\n```\n\n## License\n\nMIT\n\n","readmeFilename":"README.md"}