@cairntale/chimeling-react 0.0.0 → 1.0.0-alpha.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 (89) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/components/chimeling.d.ts +12 -0
  3. package/dist/components/chimeling.js +13 -0
  4. package/dist/components/chimeling.js.map +1 -0
  5. package/dist/components/index.d.ts +7 -0
  6. package/dist/components/index.js +7 -0
  7. package/dist/components/logo.js +19 -0
  8. package/dist/components/logo.js.map +1 -0
  9. package/dist/components/popover.d.ts +7 -0
  10. package/dist/components/popover.js +36 -0
  11. package/dist/components/popover.js.map +1 -0
  12. package/dist/components/provider.d.ts +11 -0
  13. package/dist/components/provider.js +24 -0
  14. package/dist/components/provider.js.map +1 -0
  15. package/dist/components/root.d.ts +20 -0
  16. package/dist/components/root.js +66 -0
  17. package/dist/components/root.js.map +1 -0
  18. package/dist/components/trigger.d.ts +7 -0
  19. package/dist/components/trigger.js +23 -0
  20. package/dist/components/trigger.js.map +1 -0
  21. package/dist/hooks/index.js +4 -0
  22. package/dist/hooks/use-client.d.ts +6 -0
  23. package/dist/hooks/use-client.js +10 -0
  24. package/dist/hooks/use-client.js.map +1 -0
  25. package/dist/hooks/use-resolved-user-presence.d.ts +27 -0
  26. package/dist/hooks/use-resolved-user-presence.js +22 -0
  27. package/dist/hooks/use-resolved-user-presence.js.map +1 -0
  28. package/dist/index.d.ts +10 -0
  29. package/dist/index.js +11 -0
  30. package/dist/lib/config.js +11 -0
  31. package/dist/lib/config.js.map +1 -0
  32. package/dist/lib/context.js +14 -0
  33. package/dist/lib/context.js.map +1 -0
  34. package/dist/lib/format-activity-duration.js +26 -0
  35. package/dist/lib/format-activity-duration.js.map +1 -0
  36. package/dist/lib/icon-url.js +9 -0
  37. package/dist/lib/icon-url.js.map +1 -0
  38. package/dist/lib/presence-key.js +14 -0
  39. package/dist/lib/presence-key.js.map +1 -0
  40. package/dist/lib/showable-presence.d.ts +12 -0
  41. package/dist/lib/showable-presence.js +12 -0
  42. package/dist/lib/showable-presence.js.map +1 -0
  43. package/dist/lib/widget-context.d.ts +6 -0
  44. package/dist/lib/widget-context.js +14 -0
  45. package/dist/lib/widget-context.js.map +1 -0
  46. package/dist/react/package.js +6 -0
  47. package/dist/react/package.js.map +1 -0
  48. package/dist/sdk/src/client/client/client.gen.js +174 -0
  49. package/dist/sdk/src/client/client/client.gen.js.map +1 -0
  50. package/dist/sdk/src/client/client/index.js +5 -0
  51. package/dist/sdk/src/client/client/utils.gen.js +177 -0
  52. package/dist/sdk/src/client/client/utils.gen.js.map +1 -0
  53. package/dist/sdk/src/client/core/auth.gen.js +12 -0
  54. package/dist/sdk/src/client/core/auth.gen.js.map +1 -0
  55. package/dist/sdk/src/client/core/bodySerializer.gen.js +6 -0
  56. package/dist/sdk/src/client/core/bodySerializer.gen.js.map +1 -0
  57. package/dist/sdk/src/client/core/params.gen.js +9 -0
  58. package/dist/sdk/src/client/core/params.gen.js.map +1 -0
  59. package/dist/sdk/src/client/core/pathSerializer.gen.js +82 -0
  60. package/dist/sdk/src/client/core/pathSerializer.gen.js.map +1 -0
  61. package/dist/sdk/src/client/core/serverSentEvents.gen.js +96 -0
  62. package/dist/sdk/src/client/core/serverSentEvents.gen.js.map +1 -0
  63. package/dist/sdk/src/client/core/utils.gen.js +78 -0
  64. package/dist/sdk/src/client/core/utils.gen.js.map +1 -0
  65. package/dist/types.d.ts +6 -0
  66. package/package.json +34 -9
  67. package/src/components/chimeling.ts +9 -0
  68. package/src/components/index.ts +8 -0
  69. package/src/components/logo.tsx +18 -0
  70. package/src/components/popover.tsx +44 -0
  71. package/src/components/provider.tsx +26 -0
  72. package/src/components/root.tsx +91 -0
  73. package/src/components/trigger.tsx +33 -0
  74. package/src/hooks/index.ts +4 -0
  75. package/src/hooks/use-client.ts +8 -0
  76. package/src/hooks/use-resolved-user-presence.ts +27 -0
  77. package/src/index.ts +4 -0
  78. package/src/lib/config.ts +9 -0
  79. package/src/lib/context.ts +24 -0
  80. package/src/lib/format-activity-duration.ts +21 -0
  81. package/src/lib/icon-url.ts +5 -0
  82. package/src/lib/presence-key.ts +5 -0
  83. package/src/lib/showable-presence.ts +22 -0
  84. package/src/lib/widget-context.ts +33 -0
  85. package/src/types.ts +3 -0
  86. package/tsconfig.json +14 -0
  87. package/tsdown.config.ts +13 -0
  88. package/turbo.json +10 -0
  89. package/index.js +0 -1
