@syntrologie/adapt-faq 2.8.0-canary.21 → 2.8.0-canary.210

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 (51) hide show
  1. package/dist/FAQWidgetLit.d.ts +85 -0
  2. package/dist/FAQWidgetLit.d.ts.map +1 -0
  3. package/dist/chunk-5WRI5ZAA.js +31 -0
  4. package/dist/chunk-5WRI5ZAA.js.map +7 -0
  5. package/dist/chunk-S6WIENQP.js +578 -0
  6. package/dist/chunk-S6WIENQP.js.map +7 -0
  7. package/dist/editor.d.ts +35 -33
  8. package/dist/editor.d.ts.map +1 -1
  9. package/dist/editor.js +4821 -308
  10. package/dist/editor.js.map +7 -0
  11. package/dist/faq-styles.d.ts +198 -0
  12. package/dist/faq-styles.d.ts.map +1 -0
  13. package/dist/{FAQWidget.d.ts → faq-types.d.ts} +9 -28
  14. package/dist/faq-types.d.ts.map +1 -0
  15. package/dist/runtime.d.ts +16 -3
  16. package/dist/runtime.d.ts.map +1 -1
  17. package/dist/runtime.js +849 -64
  18. package/dist/runtime.js.map +7 -0
  19. package/dist/schema.d.ts +1077 -545
  20. package/dist/schema.d.ts.map +1 -1
  21. package/dist/schema.js +448 -206
  22. package/dist/schema.js.map +7 -0
  23. package/dist/types.d.ts +19 -0
  24. package/dist/types.d.ts.map +1 -1
  25. package/node_modules/marked/LICENSE.md +44 -0
  26. package/node_modules/marked/README.md +107 -0
  27. package/node_modules/marked/bin/main.js +283 -0
  28. package/node_modules/marked/bin/marked.js +16 -0
  29. package/node_modules/marked/lib/marked.d.ts +759 -0
  30. package/node_modules/marked/lib/marked.esm.js +72 -0
  31. package/node_modules/marked/lib/marked.esm.js.map +7 -0
  32. package/node_modules/marked/lib/marked.umd.js +74 -0
  33. package/node_modules/marked/lib/marked.umd.js.map +7 -0
  34. package/node_modules/marked/man/marked.1 +113 -0
  35. package/node_modules/marked/man/marked.1.md +93 -0
  36. package/node_modules/marked/package.json +103 -0
  37. package/package.json +13 -18
  38. package/dist/FAQWidget.d.ts.map +0 -1
  39. package/dist/FAQWidget.js +0 -581
  40. package/dist/cdn.d.ts +0 -70
  41. package/dist/cdn.d.ts.map +0 -1
  42. package/dist/cdn.js +0 -46
  43. package/dist/executors.js +0 -150
  44. package/dist/state.js +0 -132
  45. package/dist/summarize.js +0 -62
  46. package/dist/types.js +0 -17
  47. package/node_modules/@syntrologie/sdk-contracts/dist/index.d.ts +0 -129
  48. package/node_modules/@syntrologie/sdk-contracts/dist/index.js +0 -15
  49. package/node_modules/@syntrologie/sdk-contracts/dist/schemas.d.ts +0 -2225
  50. package/node_modules/@syntrologie/sdk-contracts/dist/schemas.js +0 -162
  51. package/node_modules/@syntrologie/sdk-contracts/package.json +0 -33
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Adaptive FAQ - Styles
3
+ *
4
+ * BaseStyles object (font, layout, colors, animations) and theme integration
5
+ * for the FAQWidget component.
6
+ */
7
+ export declare const baseStyles: {
8
+ readonly container: {
9
+ readonly fontFamily: "var(--sc-font-family, system-ui, -apple-system, sans-serif)";
10
+ readonly maxWidth: "800px";
11
+ readonly margin: "0 auto";
12
+ };
13
+ readonly searchWrapper: {
14
+ readonly marginBottom: "8px";
15
+ };
16
+ readonly searchInput: {
17
+ readonly width: "100%";
18
+ readonly padding: "12px 16px";
19
+ readonly borderRadius: "8px";
20
+ readonly fontSize: "14px";
21
+ readonly outline: "none";
22
+ readonly transition: "border-color 0.15s ease";
23
+ readonly backgroundColor: "var(--sc-content-search-background)";
24
+ readonly color: "var(--sc-content-search-color)";
25
+ };
26
+ readonly accordion: {
27
+ readonly display: "flex";
28
+ readonly flexDirection: "column";
29
+ readonly gap: "var(--sc-content-item-gap, 6px)";
30
+ };
31
+ readonly item: {
32
+ readonly borderRadius: "var(--sc-content-border-radius, 8px)";
33
+ readonly overflow: "hidden";
34
+ readonly transition: "box-shadow 0.15s ease";
35
+ };
36
+ readonly question: {
37
+ readonly width: "100%";
38
+ readonly padding: "var(--sc-content-item-padding, 12px 16px)";
39
+ readonly display: "flex";
40
+ readonly alignItems: "center";
41
+ readonly justifyContent: "space-between";
42
+ readonly border: "none";
43
+ readonly cursor: "pointer";
44
+ readonly fontSize: "var(--sc-content-item-font-size, 15px)";
45
+ readonly fontWeight: 500;
46
+ readonly textAlign: "left";
47
+ readonly transition: "background-color 0.15s ease";
48
+ };
49
+ readonly chevron: {
50
+ readonly fontSize: "20px";
51
+ readonly transition: "transform 0.2s ease";
52
+ readonly color: "var(--sc-content-chevron-color, currentColor)";
53
+ };
54
+ readonly answer: {
55
+ readonly padding: "var(--sc-content-body-padding, 0 16px 12px 16px)";
56
+ readonly fontSize: "var(--sc-content-body-font-size, 14px)";
57
+ readonly lineHeight: 1.6;
58
+ readonly overflow: "hidden";
59
+ readonly transition: "max-height 0.2s ease, padding 0.2s ease";
60
+ };
61
+ readonly category: {
62
+ readonly display: "inline-block";
63
+ readonly fontSize: "11px";
64
+ readonly fontWeight: 600;
65
+ readonly textTransform: "uppercase";
66
+ readonly letterSpacing: "0.05em";
67
+ readonly padding: "4px 8px";
68
+ readonly borderRadius: "4px";
69
+ readonly marginBottom: "8px";
70
+ };
71
+ readonly categoryHeader: {
72
+ readonly fontSize: "var(--sc-content-category-font-size, 12px)";
73
+ readonly fontWeight: 700;
74
+ readonly textTransform: "uppercase";
75
+ readonly letterSpacing: "0.05em";
76
+ readonly padding: "var(--sc-content-category-padding, 8px 4px 4px 4px)";
77
+ readonly marginTop: "var(--sc-content-category-gap, 4px)";
78
+ };
79
+ readonly feedback: {
80
+ readonly display: "flex";
81
+ readonly alignItems: "center";
82
+ readonly gap: "8px";
83
+ readonly marginTop: "12px";
84
+ readonly paddingTop: "10px";
85
+ readonly borderTop: "1px solid rgba(0, 0, 0, 0.08)";
86
+ readonly fontSize: "13px";
87
+ };
88
+ readonly feedbackButton: {
89
+ readonly background: "none";
90
+ readonly border: "1px solid transparent";
91
+ readonly cursor: "pointer";
92
+ readonly fontSize: "16px";
93
+ readonly padding: "4px 8px";
94
+ readonly borderRadius: "4px";
95
+ readonly transition: "background-color 0.15s ease, border-color 0.15s ease";
96
+ };
97
+ readonly feedbackButtonSelected: {
98
+ readonly borderColor: "rgba(0, 0, 0, 0.2)";
99
+ readonly backgroundColor: "rgba(0, 0, 0, 0.04)";
100
+ };
101
+ readonly emptyState: {
102
+ readonly textAlign: "center";
103
+ readonly padding: "48px 24px";
104
+ readonly fontSize: "14px";
105
+ };
106
+ readonly noResults: {
107
+ readonly textAlign: "center";
108
+ readonly padding: "32px 16px";
109
+ readonly fontSize: "14px";
110
+ };
111
+ };
112
+ export declare const themeStyles: {
113
+ light: {
114
+ container: {
115
+ backgroundColor: string;
116
+ color: string;
117
+ };
118
+ searchInput: {
119
+ border: string;
120
+ };
121
+ item: {
122
+ backgroundColor: string;
123
+ borderTop: string;
124
+ borderRight: string;
125
+ borderBottom: string;
126
+ borderLeft: string;
127
+ };
128
+ itemExpanded: {
129
+ boxShadow: string;
130
+ };
131
+ question: {
132
+ backgroundColor: string;
133
+ color: string;
134
+ };
135
+ questionHover: {
136
+ backgroundColor: string;
137
+ };
138
+ answer: {
139
+ color: string;
140
+ };
141
+ category: {
142
+ backgroundColor: "#e1def5";
143
+ color: "#40357c";
144
+ };
145
+ categoryHeader: {
146
+ color: "#677384";
147
+ };
148
+ emptyState: {
149
+ color: "#87919f";
150
+ };
151
+ feedbackPrompt: {
152
+ color: "#677384";
153
+ };
154
+ };
155
+ dark: {
156
+ container: {
157
+ backgroundColor: string;
158
+ color: string;
159
+ };
160
+ searchInput: {
161
+ border: string;
162
+ };
163
+ item: {
164
+ backgroundColor: string;
165
+ borderTop: string;
166
+ borderRight: string;
167
+ borderBottom: string;
168
+ borderLeft: string;
169
+ };
170
+ itemExpanded: {
171
+ boxShadow: string;
172
+ };
173
+ question: {
174
+ backgroundColor: string;
175
+ color: string;
176
+ };
177
+ questionHover: {
178
+ backgroundColor: string;
179
+ };
180
+ answer: {
181
+ color: string;
182
+ };
183
+ category: {
184
+ backgroundColor: "#151229";
185
+ color: "#a69be2";
186
+ };
187
+ categoryHeader: {
188
+ color: "#87919f";
189
+ };
190
+ emptyState: {
191
+ color: "#677384";
192
+ };
193
+ feedbackPrompt: {
194
+ color: "#87919f";
195
+ };
196
+ };
197
+ };
198
+ //# sourceMappingURL=faq-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"faq-styles.d.ts","sourceRoot":"","sources":["../src/faq-styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGb,CAAC;AAMX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFvB,CAAC"}
@@ -1,11 +1,8 @@
1
1
  /**
2
- * Adaptive FAQ - FAQWidget Component
2
+ * Adaptive FAQ - Widget Runtime & Props Types
3
3
  *
4
- * React component that renders a collapsible Q&A accordion with per-item
5
- * conditional visibility based on triggerWhen decision strategies.
6
- *
7
- * Demonstrates the compositional action pattern where child actions
8
- * (faq:question) serve as configuration data for the parent widget.
4
+ * Runtime interface, component props, and helper type definitions
5
+ * used by the FAQWidget component.
9
6
  */
