@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,435 @@
1
+ 'use strict';
2
+
3
+ function getDefaultExportFromCjs (x) {
4
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
5
+ }
6
+
7
+ var loglevel$1 = {exports: {}};
8
+
9
+ /*
10
+ * loglevel - https://github.com/pimterry/loglevel
11
+ *
12
+ * Copyright (c) 2013 Tim Perry
13
+ * Licensed under the MIT license.
14
+ */
15
+ var loglevel = loglevel$1.exports;
16
+
17
+ var hasRequiredLoglevel;
18
+
19
+ function requireLoglevel () {
20
+ if (hasRequiredLoglevel) return loglevel$1.exports;
21
+ hasRequiredLoglevel = 1;
22
+ (function (module) {
23
+ (function (root, definition) {
24
+ if (module.exports) {
25
+ module.exports = definition();
26
+ } else {
27
+ root.log = definition();
28
+ }
29
+ }(loglevel, function () {
30
+
31
+ // Slightly dubious tricks to cut down minimized file size
32
+ var noop = function() {};
33
+ var undefinedType = "undefined";
34
+ var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (
35
+ /Trident\/|MSIE /.test(window.navigator.userAgent)
36
+ );
37
+
38
+ var logMethods = [
39
+ "trace",
40
+ "debug",
41
+ "info",
42
+ "warn",
43
+ "error"
44
+ ];
45
+
46
+ var _loggersByName = {};
47
+ var defaultLogger = null;
48
+
49
+ // Cross-browser bind equivalent that works at least back to IE6
50
+ function bindMethod(obj, methodName) {
51
+ var method = obj[methodName];
52
+ if (typeof method.bind === 'function') {
53
+ return method.bind(obj);
54
+ } else {
55
+ try {
56
+ return Function.prototype.bind.call(method, obj);
57
+ } catch (e) {
58
+ // Missing bind shim or IE8 + Modernizr, fallback to wrapping
59
+ return function() {
60
+ return Function.prototype.apply.apply(method, [obj, arguments]);
61
+ };
62
+ }
63
+ }
64
+ }
65
+
66
+ // Trace() doesn't print the message in IE, so for that case we need to wrap it
67
+ function traceForIE() {
68
+ if (console.log) {
69
+ if (console.log.apply) {
70
+ console.log.apply(console, arguments);
71
+ } else {
72
+ // In old IE, native console methods themselves don't have apply().
73
+ Function.prototype.apply.apply(console.log, [console, arguments]);
74
+ }
75
+ }
76
+ if (console.trace) console.trace();
77
+ }
78
+
79
+ // Build the best logging method possible for this env
80
+ // Wherever possible we want to bind, not wrap, to preserve stack traces
81
+ function realMethod(methodName) {
82
+ if (methodName === 'debug') {
83
+ methodName = 'log';
84
+ }
85
+
86
+ if (typeof console === undefinedType) {
87
+ return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives
88
+ } else if (methodName === 'trace' && isIE) {
89
+ return traceForIE;
90
+ } else if (console[methodName] !== undefined) {
91
+ return bindMethod(console, methodName);
92
+ } else if (console.log !== undefined) {
93
+ return bindMethod(console, 'log');
94
+ } else {
95
+ return noop;
96
+ }
97
+ }
98
+
99
+ // These private functions always need `this` to be set properly
100
+
101
+ function replaceLoggingMethods() {
102
+ /*jshint validthis:true */
103
+ var level = this.getLevel();
104
+
105
+ // Replace the actual methods.
106
+ for (var i = 0; i < logMethods.length; i++) {
107
+ var methodName = logMethods[i];
108
+ this[methodName] = (i < level) ?
109
+ noop :
110
+ this.methodFactory(methodName, level, this.name);
111
+ }
112
+
113
+ // Define log.log as an alias for log.debug
114
+ this.log = this.debug;
115
+
116
+ // Return any important warnings.
117
+ if (typeof console === undefinedType && level < this.levels.SILENT) {
118
+ return "No console available for logging";
119
+ }
120
+ }
121
+
122
+ // In old IE versions, the console isn't present until you first open it.
123
+ // We build realMethod() replacements here that regenerate logging methods
124
+ function enableLoggingWhenConsoleArrives(methodName) {
125
+ return function () {
126
+ if (typeof console !== undefinedType) {
127
+ replaceLoggingMethods.call(this);
128
+ this[methodName].apply(this, arguments);
129
+ }
130
+ };
131
+ }
132
+
133
+ // By default, we use closely bound real methods wherever possible, and
134
+ // otherwise we wait for a console to appear, and then try again.
135
+ function defaultMethodFactory(methodName, _level, _loggerName) {
136
+ /*jshint validthis:true */
137
+ return realMethod(methodName) ||
138
+ enableLoggingWhenConsoleArrives.apply(this, arguments);
139
+ }
140
+
141
+ function Logger(name, factory) {
142
+ // Private instance variables.
143
+ var self = this;
144
+ /**
145
+ * The level inherited from a parent logger (or a global default). We
146
+ * cache this here rather than delegating to the parent so that it stays
147
+ * in sync with the actual logging methods that we have installed (the
148
+ * parent could change levels but we might not have rebuilt the loggers
149
+ * in this child yet).
150
+ * @type {number}
151
+ */
152
+ var inheritedLevel;
153
+ /**
154
+ * The default level for this logger, if any. If set, this overrides
155
+ * `inheritedLevel`.
156
+ * @type {number|null}
157
+ */
158
+ var defaultLevel;
159
+ /**
160
+ * A user-specific level for this logger. If set, this overrides
161
+ * `defaultLevel`.
162
+ * @type {number|null}
163
+ */
164
+ var userLevel;
165
+
166
+ var storageKey = "loglevel";
167
+ if (typeof name === "string") {
168
+ storageKey += ":" + name;
169
+ } else if (typeof name === "symbol") {
170
+ storageKey = undefined;
171
+ }
172
+
173
+ function persistLevelIfPossible(levelNum) {
174
+ var levelName = (logMethods[levelNum] || 'silent').toUpperCase();
175
+
176
+ if (typeof window === undefinedType || !storageKey) return;
177
+
178
+ // Use localStorage if available
179
+ try {
180
+ window.localStorage[storageKey] = levelName;
181
+ return;
182
+ } catch (ignore) {}
183
+
184
+ // Use session cookie as fallback
185
+ try {
186
+ window.document.cookie =
187
+ encodeURIComponent(storageKey) + "=" + levelName + ";";
188
+ } catch (ignore) {}
189
+ }
190
+
191
+ function getPersistedLevel() {
192
+ var storedLevel;
193
+
194
+ if (typeof window === undefinedType || !storageKey) return;
195
+
196
+ try {
197
+ storedLevel = window.localStorage[storageKey];
198
+ } catch (ignore) {}
199
+
200
+ // Fallback to cookies if local storage gives us nothing
201
+ if (typeof storedLevel === undefinedType) {
202
+ try {
203
+ var cookie = window.document.cookie;
204
+ var cookieName = encodeURIComponent(storageKey);
205
+ var location = cookie.indexOf(cookieName + "=");
206
+ if (location !== -1) {
207
+ storedLevel = /^([^;]+)/.exec(
208
+ cookie.slice(location + cookieName.length + 1)
209
+ )[1];
210
+ }
211
+ } catch (ignore) {}
212
+ }
213
+
214
+ // If the stored level is not valid, treat it as if nothing was stored.
215
+ if (self.levels[storedLevel] === undefined) {
216
+ storedLevel = undefined;
217
+ }
218
+
219
+ return storedLevel;
220
+ }
221
+
222
+ function clearPersistedLevel() {
223
+ if (typeof window === undefinedType || !storageKey) return;
224
+
225
+ // Use localStorage if available
226
+ try {
227
+ window.localStorage.removeItem(storageKey);
228
+ } catch (ignore) {}
229
+
230
+ // Use session cookie as fallback
231
+ try {
232
+ window.document.cookie =
233
+ encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
234
+ } catch (ignore) {}
235
+ }
236
+
237
+ function normalizeLevel(input) {
238
+ var level = input;
239
+ if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) {
240
+ level = self.levels[level.toUpperCase()];
241
+ }
242
+ if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) {
243
+ return level;
244
+ } else {
245
+ throw new TypeError("log.setLevel() called with invalid level: " + input);
246
+ }
247
+ }
248
+
249
+ /*
250
+ *
251
+ * Public logger API - see https://github.com/pimterry/loglevel for details
252
+ *
253
+ */
254
+
255
+ self.name = name;
256
+
257
+ self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3,
258
+ "ERROR": 4, "SILENT": 5};
259
+
260
+ self.methodFactory = factory || defaultMethodFactory;
261
+
262
+ self.getLevel = function () {
263
+ if (userLevel != null) {
264
+ return userLevel;
265
+ } else if (defaultLevel != null) {
266
+ return defaultLevel;
267
+ } else {
268
+ return inheritedLevel;
269
+ }
270
+ };
271
+
272
+ self.setLevel = function (level, persist) {
273
+ userLevel = normalizeLevel(level);
274
+ if (persist !== false) { // defaults to true
275
+ persistLevelIfPossible(userLevel);
276
+ }
277
+
278
+ // NOTE: in v2, this should call rebuild(), which updates children.
279
+ return replaceLoggingMethods.call(self);
280
+ };
281
+
282
+ self.setDefaultLevel = function (level) {
283
+ defaultLevel = normalizeLevel(level);
284
+ if (!getPersistedLevel()) {
285
+ self.setLevel(level, false);
286
+ }
287
+ };
288
+
289
+ self.resetLevel = function () {
290
+ userLevel = null;
291
+ clearPersistedLevel();
292
+ replaceLoggingMethods.call(self);
293
+ };
294
+
295
+ self.enableAll = function(persist) {
296
+ self.setLevel(self.levels.TRACE, persist);
297
+ };
298
+
299
+ self.disableAll = function(persist) {
300
+ self.setLevel(self.levels.SILENT, persist);
301
+ };
302
+
303
+ self.rebuild = function () {
304
+ if (defaultLogger !== self) {
305
+ inheritedLevel = normalizeLevel(defaultLogger.getLevel());
306
+ }
307
+ replaceLoggingMethods.call(self);
308
+
309
+ if (defaultLogger === self) {
310
+ for (var childName in _loggersByName) {
311
+ _loggersByName[childName].rebuild();
312
+ }
313
+ }
314
+ };
315
+
316
+ // Initialize all the internal levels.
317
+ inheritedLevel = normalizeLevel(
318
+ defaultLogger ? defaultLogger.getLevel() : "WARN"
319
+ );
320
+ var initialLevel = getPersistedLevel();
321
+ if (initialLevel != null) {
322
+ userLevel = normalizeLevel(initialLevel);
323
+ }
324
+ replaceLoggingMethods.call(self);
325
+ }
326
+
327
+ /*
328
+ *
329
+ * Top-level API
330
+ *
331
+ */
332
+
333
+ defaultLogger = new Logger();
334
+
335
+ defaultLogger.getLogger = function getLogger(name) {
336
+ if ((typeof name !== "symbol" && typeof name !== "string") || name === "") {
337
+ throw new TypeError("You must supply a name when creating a logger.");
338
+ }
339
+
340
+ var logger = _loggersByName[name];
341
+ if (!logger) {
342
+ logger = _loggersByName[name] = new Logger(
343
+ name,
344
+ defaultLogger.methodFactory
345
+ );
346
+ }
347
+ return logger;
348
+ };
349
+
350
+ // Grab the current global log variable in case of overwrite
351
+ var _log = (typeof window !== undefinedType) ? window.log : undefined;
352
+ defaultLogger.noConflict = function() {
353
+ if (typeof window !== undefinedType &&
354
+ window.log === defaultLogger) {
355
+ window.log = _log;
356
+ }
357
+
358
+ return defaultLogger;
359
+ };
360
+
361
+ defaultLogger.getLoggers = function getLoggers() {
362
+ return _loggersByName;
363
+ };
364
+
365
+ // ES6 default export, for compatibility
366
+ defaultLogger['default'] = defaultLogger;
367
+
368
+ return defaultLogger;
369
+ }));
370
+ } (loglevel$1));
371
+ return loglevel$1.exports;
372
+ }
373
+
374
+ var loglevelExports = requireLoglevel();
375
+ var log = /*@__PURE__*/getDefaultExportFromCjs(loglevelExports);
376
+
377
+ let registeredTaxonomy = [];
378
+ let registeredVersion = null;
379
+ function isRecord(value) {
380
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
381
+ }
382
+ function isNonEmptyString(value) {
383
+ return typeof value === 'string' && value.trim().length > 0;
384
+ }
385
+ function isOptionalString(value) {
386
+ return value === undefined || typeof value === 'string';
387
+ }
388
+ function isTaxonomyItem(value) {
389
+ if (!isRecord(value))
390
+ return false;
391
+ return (isNonEmptyString(value.id)
392
+ && (value.type === 'job-title' || value.type === 'occupation-name')
393
+ && isNonEmptyString(value.preferred_label)
394
+ && isOptionalString(value.ssyk_level_4_id)
395
+ && isOptionalString(value.ssyk_code_2012)
396
+ && isOptionalString(value.occupation_name_id)
397
+ && isOptionalString(value.occupation_name_preferred_label)
398
+ && (value.weight === undefined || (typeof value.weight === 'number' && Number.isFinite(value.weight))));
399
+ }
400
+ function isTaxonomyRegistration(value) {
401
+ if (!isRecord(value) || !Array.isArray(value.data) || value.data.length === 0) {
402
+ return false;
403
+ }
404
+ return value.data.every((item) => isTaxonomyItem(item));
405
+ }
406
+ /**
407
+ * Registrerar validerad taxonomidata för webbkomponenten.
408
+ * Ogiltig data ersätter aldrig en tidigare giltig registrering.
409
+ */
410
+ function registerTaxonomy(data) {
411
+ if (!isTaxonomyRegistration(data)) {
412
+ log.error('[TaxonomyRegistry] Felaktigt format på taxonomidata vid registrering.');
413
+ return;
414
+ }
415
+ registeredTaxonomy = data.data.map((item) => ({ ...item }));
416
+ const metadataVersion = isRecord(data.metadata)
417
+ ? data.metadata.labour_market_taxonomy_version
418
+ : undefined;
419
+ registeredVersion = metadataVersion !== undefined
420
+ ? String(metadataVersion)
421
+ : (data.taxonomyVersion !== undefined ? String(data.taxonomyVersion) : 'unknown');
422
+ log.debug(`[TaxonomyRegistry] Taxonomi version ${registeredVersion} registrerades med ${registeredTaxonomy.length} yrken.`);
423
+ }
424
+ /** Hämtar den registrerade taxonomin. */
425
+ function getRegisteredTaxonomy() {
426
+ if (registeredTaxonomy.length === 0) {
427
+ log.warn('[TaxonomyRegistry] Ingen taxonomi är registrerad ännu! Anropa registerTaxonomy(data) först.');
428
+ }
429
+ return registeredTaxonomy;
430
+ }
431
+
432
+ exports.getRegisteredTaxonomy = getRegisteredTaxonomy;
433
+ exports.isTaxonomyRegistration = isTaxonomyRegistration;
434
+ exports.log = log;
435
+ exports.registerTaxonomy = registerTaxonomy;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ class InvalidSelectionError extends Error {
4
+ code;
5
+ invalidIds;
6
+ constructor(message, code, invalidIds) {
7
+ super(message);
8
+ this.name = 'InvalidSelectionError';
9
+ this.code = code;
10
+ this.invalidIds = invalidIds;
11
+ }
12
+ }
13
+
14
+ exports.InvalidSelectionError = InvalidSelectionError;
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-BOuTGlEp.js');
4
+
5
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
6
+ /*
7
+ Stencil Client Patch Browser v4.44.1 | MIT Licensed | https://stenciljs.com
8
+ */
9
+
10
+ var patchBrowser = () => {
11
+ const importMeta = (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('yrkesvaljaren.cjs.js', document.baseURI).href));
12
+ const opts = {};
13
+ if (importMeta !== "") {
14
+ opts.resourcesUrl = new URL(".", importMeta).href;
15
+ }
16
+ return index.promiseResolve(opts);
17
+ };
18
+
19
+ patchBrowser().then(async (options) => {
20
+ await index.globalScripts();
21
+ return index.bootstrapLazy([["job-selector-demo.cjs",[[512,"job-selector-demo",{"afHideHeader":[4,"af-hide-header"],"afHidePreamble":[4,"af-hide-preamble"],"variant":[32],"version":[32],"required":[32],"allowFreeText":[32],"history":[32],"size":[32],"framework":[32],"codeInstallationMode":[32],"lastSingleSelection":[32],"lastMultiSelection":[32],"implementationCode":[32],"readmeMainContent":[32],"readmeCodeContent":[32],"availableYvVersions":[32],"latestYvDataVersion":[32],"latestVersion":[32],"latestDate":[32],"latestType":[32],"latestChanges":[32],"isTaxonomyLoading":[32]},[[0,"afJobSelected","handleSelection"]]]]],["geo-valjaren.cjs",[[513,"geo-valjaren",{"label":[513,"af-label"],"placeholder":[513,"af-placeholder"],"selectorState":[32]},[[0,"csInput","handleInput"],[0,"csFocus","handleFocus"],[0,"csRequestHistory","handleRequestHistory"],[0,"csSelect","handleSelect"],[0,"csBlur","handleBlur"],[0,"csClear","handleClear"],[0,"csClearHistory","handleCsClearHistory"],[0,"csEditSelection","handleEdit"]]]]],["neobrutal-search.cjs",[[513,"neobrutal-search",{"engine":[32],"results":[32],"inputValue":[32],"isLoading":[32],"error":[32],"selectedItem":[32],"isFlipped":[32]}]]],["core-selector.cjs",[[785,"core-selector",{"state":[16],"config":[16],"label":[1],"labelDescription":[1,"label-description"],"componentId":[1,"component-id"],"size":[513,"cs-size"],"afFocused":[4,"af-focused"],"activeIndex":[32],"isFocusedInternal":[32],"isNavigatingWithKeyboard":[32],"setFocus":[64]},null,{"afFocused":[{"handleAfFocusedChange":0}],"config":[{"handleConfigChange":0}],"state":[{"handleStateChange":0}]}]]],["digi-service-job-selector.cjs",[[593,"digi-service-job-selector",{"name":[513],"taxonomyUrl":[513,"af-taxonomy-url"],"placeholder":[513,"af-placeholder"],"label":[513,"af-label"],"disabled":[516],"enableMultiple":[516,"af-enable-multiple"],"showSearchIcon":[516,"af-show-search-icon"],"errorMessage":[513,"af-error-message"],"labelDescription":[513,"af-label-description"],"required":[516,"af-required"],"manualInput":[516,"af-manual-input"],"history":[516,"af-history"],"popular":[516,"af-popular"],"size":[513,"af-size"],"taxonomyData":[1040],"afFocused":[32],"state":[32],"activeErrorType":[32],"animatingItemId":[32],"updateData":[64],"setSelection":[64],"setFocus":[64],"validate":[64],"checkValidity":[64],"reportValidity":[64],"getValidity":[64],"getValidationMessage":[64]},[[0,"afJobValidationChange","handleFormValidationSync"],[8,"hashchange","handleHashFocus"],[0,"csInput","handleInput"],[0,"csSelect","handleCsSelect"],[0,"csClear","handleCsClear"],[0,"csClearHistory","handleCsClearHistory"],[0,"csRequestHistory","handleCsRequestHistory"],[0,"csLoadMore","handleCsLoadMore"],[0,"csRemoveItem","handleCsRemoveItem"],[0,"csFocus","handleCsFocus"],[0,"csBlur","handleCsBlur"],[0,"csEditSelection","handleCsEditSelection"]],{"required":[{"watchRequired":0}],"manualInput":[{"watchManualInput":0}],"history":[{"watchHistory":0}],"popular":[{"watchPopular":0}],"enableMultiple":[{"watchEnableMultiple":0}],"disabled":[{"watchDisabled":0}],"taxonomyData":[{"watchTaxonomyData":0}]}]]]], options);
22
+ });
23
+
24
+ exports.setNonce = index.setNonce;
@@ -0,0 +1,15 @@
1
+ {
2
+ "entries": [
3
+ "components/core-selector/core-selector.js",
4
+ "components/geovaljaren/geovaljaren.js",
5
+ "components/job-selector/job-selector.js"
6
+ ],
7
+ "mixins": [],
8
+ "compiler": {
9
+ "name": "@stencil/core",
10
+ "version": "4.44.1",
11
+ "typescriptVersion": "5.8.3"
12
+ },
13
+ "collections": [],
14
+ "bundles": []
15
+ }