@syntrologie/adapt-overlays 2.11.0 → 2.13.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 (35) hide show
  1. package/dist/WorkflowWidget.js +3 -3
  2. package/dist/cdn.d.ts +2 -2
  3. package/dist/celebrations/__tests__/reduced-motion.test.d.ts +2 -0
  4. package/dist/celebrations/__tests__/reduced-motion.test.d.ts.map +1 -0
  5. package/dist/celebrations/__tests__/reduced-motion.test.js +97 -0
  6. package/dist/celebrations/engine.d.ts.map +1 -1
  7. package/dist/celebrations/engine.js +4 -0
  8. package/dist/editor.d.ts +6 -6
  9. package/dist/editor.d.ts.map +1 -1
  10. package/dist/editor.js +6 -412
  11. package/dist/overlay-editor-state.d.ts +41 -0
  12. package/dist/overlay-editor-state.d.ts.map +1 -0
  13. package/dist/overlay-editor-state.js +131 -0
  14. package/dist/overlay-editor-ui.d.ts +9 -0
  15. package/dist/overlay-editor-ui.d.ts.map +1 -0
  16. package/dist/overlay-editor-ui.js +306 -0
  17. package/dist/runtime.d.ts +2 -2
  18. package/dist/runtime.js +1 -1
  19. package/dist/tour-types.d.ts +1 -1
  20. package/dist/tour-types.d.ts.map +1 -1
  21. package/node_modules/@syntro/design-system/dist/tailwind-preset.d.ts.map +1 -1
  22. package/node_modules/@syntro/design-system/dist/tailwind-preset.js +4 -2
  23. package/node_modules/@syntro/design-system/dist/tokens/colors.css +1 -1
  24. package/node_modules/@syntro/design-system/dist/tokens/colors.d.ts +2 -2
  25. package/node_modules/@syntro/design-system/dist/tokens/colors.js +1 -1
  26. package/node_modules/@syntro/design-system/dist/tokens/effects.d.ts +54 -0
  27. package/node_modules/@syntro/design-system/dist/tokens/effects.d.ts.map +1 -1
  28. package/node_modules/@syntro/design-system/dist/tokens/effects.js +44 -0
  29. package/node_modules/@syntro/design-system/package.json +2 -2
  30. package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPicker.js +2 -4
  31. package/node_modules/@syntrologie/shared-editor-ui/dist/components/ElementHighlight.js +2 -4
  32. package/node_modules/@syntrologie/shared-editor-ui/dist/hooks/useTriggerWhenStatus.d.ts.map +1 -1
  33. package/node_modules/@syntrologie/shared-editor-ui/dist/hooks/useTriggerWhenStatus.js +0 -1
  34. package/node_modules/@syntrologie/shared-editor-ui/package.json +11 -9
  35. package/package.json +12 -12
@@ -53,6 +53,38 @@ export declare const overlay: {
53
53
  readonly solid: "rgba(0,0,0,0.70)";
54
54
  readonly blur: "rgba(0,0,0,0.25)";
55
55
  };