10
7
  import type { DecisionStrategy, FAQConfig } from './types';
11
8
  export interface FAQWidgetRuntime {
@@ -49,30 +46,14 @@ export interface FAQWidgetRuntime {
49
46
  subscribe: (callback: () => void) => () => void;
50
47
  register: (key: string, predicate: (event: any) => boolean) => void;
51
48
  };
49
+ /** Session metrics for reactive triggerWhen re-evaluation */
50
+ sessionMetrics?: {
51
+ subscribe: (callback: () => void) => () => void;
52
+ };
52
53
  }
53
- interface FAQWidgetProps {
54
+ export interface FAQWidgetProps {
54
55
  config: FAQConfig;
55
56
  runtime: FAQWidgetRuntime;
56
57
  instanceId: string;
57
58
  }
58
- /**
59
- * FAQWidget - Renders a collapsible Q&A accordion with per-item activation.
60
- *
61
- * This component demonstrates the compositional action pattern:
62
- * - Parent (FAQWidget) receives `config.actions` array
63
- * - Each action has optional `triggerWhen` for per-item visibility
64
- * - Parent evaluates triggerWhen and filters visible questions
65
- * - Parent manages expand state and re-rendering on context changes
66
- */
67
- export declare function FAQWidget({ config, runtime, instanceId }: FAQWidgetProps): import("react/jsx-runtime").JSX.Element;
68
- /**
69
- * Mountable widget interface for the runtime's WidgetRegistry.
70
- */
71
- export declare const FAQMountableWidget: {
72
- mount(container: HTMLElement, config?: FAQConfig & {
73
- runtime?: FAQWidgetRuntime;
74
- instanceId?: string;
75
- }): () => void;
76
- };
77
- export default FAQWidget;
78
- //# sourceMappingURL=FAQWidget.d.ts.map
59
+ //# sourceMappingURL=faq-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"faq-types.d.ts","sourceRoot":"","sources":["../src/faq-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAM3D,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IACtF,OAAO,EAAE;QAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAA;KAAE,CAAC;IAC7D,MAAM,EAAE;QACN,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACjE,SAAS,CAAC,EAAE,CACV,gBAAgB,EACZ;YAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,GAC7D,CAAC,CAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC,EACpF,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,KAC3F,MAAM,IAAI,CAAC;QAChB,SAAS,CAAC,EAAE,CACV,MAAM,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,EAClD,KAAK,CAAC,EAAE,MAAM,KACX,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC3E,CAAC;IACF,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAC;IACtF,+DAA+D;IAC/D,WAAW,CAAC,EAAE;QACZ,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;QAChD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,KAAK,IAAI,CAAC;KACrE,CAAC;IACF,6DAA6D;IAC7D,cAAc,CAAC,EAAE;QACf,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;KACjD,CAAC;CACH;AAMD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB"}
package/dist/runtime.d.ts CHANGED
@@ -2,14 +2,27 @@
2
2
  * Adaptive FAQ - Runtime Module
3
3
  *
4
4
  * Runtime manifest for the FAQ accordion adaptive.
5
+ * Mounts the Lit web component <syntro-faq-accordion>.
5
6
  * Provides action executors and widget registration.
6
7
  */
8
+ import './FAQWidgetLit';
9
+ import type { FAQWidgetRuntime } from './faq-types';
10
+ import type { FAQConfig } from './types';
11
+ /**
12
+ * Mountable widget interface for <syntro-faq-accordion> (Lit web component).
13
+ */
14
+ export declare const FAQWidgetLitMountable: {
15
+ mount(container: HTMLElement, config?: FAQConfig & {
16
+ runtime?: FAQWidgetRuntime;
17
+ instanceId?: string;
18
+ }): () => void;
19
+ };
7
20
  /**
8
21
  * Runtime manifest for adaptive-faq.
9
22
  *
10
23
  * Provides:
11
24
  * - FAQ action executors (scroll_to, toggle_item, update)
12
- * - Widget-based accordion (compositional faq:question actions)
25
+ * - Widget-based accordion using the Lit web component
13
26
  */
14
27
  export declare const runtime: {
15
28
  id: string;
@@ -35,8 +48,8 @@ export declare const runtime: {
35
48
  widgets: {
36
49
  id: string;
37
50
  component: {
38
- mount(container: HTMLElement, config?: import("./types").FAQConfig & {
39
- runtime?: import("./FAQWidget").FAQWidgetRuntime;
51
+ mount(container: HTMLElement, config?: FAQConfig & {
52
+ runtime?: FAQWidgetRuntime;
40
53
  instanceId?: string;
41
54
  }): () => void;
42
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;;;IAOlB;;OAEG;;;;;;;;;;;IAGH;;OAEG;;;;;uBAuC06sB,CAAC;0BAA8B,CAAC;;;;;;;;;;IAzB78sB;;;;OAIG;0BACmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;CAiB9C,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,SAAS,CAAC;AAM5D;;GAEG;AACH,eAAO,MAAM,qBAAqB;qBAEnB,WAAW,WACb,SAAS,GAAG;QAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CA4B3E,CAAC;AAMF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;;;IAOlB;;OAEG;;;;;;;;;;;IAGH;;OAEG;;;;6BAxDU,WAAW,WACb,SAAS,GAAG;gBAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC;gBAAC,UAAU,CAAC,EAAE,MAAM,CAAA;aAAE;;;;;;;;;IAqE1E;;;;OAIG;0BACmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;CAiB9C,CAAC;AAEF,eAAe,OAAO,CAAC"}