@popgrids/embed 0.0.3 → 0.0.4

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.
@@ -1,11 +1,28 @@
1
1
  import { Comment, CommentAuthor, Grid } from '../types/models.js';
2
+ /**
3
+ * The five visual settings a `<pop-grid>` can override live via
4
+ * `data-align`/`data-layout`/`data-position`/`data-icon`/`data-preview-count`
5
+ * — see pop-grid.ts's observedAttributes. Never includes `undefined`-valued
6
+ * keys: an absent/invalid attribute is simply omitted, not set to
7
+ * `undefined`, so `mergeOverrides` can fall back to the fetched grid's value
8
+ * for that field with a plain spread.
9
+ */
10
+ export type GridOverrides = Partial<Pick<Grid, "align" | "layout" | "position" | "icon" | "previewCount">>;
2
11
  export declare class GridStore {
3
12
  readonly apiUrl: string;
4
13
  readonly publicKey: string;
5
14
  readonly pageUrl: string;
6
15
  readonly externalId: string | null;
7
16
  readonly previewCount = 3;
8
- grid: import('@preact/signals-core').Signal<Grid | null>;
17
+ /** The grid last fetched from the API — never read directly outside this
18
+ * class; `grid` (below) is the override-aware value every consumer uses. */
19
+ private _fetchedGrid;
20
+ /** The override attributes currently set on the `<pop-grid>` element. */
21
+ private _overrides;
22
+ /** Fetched grid config with any live override attributes layered on top.
23
+ * Read-only from the outside — set via `load()` (fetched) or
24
+ * `setOverrides()` (overrides). */
25
+ grid: import('@preact/signals-core').ReadonlySignal<Grid | null>;
9
26
  comments: import('@preact/signals-core').Signal<Comment[]>;
10
27
  loading: import('@preact/signals-core').Signal<boolean>;
11
28
  error: import('@preact/signals-core').Signal<string | null>;
@@ -28,6 +45,11 @@ export declare class GridStore {
28
45
  pageUrl: string;
29
46
  externalId?: string | null;
30
47
  });
48
+ /** Replaces the current override set wholesale (not a per-key merge) —
49
+ * called with every override attribute `<pop-grid>` currently has set, so
50
+ * removing an attribute correctly falls back to the fetched grid's value
51
+ * for that field instead of leaving a stale override in place. */
52
+ setOverrides(overrides: GridOverrides): void;
31
53
  /** pageUrl + optional externalId — the params that identify the discussion. */
32
54
  private identityParams;
33
55
  repliesFor(parentId: string): Comment[];
@@ -1 +1 @@
1
- {"version":3,"file":"grid-store.d.ts","sourceRoot":"","sources":["../../src/store/grid-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAqBvE,qBAAa,SAAS;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,KAAyB;IAE9C,IAAI,qDAA6B;IACjC,QAAQ,mDAAyB;IACjC,OAAO,iDAAgB;IACvB,KAAK,uDAA+B;IACpC,IAAI,iDAAiB;IACrB,UAAU,uDAA+B;IACzC,gBAAgB,uDAA+B;IAC/C,kBAAkB,uDAA+B;IAEjD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAS;IAEzB,gBAAgB,2DAId;IAEF,iBAAiB,gEAId;IAEH,cAAc,gEAIX;IAEH,eAAe,2DAEb;IAEF,cAAc,iEAuBX;gBAES,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B;IAOD,+EAA+E;IAC/E,OAAO,CAAC,cAAc;IAQtB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE;IAYjC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAqCxB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA2ClF,OAAO,IAAI,IAAI;IAkBf,OAAO,CAAC,eAAe;IA4DvB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,aAAa;IAUf,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgCrE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA6BzD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBtD,OAAO,CAAC,mBAAmB;CAG5B"}
1
+ {"version":3,"file":"grid-store.d.ts","sourceRoot":"","sources":["../../src/store/grid-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAqBvE;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,CACjC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,cAAc,CAAC,CACtE,CAAC;AAUF,qBAAa,SAAS;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,KAAyB;IAE9C;gFAC4E;IAC5E,OAAO,CAAC,YAAY,CAA6B;IACjD,yEAAyE;IACzE,OAAO,CAAC,UAAU,CAA6B;IAE/C;;uCAEmC;IACnC,IAAI,6DAAkF;IACtF,QAAQ,mDAAyB;IACjC,OAAO,iDAAgB;IACvB,KAAK,uDAA+B;IACpC,IAAI,iDAAiB;IACrB,UAAU,uDAA+B;IACzC,gBAAgB,uDAA+B;IAC/C,kBAAkB,uDAA+B;IAEjD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAS;IAEzB,gBAAgB,2DAId;IAEF,iBAAiB,gEAId;IAEH,cAAc,gEAIX;IAEH,eAAe,2DAEb;IAEF,cAAc,iEAuBX;gBAES,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B;IAOD;;;sEAGkE;IAClE,YAAY,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAI5C,+EAA+E;IAC/E,OAAO,CAAC,cAAc;IAQtB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE;IAYjC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAqCxB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA2ClF,OAAO,IAAI,IAAI;IAkBf,OAAO,CAAC,eAAe;IA4DvB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,aAAa;IAUf,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgCrE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA6BzD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBtD,OAAO,CAAC,mBAAmB;CAG5B"}
@@ -26,10 +26,10 @@ export interface Grid {
26
26
  slug: string;
27
27
  publicKey: string;
28
28
  origin: string;
29
- align: "left" | "center" | "right" | null;
29
+ align: "start" | "center" | "end" | null;
30
30
  appearance: "light" | "dark" | "auto" | null;
31
31
  icon: string | null;
32
- layout: "sm" | "md" | "lg" | null;
32
+ layout: "sm" | "lg" | null;
33
33
  position: "up" | "down" | "auto" | null;
34
34
  previewCount: number | null;
35
35
  rowSize: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/types/models.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;IAC1C,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/types/models.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@popgrids/embed",
3
3
  "description": "PopGrids embeddable discussion widget",
4
- "version": "0.0.3",
4
+ "version": "0.0.4",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "author": "PopGrids",