@syntrologie/adapt-overlays 2.13.0 → 2.15.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 (93) hide show
  1. package/dist/WorkflowWidgetLit.d.ts +123 -0
  2. package/dist/WorkflowWidgetLit.d.ts.map +1 -0
  3. package/dist/WorkflowWidgetLit.js +617 -0
  4. package/dist/overlay-editor-ui.d.ts.map +1 -1
  5. package/dist/overlay-editor-ui.js +3 -3
  6. package/dist/runtime-lit.d.ts +94 -0
  7. package/dist/runtime-lit.d.ts.map +1 -0
  8. package/dist/runtime-lit.js +402 -0
  9. package/dist/runtime.d.ts.map +1 -1
  10. package/dist/runtime.js +10 -0
  11. package/dist/schema.d.ts +24 -24
  12. package/dist/schema.d.ts.map +1 -1
  13. package/node_modules/@syntro/design-system/dist/tokens/index.d.ts +2 -0
  14. package/node_modules/@syntro/design-system/dist/tokens/index.d.ts.map +1 -1
  15. package/node_modules/@syntro/design-system/dist/tokens/index.js +2 -0
  16. package/node_modules/@syntro/design-system/dist/tokens/panel-shell.d.ts +93 -0
  17. package/node_modules/@syntro/design-system/dist/tokens/panel-shell.d.ts.map +1 -0
  18. package/node_modules/@syntro/design-system/dist/tokens/panel-shell.js +72 -0
  19. package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPicker.d.ts.map +1 -1
  20. package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPicker.js +6 -3
  21. package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPickerLit.d.ts +84 -0
  22. package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPickerLit.d.ts.map +1 -0
  23. package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPickerLit.js +323 -0
  24. package/node_modules/@syntrologie/shared-editor-ui/dist/components/BeforeAfterToggleLit.d.ts +25 -0
  25. package/node_modules/@syntrologie/shared-editor-ui/dist/components/BeforeAfterToggleLit.d.ts.map +1 -0
  26. package/node_modules/@syntrologie/shared-editor-ui/dist/components/BeforeAfterToggleLit.js +55 -0
  27. package/node_modules/@syntrologie/shared-editor-ui/dist/components/ConditionStatusLineLit.d.ts +33 -0
  28. package/node_modules/@syntrologie/shared-editor-ui/dist/components/ConditionStatusLineLit.d.ts.map +1 -0
  29. package/node_modules/@syntrologie/shared-editor-ui/dist/components/ConditionStatusLineLit.js +118 -0
  30. package/node_modules/@syntrologie/shared-editor-ui/dist/components/DetectionBadgeLit.d.ts +32 -0
  31. package/node_modules/@syntrologie/shared-editor-ui/dist/components/DetectionBadgeLit.d.ts.map +1 -0
  32. package/node_modules/@syntrologie/shared-editor-ui/dist/components/DetectionBadgeLit.js +68 -0
  33. package/node_modules/@syntrologie/shared-editor-ui/dist/components/DismissedSectionLit.d.ts +34 -0
  34. package/node_modules/@syntrologie/shared-editor-ui/dist/components/DismissedSectionLit.d.ts.map +1 -0
  35. package/node_modules/@syntrologie/shared-editor-ui/dist/components/DismissedSectionLit.js +57 -0
  36. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditBackButtonLit.d.ts +13 -0
  37. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditBackButtonLit.d.ts.map +1 -0
  38. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditBackButtonLit.js +31 -0
  39. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorBodyLit.d.ts +7 -0
  40. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorBodyLit.d.ts.map +1 -0
  41. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorBodyLit.js +15 -0
  42. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorCardLit.d.ts +36 -0
  43. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorCardLit.d.ts.map +1 -0
  44. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorCardLit.js +102 -0
  45. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorFooterLit.d.ts +20 -0
  46. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorFooterLit.d.ts.map +1 -0
  47. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorFooterLit.js +48 -0
  48. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorHeaderLit.d.ts +16 -0
  49. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorHeaderLit.d.ts.map +1 -0
  50. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorHeaderLit.js +25 -0
  51. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorInputLit.d.ts +66 -0
  52. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorInputLit.d.ts.map +1 -0
  53. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorInputLit.js +87 -0
  54. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorLayoutLit.d.ts +7 -0
  55. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorLayoutLit.d.ts.map +1 -0
  56. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorLayoutLit.js +15 -0
  57. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShell.d.ts.map +1 -1
  58. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShell.js +28 -17
  59. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShellLit.d.ts +66 -0
  60. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShellLit.d.ts.map +1 -0
  61. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShellLit.js +528 -0
  62. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorSelectLit.d.ts +41 -0
  63. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorSelectLit.d.ts.map +1 -0
  64. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorSelectLit.js +63 -0
  65. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorTextareaLit.d.ts +55 -0
  66. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorTextareaLit.d.ts.map +1 -0
  67. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorTextareaLit.js +92 -0
  68. package/node_modules/@syntrologie/shared-editor-ui/dist/components/ElementHighlightLit.d.ts +90 -0
  69. package/node_modules/@syntrologie/shared-editor-ui/dist/components/ElementHighlightLit.d.ts.map +1 -0
  70. package/node_modules/@syntrologie/shared-editor-ui/dist/components/ElementHighlightLit.js +242 -0
  71. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EmptyStateLit.d.ts +12 -0
  72. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EmptyStateLit.d.ts.map +1 -0
  73. package/node_modules/@syntrologie/shared-editor-ui/dist/components/EmptyStateLit.js +21 -0
  74. package/node_modules/@syntrologie/shared-editor-ui/dist/components/GroupHeaderLit.d.ts +21 -0
  75. package/node_modules/@syntrologie/shared-editor-ui/dist/components/GroupHeaderLit.d.ts.map +1 -0
  76. package/node_modules/@syntrologie/shared-editor-ui/dist/components/GroupHeaderLit.js +33 -0
  77. package/node_modules/@syntrologie/shared-editor-ui/dist/components/TriggerJourneyLit.d.ts +28 -0
  78. package/node_modules/@syntrologie/shared-editor-ui/dist/components/TriggerJourneyLit.d.ts.map +1 -0
  79. package/node_modules/@syntrologie/shared-editor-ui/dist/components/TriggerJourneyLit.js +121 -0
  80. package/node_modules/@syntrologie/shared-editor-ui/dist/controllers/PanelShellController.d.ts +110 -0
  81. package/node_modules/@syntrologie/shared-editor-ui/dist/controllers/PanelShellController.d.ts.map +1 -0
  82. package/node_modules/@syntrologie/shared-editor-ui/dist/controllers/PanelShellController.js +476 -0
  83. package/node_modules/@syntrologie/shared-editor-ui/dist/index.d.ts +2 -0
  84. package/node_modules/@syntrologie/shared-editor-ui/dist/index.d.ts.map +1 -1
  85. package/node_modules/@syntrologie/shared-editor-ui/dist/index.js +1 -0
  86. package/node_modules/@syntrologie/shared-editor-ui/dist/lit-elements.d.ts +15 -0
  87. package/node_modules/@syntrologie/shared-editor-ui/dist/lit-elements.d.ts.map +1 -0
  88. package/node_modules/@syntrologie/shared-editor-ui/dist/lit-elements.js +14 -0
  89. package/node_modules/@syntrologie/shared-editor-ui/dist/utils/elementChainRecommender.d.ts +0 -4
  90. package/node_modules/@syntrologie/shared-editor-ui/dist/utils/elementChainRecommender.d.ts.map +1 -1
  91. package/node_modules/@syntrologie/shared-editor-ui/dist/utils/elementChainRecommender.js +17 -1
  92. package/node_modules/@syntrologie/shared-editor-ui/package.json +9 -1
  93. package/package.json +9 -2
