@arbetsformedlingen/yrkesvaljaren 2.0.5

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 (146) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +369 -0
  3. package/dist/cjs/af-validation-message-BzY5H0xU.js +16 -0
  4. package/dist/cjs/core-selector.cjs.entry.js +476 -0
  5. package/dist/cjs/digi-service-job-selector.cjs.entry.js +1619 -0
  6. package/dist/cjs/fuse-BTLNKxuL.js +1631 -0
  7. package/dist/cjs/geo-valjaren.cjs.entry.js +14910 -0
  8. package/dist/cjs/index-BOuTGlEp.js +1817 -0
  9. package/dist/cjs/index.cjs.js +14 -0
  10. package/dist/cjs/job-selector-demo.cjs.entry.js +692 -0
  11. package/dist/cjs/loader.cjs.js +12 -0
  12. package/dist/cjs/neobrutal-search.cjs.entry.js +171 -0
  13. package/dist/cjs/search.engine-D0cMelRi.js +489 -0
  14. package/dist/cjs/taxonomy-registry-DVmuDUpM.js +435 -0
  15. package/dist/cjs/types-CtHBl6Ra.js +14 -0
  16. package/dist/cjs/yrkesvaljaren.cjs.js +24 -0
  17. package/dist/collection/collection-manifest.json +15 -0
  18. package/dist/collection/components/core-selector/core-selector.css +803 -0
  19. package/dist/collection/components/core-selector/core-selector.js +761 -0
  20. package/dist/collection/components/core-selector/types.js +1 -0
  21. package/dist/collection/components/design-compat/af-icon.js +13 -0
  22. package/dist/collection/components/design-compat/af-label.js +2 -0
  23. package/dist/collection/components/design-compat/af-tag.js +6 -0
  24. package/dist/collection/components/design-compat/af-validation-message.js +11 -0
  25. package/dist/collection/components/design-compat/index.js +4 -0
  26. package/dist/collection/components/geovaljaren/geovaljaren.css +21 -0
  27. package/dist/collection/components/geovaljaren/geovaljaren.js +304 -0
  28. package/dist/collection/components/geovaljaren/logic/adapter.utils.js +20 -0
  29. package/dist/collection/components/geovaljaren/logic/data.utils.js +12 -0
  30. package/dist/collection/components/geovaljaren/logic/history-service.js +25 -0
  31. package/dist/collection/components/geovaljaren/logic/search.engine.js +28 -0
  32. package/dist/collection/components/job-selector/constants.js +26 -0
  33. package/dist/collection/components/job-selector/history-service.js +41 -0
  34. package/dist/collection/components/job-selector/job-selector-controller.js +835 -0
  35. package/dist/collection/components/job-selector/job-selector.css +318 -0
  36. package/dist/collection/components/job-selector/job-selector.js +1378 -0
  37. package/dist/collection/components/job-selector/keyboard-handlers.js +84 -0
  38. package/dist/collection/components/job-selector/logic/adapter.utils.js +75 -0
  39. package/dist/collection/components/job-selector/logic/label-formatter.js +118 -0
  40. package/dist/collection/components/job-selector/logic/search.engine.js +50 -0
  41. package/dist/collection/components/job-selector/search-logic.js +35 -0
  42. package/dist/collection/components/job-selector/search.utils.js +224 -0
  43. package/dist/collection/components/job-selector/suggestions-list.js +31 -0
  44. package/dist/collection/components/job-selector/taxonomy-registry.js +60 -0
  45. package/dist/collection/components/job-selector/test-data.mock.js +33 -0
  46. package/dist/collection/components/job-selector/types.js +10 -0
  47. package/dist/collection/components/job-selector/validation-message.js +24 -0
  48. package/dist/collection/demo-data.js +20 -0
  49. package/dist/collection/index.js +7 -0
  50. package/dist/collection/verkstad/verkstad.js +407 -0
  51. package/dist/components/core-selector.d.ts +11 -0
  52. package/dist/components/core-selector.js +1 -0
  53. package/dist/components/core-selector2.js +1 -0
  54. package/dist/components/digi-service-job-selector.d.ts +11 -0
  55. package/dist/components/digi-service-job-selector.js +1 -0
  56. package/dist/components/fuse.js +1 -0
  57. package/dist/components/geo-valjaren.d.ts +11 -0
  58. package/dist/components/geo-valjaren.js +1 -0
  59. package/dist/components/index.d.ts +35 -0
  60. package/dist/components/index.js +1 -0
  61. package/dist/components/job-selector-demo.d.ts +11 -0
  62. package/dist/components/job-selector-demo.js +1 -0
  63. package/dist/components/job-selector.js +1 -0
  64. package/dist/components/neobrutal-search.d.ts +11 -0
  65. package/dist/components/neobrutal-search.js +1 -0
  66. package/dist/components/search.engine.js +1 -0
  67. package/dist/components/types.js +1 -0
  68. package/dist/esm/af-validation-message-F8NIH2rC.js +14 -0
  69. package/dist/esm/core-selector.entry.js +474 -0
  70. package/dist/esm/digi-service-job-selector.entry.js +1617 -0
  71. package/dist/esm/fuse-BPnhMTul.js +1629 -0
  72. package/dist/esm/geo-valjaren.entry.js +14908 -0
  73. package/dist/esm/index-CGXZllj2.js +1806 -0
  74. package/dist/esm/index.js +10 -0
  75. package/dist/esm/job-selector-demo.entry.js +690 -0
  76. package/dist/esm/loader.js +10 -0
  77. package/dist/esm/neobrutal-search.entry.js +169 -0
  78. package/dist/esm/search.engine-nZ7AcXba.js +479 -0
  79. package/dist/esm/taxonomy-registry-Dw0VR9Aw.js +430 -0
  80. package/dist/esm/types-DHUftoZJ.js +12 -0
  81. package/dist/esm/yrkesvaljaren.js +20 -0
  82. package/dist/index.cjs.js +1 -0
  83. package/dist/index.js +1 -0
  84. package/dist/types/components/core-selector/core-selector.d.ts +46 -0
  85. package/dist/types/components/core-selector/types.d.ts +1 -0
  86. package/dist/types/components/design-compat/af-icon.d.ts +7 -0
  87. package/dist/types/components/design-compat/af-label.d.ts +8 -0
  88. package/dist/types/components/design-compat/af-tag.d.ts +8 -0
  89. package/dist/types/components/design-compat/af-validation-message.d.ts +9 -0
  90. package/dist/types/components/design-compat/index.d.ts +5 -0
  91. package/dist/types/components/geovaljaren/geovaljaren.d.ts +24 -0
  92. package/dist/types/components/geovaljaren/logic/adapter.utils.d.ts +7 -0
  93. package/dist/types/components/geovaljaren/logic/data.utils.d.ts +7 -0
  94. package/dist/types/components/geovaljaren/logic/history-service.d.ts +6 -0
  95. package/dist/types/components/geovaljaren/logic/search.engine.d.ts +7 -0
  96. package/dist/types/components/job-selector/ambient.d.ts +4 -0
  97. package/dist/types/components/job-selector/constants.d.ts +13 -0
  98. package/dist/types/components/job-selector/history-service.d.ts +6 -0
  99. package/dist/types/components/job-selector/job-selector-controller.d.ts +82 -0
  100. package/dist/types/components/job-selector/job-selector.d.ts +140 -0
  101. package/dist/types/components/job-selector/keyboard-handlers.d.ts +13 -0
  102. package/dist/types/components/job-selector/logic/adapter.utils.d.ts +12 -0
  103. package/dist/types/components/job-selector/logic/label-formatter.d.ts +4 -0
  104. package/dist/types/components/job-selector/logic/search.engine.d.ts +21 -0
  105. package/dist/types/components/job-selector/search-logic.d.ts +17 -0
  106. package/dist/types/components/job-selector/search.utils.d.ts +10 -0
  107. package/dist/types/components/job-selector/suggestions-list.d.ts +13 -0
  108. package/dist/types/components/job-selector/taxonomy-registry.d.ts +20 -0
  109. package/dist/types/components/job-selector/test-data.mock.d.ts +7 -0
  110. package/dist/types/components/job-selector/types.d.ts +107 -0
  111. package/dist/types/components/job-selector/validation-message.d.ts +8 -0
  112. package/dist/types/components/job-selector-demo/job-selector-demo.d.ts +55 -0
  113. package/dist/types/components/neobrutal-search/neobrutal-search.d.ts +18 -0
  114. package/dist/types/components.d.ts +425 -0
  115. package/dist/types/demo-data.d.ts +16 -0
  116. package/dist/types/index.d.ts +5 -0
  117. package/dist/types/stencil-public-runtime.d.ts +1873 -0
  118. package/dist/types/verkstad/verkstad.d.ts +1 -0
  119. package/dist/yrkesvaljaren/fuse-B0eHOxow.js.map +1 -0
  120. package/dist/yrkesvaljaren/index-Cy4BCo5s.js.map +1 -0
  121. package/dist/yrkesvaljaren/index-DfJXTQqL.js.map +1 -0
  122. package/dist/yrkesvaljaren/index.esm.js +1 -0
  123. package/dist/yrkesvaljaren/index.esm.js.map +1 -0
  124. package/dist/yrkesvaljaren/p-16636162.entry.js +1 -0
  125. package/dist/yrkesvaljaren/p-273cf6df.entry.js +1 -0
  126. package/dist/yrkesvaljaren/p-9e48afa4.entry.js +1 -0
  127. package/dist/yrkesvaljaren/p-BPnhMTul.js +1 -0
  128. package/dist/yrkesvaljaren/p-CGXZllj2.js +3 -0
  129. package/dist/yrkesvaljaren/p-DHUftoZJ.js +1 -0
  130. package/dist/yrkesvaljaren/p-DYFAzvqX.js +1 -0
  131. package/dist/yrkesvaljaren/p-Dw0VR9Aw.js +1 -0
  132. package/dist/yrkesvaljaren/p-aef7b5ae.entry.js +1 -0
  133. package/dist/yrkesvaljaren/p-b0f16abd.entry.js +1 -0
  134. package/dist/yrkesvaljaren/p-uBrs3sSs.js +1 -0
  135. package/dist/yrkesvaljaren/search.engine-DPT6roRm.js.map +1 -0
  136. package/dist/yrkesvaljaren/taxonomy-registry-s5khf6s4.js.map +1 -0
  137. package/dist/yrkesvaljaren/types-DHUftoZJ.js.map +1 -0
  138. package/dist/yrkesvaljaren/yrkesvaljaren.css +1 -0
  139. package/dist/yrkesvaljaren/yrkesvaljaren.esm.js +1 -0
  140. package/dist/yrkesvaljaren/yrkesvaljaren.esm.js.map +1 -0
  141. package/loader/cdn.js +1 -0
  142. package/loader/index.cjs.js +1 -0
  143. package/loader/index.d.ts +24 -0
  144. package/loader/index.es2017.js +1 -0
  145. package/loader/index.js +2 -0
  146. package/package.json +126 -0