56
+ /**
57
+ * Product-specific glow shadows not in the Figma shadow scale.
58
+ * Used for validated states, brand highlights, and UI depth cues.
59
+ */
60
+ export declare const glowShadows: {
61
+ readonly 'glow-green': "0 0 20px -8px rgba(34,197,94,0.3)";
62
+ readonly 'glow-brand': "0 0 25px rgba(212,72,68,0.25)";
63
+ readonly 'glow-brand-sm': "0 0 0 1px rgba(212,72,68,0.15)";
64
+ readonly 'glow-brand-md': "0 0 0 2px rgba(212,72,68,0.3)";
65
+ readonly 'glow-brand-active': "0 0.375rem 0.875rem -0.625rem rgba(212,72,68,0.8)";
66
+ readonly 'glow-brand-tab': "0 0.5rem 1.25rem -0.75rem rgba(212,72,68,0.7)";
67
+ readonly 'glow-brand-nav': "0 0.625rem 1.875rem -1.125rem rgba(212,72,68,0.9)";
68
+ };
69
+ /**
70
+ * Dark-on-dark elevation shadows for card depth.
71
+ */
72
+ export declare const elevationShadows: {
73
+ readonly 'elevation-sm': "0 8px 24px -16px rgba(0,0,0,0.6)";
74
+ readonly 'elevation-md': "0 12px 32px -18px rgba(0,0,0,0.6)";
75
+ readonly 'elevation-lg': "0 18px 48px -24px rgba(0,0,0,0.65)";
76
+ readonly 'elevation-card': "0 0.75rem 2rem -1.25rem rgba(0,0,0,0.7)";
77
+ readonly 'elevation-card-soft': "0 0.75rem 2.375rem -0.75rem rgba(0,0,0,0.4)";
78
+ readonly 'elevation-card-tight': "0 0.625rem 1.625rem -1.125rem rgba(0,0,0,0.6)";
79
+ };
80
+ /**
81
+ * Shared animation duration constants for consistent motion across the UI.
82
+ */
83
+ export declare const animationDuration: {
84
+ readonly DURATION_SHORT: "150ms";
85
+ readonly DURATION_MEDIUM: "200ms";
86
+ readonly DURATION_LONG: "300ms";
87
+ };
56
88
  export declare const effects: {
57
89
  readonly shadows: {
58
90
  readonly xs: "0 1px 2px 0 rgba(16,24,40,0.05)";
@@ -80,6 +112,28 @@ export declare const effects: {
80
112
  readonly solid: "rgba(0,0,0,0.70)";
81
113
  readonly blur: "rgba(0,0,0,0.25)";
82
114
  };
115
+ readonly glowShadows: {
116
+ readonly 'glow-green': "0 0 20px -8px rgba(34,197,94,0.3)";
117
+ readonly 'glow-brand': "0 0 25px rgba(212,72,68,0.25)";
118
+ readonly 'glow-brand-sm': "0 0 0 1px rgba(212,72,68,0.15)";
119
+ readonly 'glow-brand-md': "0 0 0 2px rgba(212,72,68,0.3)";
120
+ readonly 'glow-brand-active': "0 0.375rem 0.875rem -0.625rem rgba(212,72,68,0.8)";
121
+ readonly 'glow-brand-tab': "0 0.5rem 1.25rem -0.75rem rgba(212,72,68,0.7)";
122
+ readonly 'glow-brand-nav': "0 0.625rem 1.875rem -1.125rem rgba(212,72,68,0.9)";
123
+ };
124
+ readonly elevationShadows: {
125
+ readonly 'elevation-sm': "0 8px 24px -16px rgba(0,0,0,0.6)";
126
+ readonly 'elevation-md': "0 12px 32px -18px rgba(0,0,0,0.6)";
127
+ readonly 'elevation-lg': "0 18px 48px -24px rgba(0,0,0,0.65)";
128
+ readonly 'elevation-card': "0 0.75rem 2rem -1.25rem rgba(0,0,0,0.7)";
129
+ readonly 'elevation-card-soft': "0 0.75rem 2.375rem -0.75rem rgba(0,0,0,0.4)";
130
+ readonly 'elevation-card-tight': "0 0.625rem 1.625rem -1.125rem rgba(0,0,0,0.6)";
131
+ };
132
+ readonly animationDuration: {
133
+ readonly DURATION_SHORT: "150ms";
134
+ readonly DURATION_MEDIUM: "200ms";
135
+ readonly DURATION_LONG: "300ms";
136
+ };
83
137
  };
84
138
  export default effects;
85
139
  //# sourceMappingURL=effects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../src/tokens/effects.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;GAGG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;CAUV,CAAC;AAMX;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAMX;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;CAGV,CAAC;AAMX,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKV,CAAC;AAEX,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../src/tokens/effects.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;GAGG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;CAUV,CAAC;AAMX;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAMX;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;CAGV,CAAC;AAMX;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;CAQd,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;CAOnB,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAMX,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQV,CAAC;AAEX,eAAe,OAAO,CAAC"}
@@ -66,6 +66,47 @@ export const overlay = {
66
66
  blur: 'rgba(0,0,0,0.25)',
67
67
  };
68
68
  // ============================================================================
69
+ // PRODUCT GLOW SHADOWS
70
+ // ============================================================================
71
+ /**
72
+ * Product-specific glow shadows not in the Figma shadow scale.
73
+ * Used for validated states, brand highlights, and UI depth cues.
74
+ */
75
+ export const glowShadows = {
76
+ 'glow-green': '0 0 20px -8px rgba(34,197,94,0.3)',
77
+ 'glow-brand': '0 0 25px rgba(212,72,68,0.25)',
78
+ 'glow-brand-sm': '0 0 0 1px rgba(212,72,68,0.15)',
79
+ 'glow-brand-md': '0 0 0 2px rgba(212,72,68,0.3)',
80
+ 'glow-brand-active': '0 0.375rem 0.875rem -0.625rem rgba(212,72,68,0.8)',
81
+ 'glow-brand-tab': '0 0.5rem 1.25rem -0.75rem rgba(212,72,68,0.7)',
82
+ 'glow-brand-nav': '0 0.625rem 1.875rem -1.125rem rgba(212,72,68,0.9)',
83
+ };
84
+ // ============================================================================
85
+ // ELEVATION SHADOWS
86
+ // ============================================================================
87
+ /**
88
+ * Dark-on-dark elevation shadows for card depth.
89
+ */
90
+ export const elevationShadows = {
91
+ 'elevation-sm': '0 8px 24px -16px rgba(0,0,0,0.6)',
92
+ 'elevation-md': '0 12px 32px -18px rgba(0,0,0,0.6)',
93
+ 'elevation-lg': '0 18px 48px -24px rgba(0,0,0,0.65)',
94
+ 'elevation-card': '0 0.75rem 2rem -1.25rem rgba(0,0,0,0.7)',
95
+ 'elevation-card-soft': '0 0.75rem 2.375rem -0.75rem rgba(0,0,0,0.4)',
96
+ 'elevation-card-tight': '0 0.625rem 1.625rem -1.125rem rgba(0,0,0,0.6)',
97
+ };
98
+ // ============================================================================
99
+ // ANIMATION TIMING CONSTANTS
100
+ // ============================================================================
101
+ /**
102
+ * Shared animation duration constants for consistent motion across the UI.
103
+ */
104
+ export const animationDuration = {
105
+ DURATION_SHORT: '150ms',
106
+ DURATION_MEDIUM: '200ms',
107
+ DURATION_LONG: '300ms',
108
+ };
109
+ // ============================================================================
69
110
  // DEFAULT EXPORT
70
111
  // ============================================================================
71
112
  export const effects = {
@@ -73,5 +114,8 @@ export const effects = {
73
114
  focusRings,
74
115
  backdropBlur,
75
116
  overlay,
117
+ glowShadows,
118
+ elevationShadows,
119
+ animationDuration,
76
120
  };
77
121
  export default effects;
@@ -46,8 +46,8 @@
46
46
  "author": "Syntro",
47
47
  "license": "MIT",
48
48
  "devDependencies": {
49
- "tailwindcss": "^3.4.19",
50
- "typescript": "^5.9.3"
49
+ "tailwindcss": "3.4.19",
50
+ "typescript": "5.9.3"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "tailwindcss": "^3.0.0"
@@ -125,7 +125,7 @@ export function AnchorPicker({ isActive, onPick, onCancel, passthroughClicks = f
125
125
  boxShadow: '0 0 0 9999px rgba(0, 0, 0, 0.2)',
126
126
  pointerEvents: 'none',
127
127
  transition: 'all 0.1s ease-out',
128
- } })), hoveredElement && rect && (_jsxs("div", { style: {
128
+ } })), hoveredElement && rect && (_jsxs("div", { className: "se-text-xs", style: {
129
129
  position: 'fixed',
130
130
  left: Math.max(8, Math.min(rect.left, window.innerWidth - 320)),
131
131
  top: Math.max(8, rect.top - 68),
@@ -136,11 +136,9 @@ export function AnchorPicker({ isActive, onPick, onCancel, passthroughClicks = f
136
136
  boxShadow: '0 4px 12px rgba(0, 0, 0, 0.3)',
137
137
  zIndex: 1,
138
138
  fontFamily: 'monospace',
139
- fontSize: '13px',
140
139
  maxWidth: '300px',
141
140
  pointerEvents: 'none',
142
- }, children: [_jsx("div", { style: {
143
- fontSize: '12px',
141
+ }, children: [_jsx("div", { className: "se-text-xs", style: {
144
142
  textTransform: 'uppercase',
145
143
  letterSpacing: '0.05em',
146
144
  marginBottom: '4px',
@@ -47,7 +47,7 @@ export function ElementHighlight({ element, color, bgColor = 'transparent', bord
47
47
  cursor: onClick ? 'pointer' : 'default',
48
48
  transition: 'all 0.05s ease-out',
49
49
  boxSizing: 'border-box',
50
- }, children: displayLabel && (_jsxs("div", { "data-syntro-highlight-label": true, "data-syntro-editor-ui": "highlight-label", style: {
50
+ }, children: displayLabel && (_jsxs("div", { "data-syntro-highlight-label": true, "data-syntro-editor-ui": "highlight-label", className: "se-text-xs", style: {
51
51
  position: 'absolute',
52
52
  top: '-22px',
53
53
  left: 0,
@@ -55,7 +55,6 @@ export function ElementHighlight({ element, color, bgColor = 'transparent', bord
55
55
  ? `${color.replace(')', ',0.85)').replace('rgb(', 'rgba(')}`
56
56
  : color,
57
57
  color: '#fff',
58
- fontSize: showDimensions ? '11px' : '12px',
59
58
  fontWeight: 600,
60
59
  fontFamily: showDimensions ? 'monospace' : 'inherit',
61
60
  padding: '1px 6px',
@@ -65,7 +64,7 @@ export function ElementHighlight({ element, color, bgColor = 'transparent', bord
65
64
  alignItems: 'center',
66
65
  gap: '6px',
67
66
  pointerEvents: 'auto',
68
- }, children: [labelIcon, displayLabel, showRemove && onRemove && (_jsx("button", { type: "button", "data-syntro-highlight-remove": true, "data-syntro-editor-ui": "highlight-remove", onClick: (e) => {
67
+ }, children: [labelIcon, displayLabel, showRemove && onRemove && (_jsx("button", { type: "button", className: "se-text-xs", "data-syntro-highlight-remove": true, "data-syntro-editor-ui": "highlight-remove", onClick: (e) => {
69
68
  e.stopPropagation();
70
69
  e.preventDefault();
71
70
  onRemove();
@@ -76,7 +75,6 @@ export function ElementHighlight({ element, color, bgColor = 'transparent', bord
76
75
  borderRadius: '50%',
77
76
  width: '16px',
78
77
  height: '16px',
79
- fontSize: '12px',
80
78
  cursor: 'pointer',
81
79
  display: 'flex',
82
80
  alignItems: 'center',
@@ -1 +1 @@
1
- {"version":3,"file":"useTriggerWhenStatus.d.ts","sourceRoot":"","sources":["../../src/hooks/useTriggerWhenStatus.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAG5F;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;YACZ,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3C,KAAK,EAAE,OAAO,CAAC;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,IAAI,CAAC;CACV;AAsED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EAAE,GACvB,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC,CA0CvC"}
1
+ {"version":3,"file":"useTriggerWhenStatus.d.ts","sourceRoot":"","sources":["../../src/hooks/useTriggerWhenStatus.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAG5F;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;YACZ,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3C,KAAK,EAAE,OAAO,CAAC;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,IAAI,CAAC;CACV;AAqED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EAAE,GACvB,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC,CA0CvC"}
@@ -15,7 +15,6 @@ import { formatConditionLabel } from '../formatConditionLabel';
15
15
  * Build a RuntimeLike from the real SynOS.handle.runtime.
16
16
  */
17
17
  function getRuntime() {
18
- // biome-ignore lint: window.SynOS is set by the runtime SDK
19
18
  const rt = window.SynOS?.handle?.runtime;
20
19
  if (!rt?.evaluateSync)
21
20
  return null;
@@ -25,7 +25,7 @@
25
25
  "test:watch": "vitest"
26
26
  },
27
27
  "dependencies": {
28
- "css-selector-generator": "^3.8.0"
28
+ "css-selector-generator": "3.8.0"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "lucide-react": ">=0.400.0",
@@ -33,13 +33,15 @@
33
33
  "react-dom": ">=18.0.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@testing-library/dom": "^10.4.1",
37
- "@testing-library/react": "^16.3.2",
38
- "@types/react": "^19.2.0",
39
- "jsdom": "^26.1.0",
40
- "react": "^19.2.0",
41
- "react-dom": "^19.2.0",
42
- "typescript": "^5.9.3",
43
- "vitest": "^4.0.18"
36
+ "@testing-library/dom": "10.4.1",
37
+ "@testing-library/react": "16.3.2",
38
+ "@types/react": "19.2.14",
39
+ "@types/react-dom": "19.2.3",
40
+ "jsdom": "26.1.0",
41
+ "lucide-react": "0.576.0",
42
+ "react": "19.2.1",
43
+ "react-dom": "19.2.1",
44
+ "typescript": "5.9.3",
45
+ "vitest": "4.0.18"
44
46
  }
45
47
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syntrologie/adapt-overlays",
3
- "version": "2.11.0",
3
+ "version": "2.13.0",
4
4
  "description": "Adaptive Overlays app - Visual overlays for tooltips, highlights, badges, and pulses",
5
5
  "license": "Proprietary",
6
6
  "private": false,
@@ -45,7 +45,7 @@
45
45
  "test:watch": "vitest"
46
46
  },
47
47
  "dependencies": {
48
- "@floating-ui/dom": "^1.7.5",
48
+ "@floating-ui/dom": "1.7.5",
49
49
  "@syntrologie/sdk-contracts": "*",
50
50
  "@syntrologie/shared-editor-ui": "*",
51
51
  "@syntro/design-system": "*"
@@ -57,16 +57,16 @@
57
57
  "zod": "^3.0.0"
58
58
  },
59
59
  "devDependencies": {
60
- "lucide-react": "^0.576.0",
60
+ "lucide-react": "0.576.0",
61
61
  "@syntrologie/sdk-contracts": "*",
62
- "@testing-library/react": "^16.3.2",
63
- "@types/react": "^19.2.0",
64
- "@types/react-dom": "^19.2.0",
65
- "jsdom": "^26.1.0",
66
- "react": "^19.2.0",
67
- "react-dom": "^19.2.0",
68
- "typescript": "^5.9.3",
69
- "vitest": "^4.0.18",
70
- "zod": "^3.25.76"
62
+ "@testing-library/react": "16.3.2",
63
+ "@types/react": "19.2.14",
64
+ "@types/react-dom": "19.2.3",
65
+ "jsdom": "26.1.0",
66
+ "react": "19.2.1",
67
+ "react-dom": "19.2.1",
68
+ "typescript": "5.9.3",
69
+ "vitest": "4.0.18",
70
+ "zod": "3.25.76"
71
71
  }
72
72
  }