@htmlbricks/hb-page-invoice 0.68.6 → 0.68.8
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/main.iife.js +1 -1
- package/main.iife.js.map +1 -1
- package/manifest.json +2 -2
- package/package.json +1 -1
- package/types/html-elements.d.ts +14 -1
- package/types/svelte-elements.d.ts +19 -3
package/manifest.json
CHANGED
|
@@ -430,7 +430,7 @@
|
|
|
430
430
|
}
|
|
431
431
|
}
|
|
432
432
|
],
|
|
433
|
-
"iifeIntegrity": "sha384-
|
|
433
|
+
"iifeIntegrity": "sha384-LJdLr6Z5Eu1sgU2FIuVev6sN6UF8bD3qJGZ3cPnmYimQb7dxR+K2dzdo7e0AkWZU",
|
|
434
434
|
"dependencies": [
|
|
435
435
|
{
|
|
436
436
|
"name": "hb-table",
|
|
@@ -580,5 +580,5 @@
|
|
|
580
580
|
"size": {},
|
|
581
581
|
"iifePath": "main.iife.js",
|
|
582
582
|
"repoName": "@htmlbricks/hb-page-invoice",
|
|
583
|
-
"version": "0.68.
|
|
583
|
+
"version": "0.68.8"
|
|
584
584
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@htmlbricks/hb-page-invoice",
|
|
3
|
-
"version": "0.68.
|
|
3
|
+
"version": "0.68.8",
|
|
4
4
|
"contributors": [],
|
|
5
5
|
"description": "Printable invoice page: shows seller and buyer from headers, invoice date and serial, line items in hb-table with price, quantity, VAT and row totals, plus subtotal, tax and grand total in the invoice currency. When printer is not yes, offers print and open-in-window actions.",
|
|
6
6
|
"licenses": [
|
package/types/html-elements.d.ts
CHANGED
|
@@ -4,17 +4,30 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { Component, Events } from "./webcomponent.type";
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Host properties already on `HTMLElement` (no `svelte/elements` here — DOM typings stay
|
|
9
|
+
* usable without Svelte). Custom `Component` keys that collide stay on the native typing.
|
|
10
|
+
*/
|
|
7
11
|
type DomKeys = keyof HTMLElement;
|
|
8
12
|
type HbComponentAttrs = {
|
|
9
13
|
[K in keyof Component as K extends DomKeys ? never : K]?: string;
|
|
10
14
|
};
|
|
11
15
|
|
|
16
|
+
type HbHtmlElementWithoutListeners = Omit<
|
|
17
|
+
HTMLElement,
|
|
18
|
+
"addEventListener" | "removeEventListener"
|
|
19
|
+
>;
|
|
20
|
+
|
|
12
21
|
/**
|
|
13
22
|
* Re-declare listener methods so custom `Events` overloads are compatible with
|
|
14
23
|
* `HTMLElement` (subclass methods must remain assignable to the base signatures).
|
|
24
|
+
*
|
|
25
|
+
* Like `svelte-elements.d.ts`, we `Omit` keys we define on `HbComponentAttrs` from the DOM
|
|
26
|
+
* base, then add them back: avoids `extends A, B` merging the same key with incompatible types
|
|
27
|
+
* if a name slips past `DomKeys`.
|
|
15
28
|
*/
|
|
16
29
|
export interface HbPageInvoiceElement
|
|
17
|
-
extends Omit<
|
|
30
|
+
extends Omit<HbHtmlElementWithoutListeners, keyof HbComponentAttrs>,
|
|
18
31
|
HbComponentAttrs {
|
|
19
32
|
addEventListener<K extends keyof HTMLElementEventMap>(
|
|
20
33
|
type: K,
|
|
@@ -8,9 +8,13 @@
|
|
|
8
8
|
import type { HTMLAttributes } from "svelte/elements";
|
|
9
9
|
import type { Component, Events } from "./webcomponent.type";
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Keys already modeled on `HTMLAttributes` (global attrs + DOM listeners). Exclude these from
|
|
13
|
+
* `Component` so host props stay plain strings and are not merged with unrelated DOM typings.
|
|
14
|
+
*/
|
|
15
|
+
type HtmlReservedAttrKeys = keyof HTMLAttributes<HTMLElement>;
|
|
12
16
|
type HbSvelteAttrs = {
|
|
13
|
-
[K in keyof Component as K extends
|
|
17
|
+
[K in keyof Component as K extends HtmlReservedAttrKeys ? never : K]?: string;
|
|
14
18
|
};
|
|
15
19
|
|
|
16
20
|
/** `detail` matches `Events[K]`; `currentTarget` is the host element. */
|
|
@@ -26,9 +30,21 @@ type HbSvelteEventAttrs = {
|
|
|
26
30
|
[K in keyof Events & string as `on:${K}`]?: HbSvelteCustomEventHandler<Events[K]>;
|
|
27
31
|
};
|
|
28
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Strip keys we re-declare from Svelte’s base, then add them back: plain intersection would
|
|
35
|
+
* merge `on*` / attrs with conflicting DOM typings (`string & EventHandler` → errors or
|
|
36
|
+
* props treated like listeners).
|
|
37
|
+
*/
|
|
38
|
+
type HbSvelteHostAttributes = Omit<
|
|
39
|
+
HTMLAttributes<HTMLElement>,
|
|
40
|
+
keyof HbSvelteAttrs | keyof HbSvelteEventAttrs
|
|
41
|
+
> &
|
|
42
|
+
HbSvelteAttrs &
|
|
43
|
+
HbSvelteEventAttrs;
|
|
44
|
+
|
|
29
45
|
declare module "svelte/elements" {
|
|
30
46
|
export interface SvelteHTMLElements {
|
|
31
|
-
"hb-page-invoice":
|
|
47
|
+
"hb-page-invoice": HbSvelteHostAttributes;
|
|
32
48
|
}
|
|
33
49
|
}
|
|
34
50
|
|