@ossido-labs/ossido-ui 0.1.0

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.
Files changed (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +19 -0
  3. package/dist/esm/components/BaseStyles.d.ts +8 -0
  4. package/dist/esm/components/BaseStyles.js +17 -0
  5. package/dist/esm/components/BaseStyles.js.map +1 -0
  6. package/dist/esm/components/DefaultError.d.ts +9 -0
  7. package/dist/esm/components/DefaultError.js +30 -0
  8. package/dist/esm/components/DefaultError.js.map +1 -0
  9. package/dist/esm/components/DefaultLoading.d.ts +6 -0
  10. package/dist/esm/components/DefaultLoading.js +13 -0
  11. package/dist/esm/components/DefaultLoading.js.map +1 -0
  12. package/dist/esm/components/DefaultScreen.d.ts +19 -0
  13. package/dist/esm/components/DefaultScreen.js +96 -0
  14. package/dist/esm/components/DefaultScreen.js.map +1 -0
  15. package/dist/esm/components/DevBuildErrorContent.d.ts +11 -0
  16. package/dist/esm/components/DevBuildErrorContent.js +56 -0
  17. package/dist/esm/components/DevBuildErrorContent.js.map +1 -0
  18. package/dist/esm/components/DevErrorContent.d.ts +4 -0
  19. package/dist/esm/components/DevErrorContent.js +192 -0
  20. package/dist/esm/components/DevErrorContent.js.map +1 -0
  21. package/dist/esm/components/DevErrorOverlay.d.ts +13 -0
  22. package/dist/esm/components/DevErrorOverlay.js +53 -0
  23. package/dist/esm/components/DevErrorOverlay.js.map +1 -0
  24. package/dist/esm/components/DevErrorOverlayHost.d.ts +2 -0
  25. package/dist/esm/components/DevErrorOverlayHost.js +295 -0
  26. package/dist/esm/components/DevErrorOverlayHost.js.map +1 -0
  27. package/dist/esm/components/DevErrorReporter.d.ts +13 -0
  28. package/dist/esm/components/DevErrorReporter.js +28 -0
  29. package/dist/esm/components/DevErrorReporter.js.map +1 -0
  30. package/dist/esm/components/base.js +6 -0
  31. package/dist/esm/components/base.js.map +1 -0
  32. package/dist/esm/components/devErrorSource.d.ts +96 -0
  33. package/dist/esm/components/devErrorSource.js +321 -0
  34. package/dist/esm/components/devErrorSource.js.map +1 -0
  35. package/dist/esm/components/devErrorStore.d.ts +105 -0
  36. package/dist/esm/components/devErrorStore.js +186 -0
  37. package/dist/esm/components/devErrorStore.js.map +1 -0
  38. package/dist/esm/components/devErrorStyles.d.ts +6 -0
  39. package/dist/esm/components/devErrorStyles.js +426 -0
  40. package/dist/esm/components/devErrorStyles.js.map +1 -0
  41. package/dist/esm/index.d.ts +11 -0
  42. package/dist/esm/index.js +11 -0
  43. package/dist/esm/types.d.ts +26 -0
  44. package/dist/esm/vite/error-overlay.d.ts +32 -0
  45. package/dist/esm/vite/error-overlay.js +49 -0
  46. package/dist/esm/vite/error-overlay.js.map +1 -0
  47. package/package.json +81 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-overlay.js","names":["globalWindow"],"sources":["../../../src/vite/error-overlay.ts"],"sourcesContent":["/**\n * Bridges Vite's HMR error overlay into Ossido's unified dev error overlay.\n *\n * Vite's client creates an `ErrorOverlay` custom element on a build/compile\n * error and calls `.close()` on it once the error clears. Rather than let Vite\n * render its own overlay, `ErrorOverlayVitePlugin` patches the client so that\n * `ErrorOverlay` is *this* class — which renders nothing and instead forwards\n * the error to the ossido dev error store (`window.__OSSIDO_DEV_ERRORS__`). Build\n * errors then appear in the same browsable React overlay as runtime errors.\n *\n * The patch matches on the exact class declaration string (which only appears\n * in Vite's client) instead of a module id, so it survives changes to how the\n * client is resolved/served.\n *\n * @see packages/ossido-ui/src/components/devErrorStore.ts (the bridge target)\n * @see https://github.com/tuono-labs/tuono/pull/607\n */\nimport type { ErrorPayload, Plugin } from 'vite';\n\nconst HTMLElement: typeof globalThis.HTMLElement =\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n globalThis.HTMLElement ?? (class {} as typeof globalThis.HTMLElement);\n\n/**\n * The element Vite instantiates on a build error. It never renders; it reports\n * the error to the ossido store (buffering if the store hasn't loaded yet) and\n * clears it on `.close()`. This class's *source* (via `toString()`) is what the\n * plugin injects into Vite's client, so it must not reference anything outside\n * its own body other than browser globals.\n */\nexport class ErrorOverlay extends HTMLElement {\n constructor(err: ErrorPayload['err']) {\n super();\n const globalWindow = window as unknown as Record<string, unknown>;\n const build = {\n message: err.message,\n stack: err.stack,\n id: err.id,\n frame: err.frame,\n plugin: err.plugin,\n loc: err.loc,\n };\n const store = globalWindow['__OSSIDO_DEV_ERRORS__'] as\n | { addBuildError?: (b: unknown) => void }\n | undefined;\n if (typeof store?.addBuildError === 'function') {\n store.addBuildError(build);\n } else {\n // The store module hasn't loaded yet — buffer for it to drain on init.\n const buffer = (globalWindow['__OSSIDO_DEV_ERRORS_BUFFER__'] ??=\n []) as Array<unknown>;\n buffer.push(build);\n }\n }\n\n close(): void {\n const globalWindow = window as unknown as Record<string, unknown>;\n const store = globalWindow['__OSSIDO_DEV_ERRORS__'] as\n | { clearBuildErrors?: () => void }\n | undefined;\n store?.clearBuildErrors?.();\n this.parentNode?.removeChild(this);\n }\n}\n\nfunction getOverlayCode(): string {\n // Bind explicitly to `const ErrorOverlay`: the bundler may emit the class as\n // an anonymous expression, which is a syntax error as a bare statement. The\n // binding also shadows Vite's class (renamed to `ViteErrorOverlay`) so\n // `customElements.define(overlayId, ErrorOverlay)` registers ours.\n return `const ErrorOverlay = ${ErrorOverlay.toString()};`;\n}\n\n// The exact declaration of Vite's built-in overlay class in its HMR client.\n// Vite 8 emits `var ErrorOverlay = class extends HTMLElement` (older versions\n// used `class ErrorOverlay extends HTMLElement`). We match on this string —\n// which only appears in Vite's client — instead of the module id, so the patch\n// survives changes to how the client module is resolved/served.\nconst VITE_OVERLAY_CLASS_DECL = 'var ErrorOverlay = class extends HTMLElement';\n\nfunction patchOverlay(code: string): string {\n // Replace Vite's overlay class with our bridge, and rename Vite's so it stays\n // syntactically valid (but unused).\n return code.replace(\n VITE_OVERLAY_CLASS_DECL,\n getOverlayCode() + '\\nvar ViteErrorOverlay = class extends HTMLElement',\n );\n}\n\nexport const ErrorOverlayVitePlugin: Plugin = {\n name: 'ossido-error-overlay-plugin',\n transform(code, _id, opts) {\n if (opts?.ssr) return;\n if (!code.includes(VITE_OVERLAY_CLASS_DECL)) return;\n\n return patchOverlay(code);\n },\n};\n"],"mappings":";AAmBA,MAAM,cAEJ,WAAW,eAAgB,MAAM,CAAC;;;;;;;;AASpC,IAAa,eAAb,cAAkC,YAAY;CAC5C,YAAY,KAA0B;EACpC,MAAM;EACN,MAAM,eAAe;EACrB,MAAM,QAAQ;GACZ,SAAS,IAAI;GACb,OAAO,IAAI;GACX,IAAI,IAAI;GACR,OAAO,IAAI;GACX,QAAQ,IAAI;GACZ,KAAK,IAAI;EACX;EACA,MAAM,QAAQ,aAAa;EAG3B,IAAI,OAAO,OAAO,kBAAkB,YAClC,MAAM,cAAc,KAAK;OAKzB,CAFgB,aAAa,oCAC3B,CAAC,EACG,CAAC,KAAK,KAAK;CAErB;CAEA,QAAc;EAKZ,AAHcA,OAAa,wBAGtB,EAAE,mBAAmB;EAC1B,KAAK,YAAY,YAAY,IAAI;CACnC;AACF;AAEA,SAAS,iBAAyB;CAKhC,OAAO,wBAAwB,aAAa,SAAS,EAAE;AACzD;AAOA,MAAM,0BAA0B;AAEhC,SAAS,aAAa,MAAsB;CAG1C,OAAO,KAAK,QACV,yBACA,eAAe,IAAI,oDACrB;AACF;AAEA,MAAa,yBAAiC;CAC5C,MAAM;CACN,UAAU,MAAM,KAAK,MAAM;EACzB,IAAI,MAAM,KAAK;EACf,IAAI,CAAC,KAAK,SAAS,uBAAuB,GAAG;EAE7C,OAAO,aAAa,IAAI;CAC1B;AACF"}
package/package.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "@ossido-labs/ossido-ui",
3
+ "version": "0.1.0",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "description": "Default UI components and design tokens for the ossido framework. Ossido is the react/rust fullstack framework",
8
+ "homepage": "https://ossido.dev",
9
+ "scripts": {
10
+ "dev": "tsdown --watch",
11
+ "build": "tsdown && tsc -p tsconfig.build.json",
12
+ "prepack": "bun run build",
13
+ "lint": "oxlint",
14
+ "format": "oxfmt --check .",
15
+ "format:fix": "oxfmt .",
16
+ "typecheck": "tsc --noEmit",
17
+ "test:watch": "vitest",
18
+ "test": "vitest run",
19
+ "storybook": "storybook dev -p 6006 --no-open",
20
+ "build-storybook": "storybook build"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/ossido-labs/ossido.git",
25
+ "directory": "packages/ossido-ui"
26
+ },
27
+ "keywords": [],
28
+ "author": "Chris Schofield <chris@childishforces.com>",
29
+ "license": "MIT",
30
+ "type": "module",
31
+ "types": "dist/esm/index.d.ts",
32
+ "main": "dist/esm/index.js",
33
+ "module": "dist/esm/index.js",
34
+ "files": [
35
+ "dist",
36
+ "README.md"
37
+ ],
38
+ "exports": {
39
+ ".": {
40
+ "types": "./dist/esm/index.d.ts",
41
+ "default": "./dist/esm/index.js"
42
+ },
43
+ "./vite-plugin": {
44
+ "types": "./dist/esm/vite/error-overlay.d.ts",
45
+ "default": "./dist/esm/vite/error-overlay.js"
46
+ },
47
+ "./package.json": "./package.json"
48
+ },
49
+ "peerDependencies": {
50
+ "react": ">=19.0.0",
51
+ "react-dom": ">=19.0.0",
52
+ "vite": ">=6.0.0"
53
+ },
54
+ "peerDependenciesMeta": {
55
+ "vite": {
56
+ "optional": true
57
+ }
58
+ },
59
+ "dependencies": {
60
+ "@jridgewell/trace-mapping": "^0.3.31",
61
+ "@shikijs/langs": "^4.4.1",
62
+ "@shikijs/themes": "^4.4.1",
63
+ "hast-util-to-html": "^9.0.5",
64
+ "shiki": "^4.4.1"
65
+ },
66
+ "devDependencies": {
67
+ "@storybook/react-vite": "10.5.5",
68
+ "@testing-library/react": "16.3.0",
69
+ "@types/react": "19.1.8",
70
+ "@types/react-dom": "19.1.6",
71
+ "@vitejs/plugin-react-swc": "4.3.2",
72
+ "happy-dom": "18.0.1",
73
+ "react": "^19.2.8",
74
+ "react-dom": "^19.2.8",
75
+ "storybook": "10.5.5",
76
+ "tsdown": "0.22.14",
77
+ "vite": "^8.1.5",
78
+ "vite-config": "1.0.0",
79
+ "vitest": "4.1.10"
80
+ }
81
+ }