@optiaxiom/globals 1.0.10 → 1.1.1

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.
package/README.md CHANGED
@@ -1,11 +1,19 @@
1
- # `globals`
1
+ # `@optiaxiom/globals`
2
+
3
+ Design tokens and shared React contexts for Axiom.
2
4
 
3
5
  ## Installation
4
6
 
5
7
  ```sh
6
- $ npm install @optiaxiom/globals
8
+ npm install @optiaxiom/globals
7
9
  ```
8
10
 
9
11
  ## Usage
10
12
 
11
- This is an internal utility, not intended for public usage.
13
+ This package contains design tokens and shared React contexts used by `@optiaxiom/react`. It's primarily intended for advanced use cases like module federation, where the globals package should be shared across federated modules (similar to React itself).
14
+
15
+ **Note:** Most developers will never need to install or use this package directly. It's automatically included when you install `@optiaxiom/react`.
16
+
17
+ ### Module Federation
18
+
19
+ For module federation configuration, see our [Module Federation guide](https://optimizely-axiom.github.io/optiaxiom/guides/module-federation/).
package/dist/cjs/index.js CHANGED
@@ -6,6 +6,10 @@ var reactContext = require('@radix-ui/react-context');
6
6
  const AxiomAuthContext = react.createContext(void 0);
7
7
  const AxiomVersionContext = react.createContext(void 0);
8
8
 
9
+ const [ModalProvider, useModalContext] = reactContext.createContext("@optiaxiom/react/Modal", { shardRef: { current: null } });
10
+
11
+ const [unstable_SurfaceProvider, unstable_useSurfaceContext] = reactContext.createContext("@optiaxiom/globals/Surface", null);
12
+
9
13
  var theme = {borderRadius:{xs:'var(--ax-borderRadius-xs)',sm:'var(--ax-borderRadius-sm)',md:'var(--ax-borderRadius-md)',lg:'var(--ax-borderRadius-lg)',xl:'var(--ax-borderRadius-xl)',full:'var(--ax-borderRadius-full)'},boxShadow:{sm:'var(--ax-boxShadow-sm)',md:'var(--ax-boxShadow-md)',lg:'var(--ax-boxShadow-lg)'},colors:{'bg.accent':'var(--ax-colors-bg-accent)','bg.accent.hovered':'var(--ax-colors-bg-accent-hovered)','bg.accent.light':'var(--ax-colors-bg-accent-light)','bg.accent.pressed':'var(--ax-colors-bg-accent-pressed)','bg.accent.subtle':'var(--ax-colors-bg-accent-subtle)','bg.avatar.neutral':'var(--ax-colors-bg-avatar-neutral)','bg.avatar.purple':'var(--ax-colors-bg-avatar-purple)','bg.default':'var(--ax-colors-bg-default)','bg.default.hovered':'var(--ax-colors-bg-default-hovered)','bg.default.inverse':'var(--ax-colors-bg-default-inverse)','bg.default.inverse.hovered':'var(--ax-colors-bg-default-inverse-hovered)','bg.default.inverse.pressed':'var(--ax-colors-bg-default-inverse-pressed)','bg.default.pressed':'var(--ax-colors-bg-default-pressed)','bg.error':'var(--ax-colors-bg-error)','bg.error.hovered':'var(--ax-colors-bg-error-hovered)','bg.error.light':'var(--ax-colors-bg-error-light)','bg.error.pressed':'var(--ax-colors-bg-error-pressed)','bg.error.subtle':'var(--ax-colors-bg-error-subtle)','bg.error.subtlest':'var(--ax-colors-bg-error-subtlest)','bg.information':'var(--ax-colors-bg-information)','bg.information.light':'var(--ax-colors-bg-information-light)','bg.information.subtle':'var(--ax-colors-bg-information-subtle)','bg.overlay':'var(--ax-colors-bg-overlay)','bg.page':'var(--ax-colors-bg-page)','bg.secondary':'var(--ax-colors-bg-secondary)','bg.secondary.hovered':'var(--ax-colors-bg-secondary-hovered)','bg.spinner.default':'var(--ax-colors-bg-spinner-default)','bg.spinner.inverse':'var(--ax-colors-bg-spinner-inverse)','bg.success':'var(--ax-colors-bg-success)','bg.success.hovered':'var(--ax-colors-bg-success-hovered)','bg.success.light':'var(--ax-colors-bg-success-light)','bg.success.subtle':'var(--ax-colors-bg-success-subtle)','bg.tertiary':'var(--ax-colors-bg-tertiary)','bg.tertiary.hovered':'var(--ax-colors-bg-tertiary-hovered)','bg.warning':'var(--ax-colors-bg-warning)','bg.warning.hovered':'var(--ax-colors-bg-warning-hovered)','bg.warning.light':'var(--ax-colors-bg-warning-light)','bg.warning.subtle':'var(--ax-colors-bg-warning-subtle)','border.accent':'var(--ax-colors-border-accent)','border.control':'var(--ax-colors-border-control)','border.control.hovered':'var(--ax-colors-border-control-hovered)','border.default':'var(--ax-colors-border-default)','border.disabled':'var(--ax-colors-border-disabled)','border.error':'var(--ax-colors-border-error)','border.focus':'var(--ax-colors-border-focus)','border.focus.error':'var(--ax-colors-border-focus-error)','border.secondary':'var(--ax-colors-border-secondary)','border.success':'var(--ax-colors-border-success)','border.tertiary':'var(--ax-colors-border-tertiary)','border.warning':'var(--ax-colors-border-warning)','fg.accent':'var(--ax-colors-fg-accent)','fg.accent.hovered':'var(--ax-colors-fg-accent-hovered)','fg.accent.strong':'var(--ax-colors-fg-accent-strong)','fg.avatar.neutral':'var(--ax-colors-fg-avatar-neutral)','fg.avatar.purple':'var(--ax-colors-fg-avatar-purple)','fg.default':'var(--ax-colors-fg-default)','fg.default.inverse':'var(--ax-colors-fg-default-inverse)','fg.disabled':'var(--ax-colors-fg-disabled)','fg.error':'var(--ax-colors-fg-error)','fg.error.hovered':'var(--ax-colors-fg-error-hovered)','fg.error.light':'var(--ax-colors-fg-error-light)','fg.error.strong':'var(--ax-colors-fg-error-strong)','fg.information':'var(--ax-colors-fg-information)','fg.information.light':'var(--ax-colors-fg-information-light)','fg.information.strong':'var(--ax-colors-fg-information-strong)','fg.link.default':'var(--ax-colors-fg-link-default)','fg.link.default.hovered':'var(--ax-colors-fg-link-default-hovered)','fg.link.inverse':'var(--ax-colors-fg-link-inverse)','fg.link.subtle':'var(--ax-colors-fg-link-subtle)','fg.link.visited':'var(--ax-colors-fg-link-visited)','fg.secondary':'var(--ax-colors-fg-secondary)','fg.spinner.default':'var(--ax-colors-fg-spinner-default)','fg.spinner.inverse':'var(--ax-colors-fg-spinner-inverse)','fg.success':'var(--ax-colors-fg-success)','fg.success.hovered':'var(--ax-colors-fg-success-hovered)','fg.success.light':'var(--ax-colors-fg-success-light)','fg.success.strong':'var(--ax-colors-fg-success-strong)','fg.tertiary':'var(--ax-colors-fg-tertiary)','fg.warning':'var(--ax-colors-fg-warning)','fg.warning.hovered':'var(--ax-colors-fg-warning-hovered)','fg.warning.inverse':'var(--ax-colors-fg-warning-inverse)','fg.warning.light':'var(--ax-colors-fg-warning-light)','fg.warning.strong':'var(--ax-colors-fg-warning-strong)','fg.white':'var(--ax-colors-fg-white)'},duration:{sm:'var(--ax-duration-sm)',md:'var(--ax-duration-md)',lg:'var(--ax-duration-lg)'},fontFamily:{mono:'var(--ax-fontFamily-mono)',sans:'var(--ax-fontFamily-sans)'},fontSize:{xs:{fontSize:'var(--ax-fontSize-xs-fontSize)',lineHeight:'var(--ax-fontSize-xs-lineHeight)'},sm:{fontSize:'var(--ax-fontSize-sm-fontSize)',lineHeight:'var(--ax-fontSize-sm-lineHeight)'},md:{fontSize:'var(--ax-fontSize-md-fontSize)',lineHeight:'var(--ax-fontSize-md-lineHeight)'},lg:{fontSize:'var(--ax-fontSize-lg-fontSize)',lineHeight:'var(--ax-fontSize-lg-lineHeight)'},xl:{fontSize:'var(--ax-fontSize-xl-fontSize)',lineHeight:'var(--ax-fontSize-xl-lineHeight)'},'2xl':{fontSize:'var(--ax-fontSize-2xl-fontSize)',lineHeight:'var(--ax-fontSize-2xl-lineHeight)'},'3xl':{fontSize:'var(--ax-fontSize-3xl-fontSize)',lineHeight:'var(--ax-fontSize-3xl-lineHeight)'},'4xl':{fontSize:'var(--ax-fontSize-4xl-fontSize)',lineHeight:'var(--ax-fontSize-4xl-lineHeight)'}},maxSize:{xs:'var(--ax-maxSize-xs)',sm:'var(--ax-maxSize-sm)',md:'var(--ax-maxSize-md)',lg:'var(--ax-maxSize-lg)'},screens:{sm:'var(--ax-screens-sm)',md:'var(--ax-screens-md)'},size:{'2xs':'var(--ax-size-2xs)',xs:'var(--ax-size-xs)',sm:'var(--ax-size-sm)',md:'var(--ax-size-md)',lg:'var(--ax-size-lg)',xl:'var(--ax-size-xl)','3xl':'var(--ax-size-3xl)'},zIndex:{popover:'var(--ax-zIndex-popover)',toast:'var(--ax-zIndex-toast)',tooltip:'var(--ax-zIndex-tooltip)'}};
10
14
 
11
15
  const [ToastProviderProvider, useToastProviderContext] = reactContext.createContext("@optiaxiom/react/ToastProvider");
@@ -353,9 +357,13 @@ const tokens = {
353
357
 
354
358
  exports.AxiomAuthContext = AxiomAuthContext;
355
359
  exports.AxiomVersionContext = AxiomVersionContext;
360
+ exports.ModalProvider = ModalProvider;
356
361
  exports.ToastProviderProvider = ToastProviderProvider;
357
362
  exports.createToaster = createToaster;
358
363
  exports.theme = theme;
359
364
  exports.toaster = toaster;
360
365
  exports.tokens = tokens;
366
+ exports.unstable_SurfaceProvider = unstable_SurfaceProvider;
367
+ exports.unstable_useSurfaceContext = unstable_useSurfaceContext;
368
+ exports.useModalContext = useModalContext;
361
369
  exports.useToastProviderContext = useToastProviderContext;
package/dist/esm/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export { AxiomAuthContext, AxiomVersionContext } from './context.js';
2
+ export { ModalProvider, useModalContext } from './modal-context.js';
3
+ export { unstable_SurfaceProvider, unstable_useSurfaceContext } from './surface-context.js';
2
4
  export { theme } from './theme-css.js';
3
5
  export { ToastProviderProvider, useToastProviderContext } from './toast-context.js';
4
6
  export { createToaster, toaster } from './toaster.js';
@@ -0,0 +1,5 @@
1
+ import { createContext } from '@radix-ui/react-context';
2
+
3
+ const [ModalProvider, useModalContext] = createContext("@optiaxiom/react/Modal", { shardRef: { current: null } });
4
+
5
+ export { ModalProvider, useModalContext };
@@ -0,0 +1,5 @@
1
+ import { createContext } from '@radix-ui/react-context';
2
+
3
+ const [unstable_SurfaceProvider, unstable_useSurfaceContext] = createContext("@optiaxiom/globals/Surface", null);
4
+
5
+ export { unstable_SurfaceProvider, unstable_useSurfaceContext };
package/dist/index.d.ts CHANGED
@@ -17,6 +17,97 @@ declare const AxiomAuthContext: react.Context<{
17
17
  } | undefined>;
18
18
  declare const AxiomVersionContext: react.Context<string | undefined>;
19
19
 
20
+ declare const ModalProvider: react.FC<{
21
+ shardRef: RefObject<HTMLElement>;
22
+ } & {
23
+ children: React.ReactNode;
24
+ }>;
25
+ declare const useModalContext: (consumerName: string) => {
26
+ shardRef: RefObject<HTMLElement>;
27
+ };
28
+
29
+ type Surface<T extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = {
30
+ /**
31
+ * Optional data associated with this surface.
32
+ */
33
+ data?: T;
34
+ /**
35
+ * The surface name (used in surface path).
36
+ */
37
+ name: string;
38
+ /**
39
+ * The surface type.
40
+ */
41
+ type: "action" | "cards" | "collection" | "page" | "product" | "property" | "resource" | "tab";
42
+ };
43
+ type SurfaceContextValue = {
44
+ accept: (suggestionId: string) => void;
45
+ executeTool: (name: string, parameters: unknown) => Promise<void> | void;
46
+ metadata: Record<string, Omit<Surface, "name">>;
47
+ name: string;
48
+ pageViewId: string | undefined;
49
+ path: string;
50
+ reject: (suggestionId: string) => void;
51
+ renderSuggestionValue?: (value: unknown) => React.ReactNode;
52
+ suggestionPopover: {
53
+ register: () => () => void;
54
+ registered: boolean;
55
+ };
56
+ suggestions: SurfaceSuggestion[];
57
+ track: (interaction: SurfaceInteraction, metadata?: Record<string, Omit<Surface, "name">>) => void;
58
+ type: Surface["type"];
59
+ };
60
+ type SurfaceInteraction = {
61
+ id?: string;
62
+ } & ({
63
+ checked: boolean;
64
+ name: "toggled";
65
+ } | {
66
+ name: "added";
67
+ value: unknown;
68
+ } | {
69
+ name: "blurred";
70
+ } | {
71
+ name: "changed";
72
+ value: unknown;
73
+ } | {
74
+ name: "focused";
75
+ } | {
76
+ name: "invoked";
77
+ } | {
78
+ name: "removed";
79
+ value: unknown;
80
+ } | {
81
+ name: "viewed";
82
+ });
83
+ type SurfaceSuggestion = {
84
+ id: string;
85
+ surface: string;
86
+ } & ({
87
+ cards: Array<{
88
+ data: unknown;
89
+ id: string;
90
+ name: string;
91
+ reason: string;
92
+ }>;
93
+ type: "cards";
94
+ } | {
95
+ reason: string;
96
+ type: "value";
97
+ value: unknown;
98
+ } | {
99
+ text: string;
100
+ tool?: {
101
+ name: string;
102
+ parameters: unknown;
103
+ };
104
+ type: "message";
105
+ });
106
+ declare const unstable_SurfaceProvider: react.FC<SurfaceContextValue & {
107
+ children: React.ReactNode;
108
+ }>;
109
+ declare const unstable_useSurfaceContext: (consumerName: string) => SurfaceContextValue | null;
110
+
20
111
  declare const theme: MapLeafNodes<{
21
112
  readonly borderRadius: {
22
113
  readonly xs: "2px";
@@ -405,5 +496,5 @@ declare const tokens: {
405
496
  };
406
497
  };
407
498
 
408
- export { AxiomAuthContext, AxiomVersionContext, ToastProviderProvider, createToaster, theme, toaster, tokens, useToastProviderContext };
499
+ export { AxiomAuthContext, AxiomVersionContext, ModalProvider, ToastProviderProvider, createToaster, theme, toaster, tokens, unstable_SurfaceProvider, unstable_useSurfaceContext, useModalContext, useToastProviderContext };
409
500
  export type { MapLeafNodes };
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "url": "git+https://github.com/optimizely-axiom/optiaxiom.git"
8
8
  },
9
9
  "type": "module",
10
- "version": "1.0.10",
10
+ "version": "1.1.1",
11
11
  "files": [
12
12
  "dist/**",
13
13
  "LICENSE"