package/dist/schema.d.ts CHANGED
@@ -121,7 +121,7 @@ export declare const configSchema: z.ZodObject<{
121
121
  } | undefined;
122
122
  };
123
123
  trigger?: "click" | "immediate" | "hover" | undefined;
124
- placement?: "bottom" | "left" | "right" | "top" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | undefined;
124
+ placement?: "left" | "bottom" | "right" | "top" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | undefined;
125
125
  }, {
126
126
  summary: string;
127
127
  anchorId: {
@@ -137,7 +137,7 @@ export declare const configSchema: z.ZodObject<{
137
137
  } | undefined;
138
138
  };
139
139
  trigger?: "click" | "immediate" | "hover" | undefined;
140
- placement?: "bottom" | "left" | "right" | "top" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | undefined;
140
+ placement?: "left" | "bottom" | "right" | "top" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | undefined;
141
141
  }>, "many">>;
142
142
  /** Badge configurations */
143
143
  badges: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -365,7 +365,7 @@ export declare const configSchema: z.ZodObject<{
365
365
  } | undefined;
366
366
  };
367
367
  trigger?: "click" | "immediate" | "hover" | undefined;
368
- placement?: "bottom" | "left" | "right" | "top" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | undefined;
368
+ placement?: "left" | "bottom" | "right" | "top" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | undefined;
369
369
  }[] | undefined;
