@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,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface JobSelectorDemo extends Components.JobSelectorDemo, HTMLElement {}
4
+ export const JobSelectorDemo: {
5
+ prototype: JobSelectorDemo;
6
+ new (): JobSelectorDemo;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{transformTag as e,proxyCustomElement as t,HTMLElement as a,h as i,Host as n,Fragment as r}from"@stencil/core/internal/client";import{r as o}from"./search.engine.js";import{d as s}from"./core-selector2.js";import{d as l}from"./job-selector.js";var c={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function d(e){c=e}var f={exec:()=>null};function h(e){let t=[];return a=>{let i=Math.max(0,Math.min(3,a-1)),n=t[i];return n||(n=e(i),t[i]=n),n}}function p(e,t=""){let a="string"==typeof e?e:e.source,i={replace:(e,t)=>{let n="string"==typeof t?t:t.source;return n=n.replace(m.caret,"$1"),a=a.replace(e,n),i},getRegex:()=>RegExp(a,t)};return i}var b=((e="")=>{try{return!!RegExp("(?<=1)(?<!1)"+e)}catch{return!1}})(),m={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[\t ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:h((e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`))),hrRegex:h((e=>RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`))),fencesBeginRegex:h((e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`))),headingBeginRegex:h((e=>RegExp(`^ {0,${e}}#`))),htmlBeginRegex:h((e=>RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`,"i"))),blockquoteBeginRegex:h((e=>RegExp(`^ {0,${e}}>`)))},u=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,g=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,k=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,y=p(k).replace(/bull/g,g).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),x=p(k).replace(/bull/g,g).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),v=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,$=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,w=p(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",$).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),S=p(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,g).getRegex(),j="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",_=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,T=p("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",_).replace("tag",j).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),A=e=>p(v).replace("hr",u).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",e).replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",j).getRegex(),C=A(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),D=A(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),L={blockquote:p(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",D).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:w,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:u,html:T,lheading:y,list:S,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:C,table:f,text:/^[^\n]+/},P=p("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",u).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",j).getRegex(),z={...L,lheading:x,table:P,paragraph:p(v).replace("hr",u).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",P).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",j).getRegex()},E={...L,html:p("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",_).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:f,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:p(v).replace("hr",u).replace("heading"," *#{1,6} *[^\n]").replace("lheading",y).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},q=/^( {2,}|\\)\n(?!\s*$)/,R=/[\p{P}\p{S}]/u,V=/[\s\p{P}\p{S}]/u,Y=/[^\s\p{P}\p{S}]/u,M=p(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,V).getRegex(),O=/(?!~)[\p{P}\p{S}]/u,H=p(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",b?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Z=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,B=p(Z,"u").replace(/punct/g,R).getRegex(),I=p(Z,"u").replace(/punct/g,O).getRegex(),F=p(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,"u").replace(/openQuote/g,/[\p{Pi}\p{Ps}"']/u).replace(/punct/g,R).getRegex(),K="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",N=p(K,"gu").replace(/notPunctSpace/g,Y).replace(/punctSpace/g,V).replace(/punct/g,R).getRegex(),G=p(K,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,O).getRegex(),U=p("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,Y).replace(/punctSpace/g,V).replace(/punct/g,R).getRegex(),X=p("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Y).replace(/punctSpace/g,V).replace(/punct/g,R).getRegex(),J=p("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,Y).replace(/punctSpace/g,V).replace(/punct/g,R).getRegex(),Q=p(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,R).getRegex(),W=p("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,Y).replace(/punctSpace/g,V).replace(/punct/g,R).getRegex(),ee=p(/\\(punct)/,"gu").replace(/punct/g,R).getRegex(),te=p(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ae=p(_).replace("(?:--\x3e|$)","--\x3e").getRegex(),ie=p("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",ae).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ne=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,re=p(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",ne).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),oe=p(/^!?\[(label)\]\[(ref)\]/).replace("label",ne).replace("ref",$).getRegex(),se=p(/^!?\[(ref)\](?:\[\])?/).replace("ref",$).getRegex(),le=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,ce={_backpedal:f,anyPunctuation:ee,autolink:te,blockSkip:H,br:q,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:f,delLDelim:f,delRDelim:f,emStrongLDelim:B,emStrongRDelimAst:N,emStrongRDelimUnd:X,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:re,nolink:se,punctuation:M,reflink:oe,reflinkSearch:p("reflink|nolink(?!\\()","g").replace("reflink",oe).replace("nolink",se).getRegex(),tag:ie,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:f},de={...ce,emStrongLDelim:F,emStrongRDelimAst:U,emStrongRDelimUnd:J,link:p(/^!?\[(label)\]\((.*?)\)/).replace("label",ne).getRegex(),reflink:p(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ne).getRegex()},fe={...ce,emStrongRDelimAst:G,emStrongLDelim:I,delLDelim:Q,delRDelim:W,url:p(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",le).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:p(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",le).getRegex()},he={...fe,br:p(q).replace("{2,}","*").getRegex(),text:p(fe.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},pe={normal:L,gfm:z,pedantic:E},be={normal:ce,gfm:fe,breaks:he,pedantic:de},me={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ue=e=>me[e];function ge(e,t){if(t){if(m.escapeTest.test(e))return e.replace(m.escapeReplace,ue)}else if(m.escapeTestNoEncode.test(e))return e.replace(m.escapeReplaceNoEncode,ue);return e}function ke(e){try{e=encodeURI(e).replace(m.percentDecode,"%")}catch{return null}return e}function ye(e,t){let a=e.replace(m.findPipe,((e,t,a)=>{let i=!1,n=t;for(;--n>=0&&"\\"===a[n];)i=!i;return i?"|":" |"})).split(m.splitPipe),i=0;if(a[0].trim()||a.shift(),a.length>0&&!a.at(-1)?.trim()&&a.pop(),t)if(a.length>t)a.splice(t);else for(;a.length<t;)a.push("");for(;i<a.length;i++)a[i]=a[i].trim().replace(m.slashPipe,"|");return a}function xe(e,t){let a=e.length;if(0===a)return"";let i=0;for(;i<a&&e.charAt(a-i-1)===t;)i++;return e.slice(0,a-i)}function ve(e){let t=e.split("\n"),a=t.length-1;for(;a>=0&&m.blankLine.test(t[a]);)a--;return t.length-a<=2?e:t.slice(0,a+1).join("\n")}function $e(e,t=0){let a=t,i="";for(let t of e)if("\t"===t){let e=4-a%4;i+=" ".repeat(e),a+=e}else i+=t,a++;return i}function we(e,t,a,i,n){let r=t.href,o=t.title||null,s=e[1].replace(n.other.outputLinkReplace,"$1");i.state.inLink=!0;let l={type:"!"===e[0].charAt(0)?"image":"link",raw:a,href:r,title:o,text:s,tokens:i.inlineTokens(s)};return i.state.inLink=!1,l}var Se=class{options;rules;lexer;constructor(e){this.options=e||c}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:ve(t[0]),a=e.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e,codeBlockStyle:"indented",text:a}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],a=function(e,t,a){let i=e.match(a.other.indentCodeCompensation);if(null===i)return t;let n=i[1];return t.split("\n").map((e=>{let t=e.match(a.other.beginningSpace);if(null===t)return e;let[i]=t;return i.length>=n.length?e.slice(n.length):e})).join("\n")}(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:a}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=xe(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:xe(t[0],"\n"),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:xe(t[0],"\n")}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=xe(t[0],"\n").split("\n"),a="",i="",n=[];for(;e.length>0;){let t,r=!1,o=[];for(t=0;t<e.length;t++)if(this.rules.other.blockquoteStart.test(e[t]))o.push(e[t]),r=!0;else{if(r)break;o.push(e[t])}e=e.slice(t);let s=o.join("\n"),l=s.replace(this.rules.other.blockquoteSetextReplace,"\n $1").replace(this.rules.other.blockquoteSetextReplace2,"");a=a?`${a}\n${s}`:s,i=i?`${i}\n${l}`:l;let c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,n,!0),this.lexer.state.top=c,0===e.length)break;let d=n.at(-1);if("code"===d?.type)break;if("blockquote"===d?.type){let t=d,r=e.join("\n"),o=t.raw+"\n"+r.replace(this.rules.other.blockquoteSetextReplace2,""),s=this.blockquote(o);n[n.length-1]=s,a=`${a}\n${r}`,i=i.substring(0,i.length-t.text.length)+s.text;break}if("list"!==d?.type);else{let t=d,r=t.raw+"\n"+e.join("\n"),o=this.list(r);n[n.length-1]=o,a=a.substring(0,a.length-d.raw.length)+o.raw,i=i.substring(0,i.length-t.raw.length)+o.raw,e=r.substring(n.at(-1).raw.length).split("\n")}}return{type:"blockquote",raw:a,tokens:n,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let a=t[1].trim(),i=a.length>1,n={type:"list",raw:"",ordered:i,start:i?+a.slice(0,-1):"",loose:!1,items:[]};a=i?"\\d{1,9}\\"+a.slice(-1):"\\"+a,this.options.pedantic&&(a=i?a:"[*+-]");let r=this.rules.other.listItemRegex(a),o=!1;for(;e;){let a=!1,i="",s="";if(!(t=r.exec(e))||this.rules.block.hr.test(e))break;i=t[0],e=e.substring(i.length);let l=$e(t[2].split("\n",1)[0],t[1].length),c=e.split("\n",1)[0],d=!l.trim(),f=0;if(this.options.pedantic?(f=2,s=l.trimStart()):d?f=t[1].length+1:(f=l.search(this.rules.other.nonSpaceChar),f=f>4?1:f,s=l.slice(f),f+=t[1].length),d&&this.rules.other.blankLine.test(c)&&(i+=c+"\n",e=e.substring(c.length+1),a=!0),!a){let t=this.rules.other.nextBulletRegex(f),a=this.rules.other.hrRegex(f),n=this.rules.other.fencesBeginRegex(f),r=this.rules.other.headingBeginRegex(f),o=this.rules.other.htmlBeginRegex(f),h=this.rules.other.blockquoteBeginRegex(f);for(;e;){let p,b=e.split("\n",1)[0];if(c=b,this.options.pedantic?(c=c.replace(this.rules.other.listReplaceNesting," "),p=c):p=c.replace(this.rules.other.tabCharGlobal," "),n.test(c)||r.test(c)||o.test(c)||h.test(c)||t.test(c)||a.test(c))break;if(p.search(this.rules.other.nonSpaceChar)>=f||!c.trim())s+="\n"+p.slice(f);else{if(d||l.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||n.test(l)||r.test(l)||a.test(l))break;s+="\n"+c}d=!c.trim(),i+=b+"\n",e=e.substring(b.length+1),l=p.slice(f)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(i)&&(o=!0)),n.items.push({type:"list_item",raw:i,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),n.raw+=i}let s=n.items.at(-1);if(!s)return;s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd(),n.raw=n.raw.trimEnd();for(let e of n.items)if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),!n.loose){let t=e.tokens.filter((e=>"space"===e.type)),a=t.length>0&&t.some((e=>this.rules.other.anyLine.test(e.raw)));n.loose=a}for(let e of n.items){let t=e.tokens[0];if(!e.task||"text"!==t?.type&&"paragraph"!==t?.type)e.task&&(e.task=!1);else{e.text=e.text.replace(this.rules.other.listReplaceTask,""),t.raw=t.raw.replace(this.rules.other.listReplaceTask,""),t.text=t.text.replace(this.rules.other.listReplaceTask,"");for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,"");break}let a=this.rules.other.listTaskCheckbox.exec(e.raw);if(a){let t={type:"checkbox",raw:a[0]+" ",checked:"[ ]"!==a[0]};e.checked=t.checked,n.loose?e.tokens[0]&&["paragraph","text"].includes(e.tokens[0].type)&&"tokens"in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:"paragraph",raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}}if(n.loose)for(let e of n.items){e.loose=!0;for(let t of e.tokens)"text"===t.type&&(t.type="paragraph")}return n}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=ve(t[0]);return{type:"html",block:!0,raw:e,pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),a=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:xe(t[0],"\n"),href:a,title:i}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let a=ye(t[1]),i=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],r={type:"table",raw:xe(t[0],"\n"),header:[],align:[],rows:[]};if(a.length===i.length){for(let e of i)this.rules.other.tableAlignRight.test(e)?r.align.push("right"):this.rules.other.tableAlignCenter.test(e)?r.align.push("center"):this.rules.other.tableAlignLeft.test(e)?r.align.push("left"):r.align.push(null);for(let e=0;e<a.length;e++)r.header.push({text:a[e],tokens:this.lexer.inline(a[e]),header:!0,align:r.align[e]});for(let e of n)r.rows.push(ye(e,r.header.length).map(((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:r.align[t]}))));return r}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:"heading",raw:xe(t[0],"\n"),depth:"="===t[2].charAt(0)?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=xe(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=function(e){if(-1===e.indexOf(")"))return-1;let t=0;for(let a=0;a<e.length;a++)if("\\"===e[a])a++;else if("("===e[a])t++;else if(")"===e[a]&&(t--,t<0))return a;return t>0?-2:-1}(t[2]);if(-2===e)return;if(e>-1){let a=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,a).trim(),t[3]=""}}let a=t[2],i="";if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(a);e&&(a=e[1],i=e[3])}else i=t[3]?t[3].slice(1,-1):"";return a=a.trim(),this.rules.other.startAngleBracket.test(a)&&(a=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?a.slice(1):a.slice(1,-1)),we(t,{href:a&&a.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let a;if((a=this.rules.inline.reflink.exec(e))||(a=this.rules.inline.nolink.exec(e))){let e=t[(a[2]||a[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!e){let e=a[0].charAt(0);return{type:"text",raw:e,text:e}}return we(a,e,a[0],this.lexer,this.rules)}}emStrong(e,t,a=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(i&&(i[1]||i[2]||i[3]||i[4])&&(!i[4]||!a.match(this.rules.other.unicodeAlphaNumeric))&&(!i[1]&&!i[3]||!a||this.rules.inline.punctuation.exec(a))){let n,r,o=[...i[0]].length-1,s=o,l=0,c=i[0][0],d=a===c,f="*"===c?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(f.lastIndex=0,t=t.slice(-1*e.length+o);null!==(i=f.exec(t));){if(n=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!n)continue;if(r=[...n].length,i[3]||i[4]){s+=r;continue}if(i[5]||i[6]){if(o%3&&!((o+r)%3)){l+=r;continue}if(d)break}if(s-=r,s>0)continue;r=Math.min(r,r+s+l);let t=[...i[0]][0].length,a=e.slice(0,o+i.index+t+r);if(Math.min(o,r)%2){let e=a.slice(1,-1);return{type:"em",raw:a,text:e,tokens:this.lexer.inlineTokens(e)}}let c=a.slice(2,-2);return{type:"strong",raw:a,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),a=this.rules.other.nonSpaceChar.test(e),i=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return a&&i&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,a=""){let i=this.rules.inline.delLDelim.exec(e);if(i&&(!i[1]||!a||this.rules.inline.punctuation.exec(a))){let a,n,r=[...i[0]].length-1,o=r,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+r);null!==(i=s.exec(t));){if(a=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!a||(n=[...a].length,n!==r))continue;if(i[3]||i[4]){o+=n;continue}if(o-=n,o>0)continue;n=Math.min(n,n+o);let t=[...i[0]][0].length,s=e.slice(0,r+i.index+t+n),l=s.slice(r,-r);return{type:"del",raw:s,text:l,tokens:this.lexer.inlineTokens(l)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,a;return"@"===t[2]?(e=t[1],a="mailto:"+e):(e=t[1],a=e),{type:"link",raw:t[0],text:e,href:a,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,a;if("@"===t[2])e=t[0],a="mailto:"+e;else{let i;do{i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??""}while(i!==t[0]);e=t[0],a="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:a,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],escaped:this.lexer.state.inRawBlock}}},je=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||c,this.options.tokenizer=this.options.tokenizer||new Se,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:m,block:pe.normal,inline:be.normal};this.options.pedantic?(t.block=pe.pedantic,t.inline=be.pedantic):this.options.gfm&&(t.block=pe.gfm,t.inline=this.options.breaks?be.breaks:be.gfm),this.tokenizer.rules=t}static get rules(){return{block:pe,inline:be}}static lex(t,a){return new e(a).lex(t)}static lexInline(t,a){return new e(a).inlineTokens(t)}lex(e){e=e.replace(m.carriageReturn,"\n"),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],a=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(m.tabCharGlobal," ").replace(m.spaceLine,""));let i=1/0;for(;e;){if(!(e.length<i)){this.infiniteLoopError(e.charCodeAt(0));break}let n;if(i=e.length,this.options.extensions?.block?.some((a=>!!(n=a.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0))))continue;if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length);let a=t.at(-1);1===n.raw.length&&void 0!==a?a.raw+="\n":t.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length);let a=t.at(-1);"paragraph"===a?.type||"text"===a?.type?(a.raw+=(a.raw.endsWith("\n")?"":"\n")+n.raw,a.text+="\n"+n.text,this.inlineQueue.at(-1).src=a.text):t.push(n);continue}if(n=this.tokenizer.fences(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.heading(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.hr(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.blockquote(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.list(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.html(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.def(e)){e=e.substring(n.raw.length);let a=t.at(-1);"paragraph"===a?.type||"text"===a?.type?(a.raw+=(a.raw.endsWith("\n")?"":"\n")+n.raw,a.text+="\n"+n.raw,this.inlineQueue.at(-1).src=a.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title},t.push(n));continue}if(n=this.tokenizer.table(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.lheading(e)){e=e.substring(n.raw.length),t.push(n);continue}let r=e;if(this.options.extensions?.startBlock){let t,a=1/0,i=e.slice(1);this.options.extensions.startBlock.forEach((e=>{t=e.call({lexer:this},i),"number"==typeof t&&t>=0&&(a=Math.min(a,t))})),a<1/0&&a>=0&&(r=e.substring(0,a+1))}if(this.state.top&&(n=this.tokenizer.paragraph(r))){let i=t.at(-1);a&&"paragraph"===i?.type?(i.raw+=(i.raw.endsWith("\n")?"":"\n")+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=i.text):t.push(n),a=r.length!==e.length,e=e.substring(n.raw.length)}else if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length);let a=t.at(-1);"text"===a?.type?(a.raw+=(a.raw.endsWith("\n")?"":"\n")+n.raw,a.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(n)}else if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let a=e;if(this.tokens.links){let e=Object.keys(this.tokens.links);e.length>0&&(a=a.replace(this.tokenizer.rules.inline.reflinkSearch,(t=>e.includes(t.slice(t.lastIndexOf("[")+1,-1))?"["+"a".repeat(t.length-2)+"]":t)))}a=a.replace(this.tokenizer.rules.inline.anyPunctuation,(e=>"+".repeat(e.length))),a=a.replace(this.tokenizer.rules.inline.blockSkip,((e,t,a)=>{let i=a?a.length:0;return e.slice(0,i)+"["+"a".repeat(e.length-i-2)+"]"})),a=this.options.hooks?.emStrongMask?.call({lexer:this},a)??a;let i=!1,n="",r=1/0;for(;e;){if(!(e.length<r)){this.infiniteLoopError(e.charCodeAt(0));break}let o;if(r=e.length,i||(n=""),i=!1,this.options.extensions?.inline?.some((a=>!!(o=a.call({lexer:this},e,t))&&(e=e.substring(o.raw.length),t.push(o),!0))))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let a=t.at(-1);"text"===o.type&&"text"===a?.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,a,n)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e,a,n)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let s=e;if(this.options.extensions?.startInline){let t,a=1/0,i=e.slice(1);this.options.extensions.startInline.forEach((e=>{t=e.call({lexer:this},i),"number"==typeof t&&t>=0&&(a=Math.min(a,t))})),a<1/0&&a>=0&&(s=e.substring(0,a+1))}if(o=this.tokenizer.inlineText(s)){e=e.substring(o.raw.length),"_"!==o.raw.slice(-1)&&(n=o.raw.slice(-1)),i=!0;let a=t.at(-1);"text"===a?.type?(a.raw+=o.raw,a.text+=o.text):t.push(o)}else if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(!this.options.silent)throw Error(t);console.error(t)}},_e=class{options;parser;constructor(e){this.options=e||c}space(e){return""}code({text:e,lang:t,escaped:a}){let i=(t||"").match(m.notSpaceStart)?.[0],n=e.replace(m.endingNewline,"")+"\n";return i?'<pre><code class="language-'+ge(i)+'">'+(a?n:ge(n,!0))+"</code></pre>\n":"<pre><code>"+(a?n:ge(n,!0))+"</code></pre>\n"}blockquote({tokens:e}){return`<blockquote>\n${this.parser.parse(e)}</blockquote>\n`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>\n`}hr(e){return"<hr>\n"}list(e){let t=e.ordered,a=e.start,i="";for(let t=0;t<e.items.length;t++)i+=this.listitem(e.items[t]);let n=t?"ol":"ul";return"<"+n+(t&&1!==a?' start="'+a+'"':"")+">\n"+i+"</"+n+">\n"}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>\n`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>\n`}table(e){let t="",a="";for(let t=0;t<e.header.length;t++)a+=this.tablecell(e.header[t]);t+=this.tablerow({text:a});let i="";for(let t=0;t<e.rows.length;t++){let n=e.rows[t];a="";for(let e=0;e<n.length;e++)a+=this.tablecell(n[e]);i+=this.tablerow({text:a})}return i&&(i=`<tbody>${i}</tbody>`),"<table>\n<thead>\n"+t+"</thead>\n"+i+"</table>\n"}tablerow({text:e}){return`<tr>\n${e}</tr>\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),a=e.header?"th":"td";return(e.align?`<${a} align="${e.align}">`:`<${a}>`)+t+`</${a}>\n`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${ge(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:a}){let i=this.parser.parseInline(a),n=ke(e);if(null===n)return i;let r='<a href="'+(e=n)+'"';return t&&(r+=' title="'+ge(t)+'"'),r+=">"+i+"</a>",r}image({href:e,title:t,text:a,tokens:i}){i&&(a=this.parser.parseInline(i,this.parser.textRenderer));let n=ke(e);if(null===n)return ge(a);let r=`<img src="${e=n}" alt="${ge(a)}"`;return t&&(r+=` title="${ge(t)}"`),r+=">",r}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:ge(e.text)}},Te=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},Ae=class e{options;renderer;textRenderer;constructor(e){this.options=e||c,this.options.renderer=this.options.renderer||new _e,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Te}static parse(t,a){return new e(a).parse(t)}static parseInline(t,a){return new e(a).parseInline(t)}parse(e){this.renderer.parser=this;let t="";for(let a=0;a<e.length;a++){let i=e[a];if(this.options.extensions?.renderers?.[i.type]){let e=i,a=this.options.extensions.renderers[e.type].call({parser:this},e);if(!1!==a||!["space","hr","heading","code","table","blockquote","list","checkbox","html","def","paragraph","text"].includes(e.type)){t+=a||"";continue}}let n=i;switch(n.type){case"space":t+=this.renderer.space(n);break;case"hr":t+=this.renderer.hr(n);break;case"heading":t+=this.renderer.heading(n);break;case"code":t+=this.renderer.code(n);break;case"table":t+=this.renderer.table(n);break;case"blockquote":t+=this.renderer.blockquote(n);break;case"list":t+=this.renderer.list(n);break;case"checkbox":t+=this.renderer.checkbox(n);break;case"html":t+=this.renderer.html(n);break;case"def":t+=this.renderer.def(n);break;case"paragraph":t+=this.renderer.paragraph(n);break;case"text":t+=this.renderer.text(n);break;default:{let e='Token with "'+n.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let a="";for(let i=0;i<e.length;i++){let n=e[i];if(this.options.extensions?.renderers?.[n.type]){let e=this.options.extensions.renderers[n.type].call({parser:this},n);if(!1!==e||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(n.type)){a+=e||"";continue}}let r=n;switch(r.type){case"escape":case"text":a+=t.text(r);break;case"html":a+=t.html(r);break;case"link":a+=t.link(r);break;case"image":a+=t.image(r);break;case"checkbox":a+=t.checkbox(r);break;case"strong":a+=t.strong(r);break;case"em":a+=t.em(r);break;case"codespan":a+=t.codespan(r);break;case"br":a+=t.br(r);break;case"del":a+=t.del(r);break;default:{let e='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return a}},Ce=class{options;block;constructor(e){this.options=e||c}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?je.lex:je.lexInline}provideParser(e=this.block){return e?Ae.parse:Ae.parseInline}},De=class{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Ae;Renderer=_e;TextRenderer=Te;Lexer=je;Tokenizer=Se;Hooks=Ce;constructor(...e){this.use(...e)}walkTokens(e,t){let a=[];for(let i of e)switch(a=a.concat(t.call(this,i)),i.type){case"table":{let e=i;for(let i of e.header)a=a.concat(this.walkTokens(i.tokens,t));for(let i of e.rows)for(let e of i)a=a.concat(this.walkTokens(e.tokens,t));break}case"list":a=a.concat(this.walkTokens(i.items,t));break;default:{let e=i;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach((i=>{let n=e[i].flat(1/0);a=a.concat(this.walkTokens(n,t))})):e.tokens&&(a=a.concat(this.walkTokens(e.tokens,t)))}}return a}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{let a={...e};if(a.async=this.defaults.async||a.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let a=t.renderers[e.name];t.renderers[e.name]=a?function(...t){let i=e.renderer.apply(this,t);return!1===i&&(i=a.apply(this,t)),i}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let a=t[e.level];a?a.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),a.extensions=t),e.renderer){let t=this.defaults.renderer||new _e(this.defaults);for(let a in e.renderer){if(!(a in t))throw Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let i=e.renderer[a],n=t[a];t[a]=(...e)=>{let a=i.apply(t,e);return!1===a&&(a=n.apply(t,e)),a||""}}a.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new Se(this.defaults);for(let a in e.tokenizer){if(!(a in t))throw Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let i=e.tokenizer[a],n=t[a];t[a]=(...e)=>{let a=i.apply(t,e);return!1===a&&(a=n.apply(t,e)),a}}a.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Ce;for(let a in e.hooks){if(!(a in t))throw Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let i=e.hooks[a],n=t[a];t[a]=Ce.passThroughHooks.has(a)?e=>{if(this.defaults.async&&Ce.passThroughHooksRespectAsync.has(a))return(async()=>{let a=await i.call(t,e);return n.call(t,a)})();let r=i.call(t,e);return n.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let a=await i.apply(t,e);return!1===a&&(a=await n.apply(t,e)),a})();let a=i.apply(t,e);return!1===a&&(a=n.apply(t,e)),a}}a.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,i=e.walkTokens;a.walkTokens=function(e){let a=[];return a.push(i.call(this,e)),t&&(a=a.concat(t.call(this,e))),a}}this.defaults={...this.defaults,...a}})),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return je.lex(e,t??this.defaults)}parser(e,t){return Ae.parse(e,t??this.defaults)}parseMarkdown(e){return(t,a)=>{let i={...a},n={...this.defaults,...i},r=this.onError(!!n.silent,!!n.async);if(!0===this.defaults.async&&!1===i.async)return r(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return r(Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return r(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=e),n.async)return(async()=>{let a=n.hooks?await n.hooks.preprocess(t):t,i=await(n.hooks?await n.hooks.provideLexer(e):e?je.lex:je.lexInline)(a,n),r=n.hooks?await n.hooks.processAllTokens(i):i;n.walkTokens&&await Promise.all(this.walkTokens(r,n.walkTokens));let o=await(n.hooks?await n.hooks.provideParser(e):e?Ae.parse:Ae.parseInline)(r,n);return n.hooks?await n.hooks.postprocess(o):o})().catch(r);try{n.hooks&&(t=n.hooks.preprocess(t));let a=(n.hooks?n.hooks.provideLexer(e):e?je.lex:je.lexInline)(t,n);n.hooks&&(a=n.hooks.processAllTokens(a)),n.walkTokens&&this.walkTokens(a,n.walkTokens);let i=(n.hooks?n.hooks.provideParser(e):e?Ae.parse:Ae.parseInline)(a,n);return n.hooks&&(i=n.hooks.postprocess(i)),i}catch(e){return r(e)}}}onError(e,t){return a=>{if(a.message+="\nPlease report this to https://github.com/markedjs/marked.",e){let e="<p>An error occurred:</p><pre>"+ge(a.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(a);throw a}}},Le=new De;function Pe(e,t){return Le.parse(e,t)}Pe.options=Pe.setOptions=function(e){return Le.setOptions(e),d(Pe.defaults=Le.defaults),Pe},Pe.getDefaults=function(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}},Pe.defaults=c,Pe.use=function(...e){return Le.use(...e),d(Pe.defaults=Le.defaults),Pe},Pe.walkTokens=function(e,t){return Le.walkTokens(e,t)},Pe.parseInline=Le.parseInline,Pe.Parser=Ae,Pe.parser=Ae.parse,Pe.Renderer=_e,Pe.TextRenderer=Te,Pe.Lexer=je,Pe.lexer=je.lex,Pe.Tokenizer=Se,Pe.Hooks=Ce,Pe.parse=Pe;const ze="https://d3hng02m5bee8m.cloudfront.net",Ee=ze+"/data-packages/latest.json",qe=t(class extends a{constructor(e){super(),!1!==e&&this.__registerHost()}get el(){return this}variant="single";version="latest";required=!0;allowFreeText=!1;history=!0;size="medium";framework="html";codeInstallationMode="latest";afHideHeader=!1;afHidePreamble=!1;lastSingleSelection="";lastMultiSelection="";implementationCode="";readmeMainContent="Laddar dokumentation...";readmeCodeContent=[];availableYvVersions=[];latestYvDataVersion="";latestVersion="";latestDate="";latestType="";latestChanges="";isTaxonomyLoading=!0;singleBox;multiBox;latestYvDataUrl=ze+"/yrkesvaljaren/latest.json";async componentWillLoad(){await this.loadDataPackageManifest(),this.updateCodeBlock(),this.loadMarkdown(),this.loadChangelog(),await this.refreshTaxonomy()}async loadDataPackageManifest(){try{const e=await fetch(Ee);if(!e.ok)throw Error("Manifest HTTP error! status: "+e.status);const t=(await e.json()).yrkesvaljaren;this.availableYvVersions=(t?.versions||[]).map((e=>e.taxonomyVersion)),this.latestYvDataVersion=t?.latest?.taxonomyVersion||this.availableYvVersions[0]||"",this.latestYvDataUrl=t?.latest?.dataUrl||this.latestYvDataUrl}catch(e){console.warn("[Demo] Kunde inte hämta datapaketsmanifestet",e),this.availableYvVersions=[],this.latestYvDataVersion=""}}getTaxonomyUrls(){return[this.latestYvDataUrl,"/assets/taxonomy.json"]}async fetchFirstOk(e){let t=null;for(const a of e)try{const e=await fetch(a);if(e.ok)return e;t=Error("Taxonomy HTTP error! status: "+e.status)}catch(e){t=e}throw t||Error("Kunde inte hitta någon taxonomi-URL att hämta.")}getExampleDataPackageName(){const e="latest"===this.version?this.latestYvDataVersion:this.version;return e?"@taxonomy/yrkesvaljaren-data-v"+e:"@taxonomy/yrkesvaljaren-data-v30"}async refreshTaxonomy(){this.isTaxonomyLoading=!0;const e=this.getTaxonomyUrls();try{console.log("[Demo] Fetching taxonomy from: "+e.join(", "));const t=await this.fetchFirstOk(e),a=await t.json();o(a),console.log("[Demo] Taxonomy registered successfully"),this.singleBox&&this.singleBox.updateData&&await this.singleBox.updateData(),this.multiBox&&this.multiBox.updateData&&await this.multiBox.updateData()}catch(e){console.error("[Demo] Failed to load taxonomy",e)}finally{this.isTaxonomyLoading=!1}}async loadChangelog(){try{const e=await fetch("/CHANGELOG.md");if(!e.ok)return;const t=(await e.text()).split(/^## /m).slice(1).find((e=>/^\[[^\]]+\] - .+$/m.test(e.split("\n")[0].trim())));if(t){const e=t.split("\n"),a=e[0].trim().match(/^\[(.*?)\] - (.*)$/);if(a){this.latestVersion=a[1],this.latestDate=a[2];let t=e.slice(1).join("\n").trim();const i=t.match(/^\s*###\s+(.*)$/m);i&&(this.latestType=i[1].trim(),t=t.substring((i.index||0)+i[0].length).trim()),t=t.replace(/### (.*)/g,"**$1**");const n=new De;let r=await n.parse(t);this.latestChanges=r.replace(/<p><strong>(.*?)<\/strong><\/p>/g,'<p style="margin-bottom: 0; margin-top: 1rem;"><strong>$1</strong></p>')}}}catch(e){console.warn("Could not load changelog",e)}}componentDidLoad(){this.singleBox=this.el.querySelector("#single-select-box"),this.multiBox=this.el.querySelector("#multi-select-box")}componentDidUpdate(){}triggerHighlight(){setTimeout((()=>{window.hljs&&this.el.querySelectorAll("pre code").forEach((e=>{window.hljs.highlightElement(e)}))}),100)}handleSelection(e){const t=e.detail,a=this.el.querySelector("#single-select-box"),i=this.el.querySelector("#multi-select-box");if(null==t||Array.isArray(t)&&0===t.length||"object"==typeof t&&null!==t&&0===Object.keys(t).length)return void(e.target===a?this.lastSingleSelection="":e.target===i&&(this.lastMultiSelection=""));let n=JSON.stringify(t,null,2);e.target===a?this.lastSingleSelection=n:e.target===i&&(this.lastMultiSelection=n)}async loadMarkdown(){try{const e=await fetch("/README.md?t="+(new Date).getTime());if(!e.ok)throw Error("Kunde inte hämta README.md");const t=await e.text(),a=new De({renderer:{code(e,t){let a=("string"==typeof e?t:e.lang||"html")||"html";return"ini"===a&&(a="bash"),`<digi-code-block af-code="${("string"==typeof e?e:e.text||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}" af-language="${a}" af-variation="dark"></digi-code-block>`},html(e){const t="string"==typeof e?e:e.text||"";return t.includes("<!DOCTYPE html>")?`<digi-code-block af-code="${t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}" af-language="html" af-variation="dark"></digi-code-block>`:t}}}),i=await a.parse(t),n=document.createElement("div");n.innerHTML=i,n.querySelectorAll("table").forEach((e=>{const t=document.createElement("digi-table");t.setAttribute("af-variation","tertiary"),t.setAttribute("af-size","medium"),e.parentNode&&(e.parentNode.insertBefore(t,e),t.appendChild(e))})),n.querySelectorAll("h1, h2, h3, h4").forEach((e=>{if(e.textContent&&e.textContent.trim().toLowerCase().includes("innehållsförteckning")){const t=e.nextElementSibling;!t||"UL"!==t.tagName&&"OL"!==t.tagName||t.remove(),e.remove()}}));const r=[],o=[];let s=!1;const l=/användning|konfiguration|attribut|händelser|events|programmatisk|tillgänglighet|validering/i,c=/^installation|^bidra och release/i,d=/^stil/i;let f=!1;Array.from(n.children).forEach((e=>{const t=(e.textContent||"").toLowerCase(),a=e.tagName.toLowerCase();"hr"!==a&&("h1"===a&&t.includes("yrkesväljaren webbkomponent")||"p"===a&&t.includes("en robust och intelligent")||(a.match(/^h[1-6]$/)&&(c.test(t)?(f=!0,s=!1):l.test(t)?(s=!0,f=!1):d.test(t)&&(s=!1,f=!1)),f||(s?r.push(e):o.push(e))))}));const h=e=>{const t=document.createDocumentFragment();let a=null;const i=()=>{if(a){const e=document.createElement("digi-typography");for(;a.firstChild;)e.appendChild(a.firstChild);const i=document.createElement("div");i.className="digi-layout-column digi-layout-column--12 digi-layout-column--lg-8",i.appendChild(e),t.appendChild(i),a=null}};e.forEach((e=>{const n=e.tagName.toLowerCase();if("digi-code-block"===n||"table"===n||"digi-table"===n||"img"===n){i();const a=document.createElement("div");a.className="digi-layout-column digi-layout-column--12 digi-layout-column--lg-12",a.appendChild(e.cloneNode(!0)),t.appendChild(a)}else a||(a=document.createElement("div")),a&&a.appendChild(e.cloneNode(!0))})),i();const n=document.createElement("div");return n.appendChild(t),n.innerHTML};this.readmeMainContent=h(o),this.readmeCodeContent=[h(r)]}catch(e){this.readmeMainContent=`<h2>Kunde inte ladda dokumentationen</h2><p>${e.message}</p>`}}updateCodeBlock(){const e=" ";let t;const a="latest"===this.version,i="html"===this.framework?"\x3c!--":"//",n="html"===this.framework?"--\x3e":"",r=this.getExampleDataPackageName();let o=1;t=`${i} ${o}. Kopiera och kör detta skript för att installera Yrkesväljaren i ditt projekt. ${n}\n`,t+="/bin/bash -c \"echo '@taxonomy:registry=https://gitlab.com/api/v4/projects/74569456/packages/npm/' >> .npmrc &&\nnpm install @taxonomy/yrkesvaljaren\"\n\n",o++,a||(t+=`${i} ${o}. Installera datapaketet för vald taxonomiversion ${n}\n`,t+=`npm install ${r}\n\n`,o++),t+="html"===this.framework?a?`\x3c!-- ${o}. Initiera komponenten i din kod --\x3e\n<script type="module">\n${e}import { defineCustomElements as defineYrkesvaljaren } from '@taxonomy/yrkesvaljaren/loader';\n${e}defineYrkesvaljaren();\n<\/script>\n\n`:`\x3c!-- ${o}. Initiera komponenten med vald taxonomiversion - (v${this.version}) --\x3e\n<script type="module">\n${e}import { registerTaxonomy } from '@taxonomy/yrkesvaljaren';\n${e}import { defineCustomElements as defineYrkesvaljaren } from '@taxonomy/yrkesvaljaren/loader';\n${e}import { taxonomyData, metadata } from '${r}';\n${e}registerTaxonomy({ data: taxonomyData, metadata });\n${e}defineYrkesvaljaren();\n<\/script>\n\n`:a?`// ${o}. Setup: Auto-fetch\nimport { defineCustomElements as defineYrkesvaljaren } from '@taxonomy/yrkesvaljaren/loader';\ndefineYrkesvaljaren();\n\n`:`// ${o}. Setup: Manual (v${this.version})\nimport { registerTaxonomy } from '@taxonomy/yrkesvaljaren';\nimport { defineCustomElements as defineYrkesvaljaren } from '@taxonomy/yrkesvaljaren/loader';\nimport { taxonomyData, metadata } from '${r}';\nregisterTaxonomy({ data: taxonomyData, metadata });\ndefineYrkesvaljaren();\n\n`,o++,t+="html"===this.framework?`\x3c!-- ${o}. Använd komponenten i ditt gränssnitt --\x3e\n`:`// ${o}. Usage\n`,"html"===this.framework?(t+="<digi-service-job-selector\n",t+=' af-label="Välj yrke"\n',"multi"===this.variant&&(t+=' af-label-description="Du kan välja mer än ett yrke"\n',t+=' af-enable-multiple="true"\n'),t+=`${e}af-required="${this.required}"\n`,t+=`${e}af-manual-input="${this.allowFreeText}"\n`,t+=`${e}af-history="${this.history}"\n`,"medium"!==this.size&&(t+=`${e}af-size="${this.size}"\n`),t+="></digi-service-job-selector>"):"angular"===this.framework?(t+="<digi-service-job-selector\n",t+=" [attr.af-label]=\"'Välj yrke'\"\n","multi"===this.variant&&(t+=" [attr.af-label-description]=\"'Du kan välja mer än ett yrke'\"\n",t+=' [attr.af-enable-multiple]="true"\n'),t+=`${e}[attr.af-required]="${this.required}"\n`,t+=`${e}[attr.af-manual-input]="${this.allowFreeText}"\n`,t+=`${e}[attr.af-history]="${this.history}"\n`,"medium"!==this.size&&(t+=`${e}[attr.af-size]="'${this.size}'"\n`),t+="></digi-service-job-selector>"):"react"===this.framework&&(t+="<Yrkesvaljaren\n",t+=' afLabel="Välj yrke"\n',"multi"===this.variant&&(t+=' afLabelDescription="Du kan välja mer än ett yrke"\n',t+=" afEnableMultiple={true}\n"),t+=`${e}required={${this.required}}\n`,t+=`${e}manualInput={${this.allowFreeText}}\n`,t+=`${e}afHistory={${this.history}}\n`,"medium"!==this.size&&(t+=`${e}afSize="${this.size}"\n`),t+="/>"),this.implementationCode=t}handleVariantChange(e){const t=e.detail&&"string"==typeof e.detail?e.detail:e.target&&e.target.value;t&&(this.variant=t,this.updateCodeBlock())}async handleVersionChange(e){console.log("[Demo] Version change event:",e);const t=e.detail&&"string"==typeof e.detail?e.detail:e.target&&e.target.value||e.detail&&e.detail.target&&e.detail.target.value||e.detail&&e.detail.value;console.log("[Demo] Extracted version value:",t),t&&(this.version=t,this.updateCodeBlock())}handleRequiredChange(e){let t=!1;"boolean"==typeof e.detail?t=e.detail:e.target&&void 0!==e.target.afChecked?t=e.target.afChecked:e.target&&void 0!==e.target.checked&&(t=e.target.checked),this.required=t,this.updateCodeBlock()}handleFreeTextChange(e){let t=!1;"boolean"==typeof e.detail?t=e.detail:e.target&&void 0!==e.target.afChecked?t=e.target.afChecked:e.target&&void 0!==e.target.checked&&(t=e.target.checked),this.allowFreeText=t,this.updateCodeBlock()}handleHistoryChange(e){let t=!0;"boolean"==typeof e.detail?t=e.detail:e.target&&void 0!==e.target.afChecked?t=e.target.afChecked:e.target&&void 0!==e.target.checked&&(t=e.target.checked),this.history=t,this.updateCodeBlock()}handleSizeChange(e){const t=e.detail&&"string"==typeof e.detail?e.detail:e.target&&e.target.value;t&&(this.size=t,this.updateCodeBlock())}handleFrameworkChange(e){const t=e.detail&&"string"==typeof e.detail?e.detail:e.target&&e.target.value;t&&(this.framework=t,this.updateCodeBlock())}handleCodeInstallationModeChange(e){const t=e.detail&&"string"==typeof e.detail?e.detail:e.target&&e.target.value;t&&(this.codeInstallationMode=t)}handleCopyCode(){navigator.clipboard.writeText(this.implementationCode).then((()=>console.log("Kopierat!"))).catch((e=>console.error("Fel",e)))}render(){return i(n,{key:"840f5f9ce6e5f71e655162588a378c13667d7d5a"},i("main",{key:"d7f92ed38d20a743234de61929fc6efb9d503456"},!this.afHideHeader&&i("digi-layout-container",{key:"416e31b045f95bc65762170c43ff8ebdf61f802f","af-margin-top":"true","af-margin-bottom":"true"},i("digi-typography-heading-jumbo",{key:"aa0ed8ef8fe5c39f4a97da54fd29573ac31bef07","af-text":"Yrkesväljaren","af-level":"h1"}),i("digi-typography",{key:"319ae37dfb6a5c4804d1190f9cd07874542e0bf5"},i("h2",{key:"62b547bec40d202bcccdd0cbd2bdfb8ab8435a3f",class:"digi-subheading",style:{marginTop:"0",fontWeight:"600",fontSize:"1.5em",color:"#333"}},"digi-service-job-selector"))),i("digi-layout-container",{key:"08650df5c5b2273f0ab5bf92df6a740592604fde","af-variation":"static","af-margin-bottom":"true"},i("digi-tablist",{key:"1e4f8b4121683c13ed5bfaee7758f0d5ccf6a9df",id:"main-tabs","af-tabs":'[{"id": "oversikt", "title": "Översikt"}, {"id": "kod", "title": "Kod"}]',"af-aria-label":"Exempel flikar"},i("digi-tablist-panel",{key:"8bf77b94e62c514d252d769098ae1ea60dcd62ea",tab:"oversikt"},!this.afHidePreamble&&i("div",{key:"1536a3806f46e63859384b186a2fcf96aa35d6f8",style:{marginBottom:"3rem",maxWidth:"800px"}},i("digi-typography-preamble",{key:"6b5a5d7dcb99f5f87739eacef41574717307b821"},"Yrkesväljaren används för att söka och välja yrken från valfri version av Arbetsförmedlingens taxonomi.")),i("div",{key:"7bdcd1ad873a317b903af0a95234c035e589fd42",class:"example-container"},i("div",{key:"e0ed90678d0498e23a3b987872a69eb44704f467",class:"example-main-column"},i("div",{key:"2137d210601fff1bfd528037a46e4164e4e3b906",class:"demo-area"},i("div",{key:"7ed8d93eeca0f7dd2c98d6ef00805929b65c51f0",class:"demo-visual-wrapper"},this.isTaxonomyLoading?i("div",{style:{padding:"2rem",textAlign:"center"}},i("digi-loader",{"af-size":"large","af-text":"Laddar yrkesdata..."})):i(r,null,i("div",{id:"demo-visual-single",style:{display:"single"===this.variant?"block":"none"}},i("digi-service-job-selector",{id:"single-select-box","af-label":"Välj yrke","af-placeholder":"T.ex. snickare, undersköterska, programmerare...","af-size":this.size,"af-required":this.required,"af-manual-input":this.allowFreeText,"af-history":this.history,tabindex:"0"})),i("div",{id:"demo-visual-multi",style:{display:"multi"===this.variant?"block":"none"}},i("digi-service-job-selector",{id:"multi-select-box","af-label":"Välj yrke","af-label-description":"Du kan välja mer än ett yrke","af-enable-multiple":!0,"af-size":this.size,"af-required":this.required,"af-manual-input":this.allowFreeText,"af-history":this.history,tabindex:"0"})))),i("div",{key:"7397f1e79b9a64cd9bed853ca60061a9b83f97aa",class:"demo-live-output",style:{alignSelf:"flex-start",height:"fit-content"}},i("digi-form-label",{key:"ff12b92dc0e9f2f75fb69956904413b9d63d0c43","af-label":"Output","af-for":"live-json-block",class:"output-label-external"}),i("digi-code-block",{key:"85c91eff18a11883fd87882846f3d3a621cf0d62",id:"live-json-block",class:"digi-code-block-custom","af-language":"json","af-variation":"dark","af-code":"single"===this.variant?this.lastSingleSelection:this.lastMultiSelection,"af-hide-toolbar":"true"}))),i("div",{key:"a593fe8f2bea1d194be8a7e59e6aff373caf2458",class:"code-output-container"},i("div",{key:"7cd5476ee27b0f38db2729e0b2733d94e11d750c",id:"demo-output-codeblock"},i("digi-code-block",{key:"ada0cf627eda05ba57253e272f4fa84e1f9bc0c2",id:"implementation-code",class:"digi-code-block-custom","af-language":"xml","af-variation":"dark","af-code":this.implementationCode,"af-hide-toolbar":"true"})))),i("div",{key:"aced0d2f238bc5b1d974c4b37c73350898c70905",class:"control-panel"},i("div",{key:"ca53d909670b6efa4547107a4317387064dc7377",class:"control-panel-section"},i("digi-form-label",{key:"21504ee2981a68d50048361de81889f3a307eb21",afLabel:"Variant",afFor:"variant-group"}),i("digi-form-radiogroup",{key:"884dfc17479dee9431c24076c9b262ef1c7578e3",afName:"variant",id:"variant-group",afValue:this.variant,afLayout:"vertical",onAfOnGroupChange:e=>this.handleVariantChange(e)},i("digi-form-radiobutton",{key:"fcb7b04c9b20655da2c33640b167cb69f2b6aa00",afLabel:"Ett valbart yrke",afValue:"single"}),i("digi-form-radiobutton",{key:"b9a67e59d281d469405edc1138c25fdef41dc61a",afLabel:"Flera valbara yrken",afValue:"multi"}))),i("div",{key:"9c3f7307b6cceb914cf1df0e32da623ba2f4e974",class:"control-panel-section"},i("digi-form-select",{key:"ea8c91099bdb01e183e0668ff3612310829e0530",id:"version-select",ref:e=>{e&&(e.afLabel="Välj taxonomiversion",e.setAttribute("af-label","Välj taxonomiversion"))},afLabel:"Välj taxonomiversion",afDescription:"Använd automatiskt den senaste eller installera en specifik version.",afValue:this.version,onAfOnChange:e=>this.handleVersionChange(e)},i("option",{key:"f2b3dfcf430809320288d29984fc5bd8d0a30209",value:"latest"},"Senaste automatiskt uppdaterad"),this.availableYvVersions.length>0?this.availableYvVersions.map((e=>i("option",{value:e},"Installera version ",e))):i("option",{disabled:!0},"Kunde inte hämta versionslistan från datapaketsmanifestet"))),i("div",{key:"472caa4c3c59a0ef8848d987d8447d0ce33aff02",class:"control-panel-section"},i("digi-form-checkbox",{key:"458161644bfa0b3d11824208840a1b76a8994cb6",id:"required-checkbox",afLabel:"Obligatorisk",afDescription:"Kräver att användaren gör ett val för att fältet ska vara giltigt.",afChecked:this.required,onAfOnChange:e=>this.handleRequiredChange(e)}),i("digi-form-checkbox",{key:"fa62e67f5d31724738486605113c1e02b34e4831",id:"freetext-checkbox",afLabel:"Tillåt fritext",afDescription:"Tillåter manuell inmatning av egna yrkestitlar utanför taxonomin.",afChecked:this.allowFreeText,onAfOnChange:e=>this.handleFreeTextChange(e)}),i("digi-form-checkbox",{key:"baf2a24d0c239e0e7b9f0f9741410acd864398bf",id:"history-checkbox",afLabel:"Tillåt historik (rekommenderas)",afDescription:"Sparar tidigare val lokalt i webbläsaren för snabbare återval.",afChecked:this.history,onAfOnChange:e=>this.handleHistoryChange(e)})),i("div",{key:"c97f188ff87bf26249d76ec6055c1ec30449cb62",class:"control-panel-section"},i("digi-form-label",{key:"1274b46dbfa332243f8eeb13f11f1677a609c03c",afLabel:"Storlekar",afFor:"size-radiogroup"}),i("digi-form-radiogroup",{key:"72b2286733822b6932bf2ba4ac4d3e7fba751cf5",afName:"size",afLegend:"Storlek",afOrientation:"horizontal",id:"size-radiogroup",afValue:this.size,onAfOnGroupChange:e=>this.handleSizeChange(e)},i("digi-form-radiobutton",{key:"5ed2c64274d1f5a3fd2f577efe005b776e4669a9",afLabel:"Small",afValue:"small"}),i("digi-form-radiobutton",{key:"c9a3156b3f26d7f0248964cccaee0e2cb051e1eb",afLabel:"Medium",afValue:"medium"}),i("digi-form-radiobutton",{key:"79d3d832869060850c20b050884964ad297ecdc5",afLabel:"Large",afValue:"large"}))),i("div",{key:"47adbfa5ba5d11514700352bd7a652b881a2db23",class:"control-panel-section"},i("digi-form-label",{key:"9c6276b9fc589c00fb5fab2fb1d04bb88cb5f346",afLabel:"Kodspråk",afFor:"framework-group"}),i("digi-form-radiogroup",{key:"54a1e0fcc32c78fcca11e3bf8d85c4b74951d6d0",afName:"framework",id:"framework-group",afValue:this.framework,afLayout:"vertical",onAfOnGroupChange:e=>this.handleFrameworkChange(e)},i("digi-form-radiobutton",{key:"a1b5053acb6ae89be7a6cc5537b3e5ee12cd8c0c",afLabel:"HTML",afValue:"html"}),i("digi-form-radiobutton",{key:"f0fe9586373e220f804f96e19fd25fec5d22079c",afLabel:"Angular",afValue:"angular"}),i("digi-form-radiobutton",{key:"7f0df4fa19a244457429d3ec3db4d0b980e47656",afLabel:"React",afValue:"react"}))),i("div",{key:"e60e0425985ed42104c34cdd31d2144ae20029f8",class:"control-panel-section control-panel-section--button"},i("digi-button",{key:"0e1e84d9eee42478ff0df600f5ee06bbadba5d08",id:"copy-button","af-size":"medium","af-variation":"function",onAfOnClick:()=>this.handleCopyCode()},i("digi-icon-copy",{key:"f177c497410ea6a4527bb96ded7dac5ca6ad240f",slot:"icon"}),"Kopiera kod")))),i("div",{key:"ca32d09587fab29ff9a44fa554f173ef3459eb67",id:"readme-content",class:"section-spacing readme-content-area",innerHTML:this.readmeMainContent}),i("digi-layout-block",{key:"46b81dfca1ced4066f1282e237d7f4227248c2cd","af-variation":"symbol",class:"digi-docs-home-main-quote-block section-spacing"},i("digi-layout-container",{key:"1afa39463ac2ac4f726cc2f98ba8702479bb2e98"},i("div",{key:"aa44f0f38f11f02d3228a151cbec46279ae00f49",class:"quote-container"},i("digi-quote",{key:"b33dfd2231d5cd3ce869afeb214dedc03778db09","af-type":"default","af-variation":"transparent","af-image-position":"left","af-image-src":"/assets/images/startpage/jesper-kennholt.jpeg","af-image-alt":"Profilbild på Jesper Kennholt","af-quote-author-name":"Jesper Kennholt","af-quote-author-title":"Bedöma planera & matcha"},i("p",{key:"9957a64254f6931ab58322bc601b8b3fb31cb07c",style:{fontWeight:"bold",marginBottom:"0.5rem"}},"Yrkesväljaren var en game changer för oss!"),"Våra användare hittar nu snabbt rätt yrke, och vi får inte längre klagomål & incidenter att hantera i Kompetensprofilen. Och det ger bättre matchning!")))),i("div",{key:"630ddd8f9ca00c10ef831a13953856be096a38c8",style:{marginTop:"3rem"}},i("div",{key:"f4ecdc6da9779bdc6f0df077b919b49889eb86e4",class:"footer-cards-container",style:{display:"flex",flexDirection:"column",gap:"2rem"}},i("digi-info-card",{key:"64a34a777d5d732172294c3062a5d7f9e3d19521","af-heading":this.latestVersion?`Nytt i version ${this.latestVersion} - ${this.latestDate}`:"Förvaltning","af-heading-level":"h2","af-variation":"primary"},i("digi-typography",{key:"3bd6d456e6eb494e29fc2f40f784901fbcceae72"},this.latestVersion&&i(r,{key:"198e87c1748ccf717ed9ddc4533e2be922b25bc3"},i("p",{key:"c795d00c24a233b6e49d76b09f44085c3c48535b",style:{marginTop:"0",marginBottom:"0"}},this.latestType&&i("strong",{key:"e32662dbcb335b466b0de3784bf8bc8ea96e082b"},this.latestType)),i("div",{key:"8087d865ebc46675e16cd34ca90ed0ffe82eb5b9",innerHTML:this.latestChanges}),i("p",{key:"1d94a65a43a506084cd8659cbb26144059b3372e"},i("digi-link",{key:"af9a757b3df5b3e08c894c370352500bd88cfa1a","af-href":"/CHANGELOG.md","af-target":"_blank","af-variation":"primary"},"Läs hela changelog",i("digi-icon-arrow-forward",{key:"131db6398a334523ed26469ca71c59f7bea58f99",slot:"icon-secondary"}))),i("h2",{key:"671cc0ae7618a14c5944d760946bbcc79bf3356e",style:{marginTop:"2.5rem"}},"Förvaltning")),i("p",{key:"38bef00b08645bc73052b541e8e277579ab8820f"},"Yrkesväljaren förvaltas av teamet bakom Taxonomin, och hanteras som öppen källkod. Kontakta oss på"," ",i("digi-link",{key:"8a054b4b3ed10434c63970d5b426afa3cacfa1bd","af-href":"mailto:taxonomy@arbetsformedlingen.se","af-variation":"primary"},"taxonomy@arbetsformedlingen.se",i("digi-icon-envelope",{key:"8ca8238fa9debc59813ec4371641345bda18c574",slot:"icon-secondary"})),". Bidra och rapportera buggar i vårt gitlab-repo."),i("p",{key:"47b3368c8591869a59b2105a9ade6fda5031f0f3"},i("digi-link",{key:"28deb2ea7cb53f12b077588cc1f60e4d4dbf3cc9","af-href":"https://gitlab.com/arbetsformedlingen/taxonomy-dev/frontend/yrkesvaljaren","af-target":"_blank","af-variation":"primary"},"Källkod på Gitlab",i("digi-icon-external-link",{key:"4795dea2e08294a56fa46580b80cb6e666bef293",slot:"icon-secondary"})))))))),i("digi-tablist-panel",{key:"2b8243e9b01bb33fe1938ed2a3db38b0736dbbbe",tab:"kod"},i("div",{key:"874cd35b6f1b86a99dd32a22ff36a9d8652760db",id:"code-tab-content",class:"digi-layout-grid section-spacing readme-content-area"},i("div",{key:"392005b6810bd9ad9a956e0b829febf3b089a797",class:"digi-layout-column digi-layout-column--12"},i("h3",{key:"626eb8a864a49820c7f4dad3bddb0c5e3f0d0c6e",id:"installation"},"Installation"),i("digi-form-fieldset",{key:"1ae759b2f722791c0ec98b6e48e0802685718d8f","af-legend":"Välj hur du vill uppdatera taxonomiversionerna för att se anpassad instruktion.",style:{marginTop:"1rem",marginBottom:"1.5rem"}},i("digi-form-radiogroup",{key:"f83a4f6e80dfdd8813c80c805960ad39ba4654fe","af-name":"data-version-selection-kod","af-value":this.codeInstallationMode,onAfOnGroupChange:e=>this.handleCodeInstallationModeChange(e)},i("digi-form-radiobutton",{key:"16948037c7f393d29a6a9c449bf08f376557bca3","af-label":"Automatiskt uppdaterad till senaste version","af-value":"latest","af-checked":"latest"===this.codeInstallationMode}),i("div",{key:"43c9af443c866c1f70bb1b361b66a3575df8c9ff",class:"radiobutton-description"},"Yrkesdatan hämtas från Yrkesväljarens egen CDN-distribuerade kopia. Datat behöver inte lagras på din server."),i("digi-form-radiobutton",{key:"d2d85bc1afef6fc0d9720e5fe24994ff4300e027","af-label":this.latestYvDataVersion?"Låst till specifik version, t.ex v"+this.latestYvDataVersion:"Låst till specifik version","af-value":"versioned","af-checked":"versioned"===this.codeInstallationMode}),i("div",{key:"6642753992393db2ae1979a8684cd203873e34a6",class:"radiobutton-description"},"Valt datapaket synkas till ditt projekt vid bygge, och servas sedan till klienten från din server tillsammans med webbkomponenten (och resten av din webbsida/app). "))),i("div",{key:"f8a7dc49c01ca8ca694aa6b06a8d0c323828e9f7",class:"code-output-container",style:{marginTop:"1.5rem",marginBottom:"2rem"}},i("div",{key:"4c80df59895a927cb89ace1ed5e19da6e1e6bb98",class:"track-code-step"},i("digi-typography",{key:"a02c6414e9d2502f500b8bfb95020da92ae9c007"},i("p",{key:"5d7d53fd105c2f9bbc57bc0ae2ee15dd84e3b9d9",style:{margin:"0"}},i("strong",{key:"1d9e254f297c7ed5075556f3c639472ebeedc062"},"1. Kopiera och kör detta skript för att installera Yrkesväljaren i ditt projekt. "))),i("digi-code-block",{key:"e84b10b7da97b2c720833ae35faaec434230cb01",class:"digi-code-block-custom","af-language":"bash","af-variation":"dark","af-code":this.getInstallationCommandPart1(),"af-hide-toolbar":"false"})),"versioned"===this.codeInstallationMode&&i("div",{key:"d9c9055bb42a4e3cee5e12a95e6d54785abc54e6",class:"track-code-step",style:{marginTop:"1rem"}},i("digi-typography",{key:"689704ca6b1bcabe87130bbd25a196a93cd491fc"},i("p",{key:"f132f1d3a644d8857a0c96c9fc3970f01f0352ed",style:{margin:"0"}},i("strong",{key:"17ef4a182359e0372d48cb309e484c07f19e586d"},"2. Installera datapaketet för vald taxonomiversion"))),i("digi-code-block",{key:"5e024b67cfb8089d9467b8dc676d0210a2994e31",class:"digi-code-block-custom","af-language":"bash","af-variation":"dark","af-code":this.getInstallationCommandPart2(),"af-hide-toolbar":"false"})),i("div",{key:"1d12da14d73c4b6fbfb24511b238c4ca65b145bc",class:"track-code-step",style:{marginTop:"1rem"}},i("digi-typography",{key:"fef606609bc9b5cbc8b55733322a2b8622913e32"},i("p",{key:"644a6282210e2e3e1abcf1688cc653a3092e5991",style:{margin:"0"}},i("strong",{key:"b31f8aeb6808b0ae49492304cb5a3518e31eeca0"},"latest"===this.codeInstallationMode?"2":"3",". Initiera komponenten i din kod"))),i("digi-code-block",{key:"c2bf53b8d2a809a18a026e2ef3e7c543114d8754",class:"digi-code-block-custom","af-language":"react"===this.framework?"javascript":"xml","af-variation":"dark","af-code":this.getSetupCommand(),"af-hide-toolbar":"false"})),i("div",{key:"3e8aa11885a7ee8ef2b0198def2ea331e83066ba",class:"track-code-step",style:{marginTop:"1rem"}},i("digi-typography",{key:"ab0e157b03c963b4db5189552d0c414f4bc2ccad"},i("p",{key:"bad2e003c192e0142adc7a7207075eb0b6bba670",style:{margin:"0"}},i("strong",{key:"efaf5fcdb1b3cd2d1c2f80341c728ebdda7a7754"},"latest"===this.codeInstallationMode?"3":"4",". Använd komponenten i ditt gränssnitt"))),i("digi-code-block",{key:"b5d1da9d88351072c9989e8256c7d54317fa5742",class:"digi-code-block-custom","af-language":"react"===this.framework?"javascript":"xml","af-variation":"dark","af-code":this.getUsageCommand(),"af-hide-toolbar":"false"})))),this.readmeCodeContent.map((e=>i("div",{innerHTML:e})))))))))}getInstallationCommandPart1(){return"/bin/bash -c \"echo '@taxonomy:registry=https://gitlab.com/api/v4/projects/74569456/packages/npm/' >> .npmrc &&\nnpm install @taxonomy/yrkesvaljaren\""}getInstallationCommandPart2(){return"npm install "+this.getExampleDataPackageName()}getSetupCommand(){const e="latest"===this.codeInstallationMode,t=this.getExampleDataPackageName(),a=" ";let i="";return"html"===this.framework?i+=e?`<script type="module">\n${a}import { defineCustomElements as defineYrkesvaljaren } from '@taxonomy/yrkesvaljaren/loader';\n${a}defineYrkesvaljaren();\n<\/script>`:`<script type="module">\n${a}import { registerTaxonomy } from '@taxonomy/yrkesvaljaren';\n${a}import { defineCustomElements as defineYrkesvaljaren } from '@taxonomy/yrkesvaljaren/loader';\n${a}import { taxonomyData, metadata } from '${t}';\n${a}registerTaxonomy({ data: taxonomyData, metadata });\n${a}defineYrkesvaljaren();\n<\/script>`:"react"===this.framework?i+=e?"import { Yrkesvaljaren } from '@taxonomy/yrkesvaljaren-react';":`import { Yrkesvaljaren } from '@taxonomy/yrkesvaljaren-react';\nimport { registerTaxonomy } from '@taxonomy/yrkesvaljaren';\nimport { defineCustomElements } from '@taxonomy/yrkesvaljaren/loader';\nimport { taxonomyData, metadata } from '${t}';\nregisterTaxonomy({ data: taxonomyData, metadata });\ndefineCustomElements();`:"angular"===this.framework&&(i+=e?"import { defineCustomElements as defineYrkesvaljaren } from '@taxonomy/yrkesvaljaren/loader';\ndefineYrkesvaljaren();":`import { registerTaxonomy } from '@taxonomy/yrkesvaljaren';\nimport { defineCustomElements as defineYrkesvaljaren } from '@taxonomy/yrkesvaljaren/loader';\nimport { taxonomyData, metadata } from '${t}';\nregisterTaxonomy({ data: taxonomyData, metadata });\ndefineYrkesvaljaren();`),i}getUsageCommand(){const e=" ";let t="";return"html"===this.framework?(t+="<digi-service-job-selector\n",t+=' af-label="Välj yrke"\n',"multi"===this.variant&&(t+=' af-label-description="Du kan välja mer än ett yrke"\n',t+=' af-enable-multiple="true"\n'),t+=`${e}af-required="${this.required}"\n`,t+=`${e}af-manual-input="${this.allowFreeText}"\n`,t+=`${e}af-history="${this.history}"\n`,"medium"!==this.size&&(t+=`${e}af-size="${this.size}"\n`),t+="></digi-service-job-selector>"):"angular"===this.framework?(t+="<digi-service-job-selector\n",t+=" [attr.af-label]=\"'Välj yrke'\"\n","multi"===this.variant&&(t+=" [attr.af-label-description]=\"'Du kan välja mer än ett yrke'\"\n",t+=' [attr.af-enable-multiple]="true"\n'),t+=`${e}[attr.af-required]="${this.required}"\n`,t+=`${e}[attr.af-manual-input]="${this.allowFreeText}"\n`,t+=`${e}[attr.af-history]="${this.history}"\n`,"medium"!==this.size&&(t+=`${e}[attr.af-size]="'${this.size}'"\n`),t+="></digi-service-job-selector>"):"react"===this.framework&&(t+="export const MyComponent = () => (\n",t+=" <Yrkesvaljaren\n",t+=`${e}${e}afLabel="Välj yrke"\n`,"multi"===this.variant&&(t+=`${e}${e}afLabelDescription="Du kan välja mer än ett yrke"\n`,t+=`${e}${e}afEnableMultiple={true}\n`),t+=`${e}${e}required={${this.required}}\n`,t+=`${e}${e}manualInput={${this.allowFreeText}}\n`,t+=`${e}${e}afHistory={${this.history}}\n`,"medium"!==this.size&&(t+=`${e}${e}afSize="${this.size}"\n`),t+=" />\n",t+=");"),t}static get style(){return".control-panel{width:100%;background-color:#f1f3f5;border-radius:4px;border:1px solid #dee2e6;display:flex;flex-direction:column}.control-panel-section{padding:var(--digi--global--spacing--base) var(--digi--global--spacing--base) var(--digi--global--spacing--base) var(--digi--global--spacing--base);border-bottom:1px solid #e0e0e0}.control-panel-section:last-child{border-bottom:none}.control-panel-section--button{margin-top:auto;position:relative;padding-top:0;border-bottom:none}.control-panel-section--button::before{content:'';display:block;border-top:1px solid #dcdcdc;margin-bottom:1rem;width:100%}.control-panel-section digi-form-label{display:block;margin-bottom:var(--digi--global--spacing--smallest-2)}.hidden{display:none !important}.mt-2{margin-top:var(--digi--global--spacing--base)}.page-subheading{margin-bottom:var(--digi--global--spacing--largest-4)}.example-container{display:flex;flex-direction:column;gap:var(--digi--global--spacing--base);margin-bottom:var(--digi--global--spacing--largest-4)}.example-main-column{flex:1;display:flex;flex-direction:column;min-width:0}.demo-area{flex:1;background-color:#ffffff;background-image:linear-gradient(45deg, #f0f0f0 25%, transparent 25%, transparent 75%, #f0f0f0 75%, #f0f0f0), linear-gradient(45deg, #f0f0f0 25%, transparent 25%, transparent 75%, #f0f0f0 75%, #f0f0f0);background-size:20px 20px;background-position:0 0, 10px 10px;padding:var(--digi--global--spacing--base) var(--digi--global--spacing--largest-4) var(--digi--global--spacing--largest-4) var(--digi--global--spacing--largest-4);border:1px solid #dee2e6;border-bottom:none;border-radius:4px 4px 0 0;min-height:200px;display:flex;flex-direction:column;gap:var(--digi--global--spacing--largest-4)}.demo-visual-wrapper{flex:1;min-width:0;margin-top:calc(var(--digi--global--spacing--smallest-3) * -1)}.demo-live-output{flex:1;display:flex;flex-direction:column;height:auto;min-height:100px;align-self:flex-start !important}.output-label-external{margin-bottom:var(--digi--global--spacing--smallest-3);display:block}#live-json-block{background-color:#262626;color:#fff;border-radius:4px;box-shadow:0 4px 6px rgba(0, 0, 0, 0.1);flex:1;width:100%;margin-top:0 !important;display:block}.demo-live-output *,.demo-live-output *::before,.demo-live-output *::after{border-color:transparent !important;}#live-json-block *,#live-json-block *::before,#live-json-block *::after{border-color:#262626 !important}.output-title{display:none;}.code-output-container{background-color:transparent;border-radius:4px;padding:0;margin-top:0;display:flex;flex-direction:column;gap:1.5rem}.digi-code-block-custom{--digi--code-block--background:transparent;--digi--code-block--max-height:auto;margin:0 !important;border:none !important;width:100%}.digi-code-block-custom::part(container){border:none !important;box-shadow:none !important;background:transparent !important;padding:0 !important;height:auto;border-top-color:#262626 !important;border-bottom-color:#262626 !important;margin:0 !important}.digi-code-block-custom::part(code){white-space:pre-wrap;height:auto;overflow:visible;padding:0 !important;background:transparent !important;border:none !important;border-top-color:#262626 !important;border-bottom-color:#262626 !important;margin:0 !important}.digi-code-block-custom::part(pre){border:none !important;margin:0 !important;padding:0 !important;border-top-color:#262626 !important;border-bottom-color:#262626 !important}.digi-code-block-custom::part(toolbar){border-color:#262626 !important;background:#262626 !important;border-top-color:#262626 !important;border-bottom-color:#262626 !important;margin:0 !important;padding:0 !important}#live-json-block::part(container),#live-json-block::part(code),#live-json-block::part(pre),#live-json-block::part(toolbar){border-color:#262626 !important;border-top-color:#262626 !important;border-bottom-color:#262626 !important;margin-top:0 !important;padding-top:0 !important}#live-json-block pre,#live-json-block code{margin-top:0 !important;padding-top:0 !important}.digi-code-block-custom::part(copy-button){display:none}.readme-content-area{font-family:'Open Sans', sans-serif;padding-left:0;padding-right:0}.readme-content-area h1,.readme-content-area h2,.readme-content-area h3{color:#212529;font-weight:600;margin-top:3rem}.readme-content-area p,.readme-content-area li{color:#343a40}.readme-content-area pre{background-color:#262626;color:#ffffff;padding:1.5rem;border-radius:4px}.readme-content-area pre code{background-color:transparent;padding:0}.readme-content-area code{font-family:monospace;background-color:rgba(0, 0, 0, 0.05);padding:0.2em 0.4em;border-radius:3px;font-size:0.9em}.readme-content-area img,.readme-content-area table{max-width:100%}table,digi-table{width:100%;border-collapse:collapse;margin-top:1rem}th,td{border:1px solid #dee2e6;padding:0.75rem;text-align:left}td:last-child{word-break:break-word;hyphens:auto}td:nth-child(3){word-break:break-word;min-width:92px}th{background-color:#f8f9fa}.section-spacing{margin-top:3rem}#copy-button{margin:0;--digi--button--padding-inline:0;--digi--button--padding-inline-start:0;--digi--button--padding-left:0}@media (min-width: 992px){.example-container{flex-direction:row;align-items:stretch;gap:0}.control-panel{width:350px;flex-shrink:0;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #dee2e6}.demo-area{flex-direction:row;flex-wrap:wrap;border-top-right-radius:0;border-right:none;row-gap:var(--digi--global--spacing--base);column-gap:var(--digi--global--spacing--largest-4);align-items:flex-start;align-content:flex-start;}.demo-visual-wrapper{flex:0 0 auto;width:100%;max-width:500px;}.demo-live-output{flex:1;min-width:300px;max-width:500px;margin-left:0;align-self:flex-start !important;height:auto !important}.code-output-container{border-bottom-right-radius:0}}.footer-email-link{text-decoration:none !important;color:inherit;font-weight:600}.footer-email-link:hover{text-decoration:underline !important}.digi-docs-home-main-quote-block{display:block;margin-top:3rem;width:100%}.digi-docs-home-main-quote-block::part(container){background-color:#f8fdf0 !important;}.digi-docs-home-main-quote-block .digi-quote__img{object-position:18% 30% !important}.quote-container{display:block;width:fit-content;padding:2rem 0;margin:0}@media (min-width: 992px){.quote-container{padding:4rem 0}}.tracks-info-section{margin-top:4rem;padding-top:2rem;border-top:1px solid #eee}.tracks-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.track-info-column{display:flex;flex-direction:column;gap:1rem}.track-info-column h2{margin:0 0 0.5rem 0;color:#006ebf}.track-info-column p{line-height:1.6;color:#333}@media (max-width: 1024px){.tracks-info-grid{grid-template-columns:1fr;gap:2rem}}.radiobutton-description{max-width:var(--digi--paragraph-width--medium);line-height:var(--digi--typography--label-description--line-height--desktop);font-size:var(--digi--typography--label-description--font-size--desktop);padding-left:2rem;font-family:var(--digi--global--typography--font-family--default, \"Open Sans\", Arial, sans-serif);margin-top:-0.5rem;margin-bottom:1rem;color:var(--digi--color--text--description, #5c5c5c)}"}},[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"]]]);function Re(){"undefined"!=typeof customElements&&["job-selector-demo","core-selector","digi-service-job-selector"].forEach((t=>{switch(t){case"job-selector-demo":customElements.get(e(t))||customElements.define(e(t),qe);break;case"core-selector":customElements.get(e(t))||s();break;case"digi-service-job-selector":customElements.get(e(t))||l()}}))}Re();const Ve=qe,Ye=Re;export{Ve as JobSelectorDemo,Ye as defineCustomElement}
@@ -0,0 +1 @@
1
+ import{transformTag as t,proxyCustomElement as e,HTMLElement as i,createEvent as s,h as a,Fragment as r}from"@stencil/core/internal/client";import{l as o,g as n,T as l,D as h,s as c,L as d,M as u,a as g,P as m,b as p,i as f,r as y,c as v}from"./search.engine.js";import{I as b}from"./types.js";import{d as w,A as S}from"./core-selector2.js";let k=null;const x={saveHistory(t){k=t;try{localStorage.setItem("job-selector_history",JSON.stringify(t)),o.debug("[HistoryService] saveHistory - History saved.")}catch(t){o.error("Kunde inte spara historik.",t)}},loadHistory(){if(k)return k;try{const t=localStorage.getItem("job-selector_history");if(t)return k=JSON.parse(t),k}catch(t){o.error("Kunde inte läsa historik.",t)}return k=[],k},clearHistory(){k=[];try{localStorage.removeItem("job-selector_history"),o.debug("[HistoryService] clearHistory - History cleared.")}catch(t){o.error("Kunde inte rensa historik.",t)}}};class C{callbacks;config;state={status:"loading"};taxonomyData=[];popularItems=[];searchEngine=null;debounceTimer;validationTimer;isTouched=!1;activeErrorType=null;constructor(t,e){this.callbacks=t,this.config=e}getState(){return this.state}getActiveErrorType(){return this.activeErrorType}updateConfig(t){this.config={...this.config,...t},void 0===t.required&&void 0===t.requireSelection||this.runValidation()}getTaxonomyData(){if(this.taxonomyData.length>0)return this.taxonomyData;const t=n();return t&&t.length>0&&(o.debug("[Controller] getTaxonomyData - Late initializing from registry"),this.taxonomyData=t,this.popularItems=this.computePopularItems(this.taxonomyData),this.searchEngine=new l(this.taxonomyData)),this.taxonomyData}destroy(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=void 0),this.validationTimer&&(clearTimeout(this.validationTimer),this.validationTimer=void 0)}async initialize(t){o.debug("[Controller] initialize - START",{hasInitialData:!!t}),this.updateState({status:"loading"});const e=t&&t.length>0?t:n();e&&e.length>0?(o.debug("[Controller] initialize - Loaded taxonomy from registry"),this.setStateToActive(e,"registry",(new Date).toISOString())):(o.warn("[Controller] initialize - No taxonomy found in registry. Has registerTaxonomy() been called?"),this.updateState({status:"error",message:"Kunde inte hitta yrkesdata. Kontrollera att komponenten är initierad korrekt."}))}handleFocus(){this.isTouched=!0}setStateToActive(t,e,i){this.taxonomyData=t,this.popularItems=this.computePopularItems(this.taxonomyData),this.searchEngine=new l(this.taxonomyData);const s={dataSource:e,dataSourceDate:i};this.updateState(this.config.enableMultiple?{status:"multiSelect",inputValue:"",selectedItems:[],suggestions:[],validation:"idle",...s}:{status:"searching",inputValue:"",suggestions:[],validation:"idle",...s})}handleInput(t){this.isTouched=!0,o.debug("[Controller] handleInput - Value:",t);const e="error"===this.state.validation||"from-error"===this.state.validationContext?"from-error":void 0;if(clearTimeout(this.debounceTimer),""!==t.trim()){switch(this.state.status){case"multiSelect":case"multiSelectShowingHistory":this.updateState({status:"multiSelect",inputValue:t,selectedItems:"selectedItems"in this.state?this.state.selectedItems:[],suggestions:"suggestions"in this.state?this.state.suggestions:"historyItems"in this.state?this.state.historyItems:[],validation:"idle",validationContext:e,dataSource:"dataSource"in this.state?this.state.dataSource:void 0,dataSourceDate:"dataSourceDate"in this.state?this.state.dataSourceDate:void 0});break;case"itemSelected":case"searching":case"showingHistory":this.updateState({status:"searching",inputValue:t,suggestions:"suggestions"in this.state?this.state.suggestions:"historyItems"in this.state?this.state.historyItems:[],validation:"idle",validationContext:e,dataSource:"dataSource"in this.state?this.state.dataSource:void 0,dataSourceDate:"dataSourceDate"in this.state?this.state.dataSourceDate:void 0});break;case"loading":case"error":return;default:return this.state}t.length>=this.config.minLength&&(this.debounceTimer=setTimeout((()=>this.performSearch(t)),h))}else this.updateState(this.config.enableMultiple?{status:"multiSelect",inputValue:"",selectedItems:"selectedItems"in this.state?this.state.selectedItems:[],suggestions:[],validation:"idle",validationContext:e,...this.getCommonState()}:{status:"searching",inputValue:"",suggestions:[],validation:"idle",validationContext:e,...this.getCommonState()}),this.showHistory()}performSearch(t){if(this.searchEngine)switch(this.state.status){case"searching":case"multiSelect":{const e=this.searchEngine.searchAsGeneric(t,this.config.maxResults).flatMap((t=>t.metadata?.originalResult?[t.metadata.originalResult]:[]));this.updateState({...this.state,suggestions:e});break}case"loading":case"error":case"itemSelected":case"showingHistory":case"multiSelectShowingHistory":return;default:return this.state}}addToHistory(t){if(!this.config.history)return;const e=x.loadHistory(),i=d.format(t.rawLabel,"",t.occupationLabel),s={...t,displaySegments:i,highlightedLabel:c(i)},a=e.filter((t=>t.id&&s.id?t.id!==s.id:t.rawLabel!==s.rawLabel)),r=[s,...a].slice(0,this.config.maxHistoryItems);x.saveHistory(r)}clearHistory(){x.clearHistory(),this.showHistory(!0)}computePopularItems(t,e=this.config.maxResults||u){if(!t||0===t.length)return[];if(!t.some((t=>"number"==typeof t.weight&&t.weight>0)))return t.slice(0,e);const i=[...t].sort(((t,e)=>(e.weight??0)-(t.weight??0))),s=new Set,a=[];for(const t of i){const i=t.occupation_name_preferred_label||t.preferred_label;if(s.has(i)||(s.add(i),a.push(t)),a.length===e)break}return a}showHistory(t=!1){if("loading"===this.state.status||"error"===this.state.status)return;if(!this.config.history)return;const e=x.loadHistory();let i=e,s=!1;0===e.length&&(!1===this.config.popular?i=[]:(0===this.popularItems.length&&this.taxonomyData.length>0&&(this.popularItems=this.computePopularItems(this.taxonomyData)),i=this.popularItems.map((t=>this.toSearchResult(t))),s=!0));const a=i.filter((t=>"ManualInput"===t.type?!this.config.requireSelection:this.taxonomyData.some((e=>e.id===t.id)))).map((t=>{const e=d.format(t.rawLabel,"",t.occupationLabel);return{...t,displaySegments:e,highlightedLabel:c(e)}})),{dataSource:r,dataSourceDate:o}=this.getCommonState(),n="inputValue"in this.state?this.state.inputValue:"";(t||""===n.trim()||"showingHistory"===this.state.status||"multiSelectShowingHistory"===this.state.status)&&this.updateState(this.config.enableMultiple?{status:"multiSelectShowingHistory",selectedItems:"selectedItems"in this.state?this.state.selectedItems:[],historyItems:a,inputValue:n,validation:"validation"in this.state?this.state.validation:"idle",validationContext:"error"===this.state.validation||"from-error"===this.state.validationContext?"from-error":void 0,dataSource:r,dataSourceDate:o,isPopularView:s}:{status:"showingHistory",historyItems:a,inputValue:n,validation:"validation"in this.state?this.state.validation:"idle",validationContext:"error"===this.state.validation||"from-error"===this.state.validationContext?"from-error":void 0,dataSource:r,dataSourceDate:o,isPopularView:s})}selectItem(t){o.debug("[Controller] selectItem",t),this.isTouched=!0,this.addToHistory(t);const e="error"===this.state.validation||"from-error"===this.state.validationContext?"from-error":void 0;switch(this.state.status){case"multiSelect":case"multiSelectShowingHistory":{const i="dataSource"in this.state?this.state.dataSource:void 0,s="dataSourceDate"in this.state?this.state.dataSourceDate:void 0,a="selectedItems"in this.state?this.state.selectedItems:[];if(a.findIndex((e=>e.id&&t.id?e.id===t.id:e.rawLabel===t.rawLabel))>-1)return;const r=[...a,t];this.updateState({...this.state,status:"multiSelect",selectedItems:r,inputValue:"",suggestions:[],validation:"idle",validationContext:e,dataSource:i,dataSourceDate:s}),this.callbacks.onEmitSelection(r.map((t=>this.toPublicSelection(t)))),this.showHistory(!0);break}case"searching":case"showingHistory":this.updateState({status:"itemSelected",selectedItem:t,inputValue:t.preferred_label,validation:"idle",validationContext:e,dataSource:"dataSource"in this.state?this.state.dataSource:void 0,dataSourceDate:"dataSourceDate"in this.state?this.state.dataSourceDate:void 0}),this.callbacks.onEmitSelection(this.toPublicSelection(t)),this.config.enableMultiple&&this.showHistory(!0);break;case"loading":case"error":break;case"itemSelected":this.updateState({...this.state,status:"itemSelected",selectedItem:t,inputValue:t.preferred_label,validation:"idle",validationContext:e,dataSource:"dataSource"in this.state?this.state.dataSource:void 0,dataSourceDate:"dataSourceDate"in this.state?this.state.dataSourceDate:void 0}),this.callbacks.onEmitSelection(this.toPublicSelection(t));break;default:o.warn("[Controller] selectItem - Unexpected state:",this.state)}this.runValidation()}clearSelection(){"itemSelected"===this.state.status&&(this.isTouched=!0,this.updateState({status:"searching",inputValue:this.state.inputValue||"",suggestions:[],validation:"idle",...this.getCommonState()}),this.callbacks.onEmitSelection([]),this.showHistory(),this.runValidation())}removeItem(t){switch(this.state.status){case"multiSelect":case"multiSelectShowingHistory":{const e=this.state.selectedItems.filter((e=>e.id&&t.id?e.id!==t.id:e.rawLabel!==t.rawLabel));this.isTouched=!0,this.updateState({...this.state,selectedItems:e}),this.callbacks.onEmitSelection(e.map((t=>this.toPublicSelection(t)))),""===("inputValue"in this.state?this.state.inputValue:"")&&this.showHistory(),this.runValidation();break}}}handleBlur(){if(this.isTouched=!0,"searching"===this.state.status){const t=(this.state.inputValue||"").trim();if(""!==t){const e=this.findExactMatch(t);if(e)return void this.selectItem(this.toSearchResult(e))}}switch(this.state.status){case"searching":case"showingHistory":this.updateState({...this.state,status:"searching",inputValue:"inputValue"in this.state?this.state.inputValue:"",suggestions:[]});break;case"multiSelect":case"multiSelectShowingHistory":this.updateState({...this.state,status:"multiSelect",inputValue:"inputValue"in this.state?this.state.inputValue:"",suggestions:[]});break;case"loading":case"error":case"itemSelected":break;default:return this.state}this.runValidation()}runValidation(t=!1){if(t&&(this.isTouched=!0),!this.isTouched)return!0;if("loading"===this.state.status||"error"===this.state.status)return!0;const e=this.checkHasValue();let i=!0,s=null;const a="searching"===this.state.status||"multiSelect"===this.state.status||"multiSelectShowingHistory"===this.state.status,r=""!==("inputValue"in this.state?this.state.inputValue:"").trim();a&&r?(i=!1,s="invalidInput"):this.config.required&&!e&&(i=!1,s="required"),this.activeErrorType=s;const o="error"===this.state.validation||"from-error"===this.state.validationContext;let n;switch(n=i?o&&e?"success":"idle":"invalidInput"===s||t||o?"error":"idle","success"===n&&(clearTimeout(this.validationTimer),this.validationTimer=setTimeout((()=>{const t="validation"in this.state&&"success"===this.state.validation;["itemSelected","multiSelect","multiSelectShowingHistory"].includes(this.state.status)&&t&&this.updateState({...this.state,validation:"idle",validationContext:void 0}),this.validationTimer=void 0}),3e3)),this.state.status){case"searching":case"showingHistory":case"multiSelect":case"multiSelectShowingHistory":this.updateState({...this.state,validation:n});break;case"itemSelected":"error"!==n&&this.updateState({...this.state,validation:n});break;default:return this.state}return this.callbacks.onEmitValidation({isValid:i,errorType:s}),i}selectItemById(t){if(!t||this.config.enableMultiple||!this.taxonomyData)return;const e=this.taxonomyData.find((e=>e.id===t));if(e){const t=this.toSearchResult(e);this.updateState({status:"itemSelected",selectedItem:t,inputValue:t.preferred_label,validation:"idle",dataSource:"dataSource"in this.state?this.state.dataSource:void 0,dataSourceDate:"dataSourceDate"in this.state?this.state.dataSourceDate:void 0})}this.runValidation()}selectItemsByIds(t){if(!t||!this.config.enableMultiple||!this.taxonomyData)return;const e=t.map((t=>this.taxonomyData.find((e=>e.id===t))));if(e.some((t=>!t)))return;const i=e.filter((t=>!!t)).map((t=>this.toSearchResult(t)));switch(this.state.status){case"multiSelect":case"multiSelectShowingHistory":this.updateState({...this.state,selectedItems:i})}this.runValidation()}setSelection(t){const e=[],i=t.map((t=>{if(null!==t.id){const i=this.taxonomyData.find((e=>e.id===t.id));return i?this.toSearchResult(i):void e.push(t.id)}return this.createManualInputItem(t.preferred_label)}));if(e.length>0)return{ok:!1,invalidIds:e};const s=i,a=this.getCommonState();if(this.config.enableMultiple)this.updateState({...this.state,status:"multiSelect",selectedItems:s,inputValue:"",suggestions:[],validation:"idle",...a});else if(1===s.length){const t=s[0];this.updateState({status:"itemSelected",selectedItem:t,inputValue:t.preferred_label,validation:"idle",...a})}else this.updateState({status:"searching",inputValue:"",suggestions:[],validation:"idle",...a});return this.runValidation(),{ok:!0,selection:s.map((t=>this.toPublicSelection(t)))}}editSelection(){const t=this.state.selectedItem;if("itemSelected"!==this.state.status||!t||!this.searchEngine)return;const e=t.displayLabel,{dataSource:i,dataSourceDate:s}=this.state,a=this.searchEngine.searchAsGeneric(e,this.config.maxResults).flatMap((t=>t.metadata?.originalResult?[t.metadata.originalResult]:[]));this.updateState({status:"searching",inputValue:e,suggestions:a,validation:"idle",dataSource:i,dataSourceDate:s})}checkHasValue(){switch(this.state.status){case"itemSelected":return!0;case"multiSelect":case"multiSelectShowingHistory":return this.state.selectedItems.length>0;case"searching":case"showingHistory":return!this.config.requireSelection&&""!==("inputValue"in this.state?this.state.inputValue:"").trim();case"loading":case"error":return!1;default:return this.state}}getCommonState(){return{dataSource:"dataSource"in this.state?this.state.dataSource:void 0,dataSourceDate:"dataSourceDate"in this.state?this.state.dataSourceDate:void 0}}resetMultiSelection(){const t=this.getCommonState();this.updateState({...this.state,status:"multiSelect",selectedItems:[],inputValue:"",suggestions:[],validation:"idle",...t}),this.callbacks.onEmitSelection([])}updateState(t){this.state=t,this.callbacks.onStateChange(t)}toSearchResult(t){return{...t,rawLabel:t.preferred_label,displayLabel:t.occupation_name_preferred_label?`${t.preferred_label} (${t.occupation_name_preferred_label})`:t.preferred_label,highlightedLabel:t.preferred_label,score:3,occupationLabel:t.occupation_name_preferred_label,occupationId:t.occupation_name_id,ssyk_level_4_id:t.ssyk_level_4_id,ssyk_code_2012:t.ssyk_code_2012}}toPublicSelection(t){return g.toPublicSelection(t)}createManualInputItem(t){return{id:"",type:"ManualInput",preferred_label:t,rawLabel:t,displayLabel:t,highlightedLabel:t,score:1}}findExactMatch(t){return this.taxonomyData.find((e=>(e.occupation_name_preferred_label?`${e.preferred_label} (${e.occupation_name_preferred_label})`:e.preferred_label).toLowerCase()===t.toLowerCase()||e.preferred_label.toLowerCase()===t.toLowerCase()))}handleFreeTextSelection(t){if(!t)return;this.isTouched=!0;const e=this.findExactMatch(t);this.selectItem(e?this.toSearchResult(e):this.createManualInputItem(t))}loadMore(){this.config.maxResults+=10;const t="inputValue"in this.state?this.state.inputValue:"";t&&this.performSearch(t)}resetSearch(){switch(this.state.status){case"searching":case"multiSelect":this.updateState({...this.state,inputValue:"",suggestions:[]}),this.showHistory(!0);break;case"showingHistory":case"multiSelectShowingHistory":this.updateState({...this.state,inputValue:""});break;case"itemSelected":this.clearSelection()}}}o.setLevel(o.levels.SILENT);const I=/^[123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]{4}_[123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]{3}_[123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]{3}$/,H=e(class t extends i{get hostElement(){return this}internals;name="yrkesvaljaren";taxonomyUrl;placeholder=m;label="Välj yrke";disabled=!1;enableMultiple=!1;showSearchIcon=!0;errorMessage;labelDescription;required=!1;manualInput=!1;history=!0;popular=!0;maxHistoryItems=10;enableSelectionAnimation=!1;afFocused=!1;populateInputOnSelect=!1;maxVisibleRows;minLength=p;maxResults=10;get requireSelection(){return!this.manualInput}size="medium";constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.afJobSelectedEmitter=s(this,"afJobSelected",7),this.dataLoadFailedEmitter=s(this,"afJobDataLoadFailed",7),this.validationChangeEmitter=s(this,"afJobValidationChange",7),this.internals=this.attachInternals(),o.debug("[JobSelector] Constructor - enableMultiple:",this.enableMultiple)}state={status:"loading"};activeErrorType=null;animatingItemId=null;animationTimer;cloneSelection(t){return t.map((t=>null===t.id?{...t}:{...t,related:t.related?{...t.related}:void 0}))}rebuildValidJobIds(){const t=this.controller?.getTaxonomyData?.()??this.taxonomyData??[];this.validJobIds=new Set(t.map((t=>t.id)).filter(Boolean))}validateSelectionCandidate(t){const e="string"==typeof t?[t]:Array.isArray(t)?t:null;if(!e)return{ok:!1,reason:"invalid-input"};const i=e.some((t=>"string"==typeof t)),s=e.some((t=>"object"==typeof t&&null!==t));if(i&&s||e.some((t=>"string"!=typeof t&&("object"!=typeof t||null===t))))return{ok:!1,reason:"invalid-input"};const a=[],r=[],o=[];for(const t of e){if("string"==typeof t){const e=t.trim();if(!e)return{ok:!1,reason:"invalid-input"};if(I.test(e))r.push(e),a.push({id:e});else{if(!this.manualInput)return{ok:!1,reason:"manual-input-disabled"};o.push(e),a.push({type:"manual-input",id:null,preferred_label:e})}continue}if(!t||"object"!=typeof t)return{ok:!1,reason:"invalid-input"};const e=t;if("string"==typeof e.id){const t=e.id.trim();if(!t||"job-title"!==e.type&&"occupation-name"!==e.type||"string"!=typeof e.preferred_label||!e.preferred_label.trim())return{ok:!1,reason:"invalid-input"};if(void 0!==e.related){const t=e.related;if(!t||"occupation-name"!==t.type||"string"!=typeof t.id||!t.id.trim()||"string"!=typeof t.preferred_label||!t.preferred_label.trim())return{ok:!1,reason:"invalid-input"}}r.push(t),a.push({id:t})}else{if(null!==e.id||"manual-input"!==e.type)return{ok:!1,reason:"invalid-input"};{if("string"!=typeof e.preferred_label||!e.preferred_label.trim())return{ok:!1,reason:"invalid-input"};if(!this.manualInput)return{ok:!1,reason:"manual-input-disabled"};const t=e.preferred_label.trim();o.push(t),a.push({type:"manual-input",id:null,preferred_label:t})}}}if(!this.enableMultiple&&a.length>1)return{ok:!1,reason:"multiple-disabled"};if(new Set(r).size!==r.length)return{ok:!1,reason:"duplicate-taxonomy-id"};if(new Set(o).size!==o.length)return{ok:!1,reason:"duplicate-manual-label"};const n=r.filter((t=>!this.validJobIds.has(t)));return n.length>0?{ok:!1,reason:"unknown-id",invalidIds:n}:{ok:!0,selection:a}}describeSelectionRejection(t){switch(t.reason){case"invalid-input":return"setSelection accepterar en sträng, en homogen strängarray eller en array med fullständiga JobSelectionItem-objekt.";case"data-unavailable":return"setSelection kan inte användas eftersom yrkesdata inte kunde laddas.";case"duplicate-taxonomy-id":return"selection får inte innehålla dubbla taxonomi-id:n.";case"duplicate-manual-label":return"selection får inte innehålla dubbla manuella labels.";case"multiple-disabled":return'flera värden kräver af-enable-multiple="true".';case"manual-input-disabled":return'manual-val kräver af-manual-input="true".';case"unknown-id":return`okända Concept ID:n: ${t.invalidIds?.join(", ")}`}}errorCodeForRejection(t){switch(t){case"unknown-id":return"unknown-id";case"manual-input-disabled":return"manual-input-disabled";case"multiple-disabled":return"multiple-disabled";default:return"invalid-input"}}rejectSelection(t,e){const i=this.describeSelectionRejection(e);return console.error(`[Yrkesväljaren] Ogiltig selection: ${i} Värdet accepterades inte; senaste giltiga val behålls.`,{selection:t,previousSelection:this.lastAcceptedSelection}),this.activeErrorType="invalidInput",this.validationChangeEmitter.emit({isValid:!1,errorType:"invalidInput"}),this.updateValidity(!1),new b(i,this.errorCodeForRejection(e.reason),e.invalidIds)}syncAcceptedSelection(t){const e=this.cloneSelection(t);if(this.lastAcceptedSelection=e,"invalidInput"===this.activeErrorType){const t=e.length>0||!this.required,i=t?null:"required";this.activeErrorType=i,this.validationChangeEmitter.emit({isValid:t,errorType:i}),this.updateValidity(t)}}applySelection(t){if(!this.controller)throw this.rejectSelection(t,{ok:!1,reason:"data-unavailable"});const e=this.validateSelectionCandidate(t);if(!e.ok)throw this.rejectSelection(t,e);const i=this.controller.setSelection(e.selection);if(!i.ok)throw this.rejectSelection(t,{ok:!1,reason:"unknown-id",invalidIds:i.invalidIds});return this.syncAcceptedSelection(i.selection),this.cloneSelection(i.selection)}watchRequired(t){this.controller.updateConfig({required:t})}watchManualInput(t){this.controller.updateConfig({requireSelection:!t})}watchHistory(t){this.controller.updateConfig({history:t})}watchPopular(t){this.controller.updateConfig({popular:t})}watchEnableMultiple(t){this.controller.updateConfig({enableMultiple:t})}watchDisabled(t){t&&(this.afFocused=!1)}watchTaxonomyData(t){this.controller&&t&&t.length>0&&this.controller.initialize(t).then((()=>{this.rebuildValidJobIds(),this.restoreAcceptedSelectionAfterDataUpdate()}))}taxonomyData=[];afJobSelectedEmitter;syncFormValue(){if(this.state)if(this.enableMultiple){const t="multiSelect"===this.state.status||"multiSelectShowingHistory"===this.state.status?this.state.selectedItems:[],e=new FormData;t.forEach((t=>{e.append(this.name,t.id||t.rawLabel)})),this.internals.setFormValue(e)}else{const t="itemSelected"===this.state.status?this.state.selectedItem:null;this.internals.setFormValue(t?t.id||t.rawLabel:null)}}handleFormValidationSync(t){this.updateValidity(t.detail.isValid)}dataLoadFailedEmitter;validationChangeEmitter;static nextId=0;componentId="job-selector-"+t.nextId++;observer;controller;validJobIds=new Set;lastAcceptedSelection=[];restoreAcceptedSelectionAfterDataUpdate(){if(0===this.lastAcceptedSelection.length)return;const t=this.controller.setSelection(this.lastAcceptedSelection);t.ok?this.syncAcceptedSelection(t.selection):this.rejectSelection(this.lastAcceptedSelection,{ok:!1,reason:"unknown-id",invalidIds:t.invalidIds})}async componentWillLoad(){o.setLevel(o.levels.WARN);const t=n();if(!(this.taxonomyData&&this.taxonomyData.length>0||t&&t.length>0)){this.state={status:"loading"};try{const t=this.taxonomyUrl??"https://d3hng02m5bee8m.cloudfront.net/yrkesvaljaren/latest.json";o.debug(`[JobSelector] Hämtar yrkesdata från: ${t}`);const e=await fetch(t);if(!e.ok)throw new Error(`Kunde inte ladda yrkesdata från ${t}: ${e.status} ${e.statusText}`);const i=await e.json();if(!f(i))throw new Error("Yrkesdatan har ett ogiltigt format.");y(i),o.debug("[JobSelector] Data-laddning lyckades.")}catch(t){return o.error("[JobSelector] Fel vid data-laddning:",t),this.state={status:"error",message:"Kunde inte ladda yrkesdata."},void this.dataLoadFailedEmitter.emit({error:t instanceof Error?t:new Error(String(t))})}}this.controller=new C({onStateChange:t=>{this.state={...t},this.syncFormValue()},onEmitSelection:t=>{const e=t?Array.isArray(t)?t:[t]:[];this.syncAcceptedSelection(e),this.afJobSelectedEmitter.emit(e)},onEmitValidation:t=>{this.activeErrorType=t.errorType,this.validationChangeEmitter.emit(t)},onEmitDataLoadFailed:t=>{this.dataLoadFailedEmitter.emit({error:t})},onEmitStatusChange:()=>{}},{enableMultiple:this.enableMultiple,required:this.required,requireSelection:this.requireSelection,history:this.history,popular:this.popular,maxHistoryItems:this.maxHistoryItems,minLength:this.minLength,maxResults:this.maxResults}),await this.controller.initialize(this.taxonomyData),this.taxonomyData=this.controller.getTaxonomyData(),this.rebuildValidJobIds(),"invalidInput"===this.activeErrorType?this.updateValidity(!1):this.required&&0===this.lastAcceptedSelection.length?this.internals.setValidity({customError:!0},this.errorMessage||"Välj ett yrke från listan."):this.internals.setValidity({})}componentDidLoad(){this.handleHashFocus()}disconnectedCallback(){this.observer&&this.observer.disconnect(),this.controller&&this.controller.destroy(),clearTimeout(this.animationTimer),this.animationTimer=void 0}handleHashFocus(){const t=window.location.hash;if(!t)return;const e=t.substring(1),i=this.hostElement.getAttribute("id");i&&e===i&&(this.setFocus(),this.hostElement.scrollIntoView({behavior:"smooth",block:"center"}),history.replaceState(null,"",window.location.pathname+window.location.search))}handleInput(t){this.afFocused=!0,this.controller.handleInput(t.detail)}handleCsSelect(t){this.afFocused=!0;const e=t.detail;this.enableSelectionAnimation&&(this.animatingItemId=e.id,clearTimeout(this.animationTimer),this.animationTimer=setTimeout((()=>{this.animatingItemId=null,this.animationTimer=void 0}),600));const i=e.metadata?.original;i&&"displayLabel"in i?this.controller.selectItem(i):"ManualInput"===e.metadata?.type?this.controller.handleFreeTextSelection(e.label):this.controller.selectItem({id:e.id,type:"unknown",preferred_label:e.label,rawLabel:e.label,displayLabel:e.label,highlightedLabel:e.highlightedLabel||e.label,score:1})}handleCsClear(){this.controller.resetSearch()}handleCsClearHistory(){this.controller.clearHistory()}handleCsRequestHistory(){this.controller.showHistory()}handleCsLoadMore(){this.controller.loadMore()}handleCsRemoveItem(t){const e=t.detail,i=e.metadata?.original;i&&"displayLabel"in i&&this.controller.removeItem(i)}handleCsFocus(){this.afFocused=!0,this.controller.handleFocus()}handleCsBlur(){this.afFocused=!1,this.controller.handleBlur(),this.validate()}handleCsEditSelection(){this.afFocused=!0,this.controller.editSelection()}async updateData(){o.debug("[JobSelector] updateData called"),await this.controller.initialize(),this.taxonomyData=this.controller.getTaxonomyData(),this.rebuildValidJobIds(),this.restoreAcceptedSelectionAfterDataUpdate()}async setSelection(t){return this.applySelection(t)}async setFocus(){const t=this.hostElement.shadowRoot?.querySelector("core-selector");t&&"function"==typeof t.setFocus&&await t.setFocus()}async validate(t=!1){const e=await this.controller.runValidation(t);return this.updateValidity(e),e}async checkValidity(){return this.internals.checkValidity()}async reportValidity(){return this.internals.reportValidity()}async getValidity(){return this.internals.validity}async getValidationMessage(){return this.internals.validationMessage}updateValidity(t){t?this.internals.setValidity({}):this.internals.setValidity({customError:!0},"invalidInput"===this.activeErrorType?this.errorMessage||"Komponenten har fått ett ogiltigt värde.":this.errorMessage||"Välj ett yrke från listan.")}_mapSearchResultToGenericItem(t){const e=this.enableMultiple?("multiSelect"===this.state.status||"multiSelectShowingHistory"===this.state.status)&&this.state.selectedItems.some((e=>e.id&&t.id?e.id===t.id:e.rawLabel===t.rawLabel)):"itemSelected"===this.state.status&&this.state.selectedItem?.id===t.id;return{id:t.id,label:t.displayLabel,isSelected:this.animatingItemId===t.id||e,highlightedLabel:t.highlightedLabel,displaySegments:t.displaySegments,group:"occupation-name"===t.type?"Yrkesgrupper":"Yrkesbenämningar",metadata:{original:t}}}_mapStateToSelectorState(t){let e,i,s,a,r="loading",o="",n=[],l=[],h="idle",c=this.errorMessage||"";switch("validation"in t&&t.validation&&(h=t.validation,"error"===t.validation?"required"===this.activeErrorType||"invalidInput"===this.activeErrorType?c=this.errorMessage||"Välj ett yrke från listan.":this.errorMessage&&(c=this.errorMessage):"success"===t.validation&&(c="Tack!")),"message"in t&&t.message&&(c=t.message),"validationContext"in t&&(i=t.validationContext),t.status){case"loading":r="loading";break;case"error":r="error";break;case"searching":r="searching",o=t.inputValue,n=t.suggestions.map((t=>this._mapSearchResultToGenericItem(t)));break;case"showingHistory":r="searching",o=t.inputValue||"",n=t.historyItems.map((t=>this._mapSearchResultToGenericItem(t)));break;case"itemSelected":r="itemSelected",e=this._mapSearchResultToGenericItem(t.selectedItem),e.highlightedLabel=v(e.label),o=t.inputValue||"";break;case"multiSelect":r="multiSelect",o=t.inputValue,n=t.suggestions.map((t=>this._mapSearchResultToGenericItem(t))),l=t.selectedItems.map((t=>this._mapSearchResultToGenericItem(t)));break;case"multiSelectShowingHistory":r="multiSelect",o=t.inputValue||"",n=t.historyItems.map((t=>this._mapSearchResultToGenericItem(t))),l=t.selectedItems.map((t=>this._mapSearchResultToGenericItem(t)))}const d="showingHistory"===t.status||"multiSelectShowingHistory"===t.status;return"multiSelect"===r||"itemSelected"===r||"searching"===r?(l.length>0&&(n=n.filter((t=>!l.some((e=>e.id&&t.id?e.id===t.id:e.label===t.label))))),d&&n.length>0?t.isPopularView?(s="Populära sökningar",a=!1):(a=!0,s=void 0):(s=void 0,a=!1)):(s=void 0,a=!1),{status:r,inputValue:o,suggestions:n,selectedItem:e,selectedItems:l,validation:h,validationContext:i,message:c,listHeader:s,showHistoryHeader:a,isHistoryView:d}}render(){const t=this._mapStateToSelectorState(this.state),e={disabled:this.disabled,placeholder:this.placeholder,minLength:this.minLength,maxResults:this.maxResults,enableMultiple:this.enableMultiple,showSearchIcon:this.showSearchIcon,requireSelection:this.requireSelection,size:this.size,enableSelectionAnimation:this.enableSelectionAnimation,populateInputOnSelect:this.populateInputOnSelect,maxVisibleRows:this.maxVisibleRows,manualInputBehavior:"select",showHistoryHeader:this.history&&!t.listHeader,listHeader:t.listHeader,enableInfiniteScroll:!0};return a("div",{key:"11b208182109be21dcf759010cb87f1bbd10b618",class:"job-selector-wrapper"},"error"===this.state.status?a("div",{class:"error-message"},a(S,{variant:"error",role:"alert"},this.state.message||"Ett fel uppstod.")):a(r,null,a("core-selector",{id:this.componentId,componentId:this.componentId,state:t,config:e,label:this.label,labelDescription:this.labelDescription,size:this.size,afFocused:this.afFocused})))}static get delegatesFocus(){return!0}static get formAssociated(){return!0}static get watchers(){return{required:[{watchRequired:0}],manualInput:[{watchManualInput:0}],history:[{watchHistory:0}],popular:[{watchPopular:0}],enableMultiple:[{watchEnableMultiple:0}],disabled:[{watchDisabled:0}],taxonomyData:[{watchTaxonomyData:0}]}}static get style(){return":host{--digi--grayscale-0:#ffffff;--digi--grayscale-50:#fbfbfb;--digi--grayscale-100:#f4f4f4;--digi--grayscale-200:#ededed;--digi--grayscale-300:#e4e4e4;--digi--grayscale-400:#dddddd;--digi--grayscale-500:#cacaca;--digi--grayscale-600:#acacac;--digi--grayscale-700:#757575;--digi--grayscale-800:#5c5c5c;--digi--grayscale-900:#333333;--digi--grayscale-1000:#000000;--digi--global--color--cta--link--base:#1616b2;--digi--global--color--function--danger--base:#da0000;--digi--global--color--function--success--base:#008a20;--digi--global--color--function--success--lightest-3:#d4edda;--digi--global--color--function--warning--base:#ffe200;--digi--color--text--primary:var(--digi--grayscale-900);--digi--color--text--secondary:var(--digi--grayscale-700);--digi--color--text--link:var(--digi--global--color--cta--link--base);--digi--color--icons--success:var(--digi--global--color--function--success--base);--digi--color--icons--warning:#8a7a00;--digi--color--icons--danger:var(--digi--global--color--function--danger--base);--digi--global--typography--font-family--default:\"Open Sans\", Arial, sans-serif;--digi--global--typography--font-size--base:1rem;--digi--global--typography--font-size--small:0.875rem;--digi--global--typography--font-weight--regular:400;--digi--global--typography--font-weight--semibold:600;--digi--global--typography--font-weight--bold:700;--digi--global--typography--line-height--base:1.5;--digi--typography--label--font-size--desktop:1rem;--digi--typography--label--font-weight--desktop:600;--digi--typography--label--line-height--desktop:1.5;--digi--typography--label-description--font-size--desktop:1rem;--digi--typography--label-description--line-height--desktop:1.5;--digi--typography--tag--font-size--desktop:0.875rem;--digi--gutter--icon:0.625rem;--digi--gutter--smaller:0.75rem;--digi--gutter--small:0.875rem;--digi--gutter--medium:1rem;--digi--border-width--primary:1px;--digi--border-style--primary:solid;--digi--border-radius--primary:0;--digi--border-radius--secondary:6px;--af-tag-color:#091d54;--af-tag-hover-background:#ddf1fc}.af-form-label{color:var(--digi--color--text--primary);display:flex;flex-direction:column;font-family:var(--digi--global--typography--font-family--default);font-size:var(--digi--typography--label--font-size--desktop);margin-bottom:0.5rem}.af-form-label__label{cursor:pointer;display:block;font-weight:var(--digi--typography--label--font-weight--desktop);line-height:var(--digi--typography--label--line-height--desktop)}.af-form-label__description{display:block;font-size:var(--digi--typography--label-description--font-size--desktop);line-height:var(--digi--typography--label-description--line-height--desktop);max-width:35rem}.af-validation-message{align-items:center;display:flex;flex-wrap:wrap}.af-validation-message__icon{flex:0 0 auto;height:1.25em;margin-inline-end:var(--digi--gutter--icon);width:1.25em}.af-validation-message__icon--success,.af-validation-message__icon--error{background-color:var(--af-validation-icon-color, currentColor);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.af-validation-message__icon--success{--af-validation-icon-color:var(--digi--color--icons--success);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25'%3E%3Cpath d='M25 12.5C25 19.404 19.404 25 12.5 25S0 19.404 0 12.5 5.596 0 12.5 0 25 5.596 25 12.5zm-13.946 6.619l9.274-9.275a.806.806 0 000-1.14l-1.14-1.14a.806.806 0 00-1.14 0l-7.564 7.563-3.531-3.531a.807.807 0 00-1.14 0l-1.141 1.14a.806.806 0 000 1.14l5.242 5.243a.806.806 0 001.14 0z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25'%3E%3Cpath d='M25 12.5C25 19.404 19.404 25 12.5 25S0 19.404 0 12.5 5.596 0 12.5 0 25 5.596 25 12.5zm-13.946 6.619l9.274-9.275a.806.806 0 000-1.14l-1.14-1.14a.806.806 0 00-1.14 0l-7.564 7.563-3.531-3.531a.807.807 0 00-1.14 0l-1.141 1.14a.806.806 0 000 1.14l5.242 5.243a.806.806 0 001.14 0z'/%3E%3C/svg%3E\")}.af-validation-message__icon--error{--af-validation-icon-color:var(--digi--color--icons--danger);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M34.4328058,0 C35.5494848,0 36.5900526,0.609146757 37.1483921,1.58958113 L47.5812454,19.9104189 C48.1395849,20.8909496 48.1395849,22.1090504 47.5812454,23.0895811 L37.1483921,41.4104189 C36.5900526,42.3908532 35.5494848,43 34.4328058,43 L13.5671942,43 C12.4505152,43 11.4099474,42.3908532 10.8516079,41.4104189 L0.41875464,23.0895811 C-0.13958488,22.1090504 -0.13958488,20.8909496 0.41875464,19.9104189 L10.8516079,1.58958113 C11.4099474,0.609146757 12.4505152,0 13.5671942,0 Z M18.6736823,12.3728178 C18.2711762,11.964729 17.6203819,11.964729 17.2178757,12.3728178 L15.2825964,14.334939 C14.8800903,14.7430278 14.8800903,15.4028485 15.2825964,15.8109373 L20.6089616,21.2111779 L15.2825964,26.6114185 C14.8800903,27.0195074 14.8800903,27.6793281 15.2825964,28.0874169 L17.2178757,30.049538 C17.6203819,30.4576269 18.2711762,30.4576269 18.6736823,30.049538 L24.0000475,24.6492974 L29.3264127,30.049538 C29.7289188,30.4576269 30.3797132,30.4576269 30.7822193,30.049538 L32.7174986,28.0874169 C33.1200048,27.6793281 33.1200048,27.0195074 32.7174986,26.6114185 L27.3911334,21.2111779 L32.7174986,15.8109373 C33.1200048,15.4028485 33.1200048,14.7430278 32.7174986,14.334939 L30.7822193,12.3728178 C30.3797132,11.964729 29.7289188,11.964729 29.3264127,12.3728178 L24.0000475,17.7730584 Z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M34.4328058,0 C35.5494848,0 36.5900526,0.609146757 37.1483921,1.58958113 L47.5812454,19.9104189 C48.1395849,20.8909496 48.1395849,22.1090504 47.5812454,23.0895811 L37.1483921,41.4104189 C36.5900526,42.3908532 35.5494848,43 34.4328058,43 L13.5671942,43 C12.4505152,43 11.4099474,42.3908532 10.8516079,41.4104189 L0.41875464,23.0895811 C-0.13958488,22.1090504 -0.13958488,20.8909496 0.41875464,19.9104189 L10.8516079,1.58958113 C11.4099474,0.609146757 12.4505152,0 13.5671942,0 Z M18.6736823,12.3728178 C18.2711762,11.964729 17.6203819,11.964729 17.2178757,12.3728178 L15.2825964,14.334939 C14.8800903,14.7430278 14.8800903,15.4028485 15.2825964,15.8109373 L20.6089616,21.2111779 L15.2825964,26.6114185 C14.8800903,27.0195074 14.8800903,27.6793281 15.2825964,28.0874169 L17.2178757,30.049538 C17.6203819,30.4576269 18.2711762,30.4576269 18.6736823,30.049538 L24.0000475,24.6492974 L29.3264127,30.049538 C29.7289188,30.4576269 30.3797132,30.4576269 30.7822193,30.049538 L32.7174986,28.0874169 C33.1200048,27.6793281 33.1200048,27.0195074 32.7174986,26.6114185 L27.3911334,21.2111779 L32.7174986,15.8109373 C33.1200048,15.4028485 33.1200048,14.7430278 32.7174986,14.334939 L30.7822193,12.3728178 C30.3797132,11.964729 29.7289188,11.964729 29.3264127,12.3728178 L24.0000475,17.7730584 Z'/%3E%3C/svg%3E\")}.af-validation-message__icon--warning{background:center / contain no-repeat url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='6.75' fill='%23333'/%3E%3Cpath d='m18 9c0 4.9717-4.0298 9-9 9-4.9702 0-9-4.0283-9-9 0-4.9688 4.0298-9 9-9 4.9702 0 9 4.0312 9 9zm-9 1.8145c-0.92196 0-1.6694 0.7474-1.6694 1.6694 0 0.92196 0.7474 1.6694 1.6694 1.6694s1.6694-0.7474 1.6694-1.6694c0-0.92196-0.7474-1.6694-1.6694-1.6694zm-1.3157-1.065c0.012593 0.23095 0.20355 0.41175 0.43483 0.41175h1.7618c0.23128 0 0.42224-0.1808 0.43483-0.41175l0.2692-4.9355c0.013609-0.24946-0.18501-0.45922-0.43483-0.45922h-2.3002c-0.24982 0-0.4484 0.20976-0.43479 0.45922l0.2692 4.9355z' fill='%23FFE200'/%3E%3C/svg%3E\");position:relative;top:3px}.af-validation-message__text{color:var(--digi--color--text--primary);flex:1;font-family:var(--digi--global--typography--font-family--default);font-size:var(--digi--typography--tag--font-size--desktop);transform:translateY(1px)}.af-tag{display:block;max-width:100%;min-width:0}.af-tag__button{align-items:center;background:var(--digi--grayscale-0);border:var(--digi--border-width--primary) var(--digi--border-style--primary) var(--af-tag-color);border-radius:var(--digi--border-radius--secondary);color:var(--af-tag-color);cursor:pointer;display:inline-flex;font-family:var(--digi--global--typography--font-family--default);font-size:0.875rem;font-weight:var(--digi--global--typography--font-weight--semibold);gap:10px;height:auto;max-width:100%;min-height:unset;min-width:0;padding:6px 8px;text-align:left;white-space:normal}.af-tag__button:hover{background:var(--af-tag-hover-background)}.af-tag__button:focus-visible{background:var(--af-tag-hover-background);border-color:var(--af-tag-color);outline:2px solid var(--digi--grayscale-1000);outline-offset:2px;box-shadow:0 0 0 5px var(--digi--grayscale-0)}.af-tag__button:active{background:var(--af-tag-hover-background)}.af-tag__text{display:inline-block;max-width:100%;min-width:0;white-space:normal}.af-tag__text--break{overflow-wrap:anywhere;word-break:break-word}.af-tag__remove-icon{flex:0 0 auto;height:1em;min-height:0 !important;width:1em}:host{--yrkesvaljaren-width:var(--af-width, 100%);--yrkesvaljaren-min-width:var(--af-min-width, 200px);--yrkesvaljaren-max-width:var(--af-max-width, none);--yrkesvaljaren-height:var(--af-height, auto);--yrkesvaljaren-min-height:var(--af-min-height, auto);--yrkesvaljaren-max-height:var(--af-max-height, none);--selector-width:var(--yrkesvaljaren-width);--selector-min-width:var(--yrkesvaljaren-min-width);--selector-max-width:var(--yrkesvaljaren-max-width);--selector-height:var(--yrkesvaljaren-height);--selector-min-height:var(--yrkesvaljaren-min-height);--selector-max-height:var(--yrkesvaljaren-max-height);--selector-font-family:var(--global-font-family, 'Open Sans', sans-serif);--selector-font-size:var(--sok-font-size, 1rem);--selector-text-color:var(--sok-text-color, #212529);--selector-placeholder-color:var(--sok-placeholder-color, #6c757d);--selector-border-color:var(--sok-border-color, #d1d5db);--selector-focus-border-color:var(--sok-focus-border-color, #86b7fe);--selector-focus-shadow:var(--sok-focus-shadow, 0 0 0 0.25rem rgba(13, 110, 253, 0.25));--selector-background-color:var(--sok-background-color, #fff);--selector-icon-color:var(--sok-icon-color, #6c757d);--selector-clear-button-color:var(--sok-clear-button-color, #6c757d);--selector-clear-button-hover-color:var(--sok-clear-button-hover-color, #212529);--selector-suggestion-background-color:var(--sok-suggestion-background-color, #fff);--selector-suggestion-border-color:var(--sok-suggestion-border-color, #ced4da);--selector-suggestion-hover-background:var(--sok-suggestion-hover-background, #e9ecef);--selector-suggestion-active-background:var(--sok-suggestion-active-background, #dde4eb);--selector-suggestion-text-color:var(--sok-suggestion-text-color, #212529);--selector-suggestion-highlight-weight:var(--sok-suggestion-highlight-weight, bold);--selector-error-color:var(--sok-error-color, #dc3545);--selector-loading-color:var(--sok-loading-color, #6c757d);display:flex;flex-direction:column;width:var(--yrkesvaljaren-width);min-width:var(--yrkesvaljaren-min-width);max-width:var(--yrkesvaljaren-max-width);height:var(--yrkesvaljaren-height);min-height:var(--yrkesvaljaren-min-height);max-height:var(--yrkesvaljaren-max-height);position:relative}:host([af-size=\"small\"]){--cs-size:small;--selector-container-min-height:32px;--selector-padding-y:2px;--selector-icon-size:1em;--selector-gap:4px}:host([af-size=\"medium\"]){--selector-container-min-height:40px;--selector-padding-y:6px}:host([af-size=\"large\"]){--selector-container-min-height:48px;--selector-padding-y:10px;--selector-icon-size:1.25em;--selector-gap:8px}*{box-sizing:border-box}.yrkesvaljaren-wrapper{display:flex;flex-direction:column;flex:1;min-height:inherit}core-selector{margin-top:0.5rem}.status-message{margin-top:0.5rem;font-size:0.9em;font-style:italic;color:var(--sok-loading-color, #6c757d)}.history-header{font-size:0.875rem;color:var(--digi--grayscale-700, #757575);border-bottom:1px solid var(--selector-suggestion-border-color, #ced4da);margin-bottom:0px}.history-header a{color:inherit;text-decoration:underline}.history-header a:hover{color:var(--digi--global--color--cta--link--base, #1616B2)}"}},[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}]}]);function V(){"undefined"!=typeof customElements&&["digi-service-job-selector","core-selector"].forEach((e=>{switch(e){case"digi-service-job-selector":customElements.get(t(e))||customElements.define(t(e),H);break;case"core-selector":customElements.get(t(e))||w()}}))}V();export{H as J,V as d}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface NeobrutalSearch extends Components.NeobrutalSearch, HTMLElement {}
4
+ export const NeobrutalSearch: {
5
+ prototype: NeobrutalSearch;
6
+ new (): NeobrutalSearch;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{transformTag as e,proxyCustomElement as t,HTMLElement as o,h as n}from"@stencil/core/internal/client";import{g as a,T as i}from"./search.engine.js";const r=t(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}get el(){return this}engine=null;results=[];inputValue="";isLoading=!0;error="";selectedItem=null;isFlipped=!1;async componentWillLoad(){try{console.log("[NeobrutalSearch] Initializing...");const e=a();this.engine=new i(e),this.isLoading=!1}catch(e){console.error("[NeobrutalSearch] Init failed:",e),this.error="DATA FAILURE",this.isLoading=!1}}componentDidUpdate(){this.isFlipped&&this.highlightCode()}highlightCode(){const e=window.hljs;e&&this.el?.shadowRoot&&this.el.shadowRoot.querySelectorAll("pre code").forEach((t=>{e.highlightElement(t)}))}handleInput(e){const t=e.target.value;if(this.inputValue=t,this.selectedItem=null,!this.engine||t.length<2)return void(this.results=[]);const o=this.engine.search(t,3);this.results=o}handleSelect(e){this.selectedItem=e,this.results=[],this.inputValue=e.label}toggleFlip(){this.isFlipped=!this.isFlipped,this.isFlipped&&setTimeout((()=>this.highlightCode()),100)}render(){return n("div",{key:"032a555551974ef504c703419db83581652a5083",class:"flip-container "+(this.isFlipped?"flipped":"")},n("link",{key:"8af8fac02cd7b8ac1112c08c51e32be3845b7647",rel:"stylesheet",href:"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/styles/atom-one-dark.min.css"}),n("div",{key:"5f63de826af07f1139126a64fb205f65e14f5060",class:"flipper"},n("div",{key:"a7878c0a9db257884cedab104366639d2edb506b",class:"front neobrutal-container"},n("button",{key:"6d65c76d93c717e7c056f0e2da60d2f825efd781",class:"flip-btn",onClick:()=>this.toggleFlip()},"FLIP_ME 🔄"),n("h1",{key:"56981f916be340a827e376cb713e6b6fb5e097bb",class:"glitch","data-text":"YRKE_SÖK"},"YRKE_SÖK"),n("div",{key:"ba3c2e76b631e0d48c5f2ecee1095a999393822e",class:"input-wrapper"},n("input",{key:"75a8e4553a2e77992efa9591a64fba83c3dbe3ea",type:"text",placeholder:"VAD VILL DU BLI?",onInput:e=>this.handleInput(e),value:this.inputValue,disabled:this.isLoading})),this.isLoading&&n("div",{key:"46ec1526451477d7ecf90ffe46dd964986096903",class:"status"},"LOADING_DATA..."),this.error&&n("div",{key:"01bc30a4d4e17e493d8deb08c7e5b71da9c23df7",class:"status error"},this.error),this.selectedItem&&n("div",{key:"0e6d79bc76dbecd7a79bbf0b00246acdef45eda3"},n("div",{key:"f942688584b54c4b43679903549781fbe346e154",class:"fire-status"},n("span",{key:"efde5818a4449b710d22e43e9c8148f380f89f3d",class:"fire-emoji"},"🔥 🔥 🔥"),"HETT VAL: ",this.selectedItem.label.toUpperCase(),"!",n("span",{key:"7764fa1ed1fd7b0541f5ad3a49e3135f4a61edfe",class:"fire-emoji"},"🔥 🔥 🔥")),n("div",{key:"415e1ee36443cc50cddb0f87e8750b34084fd485",class:"raw-data-container"},n("div",{key:"ed730d664599ecac4a89ccdf597833ea3f9fb47a",class:"raw-label"},"RAW_JSON_DATA:"),n("pre",{key:"0921ef8ebccb5add5e9d379e31872b2798b399f8",class:"raw-output"},JSON.stringify(this.selectedItem,null,2)))),n("div",{key:"9af42c5d7cb9d901b6909e8ea4260da7dfee09fd",class:"results-container"},this.results.map((e=>{const t=e?.metadata||{},o=t?.originalResult;return n("div",{class:"result-card",onClick:()=>this.handleSelect(e)},n("div",{class:"card-header"},n("span",{class:"type-badge"},"job-title"===o?.category?"YRK":"GRP"),n("span",{class:"score-badge"},"SCR: ",Math.round(10*(t?.score||0)))),n("div",{class:"card-body"},n("div",{class:"label"},e.displayLabel||e.label)))})))),n("div",{key:"349e56ba67845d6b63ab8616823c5909452ed593",class:"back neobrutal-container source-view"},n("button",{key:"1de742d808b48a65bb266ea19a83ccf567a76ac6",class:"flip-btn",onClick:()=>this.toggleFlip()},"BACK 🔙"),n("h1",{key:"b2400cbd8d36417df1cbb3c487fa7e3d824f4a02",class:"source-header"},"FULL_SOURCE_CODE"),n("p",{key:"59c3e040a7177810b53200426da4543f99c7ca73",class:"source-desc"},"Exakt den koden du ser, inga fejk snippets här inte:"),n("div",{key:"8ed08d5d1d79ec49c6e6bb6a5be504ddd6ed84c2",class:"code-scroll-container"},n("div",{key:"5018114c97191ccf174ae197d56917f35848dcef",class:"code-block"},n("div",{key:"466523ef6acb91d435248d5d399fef5a79bc2e6f",class:"code-label"},"neobrutal-search.tsx"),n("pre",{key:"2a3ad662ac5a0346131aaa13dfd9544169338e48"},n("code",{key:"76b3240d79589217899d74f6727b64d1c8495d7a",class:"language-typescript"},"import { Component, h, State, Element } from '@stencil/core';\nimport { TaxonomySearchEngine } from '../job-selector/logic/search.engine';\nimport { getRegisteredTaxonomy } from '../job-selector/taxonomy-registry';\n\n@Component({ tag: 'neobrutal-search', styleUrl: 'neobrutal-search.css', shadow: true })\nexport class NeobrutalSearch {\n @Element() el!: HTMLElement;\n @State() engine: TaxonomySearchEngine | null = null;\n @State() results: any[] = [];\n @State() inputValue: string = '';\n @State() isLoading: boolean = true;\n @State() error: string = '';\n @State() selectedItem: any | null = null;\n @State() isFlipped: boolean = false;\n\n async componentWillLoad() {\n try {\n const taxonomyData = getRegisteredTaxonomy();\n this.engine = new TaxonomySearchEngine(taxonomyData);\n this.isLoading = false;\n } catch (err) {\n this.error = 'DATA FAILURE';\n this.isLoading = false;\n }\n }\n\n componentDidUpdate() {\n if (this.isFlipped) this.highlightCode();\n }\n\n highlightCode() {\n const hljs = (window as any).hljs;\n if (hljs && this.el?.shadowRoot) {\n const blocks = this.el.shadowRoot.querySelectorAll('pre code');\n blocks.forEach((block) => hljs.highlightElement(block));\n }\n }\n\n handleInput(event: Event) {\n const query = (event.target as HTMLInputElement).value;\n this.inputValue = query;\n this.selectedItem = null;\n\n if (!this.engine || query.length < 2) {\n this.results = [];\n return;\n }\n\n this.results = this.engine.search(query, 3);\n }\n\n handleSelect(item: any) {\n this.selectedItem = item;\n this.results = [];\n this.inputValue = item.label;\n }\n\n toggleFlip() {\n this.isFlipped = !this.isFlipped;\n if (this.isFlipped) setTimeout(() => this.highlightCode(), 100);\n }\n\n render() {\n return (\n <div class=\"neobrutal-container\">\n {/* ... UI structure ... */}\n </div>\n );\n }\n}"))),n("div",{key:"2990f5d3da12a8c8ffeccbb4f786945b7eb70483",class:"code-block"},n("div",{key:"5b957f082c75f5de3f5bd766c9fd135e1ee06471",class:"code-label"},"neobrutal-search.css"),n("pre",{key:"8a2c509035923387c2dac463b72feda6c2c41ba2"},n("code",{key:"581e2ccebcef975ac6dd79059da4c82cb0ffe176",class:"language-css"},".neobrutal-container {\n background-color: #fff4e6;\n padding: 40px;\n border: 4px solid #000;\n box-shadow: 8px 8px 0px #000;\n font-family: 'Courier New', Courier, monospace;\n}\n\n.fire-status {\n background-color: #ff4500;\n animation: fire-flicker 0.2s infinite alternate;\n}\n\n.raw-data-container {\n background: #000;\n color: #0f0;\n padding: 15px;\n box-shadow: 5px 5px 0px #ff00ff;\n}")))))))}static get style(){return":host{display:block;font-family:'Courier New', Courier, monospace;--bg-color:#fff4e6;--primary:#ff00ff;--secondary:#00ffff;--text:#000;--border:4px solid #000;--shadow:8px 8px 0px #000}.neobrutal-container{background-color:var(--bg-color);padding:40px;border:var(--border);box-shadow:var(--shadow);max-width:600px;margin:20px auto;min-height:600px;position:relative;box-sizing:border-box;display:flex;flex-direction:column;transition:min-height 0.6s cubic-bezier(0.23, 1, 0.32, 1)}.flip-container{perspective:1000px;width:100%}.flipper{transition:0.6s;transform-style:preserve-3d;position:relative;width:100%}.flip-container.flipped .flipper{transform:rotateY(180deg)}.front,.back{backface-visibility:hidden;top:0;left:0;width:100%}.front{z-index:2;transform:rotateY(0deg);position:relative}.flip-container.flipped .front{position:absolute}.back{transform:rotateY(180deg);box-sizing:border-box;position:absolute}.flip-container.flipped .back{position:relative;z-index:3}h1.glitch{font-size:3rem;font-weight:900;text-transform:uppercase;margin-bottom:30px;background-color:var(--primary);color:var(--text);display:inline-block;padding:5px 15px;border:var(--border);box-shadow:4px 4px 0px #000}.input-wrapper{margin-bottom:50px;padding-right:10px;padding-bottom:10px}input{width:100%;padding:20px;font-size:1.5rem;font-family:inherit;font-weight:bold;border:var(--border);background:white;outline:none;text-transform:uppercase;box-shadow:8px 8px 0px #000;transition:all 0.1s;box-sizing:border-box}.status{font-size:1.5rem;font-weight:bold;background-color:yellow;border:var(--border);padding:10px;margin-bottom:20px;text-align:center}.fire-status{font-size:1.8rem;font-weight:900;background-color:#ff4500;color:#fff;border:var(--border);padding:15px;margin-bottom:15px;text-align:center;position:relative;box-shadow:10px 10px 0px #000;animation:fire-flicker 0.2s infinite alternate}@keyframes fire-flicker{0%{transform:scale(1) rotate(-0.5deg)}100%{transform:scale(1.01) rotate(0.5deg)}}.fire-emoji{font-size:2rem;display:inline-block;margin:0 10px}.raw-data-container{margin-top:10px;margin-bottom:30px;background:#000;border:2px solid #fff;padding:15px;text-align:left;box-shadow:5px 5px 0px #ff00ff}.raw-label{font-size:0.8rem;color:#0f0;margin-bottom:5px;font-weight:bold}.raw-output{font-family:'Courier New', Courier, monospace;font-size:0.8rem;color:#0f0;margin:0;white-space:pre-wrap;word-break:break-all}.flip-btn{position:absolute;top:10px;right:10px;background:#000;color:#fff;border:2px solid #fff;padding:5px 10px;font-weight:bold;cursor:pointer;font-family:'Courier New', Courier, monospace;z-index:10}.flip-btn:hover{background:#ff00ff;color:#000}.source-view{background:#0d1117 !important;color:#e6edf3 !important;border-color:#30363d !important;padding:30px !important;display:flex;flex-direction:column}.source-header{font-size:2rem;color:#ff00ff;margin-bottom:20px;text-shadow:2px 2px 0 #000}.code-scroll-container{flex:1;background:#161b22;border:1px solid #30363d;border-radius:6px;padding:10px}.code-block{margin-bottom:25px;text-align:left}.code-label{background:#238636;color:#fff;display:inline-block;padding:4px 8px;font-weight:bold;font-size:0.8rem;border-radius:4px 4px 0 0}pre{background:#0d1117;margin:0;padding:10px;border:1px solid #30363d}pre code{font-family:'Courier New', Courier, monospace;font-size:0.85rem;line-height:1.4;background:transparent !important;color:#e6edf3}.result-card{background-color:white;border:var(--border);box-shadow:5px 5px 0px #000;padding:15px;transition:all 0.1s;cursor:pointer}.result-card:hover{transform:translate(2px, 2px);box-shadow:3px 3px 0px #000;background-color:var(--secondary)}.card-header{display:flex;justify-content:space-between;margin-bottom:10px;border-bottom:2px solid #000;padding-bottom:5px}.type-badge{background-color:yellow;padding:2px 8px;font-weight:bold;border:2px solid #000}.score-badge{background-color:lime;padding:2px 8px;font-weight:bold;border:2px solid #000}.label{font-size:1.2rem;font-weight:800}"}},[513,"neobrutal-search",{engine:[32],results:[32],inputValue:[32],isLoading:[32],error:[32],selectedItem:[32],isFlipped:[32]}]);function s(){"undefined"!=typeof customElements&&["neobrutal-search"].forEach((t=>{"neobrutal-search"===t&&(customElements.get(e(t))||customElements.define(e(t),r))}))}s();const d=r,l=s;export{d as NeobrutalSearch,l as defineCustomElement}
@@ -0,0 +1 @@
1
+ import{e as t}from"./fuse.js";function n(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var e,o,r,i={exports:{}},c=n((e||(e=1,o=i.exports,r=function(){var t=function(){},n="undefined",e=typeof window!==n&&typeof window.navigator!==n&&/Trident\/|MSIE /.test(window.navigator.userAgent),o=["trace","debug","info","warn","error"],r={},i=null;function c(t,n){var e=t[n];if("function"==typeof e.bind)return e.bind(t);try{return Function.prototype.bind.call(e,t)}catch(n){return function(){return Function.prototype.apply.apply(e,[t,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function a(){for(var e=this.getLevel(),r=0;r<o.length;r++){var i=o[r];this[i]=r<e?t:this.methodFactory(i,e,this.name)}if(this.log=this.debug,typeof console===n&&e<this.levels.SILENT)return"No console available for logging"}function l(t){return function(){typeof console!==n&&(a.call(this),this[t].apply(this,arguments))}}function u(o,r,i){return function(o){return"debug"===o&&(o="log"),typeof console!==n&&("trace"===o&&e?s:void 0!==console[o]?c(console,o):void 0!==console.log?c(console,"log"):t)}(o)||l.apply(this,arguments)}function f(t,e){var c,s,l,f=this,d="loglevel";function h(){var t;if(typeof window!==n&&d){try{t=window.localStorage[d]}catch(t){}if(typeof t===n)try{var e=window.document.cookie,o=encodeURIComponent(d),r=e.indexOf(o+"=");-1!==r&&(t=/^([^;]+)/.exec(e.slice(r+o.length+1))[1])}catch(t){}return void 0===f.levels[t]&&(t=void 0),t}}function p(t){var n=t;if("string"==typeof n&&void 0!==f.levels[n.toUpperCase()]&&(n=f.levels[n.toUpperCase()]),"number"==typeof n&&n>=0&&n<=f.levels.SILENT)return n;throw new TypeError("log.setLevel() called with invalid level: "+t)}"string"==typeof t?d+=":"+t:"symbol"==typeof t&&(d=void 0),f.name=t,f.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},f.methodFactory=e||u,f.getLevel=function(){return null!=l?l:null!=s?s:c},f.setLevel=function(t,e){return l=p(t),!1!==e&&function(t){var e=(o[t]||"silent").toUpperCase();if(typeof window!==n&&d){try{return void(window.localStorage[d]=e)}catch(t){}try{window.document.cookie=encodeURIComponent(d)+"="+e+";"}catch(t){}}}(l),a.call(f)},f.setDefaultLevel=function(t){s=p(t),h()||f.setLevel(t,!1)},f.resetLevel=function(){l=null,function(){if(typeof window!==n&&d){try{window.localStorage.removeItem(d)}catch(t){}try{window.document.cookie=encodeURIComponent(d)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}}(),a.call(f)},f.enableAll=function(t){f.setLevel(f.levels.TRACE,t)},f.disableAll=function(t){f.setLevel(f.levels.SILENT,t)},f.rebuild=function(){if(i!==f&&(c=p(i.getLevel())),a.call(f),i===f)for(var t in r)r[t].rebuild()},c=p(i?i.getLevel():"WARN");var y=h();null!=y&&(l=p(y)),a.call(f)}(i=new f).getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var n=r[t];return n||(n=r[t]=new f(t,i.methodFactory)),n};var d=typeof window!==n?window.log:void 0;return i.noConflict=function(){return typeof window!==n&&window.log===i&&(window.log=d),i},i.getLoggers=function(){return r},i.default=i,i},i.exports?i.exports=r():o.log=r()),i.exports));let s=[],a=null;function l(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function u(t){return"string"==typeof t&&t.trim().length>0}function f(t){return void 0===t||"string"==typeof t}function d(t){return!(!l(t)||!Array.isArray(t.data)||0===t.data.length)&&t.data.every((t=>function(t){return!!l(t)&&u(t.id)&&("job-title"===t.type||"occupation-name"===t.type)&&u(t.preferred_label)&&f(t.ssyk_level_4_id)&&f(t.ssyk_code_2012)&&f(t.occupation_name_id)&&f(t.occupation_name_preferred_label)&&(void 0===t.weight||"number"==typeof t.weight&&Number.isFinite(t.weight))}(t)))}function h(t){if(!d(t))return void c.error("[TaxonomyRegistry] Felaktigt format på taxonomidata vid registrering.");s=t.data.map((t=>({...t})));const n=l(t.metadata)?t.metadata.labour_market_taxonomy_version:void 0;a=void 0!==n?String(n):void 0!==t.taxonomyVersion?String(t.taxonomyVersion):"unknown",c.debug(`[TaxonomyRegistry] Taxonomi version ${a} registrerades med ${s.length} yrken.`)}function p(){return 0===s.length&&c.warn("[TaxonomyRegistry] Ingen taxonomi är registrerad ännu! Anropa registerTaxonomy(data) först."),s}const y=1,g=100,w=10,v={keys:["preferred_label"],includeScore:!0,ignoreDiacritics:!0,ignoreFieldNorm:!0,threshold:.6,minMatchCharLength:1,ignoreLocation:!0,distance:100},m="T.ex. frisör, vårdbiträde, snickare",b={format:(t,n,e)=>{const o=function(t,n){if(!t)return[];if(!n||0===n.trim().length)return[{text:t,isMatch:!1}];const e=t.toLowerCase(),o=n.toLowerCase().split(/\s+/).filter((t=>t.length>0)),r=new Set;if(o.forEach((t=>{let n=0;for(;-1!==(n=e.indexOf(t,n));){for(let e=0;e<t.length;e++)r.add(n+e);n+=t.length}})),0===r.size&&o.forEach((n=>{const e=function(t,n){const e=t.toLowerCase(),o=n.length;let r=99,i=-1,c=0;const s=Math.max(3,o-2),a=Math.min(e.length,o+2);for(let t=0;t<=e.length-s;t++)for(let o=s;o<=a&&t+o<=e.length;o++){const s=M(n,e.slice(t,t+o));s<r&&(r=s,i=t,c=o)}return r<=Math.max(2,Math.floor(.25*o))&&-1!==i?{start:i,length:c}:null}(t,n);if(e)for(let t=0;t<e.length;t++)r.add(e.start+t)})),0===r.size)return[{text:t,isMatch:!1}];const i=[];let c="",s=r.has(0);for(let n=0;n<t.length;n++){const e=r.has(n);e!==s?(c.length>0&&i.push({text:c,isMatch:s}),c=t[n],s=e):c+=t[n]}return c.length>0&&i.push({text:c,isMatch:s}),i}(t,n);return e?[...o,{text:" ",isMatch:!1},{text:`(${e})`,isMetadata:!0}]:o}};function M(t,n){const e=t.length,o=n.length,r=Array.from({length:e+1},(()=>new Array(o+1).fill(0)));for(let t=0;t<=e;t++)r[t][0]=t;for(let t=0;t<=o;t++)r[0][t]=t;for(let i=1;i<=e;i++)for(let e=1;e<=o;e++)r[i][e]=t[i-1]===n[e-1]?r[i-1][e-1]:1+Math.min(r[i-1][e],r[i][e-1],r[i-1][e-1]);return r[e][o]}c.setLevel(c.levels.DEBUG);const x=t=>t?t.toLowerCase().trim():"";function _(t){return t.sort(((t,n)=>{const e=t.score??0,o=n.score??0;if(e!==o)return o-e;const r=t.weight??0,i=n.weight??0;return r!==i?i-r:t.displayLabel.localeCompare(n.displayLabel,"sv")}))}function T(t){return t.map((t=>t.isMatch?`<strong>${t.text}</strong>`:t.isMetadata?`<span class="occupation-variant-label">${t.text}</span>`:t.text)).join("")}const R=t=>t?t.replace(/ (\([^)]+\))/g,' <span class="occupation-variant-label">$1</span>'):"";function k(t,n,e){return t===n?1:e.length>1?e.every((n=>t.includes(n)))?.98:null:t.startsWith(n)?.99:t.includes(n)?.95:null}function A(t,n){const e=t.length,o=n.length,r=Array.from({length:e+1},(()=>new Array(o+1).fill(0)));for(let t=0;t<=e;t++)r[t][0]=t;for(let t=0;t<=o;t++)r[0][t]=t;for(let i=1;i<=e;i++)for(let e=1;e<=o;e++)r[i][e]=t[i-1]===n[e-1]?r[i-1][e-1]:1+Math.min(r[i-1][e],r[i][e-1],r[i-1][e-1]);return r[e][o]}function I(t,n){const e=t.toLowerCase().trim(),o=n.toLowerCase().trim();return o.includes(" ")?A(e,o)<=Math.max(2,Math.floor(.25*e.length))&&Math.abs(e.length-o.length)<=2:null!==function(t,n){const e=t.toLowerCase(),o=n.length;let r=99;const i=Math.max(3,o-2),c=Math.min(e.length,o+2);for(let t=0;t<=e.length-i;t++)for(let o=i;o<=c&&t+o<=e.length;o++){const i=A(n,e.slice(t,t+o));i<r&&(r=i)}return r<=Math.max(2,Math.floor(.25*o))?r:null}(o,e)}function L(t,n,e){const o=function(t){return t.occupation_name_preferred_label?`${t.preferred_label||""} (${t.occupation_name_preferred_label})`:t.preferred_label||""}(t),r=b.format(t.preferred_label||"",n,t.occupation_name_preferred_label);return{id:t.id,type:t.type,preferred_label:t.preferred_label||"",rawLabel:t.preferred_label||"",displayLabel:o,highlightedLabel:T(r),displaySegments:r,weight:t.weight??0,score:e,occupationId:t.occupation_name_id,occupationLabel:t.occupation_name_preferred_label,ssyk_level_4_id:t.ssyk_level_4_id,ssyk_code_2012:t.ssyk_code_2012}}function S(t,n,e,o){if(!e)return[];if(!n||!Array.isArray(n))return c.warn("[searchConcepts] Ogiltig items array."),[];if(!t||t.length<1)return[];const r=x(t),i=r.split(" ").filter((t=>t.length>0)),s=[],a=new Set;for(const e of n){const n=k(x(e.preferred_label),r,i);null!==n&&(s.push(L(e,t,n)),a.add(e.id))}if(s.length>0)return _(s).slice(0,o);if(e){const n=e.search(r);if(0===n.length)return[];const i=n[0].score??1,c=[];let s=!1;for(const e of n){if(a.has(e.item.id))continue;const n=e.score??1,o=1-n;if(o<.4)continue;if(n>i+.12)continue;const l=x(e.item.preferred_label),u=e.item.weight??0,f=I(r,l);f&&n<=.25&&(s=!0);let d=.7*o+.1*u;f&&(d+=.12);const h=Math.min(.84,Math.max(.4,d));c.push(L(e.item,t,h)),a.add(e.item.id)}const l=_(c);if(0===l.length)return[];const u=s?Math.min(5,o):Math.min(3,o);return l.slice(0,u)}return[]}const $={toGenericItem:t=>({id:t.id,label:t.preferred_label||"",description:t.occupation_name_preferred_label,metadata:{original:t,type:t.type,ssyk_level_4_id:t.ssyk_level_4_id,weight:t.weight}}),searchResultToGenericItem(t,n){const e=b.format(t.preferred_label||"",n,t.occupation_name_preferred_label);return{id:t.id,label:t.preferred_label||"",displaySegments:e,highlightedLabel:T(e),metadata:{original:t,ssyk_level_4_id:t.ssyk_level_4_id,weight:t.weight}}},fromGenericItem:t=>({id:t.id,preferred_label:t.label,weight:t.metadata?.weight,...t.metadata?.original}),toPublicSelection(t){const n=t.id||"",e=t.preferred_label||t.rawLabel||"";if(!n)return{type:"manual-input",id:null,preferred_label:e};if("job-title"!==t.type&&"occupation-name"!==t.type)throw new Error(`Ogiltig intern yrkestyp för ${n}: ${t.type}`);const o={type:t.type,id:n,preferred_label:e};t.ssyk_code_2012&&(o.ssyk_code_2012=t.ssyk_code_2012);const r=t.occupation_name_id||t.occupationId,i=t.occupation_name_preferred_label||t.occupationLabel;return"job-title"===t.type&&r&&i&&(o.related={type:"occupation-name",id:r,preferred_label:i}),o}};class E{fuseInstance=null;items=[];constructor(n){this.items=n,this.fuseInstance=new t(n,v)}search(t,n=10){return this.fuseInstance?S(t,this.items,this.fuseInstance,n).map((t=>$.toPublicSelection(t))):[]}searchAsGeneric(t,n=10){return this.fuseInstance?S(t,this.items,this.fuseInstance,n).map((t=>({id:t.id,label:t.displayLabel,description:t.occupationLabel,group:"job-title"===t.type?"Yrke":"Yrkesgrupp",metadata:{originalResult:t,highlightedLabel:t.highlightedLabel,score:t.score,weight:t.weight}}))):[]}updateData(n){this.items=n,this.fuseInstance=new t(n,v)}}export{g as D,b as L,w as M,m as P,E as T,$ as a,y as b,R as c,p as g,d as i,c as l,h as r,T as s}
@@ -0,0 +1 @@
1
+ class r extends Error{code;invalidIds;constructor(r,s,t){super(r),this.name="InvalidSelectionError",this.code=s,this.invalidIds=t}}export{r as I}
@@ -0,0 +1,14 @@
1
+ import { h } from './index-CGXZllj2.js';
2
+
3
+ const AfValidationMessage = (props, children) => {
4
+ const extraClass = props.class || '';
5
+ return (h("div", { id: props.id, role: props.role, class: { [extraClass]: !!extraClass } }, h("div", { class: {
6
+ 'af-validation-message': true,
7
+ [`af-validation-message--${props.variant}`]: true,
8
+ } }, h("span", { class: {
9
+ 'af-validation-message__icon': true,
10
+ [`af-validation-message__icon--${props.variant}`]: true,
11
+ }, "aria-hidden": "true" }), h("span", { class: "af-validation-message__text" }, children))));
12
+ };
13
+
14
+ export { AfValidationMessage as A };