@@ -0,0 +1,425 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ /**
4
+ * This is an autogenerated file created by the Stencil compiler.
5
+ * It contains typing information for all components that exist in this project.
6
+ */
7
+ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { GenericItem, SelectorConfig, SelectorState } from "./components/core-selector/types";
9
+ import { JobSelectionInput, JobSelectionItem, TaxonomyItem } from "./components/job-selector/types";
10
+ export { GenericItem, SelectorConfig, SelectorState } from "./components/core-selector/types";
11
+ export { JobSelectionInput, JobSelectionItem, TaxonomyItem } from "./components/job-selector/types";
12
+ export namespace Components {
13
+ interface CoreSelector {
14
+ /**
15
+ * @default false
16
+ */
17
+ "afFocused": boolean;
18
+ /**
19
+ * @default `cs-${CoreSelector.nextId++}`
20
+ */
21
+ "componentId": string;
22
+ /**
23
+ * @default { disabled: false, placeholder: 'Sök...', minLength: 1, maxResults: 10, enableMultiple: false, showSearchIcon: true, requireSelection: true, size: 'medium' }
24
+ */
25
+ "config": SelectorConfig;
26
+ /**
27
+ * @default ''
28
+ */
29
+ "label": string;
30
+ "labelDescription"?: string;
31
+ "setFocus": () => Promise<void>;
32
+ /**
33
+ * @default 'medium'
34
+ */
35
+ "size": 'small' | 'medium' | 'large';
36
+ "state": SelectorState;
37
+ }
38
+ interface DigiServiceJobSelector {
39
+ "checkValidity": () => Promise<boolean>;
40
+ /**
41
+ * Om satt till true kan väljaren inte användas med mus eller tangentbord.
42
+ * @default false
43
+ */
44
+ "disabled": boolean;
45
+ /**
46
+ * @default false
47
+ */
48
+ "enableMultiple": boolean;
49
+ "errorMessage"?: string;
50
+ "getValidationMessage": () => Promise<string>;
51
+ "getValidity": () => Promise<ValidityState>;
52
+ /**
53
+ * Aktiverar historiken. Använder Local Storage för att spara valda yrken i webbläsaren. Integritet: Data lagras bara lokalt i webbläsaren. Räckvidd: Historiken delas mellan sidor på samma domän.
54
+ * @default true
55
+ */
56
+ "history": boolean;
57
+ /**
58
+ * @default 'Välj yrke'
59
+ */
60
+ "label": string;
61
+ "labelDescription"?: string;
62
+ /**
63
+ * Om satt till `true` tillåts fritext som inte finns i taxonomin.
64
+ * @default false
65
+ */
66
+ "manualInput": boolean;
67
+ /**
68
+ * HTML-formulärets fältnamn. Följer standardattributet `name`, på samma sätt som `<input name="...">`, och används som nyckel när värdet läses via `FormData`.
69
+ * @default 'yrkesvaljaren'
70
+ */
71
+ "name": string;
72
+ /**
73
+ * @default "T.ex. frisör, vårdbiträde, snickare"
74
+ */
75
+ "placeholder": string;
76
+ /**
77
+ * Om satt till true visas populära yrken initialt när historiken är tom.
78
+ * @default true
79
+ */
80
+ "popular": boolean;
81
+ "reportValidity": () => Promise<boolean>;
82
+ /**
83
+ * Om satt till `true` måste fältet ha ett värde för att vara giltigt.
84
+ * @default false
85
+ */
86
+ "required": boolean;
87
+ "setFocus": () => Promise<void>;
88
+ /**
89
+ * Sätter ett programatiskt val och returnerar YV:s normaliserade, rika selection. Strängar som matchar Concept ID-formatet tolkas som taxonomi-id:n; övriga som fritext.
90
+ */
91
+ "setSelection": (input: JobSelectionInput) => Promise<JobSelectionItem[]>;
92
+ /**
93
+ * @default true
94
+ */
95
+ "showSearchIcon": boolean;
96
+ /**
97
+ * Storleken på inputfältet. 'small' | 'medium' | 'large'
98
+ * @default 'medium'
99
+ */
100
+ "size": 'small' | 'medium' | 'large';
101
+ /**
102
+ * Yrkesdata (taxonomi). Kan injiceras av integratören för deterministisk laddning (t.ex. i testmiljöer). Om den lämnas tom populeras den internt via det globala registret eller auto-fetch för att exponera aktuell data.
103
+ * @default []
104
+ */
105
+ "taxonomyData": TaxonomyItem[];
106
+ /**
107
+ * Fullständig, explicit URL till en egenhostad datafil. Utelämna attributet för att använda senaste data automatiskt.
108
+ */
109
+ "taxonomyUrl"?: string;
110
+ /**
111
+ * Uppdaterar taxonomidatan genom att läsa om från registret. Används efter att registerTaxonomy() har anropats med ny data.
112
+ */
113
+ "updateData": () => Promise<void>;
114
+ /**
115
+ * Validerar komponenten manuellt.
116
+ * @param forceTouch - Om true, tvingas valideringsfel att visas även om användaren inte interagerat med fältet.
117
+ */
118
+ "validate": (forceTouch?: boolean) => Promise<boolean>;
119
+ }
120
+ interface GeoValjaren {
121
+ /**
122
+ * @default 'Din kommun'
123
+ */
124
+ "label": string;
125
+ /**
126
+ * @default 'Vilken kommun bor du i?'
127
+ */
128
+ "placeholder": string;
129
+ }
130
+ interface JobSelectorDemo {
131
+ /**
132
+ * @default false
133
+ */
134
+ "afHideHeader": boolean;
135
+ /**
136
+ * @default false
137
+ */
138
+ "afHidePreamble": boolean;
139
+ }
140
+ interface NeobrutalSearch {
141
+ }
142
+ }
143
+ export interface CoreSelectorCustomEvent<T> extends CustomEvent<T> {
144
+ detail: T;
145
+ target: HTMLCoreSelectorElement;
146
+ }
147
+ export interface DigiServiceJobSelectorCustomEvent<T> extends CustomEvent<T> {
148
+ detail: T;
149
+ target: HTMLDigiServiceJobSelectorElement;
150
+ }
151
+ export interface GeoValjarenCustomEvent<T> extends CustomEvent<T> {
152
+ detail: T;
153
+ target: HTMLGeoValjarenElement;
154
+ }
155
+ declare global {
156
+ interface HTMLCoreSelectorElementEventMap {
157
+ "csInput": string;
158
+ "csSelect": GenericItem;
159
+ "csClear": void;
160
+ "csRemoveItem": GenericItem;
161
+ "csBlur": void;
162
+ "csEditSelection": void;
163
+ "csFocus": void;
164
+ "csLoadMore": void;
165
+ "csClearHistory": void;
166
+ "csRequestHistory": void;
167
+ }
168
+ interface HTMLCoreSelectorElement extends Components.CoreSelector, HTMLStencilElement {
169
+ addEventListener<K extends keyof HTMLCoreSelectorElementEventMap>(type: K, listener: (this: HTMLCoreSelectorElement, ev: CoreSelectorCustomEvent<HTMLCoreSelectorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
170
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
171
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
172
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
173
+ removeEventListener<K extends keyof HTMLCoreSelectorElementEventMap>(type: K, listener: (this: HTMLCoreSelectorElement, ev: CoreSelectorCustomEvent<HTMLCoreSelectorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
174
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
175
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
176
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
177
+ }
178
+ var HTMLCoreSelectorElement: {
179
+ prototype: HTMLCoreSelectorElement;
180
+ new (): HTMLCoreSelectorElement;
181
+ };
182
+ interface HTMLDigiServiceJobSelectorElementEventMap {
183
+ "afJobSelected": JobSelectionItem[];
184
+ "afJobDataLoadFailed": { error: Error };
185
+ "afJobValidationChange": {
186
+ isValid: boolean;
187
+ errorType: 'required' | 'invalidInput' | null;
188
+ };
189
+ }
190
+ interface HTMLDigiServiceJobSelectorElement extends Components.DigiServiceJobSelector, HTMLStencilElement {
191
+ addEventListener<K extends keyof HTMLDigiServiceJobSelectorElementEventMap>(type: K, listener: (this: HTMLDigiServiceJobSelectorElement, ev: DigiServiceJobSelectorCustomEvent<HTMLDigiServiceJobSelectorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
192
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
193
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
194
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
195
+ removeEventListener<K extends keyof HTMLDigiServiceJobSelectorElementEventMap>(type: K, listener: (this: HTMLDigiServiceJobSelectorElement, ev: DigiServiceJobSelectorCustomEvent<HTMLDigiServiceJobSelectorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
196
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
197
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
198
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
199
+ }
200
+ var HTMLDigiServiceJobSelectorElement: {
201
+ prototype: HTMLDigiServiceJobSelectorElement;
202
+ new (): HTMLDigiServiceJobSelectorElement;
203
+ };
204
+ interface HTMLGeoValjarenElementEventMap {
205
+ "afGeoSelected": GenericItem | null;
206
+ }
207
+ interface HTMLGeoValjarenElement extends Components.GeoValjaren, HTMLStencilElement {
208
+ addEventListener<K extends keyof HTMLGeoValjarenElementEventMap>(type: K, listener: (this: HTMLGeoValjarenElement, ev: GeoValjarenCustomEvent<HTMLGeoValjarenElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
209
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
210
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
211
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
212
+ removeEventListener<K extends keyof HTMLGeoValjarenElementEventMap>(type: K, listener: (this: HTMLGeoValjarenElement, ev: GeoValjarenCustomEvent<HTMLGeoValjarenElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
213
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
214
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
215
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
216
+ }
217
+ var HTMLGeoValjarenElement: {
218
+ prototype: HTMLGeoValjarenElement;
219
+ new (): HTMLGeoValjarenElement;
220
+ };
221
+ interface HTMLJobSelectorDemoElement extends Components.JobSelectorDemo, HTMLStencilElement {
222
+ }
223
+ var HTMLJobSelectorDemoElement: {
224
+ prototype: HTMLJobSelectorDemoElement;
225
+ new (): HTMLJobSelectorDemoElement;
226
+ };
227
+ interface HTMLNeobrutalSearchElement extends Components.NeobrutalSearch, HTMLStencilElement {
228
+ }
229
+ var HTMLNeobrutalSearchElement: {
230
+ prototype: HTMLNeobrutalSearchElement;
231
+ new (): HTMLNeobrutalSearchElement;
232
+ };
233
+ interface HTMLElementTagNameMap {
234
+ "core-selector": HTMLCoreSelectorElement;
235
+ "digi-service-job-selector": HTMLDigiServiceJobSelectorElement;
236
+ "geo-valjaren": HTMLGeoValjarenElement;
237
+ "job-selector-demo": HTMLJobSelectorDemoElement;
238
+ "neobrutal-search": HTMLNeobrutalSearchElement;
239
+ }
240
+ }
241
+ declare namespace LocalJSX {
242
+ interface CoreSelector {
243
+ /**
244
+ * @default false
245
+ */
246
+ "afFocused"?: boolean;
247
+ /**
248
+ * @default `cs-${CoreSelector.nextId++}`
249
+ */
250
+ "componentId"?: string;
251
+ /**
252
+ * @default { disabled: false, placeholder: 'Sök...', minLength: 1, maxResults: 10, enableMultiple: false, showSearchIcon: true, requireSelection: true, size: 'medium' }
253
+ */
254
+ "config"?: SelectorConfig;
255
+ /**
256
+ * @default ''
257
+ */
258
+ "label"?: string;
259
+ "labelDescription"?: string;
260
+ "onCsBlur"?: (event: CoreSelectorCustomEvent<void>) => void;
261
+ "onCsClear"?: (event: CoreSelectorCustomEvent<void>) => void;
262
+ "onCsClearHistory"?: (event: CoreSelectorCustomEvent<void>) => void;
263
+ "onCsEditSelection"?: (event: CoreSelectorCustomEvent<void>) => void;
264
+ "onCsFocus"?: (event: CoreSelectorCustomEvent<void>) => void;
265
+ "onCsInput"?: (event: CoreSelectorCustomEvent<string>) => void;
266
+ "onCsLoadMore"?: (event: CoreSelectorCustomEvent<void>) => void;
267
+ "onCsRemoveItem"?: (event: CoreSelectorCustomEvent<GenericItem>) => void;
268
+ "onCsRequestHistory"?: (event: CoreSelectorCustomEvent<void>) => void;
269
+ "onCsSelect"?: (event: CoreSelectorCustomEvent<GenericItem>) => void;
270
+ /**
271
+ * @default 'medium'
272
+ */
273
+ "size"?: 'small' | 'medium' | 'large';
274
+ "state": SelectorState;
275
+ }
276
+ interface DigiServiceJobSelector {
277
+ /**
278
+ * Om satt till true kan väljaren inte användas med mus eller tangentbord.
279
+ * @default false
280
+ */
281
+ "disabled"?: boolean;
282
+ /**
283
+ * @default false
284
+ */
285
+ "enableMultiple"?: boolean;
286
+ "errorMessage"?: string;
287
+ /**
288
+ * The `id` of a `<form>` element to associate this element with.
289
+ */
290
+ "form"?: string;
291
+ /**
292
+ * Aktiverar historiken. Använder Local Storage för att spara valda yrken i webbläsaren. Integritet: Data lagras bara lokalt i webbläsaren. Räckvidd: Historiken delas mellan sidor på samma domän.
293
+ * @default true
294
+ */
295
+ "history"?: boolean;
296
+ /**
297
+ * @default 'Välj yrke'
298
+ */
299
+ "label"?: string;
300
+ "labelDescription"?: string;
301
+ /**
302
+ * Om satt till `true` tillåts fritext som inte finns i taxonomin.
303
+ * @default false
304
+ */
305
+ "manualInput"?: boolean;
306
+ /**
307
+ * HTML-formulärets fältnamn. Följer standardattributet `name`, på samma sätt som `<input name="...">`, och används som nyckel när värdet läses via `FormData`.
308
+ * @default 'yrkesvaljaren'
309
+ */
310
+ "name"?: string;
311
+ "onAfJobDataLoadFailed"?: (event: DigiServiceJobSelectorCustomEvent<{ error: Error }>) => void;
312
+ "onAfJobSelected"?: (event: DigiServiceJobSelectorCustomEvent<JobSelectionItem[]>) => void;
313
+ "onAfJobValidationChange"?: (event: DigiServiceJobSelectorCustomEvent<{
314
+ isValid: boolean;
315
+ errorType: 'required' | 'invalidInput' | null;
316
+ }>) => void;
317
+ /**
318
+ * @default "T.ex. frisör, vårdbiträde, snickare"
319
+ */
320
+ "placeholder"?: string;
321
+ /**
322
+ * Om satt till true visas populära yrken initialt när historiken är tom.
323
+ * @default true
324
+ */
325
+ "popular"?: boolean;
326
+ /**
327
+ * Om satt till `true` måste fältet ha ett värde för att vara giltigt.
328
+ * @default false
329
+ */
330
+ "required"?: boolean;
331
+ /**
332
+ * @default true
333
+ */
334
+ "showSearchIcon"?: boolean;
335
+ /**
336
+ * Storleken på inputfältet. 'small' | 'medium' | 'large'
337
+ * @default 'medium'
338
+ */
339
+ "size"?: 'small' | 'medium' | 'large';
340
+ /**
341
+ * Yrkesdata (taxonomi). Kan injiceras av integratören för deterministisk laddning (t.ex. i testmiljöer). Om den lämnas tom populeras den internt via det globala registret eller auto-fetch för att exponera aktuell data.
342
+ * @default []
343
+ */
344
+ "taxonomyData"?: TaxonomyItem[];
345
+ /**
346
+ * Fullständig, explicit URL till en egenhostad datafil. Utelämna attributet för att använda senaste data automatiskt.
347
+ */
348
+ "taxonomyUrl"?: string;
349
+ }
350
+ interface GeoValjaren {
351
+ /**
352
+ * @default 'Din kommun'
353
+ */
354
+ "label"?: string;
355
+ "onAfGeoSelected"?: (event: GeoValjarenCustomEvent<GenericItem | null>) => void;
356
+ /**
357
+ * @default 'Vilken kommun bor du i?'
358
+ */
359
+ "placeholder"?: string;
360
+ }
361
+ interface JobSelectorDemo {
362
+ /**
363
+ * @default false
364
+ */
365
+ "afHideHeader"?: boolean;
366
+ /**
367
+ * @default false
368
+ */
369
+ "afHidePreamble"?: boolean;
370
+ }
371
+ interface NeobrutalSearch {
372
+ }
373
+
374
+ interface CoreSelectorAttributes {
375
+ "label": string;
376
+ "labelDescription": string;
377
+ "componentId": string;
378
+ "size": 'small' | 'medium' | 'large';
379
+ "afFocused": boolean;
380
+ }
381
+ interface DigiServiceJobSelectorAttributes {
382
+ "name": string;
383
+ "taxonomyUrl": string;
384
+ "placeholder": string;
385
+ "label": string;
386
+ "disabled": boolean;
387
+ "enableMultiple": boolean;
388
+ "showSearchIcon": boolean;
389
+ "errorMessage": string;
390
+ "labelDescription": string;
391
+ "required": boolean;
392
+ "manualInput": boolean;
393
+ "history": boolean;
394
+ "popular": boolean;
395
+ "size": 'small' | 'medium' | 'large';
396
+ }
397
+ interface GeoValjarenAttributes {
398
+ "label": string;
399
+ "placeholder": string;
400
+ }
401
+ interface JobSelectorDemoAttributes {
402
+ "afHideHeader": boolean;
403
+ "afHidePreamble": boolean;
404
+ }
405
+
406
+ interface IntrinsicElements {
407
+ "core-selector": Omit<CoreSelector, keyof CoreSelectorAttributes> & { [K in keyof CoreSelector & keyof CoreSelectorAttributes]?: CoreSelector[K] } & { [K in keyof CoreSelector & keyof CoreSelectorAttributes as `attr:${K}`]?: CoreSelectorAttributes[K] } & { [K in keyof CoreSelector & keyof CoreSelectorAttributes as `prop:${K}`]?: CoreSelector[K] };
408
+ "digi-service-job-selector": Omit<DigiServiceJobSelector, keyof DigiServiceJobSelectorAttributes> & { [K in keyof DigiServiceJobSelector & keyof DigiServiceJobSelectorAttributes]?: DigiServiceJobSelector[K] } & { [K in keyof DigiServiceJobSelector & keyof DigiServiceJobSelectorAttributes as `attr:${K}`]?: DigiServiceJobSelectorAttributes[K] } & { [K in keyof DigiServiceJobSelector & keyof DigiServiceJobSelectorAttributes as `prop:${K}`]?: DigiServiceJobSelector[K] };
409
+ "geo-valjaren": Omit<GeoValjaren, keyof GeoValjarenAttributes> & { [K in keyof GeoValjaren & keyof GeoValjarenAttributes]?: GeoValjaren[K] } & { [K in keyof GeoValjaren & keyof GeoValjarenAttributes as `attr:${K}`]?: GeoValjarenAttributes[K] } & { [K in keyof GeoValjaren & keyof GeoValjarenAttributes as `prop:${K}`]?: GeoValjaren[K] };
410
+ "job-selector-demo": Omit<JobSelectorDemo, keyof JobSelectorDemoAttributes> & { [K in keyof JobSelectorDemo & keyof JobSelectorDemoAttributes]?: JobSelectorDemo[K] } & { [K in keyof JobSelectorDemo & keyof JobSelectorDemoAttributes as `attr:${K}`]?: JobSelectorDemoAttributes[K] } & { [K in keyof JobSelectorDemo & keyof JobSelectorDemoAttributes as `prop:${K}`]?: JobSelectorDemo[K] };
411
+ "neobrutal-search": NeobrutalSearch;
412
+ }
413
+ }
414
+ export { LocalJSX as JSX };
415
+ declare module "@stencil/core" {
416
+ export namespace JSX {
417
+ interface IntrinsicElements {
418
+ "core-selector": LocalJSX.IntrinsicElements["core-selector"] & JSXBase.HTMLAttributes<HTMLCoreSelectorElement>;
419
+ "digi-service-job-selector": LocalJSX.IntrinsicElements["digi-service-job-selector"] & JSXBase.HTMLAttributes<HTMLDigiServiceJobSelectorElement>;
420
+ "geo-valjaren": LocalJSX.IntrinsicElements["geo-valjaren"] & JSXBase.HTMLAttributes<HTMLGeoValjarenElement>;
421
+ "job-selector-demo": LocalJSX.IntrinsicElements["job-selector-demo"] & JSXBase.HTMLAttributes<HTMLJobSelectorDemoElement>;
422
+ "neobrutal-search": LocalJSX.IntrinsicElements["neobrutal-search"] & JSXBase.HTMLAttributes<HTMLNeobrutalSearchElement>;
423
+ }
424
+ }
425
+ }
@@ -0,0 +1,16 @@
1
+ export declare const taxonomyData: {
2
+ id: any;
3
+ type: any;
4
+ preferred_label: any;
5
+ ssyk_level_4_id: any;
6
+ occupation_name_id: any;
7
+ occupation_name_preferred_label: any;
8
+ weight: any;
9
+ }[];
10
+ export declare const metadata: {
11
+ title: string;
12
+ labour_market_taxonomy_version: number;
13
+ naming_convention: string;
14
+ $schema: string;
15
+ data_created: string;
16
+ };
@@ -0,0 +1,5 @@
1
+ import { registerTaxonomy } from './components/job-selector/taxonomy-registry';
2
+ export { registerTaxonomy };
3
+ export { TaxonomySearchEngine } from './components/job-selector/logic/search.engine';
4
+ export { InvalidSelectionError } from './components/job-selector/types';
5
+ export type { TaxonomyItem, SearchResult, RawTaxonomyDataResponse, JobSelectionItem, JobSelectionInput, InvalidSelectionErrorCode, } from './components/job-selector/types';