@htmlbricks/hb-contact-item 0.66.21 → 0.66.25

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/manifest.json CHANGED
@@ -247,5 +247,5 @@
247
247
  "size": {},
248
248
  "iifePath": "main.iife.js",
249
249
  "repoName": "@htmlbricks/hb-contact-item",
250
- "version": "0.66.21"
250
+ "version": "0.66.25"
251
251
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@htmlbricks/hb-contact-item",
3
- "version": "0.66.21",
3
+ "version": "0.66.25",
4
4
  "contributors": [],
5
5
  "description": "Single contact line (mutually exclusive props): phone, postal address, email, website, or social network. Renders a Bootstrap Icon and optional visible text; JSON `config` toggles icons (filled/outline), label text, and whether clicks dispatch `contactClick` with `{ action, options }` vs opening a window (maps URL, `mailto`, external site, or social page).",
6
6
  "licenses": [
@@ -12,6 +12,14 @@
12
12
  }
13
13
  ],
14
14
  "main": "main.iife.js",
15
+ "types": "./types/html-elements.d.ts",
16
+ "exports": {
17
+ ".": "./main.iife.js",
18
+ "./package.json": "./package.json",
19
+ "./types/html-elements": "./types/html-elements.d.ts",
20
+ "./types/svelte-elements": "./types/svelte-elements.d.ts",
21
+ "./types/webcomponent.type": "./types/webcomponent.type.d.ts"
22
+ },
15
23
  "dependencies": {},
16
24
  "publishConfig": {
17
25
  "access": "public"
@@ -0,0 +1,58 @@
1
+ /**
2
+ * DOM typings for `hb-contact-item`. Attribute values are strings (objects/arrays as JSON strings).
3
+ * Generated — do not edit by hand.
4
+ */
5
+ import type { Component, Events } from "./webcomponent.type";
6
+
7
+ type DomKeys = keyof HTMLElement;
8
+ type HbComponentAttrs = {
9
+ [K in keyof Component as K extends DomKeys ? never : K]?: string;
10
+ };
11
+
12
+ /**
13
+ * Re-declare listener methods so custom `Events` overloads are compatible with
14
+ * `HTMLElement` (subclass methods must remain assignable to the base signatures).
15
+ */
16
+ export interface HbContactItemElement
17
+ extends Omit<HTMLElement, "addEventListener" | "removeEventListener">,
18
+ HbComponentAttrs {
19
+ addEventListener<K extends keyof HTMLElementEventMap>(
20
+ type: K,
21
+ listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any,
22
+ options?: boolean | AddEventListenerOptions
23
+ ): void;
24
+ addEventListener<K extends keyof Events & string>(
25
+ type: K,
26
+ listener: (this: this, ev: CustomEvent<Events[K]>) => void,
27
+ options?: boolean | AddEventListenerOptions
28
+ ): void;
29
+ addEventListener(
30
+ type: string,
31
+ listener: EventListenerOrEventListenerObject,
32
+ options?: boolean | AddEventListenerOptions
33
+ ): void;
34
+
35
+ removeEventListener<K extends keyof HTMLElementEventMap>(
36
+ type: K,
37
+ listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any,
38
+ options?: boolean | EventListenerOptions
39
+ ): void;
40
+ removeEventListener<K extends keyof Events & string>(
41
+ type: K,
42
+ listener: (this: this, ev: CustomEvent<Events[K]>) => void,
43
+ options?: boolean | EventListenerOptions
44
+ ): void;
45
+ removeEventListener(
46
+ type: string,
47
+ listener: EventListenerOrEventListenerObject,
48
+ options?: boolean | EventListenerOptions
49
+ ): void;
50
+ }
51
+
52
+ declare global {
53
+ interface HTMLElementTagNameMap {
54
+ "hb-contact-item": HbContactItemElement;
55
+ }
56
+ }
57
+
58
+ export {};
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Svelte template typings for `hb-contact-item` (`SvelteHTMLElements`).
3
+ * — Host attributes from `Component` (optional strings).
4
+ * — Custom events from `Events`: `on` + event key, optional `capture` suffix, or quoted `'on:'` + key (same pattern as built-in DOM events in Svelte).
5
+ * Generated — do not edit by hand.
6
+ * Requires dependency on `svelte` (for `svelte/elements`).
7
+ */
8
+ import type { HTMLAttributes } from "svelte/elements";
9
+ import type { Component, Events } from "./webcomponent.type";
10
+
11
+ type DomKeys = keyof HTMLElement;
12
+ type HbSvelteAttrs = {
13
+ [K in keyof Component as K extends DomKeys ? never : K]?: string;
14
+ };
15
+
16
+ /** `detail` matches `Events[K]`; `currentTarget` is the host element. */
17
+ type HbSvelteCustomEventHandler<TDetail> = (
18
+ event: CustomEvent<TDetail> & { currentTarget: EventTarget & HTMLElement }
19
+ ) => any;
20
+
21
+ type HbSvelteEventAttrs = {
22
+ [K in keyof Events & string as `on${K}`]?: HbSvelteCustomEventHandler<Events[K]>;
23
+ } & {
24
+ [K in keyof Events & string as `on${K}capture`]?: HbSvelteCustomEventHandler<Events[K]>;
25
+ } & {
26
+ [K in keyof Events & string as `on:${K}`]?: HbSvelteCustomEventHandler<Events[K]>;
27
+ };
28
+
29
+ declare module "svelte/elements" {
30
+ export interface SvelteHTMLElements {
31
+ "hb-contact-item": HTMLAttributes<HTMLElement> & HbSvelteAttrs & HbSvelteEventAttrs;
32
+ }
33
+ }
34
+
35
+ export {};