{"id":51204510,"url":"https://github.com/toppynl/dammy","last_synced_at":"2026-06-28T02:31:05.951Z","repository":{"id":367091714,"uuid":"1277804741","full_name":"toppynl/dammy","owner":"toppynl","description":"Client-SDK voor de DAM — single source of truth voor beelden (@getdammy/client)","archived":false,"fork":false,"pushed_at":"2026-06-24T13:17:02.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-24T15:09:38.240Z","etag":null,"topics":["cms","dam","digital-asset-management","images","sdk"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toppynl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-23T07:49:08.000Z","updated_at":"2026-06-24T13:18:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/toppynl/dammy","commit_stats":null,"previous_names":["toppynl/dammy"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/toppynl/dammy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toppynl%2Fdammy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toppynl%2Fdammy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toppynl%2Fdammy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toppynl%2Fdammy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toppynl","download_url":"https://codeload.github.com/toppynl/dammy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toppynl%2Fdammy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34875357,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cms","dam","digital-asset-management","images","sdk"],"created_at":"2026-06-28T02:31:05.109Z","updated_at":"2026-06-28T02:31:05.934Z","avatar_url":"https://github.com/toppynl.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @getdammy/client\n\nClient-SDK voor de **DAM** — de single source of truth voor beelden. Het CMS/de\nwebsite bewaart nooit een bestand, alleen een referentie (`assetId`). De DAM\nserveert het beeld met focal point server-side erin, op een stabiele URL die\naltijd de laatste versie geeft.\n\n```bash\nnpm install @getdammy/client\n```\n\n## Configuratie (optioneel)\n\nDefault wijst naar productie. Override voor staging/self-host:\n\n```ts\nimport { configureDam } from \"@getdammy/client\";\nconfigureDam({ origin: \"https://dam.woutervanuden.nl\" });\n```\n\n## Core (`@getdammy/client`) — geen dependencies\n\n```ts\nimport { openDamPicker, damImageUrl, resolveDamRef } from \"@getdammy/client\";\n\n// Picker openen (browser), referentie terugkrijgen:\nconst ref = await openDamPicker({ presets: [\"hd\", \"medium\"] });\n// → { assetId, alt, width, height, focalX, focalY, urls }\n\n// Stabiele preset-URL bouwen:\ndamImageUrl(assetId, \"hd\"); // → {DAM}/api/images/hd/{assetId}\n\n// Huidige metadata + beschikbaarheid (SSR/fallback):\nconst meta = await resolveDamRef(assetId);\n```\n\n## React (`@getdammy/client/react`)\n\nDe **website** kiest de preset per slot; de redacteur niet.\n\n```tsx\nimport { DamImage } from \"@getdammy/client/react\";\n\n\u003cDamImage assetId={value.assetId} alt={value.alt} slot=\"hero\" /\u003e\n```\n\n## Payload-veld (kopieerbaar, niet in de package)\n\nHet admin-veld zit **bewust niet** in deze package: het hangt aan de exacte\n`@payloadcms/ui`-versie van je project en draait in je admin-bundle. Lever het als\n**kopieerbaar component** dat je tegen je eigen Payload-versie onderhoudt — het\ngebruikt gewoon de core hierboven (`openDamPicker`, `damImageUrl`). Zie\n`DamAssetField.tsx` in de DAM-integratiegids/voorbeelden.\n\n## Hoe het werkt\n- **Presets** (globaal, raadbaar): `hd` 1920 · `large` 1440 · `medium` 800 · `small` 400. URL: `{DAM}/api/images/{preset}/{assetId}`.\n- **Focal point** zit server-side in de bijsnijdende presets.\n- **Verversen** is automatisch: zelfde URL, de DAM purged z'n cache bij elke wijziging (+ ETag-revalidatie). Geen re-save/cache-legen.\n- **Resilient**: gecachete beelden blijven serveren als de DAM hapert (`stale-if-error`); render hangt niet aan een live DAM-aanroep.\n\nVolledige API: zie de DAM-integratiegids.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoppynl%2Fdammy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoppynl%2Fdammy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoppynl%2Fdammy/lists"}