@@ -0,0 +1,33 @@
1
+ 'use client'
2
+
3
+ import { createContext, useContext } from 'react'
4
+ import type { PopoverPositionerProps } from '@base-ui/react/popover'
5
+ import { packageErrorMessage } from './config'
6
+ import type { ShowablePresence } from './showable-presence'
7
+
8
+ export type WidgetPlacement = Pick<PopoverPositionerProps, 'side' | 'align' | 'sideOffset'>
9
+
10
+ export type WidgetContextValue = {
11
+ showable: ShowablePresence | null
12
+ now: Date
13
+ poweredBy: boolean
14
+ openOnHover: boolean
15
+ hoverOpenDelay: number
16
+ hoverCloseDelay: number
17
+ placement: WidgetPlacement
18
+ baseUrl: string
19
+ }
20
+
21
+ export const WidgetContext = createContext<WidgetContextValue | null>(null)
22
+
23
+ export function useWidgetContext(): WidgetContextValue {
24
+ const context = useContext(WidgetContext)
25
+ if (!context) {
26
+ throw new Error(
27
+ packageErrorMessage(
28
+ 'This component can only be used within the <Chimeling.Root /> component.',
29
+ ),
30
+ )
31
+ }
32
+ return context
33
+ }
package/src/types.ts ADDED
@@ -0,0 +1,3 @@
1
+ import type { Options } from '@cairntale/chimeling-js'
2
+
3
+ export type ChimelingClient = NonNullable<Options['client']>
package/tsconfig.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "compilerOptions": {
4
+ "target": "es2025",
5
+ "lib": ["ES2025", "DOM"],
6
+ "module": "preserve",
7
+ "moduleResolution": "bundler",
8
+ "resolveJsonModule": true,
9
+ "verbatimModuleSyntax": true,
10
+ "noEmit": true,
11
+ "jsx": "react-jsx"
12
+ },
13
+ "include": ["./src"]
14
+ }
@@ -0,0 +1,13 @@
1
+ import { defineConfig } from 'tsdown'
2
+
3
+ export default defineConfig({
4
+ entry: ['./src/index.ts'],
5
+ platform: 'neutral',
6
+ unbundle: true,
7
+ fixedExtension: false,
8
+ sourcemap: true,
9
+ publint: true,
10
+ attw: {
11
+ profile: 'esm-only',
12
+ },
13
+ })
package/turbo.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "../../node_modules/turbo/schema.json",
3
+ "extends": ["//"],
4
+ "tasks": {
5
+ "build": {
6
+ "dependsOn": ["$TURBO_EXTENDS$", "typecheck"],
7
+ "outputs": ["dist/**"]
8
+ }
9
+ }
10
+ }
package/index.js DELETED
@@ -1 +0,0 @@
1
- // Placeholder