@c2n/text-field 0.0.18 → 0.0.19

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 (2) hide show
  1. package/package.json +3 -3
  2. package/vue.d.ts +11 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c2n/text-field",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "type": "module",
5
5
  "main": "dist/text-field.js",
6
6
  "exports": {
@@ -65,12 +65,12 @@
65
65
  }
66
66
  },
67
67
  "dependencies": {
68
- "@c2n/core": "0.0.18",
68
+ "@c2n/core": "0.0.19",
69
69
  "lit": "3.3.3"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@c2n/config": "*"
73
73
  },
74
74
  "customElements": "custom-elements.json",
75
- "gitHead": "fda447c5290caf4e16fdb810d8f89b91ecb3b7db"
75
+ "gitHead": "97db30ae10cfe0b1571ba5081116bc134422fce4"
76
76
  }
package/vue.d.ts CHANGED
@@ -8,11 +8,14 @@
8
8
  // nothing: template.compilerOptions.isCustomElement = (tag) => tag.startsWith('c2-') in vite.config.ts.
9
9
 
10
10
  import type { DefineComponent, HTMLAttributes } from 'vue'
11
- import type { TextField, TextFieldEventMap } from '@c2n/text-field'
12
- import type { TextFieldClear, TextFieldClearEventMap } from '@c2n/text-field/text-field-clear.js'
11
+ import type { EventMapOf } from '@c2n/core/event-helper.js'
12
+ import type { TextField } from '@c2n/text-field'
13
+ import type { TextFieldClear } from '@c2n/text-field/text-field-clear.js'
13
14
 
14
15
  /** The element's own public properties, plus every attribute Vue understands on a host element. */
15
16
  type C2Props<T> = Partial<Omit<T, keyof HTMLElement>> & HTMLAttributes
17
+ /** The event an element fires under `name`, read from the map its `addEventListener` carries (its own or inherited). */
18
+ type EventOf<T extends EventTarget, Name extends string> = Name extends keyof EventMapOf<T> ? EventMapOf<T>[Name] : CustomEvent
16
19
 
17
20
  declare module 'vue' {
18
21
  interface GlobalComponents {
@@ -23,9 +26,9 @@ declare module 'vue' {
23
26
  minlength?: unknown
24
27
  'aria-label'?: unknown
25
28
  'error-text'?: unknown
26
- onInput?: (event: TextFieldEventMap['input']) => void
27
- onChange?: (event: TextFieldEventMap['change']) => void
28
- onClear?: (event: TextFieldEventMap['clear']) => void
29
+ onInput?: (event: EventOf<TextField, 'input'>) => void
30
+ onChange?: (event: EventOf<TextField, 'change'>) => void
31
+ onClear?: (event: EventOf<TextField, 'clear'>) => void
29
32
  }
30
33
  >
31
34
  'c2-text-field-clear': DefineComponent<
@@ -35,9 +38,9 @@ declare module 'vue' {
35
38
  minlength?: unknown
36
39
  'aria-label'?: unknown
37
40
  'error-text'?: unknown
38
- onInput?: (event: TextFieldClearEventMap['input']) => void
39
- onChange?: (event: TextFieldClearEventMap['change']) => void
40
- onClear?: (event: TextFieldClearEventMap['clear']) => void
41
+ onInput?: (event: EventOf<TextFieldClear, 'input'>) => void
42
+ onChange?: (event: EventOf<TextFieldClear, 'change'>) => void
43
+ onClear?: (event: EventOf<TextFieldClear, 'clear'>) => void
41
44
  }
42
45
  >
43
46
  }