370
370
  badges?: {
371
371
  summary: string;
@@ -447,7 +447,7 @@ export declare const configSchema: z.ZodObject<{
447
447
  } | undefined;
448
448
  };
449
449
  trigger?: "click" | "immediate" | "hover" | undefined;
450
- placement?: "bottom" | "left" | "right" | "top" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | undefined;
450
+ placement?: "left" | "bottom" | "right" | "top" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | undefined;
451
451
  }[] | undefined;
452
452
  badges?: {
453
453
  summary: string;
@@ -589,17 +589,17 @@ export declare const actionStepSchemas: {
589
589
  maxHeight?: number | undefined;
590
590
  }>, z.ZodObject<{
591
591
  type: z.ZodLiteral<"session_metric">;
592
- key: z.ZodString;
592
+ key: z.ZodEnum<["time_on_page", "page_views", "scroll_depth"]>;
593
593
  operator: z.ZodEnum<["gte", "lte", "eq", "gt", "lt"]>;
594
594
  threshold: z.ZodNumber;
595
595
  }, "strip", z.ZodTypeAny, {
596
596
  type: "session_metric";
597
- key: string;
597
+ key: "time_on_page" | "page_views" | "scroll_depth";
598
598
  operator: "gte" | "lte" | "eq" | "gt" | "lt";
599
599
  threshold: number;
600
600
  }, {
601
601
  type: "session_metric";
602
- key: string;
602
+ key: "time_on_page" | "page_views" | "scroll_depth";
603
603
  operator: "gte" | "lte" | "eq" | "gt" | "lt";
604
604
  threshold: number;
605
605
  }>, z.ZodObject<{
@@ -648,7 +648,7 @@ export declare const actionStepSchemas: {
648
648
  count: z.ZodNumber;
649
649
  withinMs: z.ZodOptional<z.ZodNumber>;
650
650
  counter: z.ZodOptional<z.ZodObject<{
651
- events: z.ZodArray<z.ZodString, "many">;
651
+ events: z.ZodArray<z.ZodEnum<["ui.click", "ui.scroll", "ui.input", "ui.change", "ui.submit", "ui.hover", "ui.idle", "ui.scroll_thrash", "ui.focus_bounce", "nav.page_view", "nav.page_leave", "behavior.rage_click", "behavior.hesitation", "behavior.confusion"]>, "many">;
652
652
  match: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
653
653
  equals: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
654
654
  contains: z.ZodOptional<z.ZodString>;
@@ -660,13 +660,13 @@ export declare const actionStepSchemas: {
660
660
  contains?: string | undefined;
661
661
  }>>>;
662
662
  }, "strip", z.ZodTypeAny, {
663
- events: string[];
663
+ events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
664
664
  match?: Record<string, {
665
665
  equals?: string | number | boolean | undefined;
666
666
  contains?: string | undefined;
667
667
  }> | undefined;
668
668
  }, {
669
- events: string[];
669
+ events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
670
670
  match?: Record<string, {
671
671
  equals?: string | number | boolean | undefined;
672
672
  contains?: string | undefined;
@@ -679,7 +679,7 @@ export declare const actionStepSchemas: {
679
679
  count: number;
680
680
  withinMs?: number | undefined;
681
681
  counter?: {
682
- events: string[];
682
+ events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
683
683
  match?: Record<string, {
684
684
  equals?: string | number | boolean | undefined;
685
685
  contains?: string | undefined;
@@ -692,7 +692,7 @@ export declare const actionStepSchemas: {
692
692
  count: number;
693
693
  withinMs?: number | undefined;
694
694
  counter?: {
695
- events: string[];
695
+ events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
696
696
  match?: Record<string, {
697
697
  equals?: string | number | boolean | undefined;
698
698
  contains?: string | undefined;
@@ -727,7 +727,7 @@ export declare const actionStepSchemas: {
727
727
  maxHeight?: number | undefined;
728
728
  } | {
729
729
  type: "session_metric";
730
- key: string;
730
+ key: "time_on_page" | "page_views" | "scroll_depth";
731
731
  operator: "gte" | "lte" | "eq" | "gt" | "lt";
732
732
  threshold: number;
733
733
  } | {
@@ -750,7 +750,7 @@ export declare const actionStepSchemas: {
750
750
  count: number;
751
751
  withinMs?: number | undefined;
752
752
  counter?: {
753
- events: string[];
753
+ events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
754
754
  match?: Record<string, {
755
755
  equals?: string | number | boolean | undefined;
756
756
  contains?: string | undefined;
@@ -785,7 +785,7 @@ export declare const actionStepSchemas: {
785
785
  maxHeight?: number | undefined;
786
786
  } | {
787
787
  type: "session_metric";
788
- key: string;
788
+ key: "time_on_page" | "page_views" | "scroll_depth";
789
789
  operator: "gte" | "lte" | "eq" | "gt" | "lt";
790
790
  threshold: number;
791
791
  } | {
@@ -808,7 +808,7 @@ export declare const actionStepSchemas: {
808
808
  count: number;
809
809
  withinMs?: number | undefined;
810
810
  counter?: {
811
- events: string[];
811
+ events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
812
812
  match?: Record<string, {
813
813
  equals?: string | number | boolean | undefined;
814
814
  contains?: string | undefined;
@@ -847,7 +847,7 @@ export declare const actionStepSchemas: {
847
847
  maxHeight?: number | undefined;
848
848
  } | {
849
849
  type: "session_metric";
850
- key: string;
850
+ key: "time_on_page" | "page_views" | "scroll_depth";
851
851
  operator: "gte" | "lte" | "eq" | "gt" | "lt";
852
852
  threshold: number;
853
853
  } | {
@@ -870,7 +870,7 @@ export declare const actionStepSchemas: {
870
870
  count: number;
871
871
  withinMs?: number | undefined;
872
872
  counter?: {
873
- events: string[];
873
+ events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
874
874
  match?: Record<string, {
875
875
  equals?: string | number | boolean | undefined;
876
876
  contains?: string | undefined;
@@ -909,7 +909,7 @@ export declare const actionStepSchemas: {
909
909
  maxHeight?: number | undefined;
910
910
  } | {
911
911
  type: "session_metric";
912
- key: string;
912
+ key: "time_on_page" | "page_views" | "scroll_depth";
913
913
  operator: "gte" | "lte" | "eq" | "gt" | "lt";
914
914
  threshold: number;
915
915
  } | {
@@ -932,7 +932,7 @@ export declare const actionStepSchemas: {
932
932
  count: number;
933
933
  withinMs?: number | undefined;
934
934
  counter?: {
935
- events: string[];
935
+ events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
936
936
  match?: Record<string, {
937
937
  equals?: string | number | boolean | undefined;
938
938
  contains?: string | undefined;
@@ -1031,7 +1031,7 @@ export declare const actionStepSchemas: {
1031
1031
  maxHeight?: number | undefined;
1032
1032
  } | {
1033
1033
  type: "session_metric";
1034
- key: string;
1034
+ key: "time_on_page" | "page_views" | "scroll_depth";
1035
1035
  operator: "gte" | "lte" | "eq" | "gt" | "lt";
1036
1036
  threshold: number;
1037
1037
  } | {
@@ -1054,7 +1054,7 @@ export declare const actionStepSchemas: {
1054
1054
  count: number;
1055
1055
  withinMs?: number | undefined;
1056
1056
  counter?: {
1057
- events: string[];
1057
+ events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
1058
1058
  match?: Record<string, {
1059
1059
  equals?: string | number | boolean | undefined;
1060
1060
  contains?: string | undefined;
@@ -1120,7 +1120,7 @@ export declare const actionStepSchemas: {
1120
1120
  maxHeight?: number | undefined;
1121
1121
  } | {
1122
1122
  type: "session_metric";
1123
- key: string;
1123
+ key: "time_on_page" | "page_views" | "scroll_depth";
1124
1124
  operator: "gte" | "lte" | "eq" | "gt" | "lt";
1125
1125
  threshold: number;
1126
1126
  } | {
@@ -1143,7 +1143,7 @@ export declare const actionStepSchemas: {
1143
1143
  count: number;
1144
1144
  withinMs?: number | undefined;
1145
1145
  counter?: {
1146
- events: string[];
1146
+ events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
1147
1147
  match?: Record<string, {
1148
1148
  equals?: string | number | boolean | undefined;
1149
1149
  contains?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,6 @@ export * from './colors';
7
7
  export { default as colors } from './colors';
8
8
  export * from './effects';
9
9
  export { default as effects } from './effects';
10
+ export * from './panel-shell';
11
+ export { default as panelShell } from './panel-shell';
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAE7C,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAE7C,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAE/C,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -7,3 +7,5 @@ export * from './colors';
7
7
  export { default as colors } from './colors';
8
8
  export * from './effects';
9
9
  export { default as effects } from './effects';
10
+ export * from './panel-shell';
11
+ export { default as panelShell } from './panel-shell';
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Syntro Design System — Editor Panel Shell Tokens
3
+ *
4
+ * Single source of truth for the floating editor panel's visuals and behavior.
5
+ * Consumed by:
6
+ * - packages/shared-editor-ui/src/components/EditorPanelShell.tsx (React)
7
+ * - packages/shared-editor-ui/src/controllers/PanelShellController.ts (Lit)
8
+ *
9
+ * Any change here updates both React and Lit panels in one step — no drift.
10
+ */
11
+ /** Dark gradient rendered behind the panel contents (backdrop-blur layered on). */
12
+ export declare const panelBackground = "linear-gradient(160deg, rgba(7,8,10,0.84) 0%, rgba(14,17,20,0.88) 45%, rgba(15,19,24,0.84) 100%)";
13
+ /** Outer shadows for the panel, indexed by dock state. */
14
+ export declare const panelShadows: {
15
+ /** Free-floating panel — shadow all sides. */
16
+ readonly floating: "0 8px 60px rgba(0,0,0,0.5)";
17
+ /** Docked to left — shadow cast rightward into page. */
18
+ readonly dockedLeft: "20px 0 60px rgba(0,0,0,0.5)";
19
+ /** Docked to right — shadow cast leftward into page. */
20
+ readonly dockedRight: "-20px 0 60px rgba(0,0,0,0.5)";
21
+ };
22
+ /** Backdrop-filter blur radius applied to the panel surface. */
23
+ export declare const panelBackdropBlur = "12px";
24
+ export declare const fab: {
25
+ /** Diameter in pixels. */
26
+ readonly size: 56;
27
+ /** Inset from the panel's top-left corner in pixels. */
28
+ readonly inset: 12;
29
+ /** Background color (always the brand black). */
30
+ readonly background: "#000000";
31
+ /** Icon / logo color. */
32
+ readonly color: "#ffffff";
33
+ /** Border — 2px brand red ring. */
34
+ readonly border: "2px solid #b72e2a";
35
+ /** Shadow when the panel is open (inner ring for "active" state). */
36
+ readonly shadowOpen: "0 4px 24px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.08)";
37
+ /** Shadow when the panel is closed. */
38
+ readonly shadowClosed: "0 4px 24px rgba(0,0,0,0.6)";
39
+ };
40
+ export declare const panelBehavior: {
41
+ /** Minimum panel width when resizing or undocked. */
42
+ readonly minWidth: 480;
43
+ /** Minimum panel height when resizing or undocked. */
44
+ readonly minHeight: 400;
45
+ /** Edge thickness of resize handles in pixels. */
46
+ readonly handleSize: 8;
47
+ /** Pixels the FAB must move before a press becomes a drag (vs a click). */
48
+ readonly dragThreshold: 5;
49
+ /** Distance from a viewport edge that triggers edge-dock snapping. */
50
+ readonly snapThreshold: 20;
51
+ };
52
+ export declare const panelShell: {
53
+ readonly background: "linear-gradient(160deg, rgba(7,8,10,0.84) 0%, rgba(14,17,20,0.88) 45%, rgba(15,19,24,0.84) 100%)";
54
+ readonly shadows: {
55
+ /** Free-floating panel — shadow all sides. */
56
+ readonly floating: "0 8px 60px rgba(0,0,0,0.5)";
57
+ /** Docked to left — shadow cast rightward into page. */
58
+ readonly dockedLeft: "20px 0 60px rgba(0,0,0,0.5)";
59
+ /** Docked to right — shadow cast leftward into page. */
60
+ readonly dockedRight: "-20px 0 60px rgba(0,0,0,0.5)";
61
+ };
62
+ readonly backdropBlur: "12px";
63
+ readonly fab: {
64
+ /** Diameter in pixels. */
65
+ readonly size: 56;
66
+ /** Inset from the panel's top-left corner in pixels. */
67
+ readonly inset: 12;
68
+ /** Background color (always the brand black). */
69
+ readonly background: "#000000";
70
+ /** Icon / logo color. */
71
+ readonly color: "#ffffff";
72
+ /** Border — 2px brand red ring. */
73
+ readonly border: "2px solid #b72e2a";
74
+ /** Shadow when the panel is open (inner ring for "active" state). */
75
+ readonly shadowOpen: "0 4px 24px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.08)";
76
+ /** Shadow when the panel is closed. */
77
+ readonly shadowClosed: "0 4px 24px rgba(0,0,0,0.6)";
78
+ };
79
+ readonly behavior: {
80
+ /** Minimum panel width when resizing or undocked. */
81
+ readonly minWidth: 480;
82
+ /** Minimum panel height when resizing or undocked. */
83
+ readonly minHeight: 400;
84
+ /** Edge thickness of resize handles in pixels. */
85
+ readonly handleSize: 8;
86
+ /** Pixels the FAB must move before a press becomes a drag (vs a click). */
87
+ readonly dragThreshold: 5;
88
+ /** Distance from a viewport edge that triggers edge-dock snapping. */
89
+ readonly snapThreshold: 20;
90
+ };
91
+ };
92
+ export default panelShell;
93
+ //# sourceMappingURL=panel-shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel-shell.d.ts","sourceRoot":"","sources":["../../src/tokens/panel-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,mFAAmF;AACnF,eAAO,MAAM,eAAe,qGACwE,CAAC;AAErG,0DAA0D;AAC1D,eAAO,MAAM,YAAY;IACvB,8CAA8C;;IAE9C,wDAAwD;;IAExD,wDAAwD;;CAEhD,CAAC;AAEX,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAMxC,eAAO,MAAM,GAAG;IACd,0BAA0B;;IAE1B,wDAAwD;;IAExD,iDAAiD;;IAEjD,yBAAyB;;IAEzB,mCAAmC;;IAEnC,qEAAqE;;IAErE,uCAAuC;;CAE/B,CAAC;AAMX,eAAO,MAAM,aAAa;IACxB,qDAAqD;;IAErD,sDAAsD;;IAEtD,kDAAkD;;IAElD,2EAA2E;;IAE3E,sEAAsE;;CAE9D,CAAC;AAMX,eAAO,MAAM,UAAU;;;QArDrB,8CAA8C;;QAE9C,wDAAwD;;QAExD,wDAAwD;;;;;QAYxD,0BAA0B;;QAE1B,wDAAwD;;QAExD,iDAAiD;;QAEjD,yBAAyB;;QAEzB,mCAAmC;;QAEnC,qEAAqE;;QAErE,uCAAuC;;;;QASvC,qDAAqD;;QAErD,sDAAsD;;QAEtD,kDAAkD;;QAElD,2EAA2E;;QAE3E,sEAAsE;;;CAc9D,CAAC;AAEX,eAAe,UAAU,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Syntro Design System — Editor Panel Shell Tokens
3
+ *
4
+ * Single source of truth for the floating editor panel's visuals and behavior.
5
+ * Consumed by:
6
+ * - packages/shared-editor-ui/src/components/EditorPanelShell.tsx (React)
7
+ * - packages/shared-editor-ui/src/controllers/PanelShellController.ts (Lit)
8
+ *
9
+ * Any change here updates both React and Lit panels in one step — no drift.
10
+ */
11
+ import { base, brand } from './colors';
12
+ // ============================================================================
13
+ // Panel background & shadows
14
+ // ============================================================================
15
+ /** Dark gradient rendered behind the panel contents (backdrop-blur layered on). */
16
+ export const panelBackground = 'linear-gradient(160deg, rgba(7,8,10,0.84) 0%, rgba(14,17,20,0.88) 45%, rgba(15,19,24,0.84) 100%)';
17
+ /** Outer shadows for the panel, indexed by dock state. */
18
+ export const panelShadows = {
19
+ /** Free-floating panel — shadow all sides. */
20
+ floating: '0 8px 60px rgba(0,0,0,0.5)',
21
+ /** Docked to left — shadow cast rightward into page. */
22
+ dockedLeft: '20px 0 60px rgba(0,0,0,0.5)',
23
+ /** Docked to right — shadow cast leftward into page. */
24
+ dockedRight: '-20px 0 60px rgba(0,0,0,0.5)',
25
+ };
26
+ /** Backdrop-filter blur radius applied to the panel surface. */
27
+ export const panelBackdropBlur = '12px';
28
+ // ============================================================================
29
+ // FAB (floating action button) visuals
30
+ // ============================================================================
31
+ export const fab = {
32
+ /** Diameter in pixels. */
33
+ size: 56,
34
+ /** Inset from the panel's top-left corner in pixels. */
35
+ inset: 12,
36
+ /** Background color (always the brand black). */
37
+ background: base.black,
38
+ /** Icon / logo color. */
39
+ color: base.white,
40
+ /** Border — 2px brand red ring. */
41
+ border: `2px solid ${brand[3]}`,
42
+ /** Shadow when the panel is open (inner ring for "active" state). */
43
+ shadowOpen: '0 4px 24px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.08)',
44
+ /** Shadow when the panel is closed. */
45
+ shadowClosed: '0 4px 24px rgba(0,0,0,0.6)',
46
+ };
47
+ // ============================================================================
48
+ // Behavior: resize, drag, snap
49
+ // ============================================================================
50
+ export const panelBehavior = {
51
+ /** Minimum panel width when resizing or undocked. */
52
+ minWidth: 480,
53
+ /** Minimum panel height when resizing or undocked. */
54
+ minHeight: 400,
55
+ /** Edge thickness of resize handles in pixels. */
56
+ handleSize: 8,
57
+ /** Pixels the FAB must move before a press becomes a drag (vs a click). */
58
+ dragThreshold: 5,
59
+ /** Distance from a viewport edge that triggers edge-dock snapping. */
60
+ snapThreshold: 20,
61
+ };
62
+ // ============================================================================
63
+ // Aggregate export
64
+ // ============================================================================
65
+ export const panelShell = {
66
+ background: panelBackground,
67
+ shadows: panelShadows,
68
+ backdropBlur: panelBackdropBlur,
69
+ fab,
70
+ behavior: panelBehavior,
71
+ };
72
+ export default panelShell;
@@ -1 +1 @@
1
- {"version":3,"file":"AnchorPicker.d.ts","sourceRoot":"","sources":["../../src/components/AnchorPicker.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;8DAE0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAKD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,iBAAyB,EACzB,eAAuJ,GACxJ,EAAE,iBAAiB,sCAwMnB"}
1
+ {"version":3,"file":"AnchorPicker.d.ts","sourceRoot":"","sources":["../../src/components/AnchorPicker.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;8DAE0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAKD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,iBAAyB,EACzB,eAAuJ,GACxJ,EAAE,iBAAiB,sCA2MnB"}
@@ -27,11 +27,14 @@ export function AnchorPicker({ isActive, onPick, onCancel, passthroughClicks = f
27
27
  const overlayRef = useRef(null);
28
28
  const handleMouseMove = useCallback((e) => {
29
29
  const overlay = overlayRef.current;
30
- if (overlay) {
30
+ // In passthrough mode the overlay is already pointerEvents:'none',
31
+ // so elementFromPoint can see through it — no toggle needed.
32
+ // In non-passthrough mode, temporarily disable to detect elements underneath.
33
+ if (overlay && !passthroughClicks) {
31
34
  overlay.style.pointerEvents = 'none';
32
35
  }
33
36
  const elementAtPoint = document.elementFromPoint(e.clientX, e.clientY);
34
- if (overlay) {
37
+ if (overlay && !passthroughClicks) {
35
38
  overlay.style.pointerEvents = 'auto';
36
39
  }
37
40
  if (!elementAtPoint) {
@@ -52,7 +55,7 @@ export function AnchorPicker({ isActive, onPick, onCancel, passthroughClicks = f
52
55
  setHoveredElement(elementAtPoint);
53
56
  const selector = generateSelector(elementAtPoint);
54
57
  setHoveredSelector(selector);
55
- }, [excludeSelector]);
58
+ }, [excludeSelector, passthroughClicks]);
56
59
  const handleClick = useCallback((e) => {
57
60
  if (passthroughClicks)
58
61
  return; // Let click propagate to PostHog
@@ -0,0 +1,84 @@
1
+ /**
2
+ * AnchorPickerLit — Shared Element Picker Overlay (Lit web component).
3
+ *
4
+ * Full-page overlay that lets the user hover and click to select a DOM element.
5
+ * Returns the element, its CSS selector, and a human-readable description
6
+ * via custom events.
7
+ *
8
+ * The overlay is rendered into a portal div appended to document.body, NOT
9
+ * into the component's own render root. This is necessary because the editor
10
+ * panel applies `backdrop-filter: blur(...)` which, in Chrome, creates a new
11
+ * containing block for `position: fixed` descendants. Without the portal, the
12
+ * highlight box coordinates (from getBoundingClientRect, which are viewport-
13
+ * relative) would be interpreted relative to the panel, causing the highlight
14
+ * to appear far off from the actual hovered element.
15
+ *
16
+ * Lit port of AnchorPicker.tsx — preserves all behavior including:
17
+ * - Mouse tracking with elementFromPoint detection
18
+ * - Passthrough click mode for PostHog integration
19
+ * - Element highlight with info tooltip
20
+ * - Escape key cancellation
21
+ * - Exclude selector filtering
22
+ */
23
+ import { LitElement } from 'lit';
24
+ export interface PickedElement {
25
+ element: Element;
26
+ selector: string;
27
+ description: string;
28
+ }
29
+ export declare class AnchorPickerLit extends LitElement {
30
+ static properties: {
31
+ isActive: {
32
+ type: BooleanConstructor;
33
+ attribute: string;
34
+ };
35
+ passthroughClicks: {
36
+ type: BooleanConstructor;
37
+ attribute: string;
38
+ };
39
+ excludeSelector: {
40
+ type: StringConstructor;
41
+ attribute: string;
42
+ };
43
+ _hoveredElement: {
44
+ state: boolean;
45
+ };
46
+ _hoveredSelector: {
47
+ state: boolean;
48
+ };
49
+ };
50
+ isActive: boolean;
51
+ passthroughClicks: boolean;
52
+ excludeSelector: string;
53
+ private _hoveredElement;
54
+ private _hoveredSelector;
55
+ private _overlayEl;
56
+ private _portalDiv;
57
+ createRenderRoot(): this;
58
+ connectedCallback(): void;
59
+ disconnectedCallback(): void;
60
+ updated(changed: Map<string, unknown>): void;
61
+ /**
62
+ * Create or update the body-level portal div.
63
+ * Rendering into document.body ensures position:fixed coordinates are
64
+ * relative to the viewport, not an ancestor with backdrop-filter.
65
+ */
66
+ private _syncPortal;
67
+ private _destroyPortal;
68
+ private _attachDocumentListeners;
69
+ private _detachDocumentListeners;
70
+ /**
71
+ * Resolve the shadow host this picker lives inside, if any. When the picker
72
+ * is mounted inside a shadow root (e.g. the editor SDK mounts inside
73
+ * `<smart-canvas>`'s shadow), `document.elementFromPoint` returns the shadow
74
+ * *host*, not the host page element beneath. Temporarily disabling pointer
75
+ * events on the host lets hit-testing fall through to the host page.
76
+ */
77
+ private _getShadowHost;
78
+ private _handleMouseMove;
79
+ private _handleClick;
80
+ private _handleKeyDown;
81
+ render(): symbol;
82
+ private _overlayTemplate;
83
+ }
84
+ //# sourceMappingURL=AnchorPickerLit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnchorPickerLit.d.ts","sourceRoot":"","sources":["../../src/components/AnchorPickerLit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAQ,UAAU,EAAgC,MAAM,KAAK,CAAC;AAarE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAiBD,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,UAAU;;;;;;;;;;;;;;;;;;;MAOxB;IAEF,QAAQ,UAAS;IACjB,iBAAiB,UAAS;IAC1B,eAAe,EAAE,MAAM,CAA4B;IAGnD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,gBAAgB,CAAM;IAG9B,OAAO,CAAC,UAAU,CAA+B;IAGjD,OAAO,CAAC,UAAU,CAA+B;IAIxC,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAiBrD;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,wBAAwB;IAQhC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,gBAAgB,CA+CtB;IAEF,OAAO,CAAC,YAAY,CAwBlB;IAEF,OAAO,CAAC,cAAc,CAUpB;IAMO,MAAM;IAIf,OAAO,CAAC,gBAAgB;CA0GzB"}