@owlmeans/common-inquiry 0.1.18-rc.0 → 0.1.18-rc.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
@@ -11,7 +11,7 @@ No React, no DOM, no runtime dependencies: constants, types, JSON schemas and on
11
11
  ## Installation
12
12
 
13
13
  ```bash
14
- bun add @owlmeans/common-inquiry@^0.1.18-rc.0
14
+ bun add @owlmeans/common-inquiry@^0.1.18-rc.1
15
15
  ```
16
16
 
17
17
  `ajv` is an optional peer: the schemas are typed with its `JSONSchemaType`, and a server that
@@ -65,7 +65,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
65
65
  your project's skill store (`.agents/skills/`):
66
66
 
67
67
  ```sh
68
- npx @owlmeans/agent-skills@^0.1.18-rc.52
68
+ npx @owlmeans/agent-skills@^0.1.18-rc.53
69
69
  ```
70
70
 
71
71
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/common-inquiry",
4
- "version": "0.1.18-rc.0",
5
- "generatedAt": "2026-10-06T22:18:20.848Z",
4
+ "version": "0.1.18-rc.1",
5
+ "generatedAt": "2026-10-09T11:30:42.759Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/common-inquiry
9
9
 
10
10
  **Layer:** Cross-cutting domain (no `@owlmeans/*` dependencies; optional `ajv` peer for schema types)
11
- **Install:** `"@owlmeans/common-inquiry": "^0.1.18-rc.0"` in `dependencies`
11
+ **Install:** `"@owlmeans/common-inquiry": "^0.1.18-rc.1"` in `dependencies`
12
12
 
13
13
  The one place the three parties of the inquiry widget agree: the browser SDK
14
14
  (`@owlmeans/web-inquiry`), the widget bundle that renders the dialog, and the CRM API that accepts
@@ -66,8 +66,8 @@ The bundle installs an `InquiryRuntime` at `window[INQUIRY_GLOBAL]` (`window.__o
66
66
  |---|---|
67
67
  | `version` | `INQUIRY_RUNTIME_VERSION`; a client refuses another. Bump it only for an incompatible change |
68
68
  | `configure(options)` | page-wide `{ url, language?, onOpen? }`, last call wins; `language` may be a function read at every open |
69
- | `open(config, opts?)` | mount the widget's dialog on first use, open it on `opts.tab` or the default tab |
70
- | `button(config, opts?)` | mount a floating button (`position`, `offset`, `label`, `source` — default `fab`); returns an `InquiryHandle` (`open`, `update`, `unmount`); a second call for the same id updates it |
69
+ | `open(config, opts?)` | mount the widget's dialog on first use, open it on `opts.tab` or the default tab; apply `opts.email` when supplied |
70
+ | `button(config, opts?)` | mount a floating button (`position`, `offset`, `label`, `source` — default `fab`, `email`); returns an `InquiryHandle` (`open`, `update`, `unmount`); a second call for the same id updates it |
71
71
  | `unmount(id?)` | remove one widget, or all |
72
72
 
73
73
  **`onOpen` is called exactly once per dialog open**, whatever opened it — `open`, a handle's
@@ -75,6 +75,20 @@ The bundle installs an `InquiryRuntime` at `window[INQUIRY_GLOBAL]` (`window.__o
75
75
  does not call it again. The SDK reports analytics from this callback only, so a runtime that also
76
76
  reported from elsewhere would double-count.
77
77
 
78
+ `InquiryEmailOptions.email` is an optional `InquiryEmailPreset`: a string or a lazy function
79
+ returning `InquiryEmailValue` (`string | null | undefined`), synchronously or in a Promise. The
80
+ runtime resolves it on each closed-to-open transition and replaces any manually edited address;
81
+ calling `open` on an already open dialog does not resolve it again. A null/undefined result or a
82
+ provider failure clears the address for manual entry. Omitting the option preserves the manual
83
+ draft. A button's provider also applies to its floating trigger and handle's `open`; an explicit
84
+ open option overrides it.
85
+
86
+ While a Promise is pending, the address is empty, its field and Send are disabled, and a spinner
87
+ beside the field announces loading. Other fields remain editable. Closing, reopening or unmounting
88
+ invalidates earlier pending results. A synchronous result needs no spinner. The host owns caching;
89
+ the runtime does not fetch identity or persist addresses. These optional options keep runtime
90
+ version 1 compatible with clients that omit them.
91
+
78
92
  ## The submission
79
93
 
80
94
  One multipart POST. A multipart parser with `attachFieldsToBody: 'keyValues'` hands every text
package/build/types.d.ts CHANGED
@@ -43,13 +43,21 @@ export interface InquiryWidgetConfig {
43
43
  /** The interface language; default: the runtime's configured language, then the document's. */
44
44
  language?: string;
45
45
  }
46
- export interface InquiryOpenOptions {
46
+ /** A preset reply address, resolved when the dialog opens. A missing result clears the email. */
47
+ export type InquiryEmailValue = string | null | undefined;
48
+ /** A reply address or a lazy provider; a pending provider shows the widget's email spinner. */
49
+ export type InquiryEmailPreset = string | (() => InquiryEmailValue | Promise<InquiryEmailValue>);
50
+ export interface InquiryEmailOptions {
51
+ /** Applied on every dialog open, replacing any previously edited email. Omit to keep manual entry. */
52
+ email?: InquiryEmailPreset;
53
+ }
54
+ export interface InquiryOpenOptions extends InquiryEmailOptions {
47
55
  /** The alias of the tab to select; an unknown alias selects the default tab. */
48
56
  tab?: string;
49
57
  /** Which trigger opened the dialog (`fab`, `menu`, `pricing-card` …), reported in analytics. */
50
58
  source?: string;
51
59
  }
52
- export interface InquiryButtonOptions {
60
+ export interface InquiryButtonOptions extends InquiryEmailOptions {
53
61
  /** Default: `bottom-right`. */
54
62
  position?: InquiryButtonPosition;
55
63
  /** Distance from the viewport edges in CSS pixels. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/common-inquiry",
3
- "version": "0.1.18-rc.0",
3
+ "version": "0.1.18-rc.1",
4
4
  "license": "MIT",
5
5
  "description": "Runtime-free contract of the OwlMeans customer inquiry widget — the window runtime, the widget config, the multipart submission and its limits, schemas and the config helper.",
6
6
  "type": "module",