@8wave/ai-elements 0.68.0 → 0.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{PkStreamingMarkdown-D3MJ5dfu.js → PkStreamingMarkdown-C0BpOvli.js} +2 -2
- package/dist/_chunks/{PkStreamingMarkdown-D3MJ5dfu.js.map → PkStreamingMarkdown-C0BpOvli.js.map} +1 -1
- package/dist/_chunks/{PkToolShowArtifact-BFe_MhNr.js → PkToolShowArtifact-DzNIkKvZ.js} +3 -3
- package/dist/_chunks/{PkToolShowArtifact-BFe_MhNr.js.map → PkToolShowArtifact-DzNIkKvZ.js.map} +1 -1
- package/dist/_chunks/{PkToolShowLocation-DN57lKN1.js → PkToolShowLocation-BsBiA4jV.js} +2 -2
- package/dist/_chunks/{PkToolShowLocation-DN57lKN1.js.map → PkToolShowLocation-BsBiA4jV.js.map} +1 -1
- package/dist/_chunks/src-BRYn66N3.js.map +1 -1
- package/dist/_chunks/{vue-leaflet.es-7LObg4WN.js → vue-leaflet.es-BT-uRmMx.js} +5 -5
- package/dist/_chunks/{vue-leaflet.es-7LObg4WN.js.map → vue-leaflet.es-BT-uRmMx.js.map} +1 -1
- package/dist/ai-elements.es.js +293 -299
- package/dist/ai-elements.es.js.map +1 -1
- package/dist-vue/PkChatbot.js +1 -1
- package/dist-vue/PkChatbotMessages.js +1 -1
- package/dist-vue/PkChatbotViewChat.js +1 -1
- package/dist-vue/PkChatbotViewConversations.js +1 -1
- package/dist-vue/PkChatbotViewProfile.js +1 -1
- package/dist-vue/_chunks/{PkChatbot-C_ASB2zq.js → PkChatbot-Cy7p5UI_.js} +5 -5
- package/dist-vue/_chunks/{PkChatbot-C_ASB2zq.js.map → PkChatbot-Cy7p5UI_.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotMessages-CQdxH86L.js → PkChatbotMessages-C7-ZtU0-.js} +11 -11
- package/dist-vue/_chunks/{PkChatbotMessages-CQdxH86L.js.map → PkChatbotMessages-C7-ZtU0-.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewChat-DHOeNxnR.js → PkChatbotViewChat-EWotdJkz.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotViewChat-DHOeNxnR.js.map → PkChatbotViewChat-EWotdJkz.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewConversations-DFv_8-8K.js → PkChatbotViewConversations-Ct0TbDrg.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewConversations-DFv_8-8K.js.map → PkChatbotViewConversations-Ct0TbDrg.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewProfile-BUj0YnIi.js → PkChatbotViewProfile-BhdCxVSX.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewProfile-BUj0YnIi.js.map → PkChatbotViewProfile-BhdCxVSX.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowArtifact-DIw-_JPA.js → PkToolShowArtifact-pTS7wzhw.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowArtifact-DIw-_JPA.js.map → PkToolShowArtifact-pTS7wzhw.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowCalendarEvent-ZZM8p7wu.js → PkToolShowCalendarEvent-DQ--fzwb.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowCalendarEvent-ZZM8p7wu.js.map → PkToolShowCalendarEvent-DQ--fzwb.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowComparison-7akNsf1w.js → PkToolShowComparison-CzRUrjbP.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowComparison-7akNsf1w.js.map → PkToolShowComparison-CzRUrjbP.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowEmail-CpiAbmr0.js → PkToolShowEmail-htn0ivwY.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowEmail-CpiAbmr0.js.map → PkToolShowEmail-htn0ivwY.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowImageGallery-jY7iYqTv.js → PkToolShowImageGallery-CpU183SC.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowImageGallery-jY7iYqTv.js.map → PkToolShowImageGallery-CpU183SC.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowLocation-BeOkj0Q2.js → PkToolShowLocation-DSZvW68g.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowLocation-BeOkj0Q2.js.map → PkToolShowLocation-DSZvW68g.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowMessage-AS8VNcYP.js → PkToolShowMessage-DtGDm3pq.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowMessage-AS8VNcYP.js.map → PkToolShowMessage-DtGDm3pq.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowProductList-FEq8sFxW.js → PkToolShowProductList-BlkUdbtV.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowProductList-FEq8sFxW.js.map → PkToolShowProductList-BlkUdbtV.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowQrCode-DAt8tBHK.js → PkToolShowQrCode-BUyhM_MN.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowQrCode-DAt8tBHK.js.map → PkToolShowQrCode-BUyhM_MN.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowWebPages-jA5eZRdi.js → PkToolShowWebPages-BQp9A4vb.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowWebPages-jA5eZRdi.js.map → PkToolShowWebPages-BQp9A4vb.js.map} +1 -1
- package/dist-vue/_chunks/{dist-C-yeiSHm.js → dist-BHuX2VvC.js} +2 -2
- package/dist-vue/_chunks/{dist-C-yeiSHm.js.map → dist-BHuX2VvC.js.map} +1 -1
- package/dist-vue/_chunks/{dist-D2-23M8l.js → dist-BWXfA4NS.js} +4 -4
- package/dist-vue/_chunks/{dist-D2-23M8l.js.map → dist-BWXfA4NS.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DJ_vDk0q.js → dist-CAXUIcdd.js} +3 -3
- package/dist-vue/_chunks/{dist-DJ_vDk0q.js.map → dist-CAXUIcdd.js.map} +1 -1
- package/dist-vue/_chunks/{dist-C38fHUMa.js → dist-D-VT7gvP.js} +2 -2
- package/dist-vue/_chunks/{dist-C38fHUMa.js.map → dist-D-VT7gvP.js.map} +1 -1
- package/dist-vue/_chunks/{dist-BrsWoii-.js → dist-DEe8jwtO.js} +2 -2
- package/dist-vue/_chunks/{dist-BrsWoii-.js.map → dist-DEe8jwtO.js.map} +1 -1
- package/dist-vue/_chunks/{dist-BmqFgHbN.js → dist-DV82RztV.js} +2 -2
- package/dist-vue/_chunks/{dist-BmqFgHbN.js.map → dist-DV82RztV.js.map} +1 -1
- package/dist-vue/_chunks/{dist-ByzpJpuj.js → dist-DVM_p-M1.js} +3 -3
- package/dist-vue/_chunks/{dist-ByzpJpuj.js.map → dist-DVM_p-M1.js.map} +1 -1
- package/dist-vue/_chunks/{dist-D3coexrW.js → dist-DfEAZDKB.js} +2 -2
- package/dist-vue/_chunks/{dist-D3coexrW.js.map → dist-DfEAZDKB.js.map} +1 -1
- package/dist-vue/_chunks/{dist-veLX58Me.js → dist-QbFF3eM_.js} +2 -2
- package/dist-vue/_chunks/{dist-veLX58Me.js.map → dist-QbFF3eM_.js.map} +1 -1
- package/dist-vue/_chunks/{dist-B65AhbTK.js → dist-bUGhZmKp.js} +3 -3
- package/dist-vue/_chunks/{dist-B65AhbTK.js.map → dist-bUGhZmKp.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DmKzgdbO.js → dist-jVwgEJDw.js} +2 -2
- package/dist-vue/_chunks/{dist-DmKzgdbO.js.map → dist-jVwgEJDw.js.map} +1 -1
- package/dist-vue/_chunks/src-DjRNH9vV.js.map +1 -1
- package/dist-vue/_chunks/{useChatbotStore-B9BUWM4O.js → useChatbotStore-ys9uGP5v.js} +4 -10
- package/dist-vue/_chunks/{useChatbotStore-B9BUWM4O.js.map → useChatbotStore-ys9uGP5v.js.map} +1 -1
- package/dist-vue/composables.js +1 -1
- package/dist-vue/index.js +32 -32
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { C as e, M as t, N as n, m as r, n as i, r as a, s as o, u as s, v as c, y as l } from "./dist--mE2E_mM.js";
|
|
2
|
-
import { r as u } from "./dist-
|
|
2
|
+
import { r as u } from "./dist-DV82RztV.js";
|
|
3
3
|
//#region ../../node_modules/.pnpm/@codemirror+lang-less@6.0.2/node_modules/@codemirror/lang-less/dist/index.js
|
|
4
4
|
var d = 110, f = 1, p = 2, m = [
|
|
5
5
|
9,
|
|
@@ -197,4 +197,4 @@ function E() {
|
|
|
197
197
|
//#endregion
|
|
198
198
|
export { E as less };
|
|
199
199
|
|
|
200
|
-
//# sourceMappingURL=dist-
|
|
200
|
+
//# sourceMappingURL=dist-jVwgEJDw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dist-DmKzgdbO.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+lang-less@6.0.2/node_modules/@codemirror/lang-less/dist/index.js"],"sourcesContent":["import { LRLanguage, indentNodeProp, continuedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\nimport { defineCSSCompletionSource } from '@codemirror/lang-css';\nimport { ExternalTokenizer, LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst descendantOp = 110,\n Unit = 1,\n openArgList = 2;\n\nconst space = [9, 10, 11, 12, 13, 32, 133, 160, 5760, 8192, 8193, 8194, 8195, 8196, 8197,\n 8198, 8199, 8200, 8201, 8202, 8232, 8233, 8239, 8287, 12288];\nfunction isAlpha(ch) { return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 161; }\nfunction isDigit(ch) { return ch >= 48 && ch <= 57; }\nconst argList = /*@__PURE__*/new ExternalTokenizer((input, stack) => {\n if (input.next == 40 /* Ch.parenL */) {\n let prev = input.peek(-1);\n if (isAlpha(prev) || isDigit(prev) || prev == 95 /* Ch.underscore */ || prev == 45 /* Ch.dash */)\n input.acceptToken(openArgList, 1);\n }\n});\nconst descendant = /*@__PURE__*/new ExternalTokenizer(input => {\n if (space.indexOf(input.peek(-1)) > -1) {\n let { next } = input;\n if (isAlpha(next) || next == 95 /* Ch.underscore */ || next == 35 /* Ch.hash */ || next == 46 /* Ch.period */ ||\n next == 91 /* Ch.bracketL */ || next == 58 /* Ch.colon */ || next == 45 /* Ch.dash */)\n input.acceptToken(descendantOp);\n }\n});\nconst unitToken = /*@__PURE__*/new ExternalTokenizer(input => {\n if (space.indexOf(input.peek(-1)) < 0) {\n let { next } = input;\n if (next == 37 /* Ch.percent */) {\n input.advance();\n input.acceptToken(Unit);\n }\n if (isAlpha(next)) {\n do {\n input.advance();\n } while (isAlpha(input.next));\n input.acceptToken(Unit);\n }\n }\n});\n\nconst lessHighlighting = /*@__PURE__*/styleTags({\n \"import charset namespace keyframes media supports when\": tags.definitionKeyword,\n \"from to selector\": tags.keyword,\n NamespaceName: tags.namespace,\n KeyframeName: tags.labelName,\n TagName: tags.tagName,\n ClassName: tags.className,\n PseudoClassName: /*@__PURE__*/tags.constant(tags.className),\n IdName: tags.labelName,\n \"FeatureName PropertyName PropertyVariable\": tags.propertyName,\n AttributeName: tags.attributeName,\n NumberLiteral: tags.number,\n KeywordQuery: tags.keyword,\n UnaryQueryOp: tags.operatorKeyword,\n \"CallTag ValueName\": tags.atom,\n VariableName: tags.variableName,\n \"AtKeyword Interpolation\": /*@__PURE__*/tags.special(tags.variableName),\n Callee: tags.operatorKeyword,\n Unit: tags.unit,\n \"UniversalSelector NestingSelector\": tags.definitionOperator,\n MatchOp: tags.compareOperator,\n \"ChildOp SiblingOp, LogicOp\": tags.logicOperator,\n BinOp: tags.arithmeticOperator,\n Important: tags.modifier,\n \"Comment LineComment\": tags.blockComment,\n ColorLiteral: tags.color,\n \"ParenthesizedContent StringLiteral\": tags.string,\n Escape: /*@__PURE__*/tags.special(tags.string),\n \": ...\": tags.punctuation,\n \"PseudoOp #\": tags.derefOperator,\n \"; ,\": tags.separator,\n \"( )\": tags.paren,\n \"[ ]\": tags.squareBracket,\n \"{ }\": tags.brace\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_identifier = {__proto__:null,lang:40, \"nth-child\":40, \"nth-last-child\":40, \"nth-of-type\":40, \"nth-last-of-type\":40, dir:40, \"host-context\":40, and:244, or:244, not:74, only:74, url:86, \"url-prefix\":86, domain:86, regexp:86, when:117, selector:142, from:172, to:174};\nconst spec_AtKeyword = {__proto__:null,\"@import\":126, \"@plugin\":126, \"@media\":152, \"@charset\":156, \"@namespace\":160, \"@keyframes\":166, \"@supports\":178};\nconst parser = /*@__PURE__*/LRParser.deserialize({\n version: 14,\n states: \"@^O!gQWOOO!nQaO'#CeOOQP'#Cd'#CdO$RQWO'#CgO$xQaO'#EaO%cQWO'#CiO%kQWO'#DZO%pQWO'#D^O%uQaO'#DfOOQP'#Es'#EsO'YQWO'#DlO'yQWO'#DyO(QQWO'#D{O(xQWO'#D}O)TQWO'#EQO'bQWO'#EWO)YQ`O'#FTO)]Q`O'#FTO)hQ`O'#FTO)vQWO'#EYOOQO'#Er'#ErOOQO'#FV'#FVOOQO'#Ec'#EcO){QWO'#EqO*WQWO'#EqQOQWOOOOQP'#Ch'#ChOOQP,59R,59RO$RQWO,59RO*bQWO'#EdO+PQWO,58|O+_QWO,59TO%kQWO,59uO%pQWO,59xO*bQWO,59{O*bQWO,59}OOQO'#De'#DeO*bQWO,5:OO,bQpO'#E}O,iQWO'#DkOOQO,58|,58|O(QQWO,58|O,pQWO,5:{OOQO,5:{,5:{OOQT'#Cl'#ClO-UQeO,59TO.cQ[O,59TOOQP'#D]'#D]OOQP,59u,59uOOQO'#D_'#D_O.hQpO,59xOOQO'#EZ'#EZO.pQ`O,5;oOOQO,5;o,5;oO/OQWO,5:WO/VQWO,5:WOOQS'#Dn'#DnO/rQWO'#DsO/yQ!fO'#FRO0eQWO'#DtOOQS'#FS'#FSO+YQWO,5:eO'bQWO'#DrOOQS'#Cu'#CuO(QQWO'#CwO0jQ!hO'#CyO2^Q!fO,5:gO2oQWO'#DWOOQS'#Ex'#ExO(QQWO'#DQOOQO'#EP'#EPO2tQWO,5:iO2yQWO,5:iOOQO'#ES'#ESO3RQWO,5:lO3WQ!fO,5:rO3iQ`O'#EkO.pQ`O,5;oOOQO,5:|,5:|O3zQWO,5:tOOQO,5:},5:}O4XQWO,5;]OOQO-E8a-E8aOOQP1G.m1G.mOOQP'#Ce'#CeO5RQaO,5;OOOQP'#Df'#DfOOQO-E8b-E8bOOQO1G.h1G.hO(QQWO1G.hO5fQWO1G.hO5nQeO1G.oO.cQ[O1G.oOOQP1G/a1G/aO6{QpO1G/dO7fQaO1G/gO8cQaO1G/iO9`QaO1G/jO:]Q!fO'#FOO:yQ!fO'#ExOOQO'#FO'#FOOOQO,5;i,5;iO<^QWO,5;iO<iQWO,5:VO<nQ!fO1G.hOOQO1G0g1G0gO=PQWO'#CnOOQP1G.o1G.oO=WQWO'#CqOOQP1G/d1G/dO(QQWO1G/dO=_Q`O1G1ZOOQO1G1Z1G1ZO=mQWO1G/rO=rQ!fO'#FQO>WQWO1G/rO>]Q!fO'#DnO>qQWO,5:ZO>vQ!fO,5:_OOQO'#DP'#DPO'bQWO,5:]O?XQWO'#DwOOQS,5:b,5:bO?`QWO,5:dO'bQWO'#EiO?gQWO,5;mO*bQWO,5:`OOQO1G0P1G0PO?uQ!fO,5:^O@aQ!fO,59cOOQS,59e,59eO(QQWO,59iOOQS,59n,59nO@rQWO,59pOOQO1G0R1G0RO@yQ#tO,59rOARQ!fO,59lOOQO1G0T1G0TOBrQWO1G0TOBwQWO'#ETOOQO1G0W1G0WOOQO1G0^1G0^OOQO,5;V,5;VOOQO-E8i-E8iOCVQ!fO1G0bOCvQWO1G0`O%kQWO'#E_O$RQWO'#E`OEZQWO'#E^OOQO1G0b1G0bPEkQWO'#EcO<nQ!fO7+$SOOQO7+$S7+$SO(QQWO7+$SOOQP7+$Z7+$ZOOQP7+%O7+%OO(QQWO7+%OOEpQ!fO'#EeOF}QWO,5;jO(QQWO,5;jOOQO,5;j,5;jO+gQpO'#EgOG[QWO1G1TOOQO1G1T1G1TOOQO1G/q1G/qOGgQaO'#EvOGnQWO,59YOGsQWO'#EwOG}QWO,59]OHSQ!fO7+%OOOQO7+&u7+&uOOQO7+%^7+%^O(QQWO'#EhOHeQWO,5;lOHmQWO7+%^O(QQWO1G/uOOQS1G/y1G/yOOQS1G/w1G/wOHrQWO,5:cOHwQ!fO1G0OOOQS1G0O1G0OOIYQ!fO,5;TOOQO-E8g-E8gOItQaO1G/zOOQS1G.}1G.}OOQS1G/T1G/TOI{Q!fO1G/[OOQS1G/[1G/[OJ^QWO1G/^OOQO7+%o7+%oOJcQYO'#CyO+YQWO'#EjOJkQWO,5:oOOQO,5:o,5:oOJyQ!fO'#ElO(QQWO'#ElOL^QWO7+%|OOQO7+%|7+%|OOQO7+%z7+%zOOQO,5:y,5:yOOQO,5:z,5:zOLqQaO,5:xOOQO,5:x,5:xOOQO<<Gn<<GnO<nQ!fO<<GnOMRQ!fO<<HjOOQO-E8c-E8cOMdQWO1G1UOOQO,5;R,5;ROOQO-E8e-E8eOOQO7+&o7+&oOMqQWO,5;bOOQP1G.t1G.tO(QQWO'#EfOMyQWO,5;cOOQT1G.w1G.wOOQP<<Hj<<HjONRQ!fO,5;SOOQO-E8f-E8fO/OQWO<<HxONgQWO7+%aOOQS1G/}1G/}OOQS7+%j7+%jOOQS7+%f7+%fOOQS7+$v7+$vOOQS7+$x7+$xOOQO,5;U,5;UOOQO-E8h-E8hOOQO1G0Z1G0ZONnQ!fO,5;WOOQO-E8j-E8jOOQO<<Ih<<IhOOQO1G0d1G0dOOQOAN=YAN=YOOQPAN>UAN>UO!!RQWO,5;QOOQO-E8d-E8dO!!]QWOAN>dOOQS<<H{<<H{OOQOG24OG24O\",\n stateData: \"!!n~O#dOSROSSOS~OVXOYXO^TO_TOfaOgbOoaOpWOyVO!OUO!aYO!nZO!p[O!r]O!u^O!{_O#hPO#iRO~O#a#eP~P]O^XX^!}X_XXcXXjXXp!}XyXX!OXX!UXX!ZXX![XX!^XX#PXX#aXX#bXX#iXX#oXX#pXX#p!}X#x!}X!]XX~O#hjO~O^oO_oOcmOyqO!OpO!UrO#bsO#ilO#otO#ptO~OjvO![yO!^wO#P{O!Z#TX#a#TX!]#TX~P$WOd!OO#h|O~O#h!PO~O#h!RO~O#h!TO#p!VO#x!VO^!YX^#wX_!YXc!YXj!YXy!YX!O!YX!U!YX!Z!YX![!YX!^!YX#P!YX#a!YX#b!YX#i!YX#o!YX#p!YX!]!YX~Oj!XOn!WO~Og!^Oj!ZOo!^Op!^Ou!`O!i!]O#h!YO~O!^#uP~P'bOf!fOg!fOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO~On!iO{!eO#h!hO~O#h!kO~Op!nO#p!VO#x!VO^#wX~OjvO#p!VO#x!VO^#wX~O^!qO~O!Z!rO#a#eX!]#eX~O#a#eX!]#eX~P]OVXOYXO^TO_TOp!xOyVO!OUO#h!vO#iRO~OcmOjvO![!{O!^wO~Od#OO#h|O~Of!fOg#VOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO#s#WO~Oa#XO~P+gO!]#eP~P]O![!{O!^wO#P#]O!Z#Ta#a#Ta!]#Ta~OQ#^O^]a_]ac]aj]ay]a!O]a!U]a!Z]a![]a!^]a#P]a#a]a#b]a#i]a#o]a#p]a!]]aa]a~OQ#`O~Ow#aO!S#bO~Op!nO#p#dO#x#dO^#wa~O!Z#uP~P'bOa#tP~P(QOg!^Oj!ZOo!^Op!^Ou!`O!i!]O~O#h#hO~P/^OQ#mOc#pOr#lOy#oO#n#kO!^#uX!Z#uXa#uX~Oj#rO~OP#vOQmXrmXymX!ZmX#nmX^mXamXcmXfmXgmXhmXjmXlmXnmXomXpmXumX{mX#hmX#mmX!^mX#PmX#amXwmX!]mX~OQ#`Or#wOy#yO!Z#zO#n#kO~Oj#{O~O!Z#}O~On$OO{!eO~O!^$PO~OQ#mOr#lOy#oO!^wO#n#kO~O#h!TO^#_Xp#_X#p#_X#x#_X~O!O$WO!^wO#i$XO~P(QO!Z!rO#a#ea!]#ea~O^oO_oOyqO!OpO!UrO#bsO#ilO#otO#ptO~Oc#Waj#Wa![#Wa!^#Waa#Wa~P4dO![$_O!^wO~OQ#^O^]i_]ic]ij]iy]i!O]i!U]i!Z]i![]i!^]i#P]i#a]i#b]i#i]i#o]i#p]i!]]ia]i~Ow$aO!S$bO~O^oO_oOyqO!OpO#ilO~Oc!Tij!Ti!U!Ti!Z!Ti![!Ti!^!Ti#P!Ti#a!Ti#b!Ti#o!Ti#p!Ti!]!Tia!Ti~P7TOc!Vij!Vi!U!Vi!Z!Vi![!Vi!^!Vi#P!Vi#a!Vi#b!Vi#o!Vi#p!Vi!]!Via!Vi~P7TOc!Wij!Wi!U!Wi!Z!Wi![!Wi!^!Wi#P!Wi#a!Wi#b!Wi#o!Wi#p!Wi!]!Wia!Wi~P7TOQ#`O^$eOr#wOy#yO#n#kOa#rXc#rX!Z#rX~P(QO#s$fOQ#lX^#lXa#lXc#lXf#lXg#lXh#lXj#lXl#lXn#lXo#lXp#lXr#lXu#lXy#lX{#lX!Z#lX#h#lX#m#lX#n#lX~Oa$iOc$gO!Z$gO~O!]$jO~OQ#`Or#wOy#yO!^wO#n#kO~Oa#jP~P*bOa#kP~P(QOp!nO#p$pO#x$pO^#wi~O!Z$qO~OQ#`Oc$rOr#wOy#yO#n#kOa#tX~Oa$tO~OQ!bX^!dXa!bXr!bXy!bX#n!bX~O^$uO~OQ#mOa$vOr#lOy#oO#n#kO~Oa#uP~P'bOw$zO~P(QOc#pO!^#ua!Z#uaa#ua~OQ#mOr#lOy#oO#n#kOc!fa!^!fa!Z!faa!fa~OQ#`Oa%OOr#wOy#yO#n#kO~Ow%RO~P(QOn%SO|%SO~OQ#`Or#wOy#yO#n#kO!Zta^taatactaftagtahtajtaltantaotaptauta{ta#hta#mta!^ta#Pta#atawta!]ta~O!Z%TO~O!]%XO!x%VO!y%VO#m%UO~OQ#`Oc%ZOr#wOy#yO#P%]O#n#kO!Z#Oi#a#Oi!]#Oi~P(QO!Z%^OV!|iY!|i^!|i_!|if!|ig!|io!|ip!|iy!|i!O!|i!a!|i!n!|i!p!|i!r!|i!u!|i!{!|i#a!|i#h!|i#i!|i!]!|i~OjvO!Z#QX#a#QX!]#QX~P*bO!Z!rO~OQ#`Or#wOy#yO#n#kOa#XXc#XXf#XXg#XXh#XXj#XXl#XXn#XXo#XXp#XXu#XX{#XX!Z#XX#h#XX#m#XX~Oa#rac#ra!Z#ra~P(QOa%jOc$gO!Z$gO~Oa#jX~P$WOa%lO~Oc%mOa#kX~P(QOa%oO~OQ#`Or#wOw%pOy#yO#n#kO~Oc$rOa#ta~On%sO~Oa%uO~OQ#`Or#wOw%vOy#yO#n#kO~OQ#mOr#lOy#oO#n#kOc#]a!^#]a!Z#]aa#]a~Oa%wO~P4dOQ#`Or#wOw%xOy#yO#n#kO~Oa%yO~OP#vO!^mX~O!]%|O!x%VO!y%VO#m%UO~OQ#`Or#wOy#yO#n#kOc#`Xf#`Xg#`Xh#`Xj#`Xl#`Xn#`Xo#`Xp#`Xu#`X{#`X!Z#`X#P#`X#a#`X#h#`X#m#`X!]#`X~Oc%ZO#P&PO!Z#Oq#a#Oq!]#Oq~P(QOjvO!Z#Qa#a#Qa!]#Qa~P4dOQ#`Or#wOw&SOy#yO#n#kO~Oa#ric#ri!Z#ri~P(QOcmOa#ja~Oc%mOa#ka~OQ#`Or#wOy#yO#n#kOa#[ac#[a~Oa&WO~P(QOQ#`Or#wOy#yO#n#kOc#`af#`ag#`ah#`aj#`al#`an#`ao#`ap#`au#`a{#`a!Z#`a#P#`a#a#`a#h#`a#m#`a!]#`a~Oa#Yac#Ya~P(QO!Z&XO~Of#dpg#m|#iRSRr~\",\n goto: \"0^#zPPPPPP#{P$Q$^P$Q$j$QPP$sP$yPP%PPPP%jP%jP&ZPPP%jP'O%jP%jP%jP'jPP$QP(a$Q(jP$QP$Q$Q(p$QPPPP(w#{P)f)f)q)f)f)f)fP)f)t)f#{P#{P#{P){#{P*O*RPP#{P#{*U*aP*f*i*i*a*a*l*s*}+e+k+q+w+},T,_PPPP,e,k,pPP-[-_-bPPPP.u/UP/[/_/k0QP0VVdOhweXOhmrsuw#^#r$YeQOhmrsuw#^#r$YQkRQ!ulR%`$XQ}TR!}oQ#_}R$`!}Q#_!Or#x!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}R$`#O!]!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&T![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TT%V$P%WY#l![!m#j#t${s#w!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TQ!i]R$O!jQ!QUQ#PpR%_$WQ!SVR#QqZuS!w$k$}%aQxSS!znzQ#s!_Q$R!mQ$V!qS$^!|#[Q%c$]Q%z%VR&R%dc!^Z_!W!Z!`#l#m#p%sR#i!ZZ#n![!m#j#t${R!j]R!l^R$Q!lU`OhwQ!UWR$S!nVeOhwR$Z!qR$Y!qShOwR!thQnSS!yn%kR%k$kQ$d#UQ$m#`Y%f$d$m%g%t&TQ%g$eQ%t$uR&T%mQ%n$mR&U%nQ$h#YR%i$hQ$s#fR%r$sQ#q![R$|#qQ%W$PR%{%WQ!o`Q#c!UT$T!o#cQ%[$UR&O%[QiOR#ZwVfOhwUSOhwQ!wmQ#RrQ#SsQ#TuQ$k#^Q$}#rR%a$YR$l#^R$n#`Q!d[S#Uv$gQ#[yQ#f!XQ#u!bQ#|!gQ$U!qQ$]!{d$c#U#`$d$e$m$u%g%m%t&TQ$o#bQ$y#oQ%P#wQ%Q#yS%Y$U%[Q%d$_Q%e$bQ%q$rR%}%ZQzSQ!pbQ!|nQ%b$YR&Q%aQ#YvR%h$gR#g!XQ!_ZQ#e!WQ$x#mR&V%sW![Z!W#m%sQ!m_Q#j!ZQ#t!`Q$w#lR${#pVcOhwSgOwR!sh\",\n nodeNames: \"⚠ Unit ( Comment LineComment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName ) ArgList , PseudoClassName ArgList VariableName AtKeyword PropertyVariable ValueName ( ParenthesizedValue ColorLiteral NumberLiteral StringLiteral Escape Interpolation BinaryExpression BinOp LogicOp UnaryExpression UnaryQueryOp CallExpression ] SubscriptExpression [ CallLiteral CallTag ParenthesizedContent IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp InterpolatedSelector ; when } { Block ImportStatement import KeywordQuery FeatureQuery FeatureName BinaryQuery UnaryQuery ParenthesizedQuery SelectorQuery selector CallQuery ArgList SubscriptQuery MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList from to SupportsStatement supports DetachedRuleSet PropertyName Declaration Important Inclusion IdSelector ClassSelector Inclusion CallExpression\",\n maxTerm: 133,\n nodeProps: [\n [\"isolate\", -3,3,4,30,\"\"],\n [\"openedBy\", 17,\"(\",59,\"{\"],\n [\"closedBy\", 26,\")\",60,\"}\"]\n ],\n propSources: [lessHighlighting],\n skippedNodes: [0,3,4],\n repeatNodeCount: 10,\n tokenData: \"!2q~R!ZOX$tX^%l^p$tpq%lqr)Ors-xst/ltu6Zuv$tvw8^wx:Uxy;syz<Uz{<Z{|<t|}BQ}!OBc!O!PDo!P!QFY!Q![Jw![!]Kr!]!^Ln!^!_MP!_!`M{!`!aNl!a!b$t!b!c! m!c!}!&R!}#O!'y#O#P$t#P#Q!([#Q#R!(m#R#T$t#T#o!&R#o#p!)S#p#q!(m#q#r!)e#r#s!)v#s#y$t#y#z%l#z$f$t$f$g%l$g#BY$t#BY#BZ%l#BZ$IS$t$IS$I_%l$I_$I|$t$I|$JO%l$JO$JT$t$JT$JU%l$JU$KV$t$KV$KW%l$KW&FU$t&FU&FV%l&FV;'S$t;'S;=`!2k<%lO$t`$wSOy%Tz;'S%T;'S;=`%f<%lO%T`%YS|`Oy%Tz;'S%T;'S;=`%f<%lO%T`%iP;=`<%l%T~%qh#d~OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%T~'dh#d~|`OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%Tk)RUOy%Tz#]%T#]#^)e#^;'S%T;'S;=`%f<%lO%Tk)jU|`Oy%Tz#a%T#a#b)|#b;'S%T;'S;=`%f<%lO%Tk*RU|`Oy%Tz#d%T#d#e*e#e;'S%T;'S;=`%f<%lO%Tk*jU|`Oy%Tz#c%T#c#d*|#d;'S%T;'S;=`%f<%lO%Tk+RU|`Oy%Tz#f%T#f#g+e#g;'S%T;'S;=`%f<%lO%Tk+jU|`Oy%Tz#h%T#h#i+|#i;'S%T;'S;=`%f<%lO%Tk,RU|`Oy%Tz#T%T#T#U,e#U;'S%T;'S;=`%f<%lO%Tk,jU|`Oy%Tz#b%T#b#c,|#c;'S%T;'S;=`%f<%lO%Tk-RU|`Oy%Tz#h%T#h#i-e#i;'S%T;'S;=`%f<%lO%Tk-lS#PZ|`Oy%Tz;'S%T;'S;=`%f<%lO%T~-{WOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f<%lO-x~.jOn~~.mRO;'S-x;'S;=`.v;=`O-x~.yXOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f;=`<%l-x<%lO-x~/iP;=`<%l-xo/qY!OROy%Tz!Q%T!Q![0a![!c%T!c!i0a!i#T%T#T#Z0a#Z;'S%T;'S;=`%f<%lO%Tm0fY|`Oy%Tz!Q%T!Q![1U![!c%T!c!i1U!i#T%T#T#Z1U#Z;'S%T;'S;=`%f<%lO%Tm1ZY|`Oy%Tz!Q%T!Q![1y![!c%T!c!i1y!i#T%T#T#Z1y#Z;'S%T;'S;=`%f<%lO%Tm2QYl]|`Oy%Tz!Q%T!Q![2p![!c%T!c!i2p!i#T%T#T#Z2p#Z;'S%T;'S;=`%f<%lO%Tm2wYl]|`Oy%Tz!Q%T!Q![3g![!c%T!c!i3g!i#T%T#T#Z3g#Z;'S%T;'S;=`%f<%lO%Tm3lY|`Oy%Tz!Q%T!Q![4[![!c%T!c!i4[!i#T%T#T#Z4[#Z;'S%T;'S;=`%f<%lO%Tm4cYl]|`Oy%Tz!Q%T!Q![5R![!c%T!c!i5R!i#T%T#T#Z5R#Z;'S%T;'S;=`%f<%lO%Tm5WY|`Oy%Tz!Q%T!Q![5v![!c%T!c!i5v!i#T%T#T#Z5v#Z;'S%T;'S;=`%f<%lO%Tm5}Sl]|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm6^YOy%Tz!_%T!_!`6|!`!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Td7TS!SS|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm7h[h]|`Oy%Tz}%T}!O7a!O!Q%T!Q![7a![!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Ta8c[YPOy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%Ta9`[YP|`Oy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%T~:XWOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m<%lO:U~:tRO;'S:U;'S;=`:};=`O:U~;QXOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m;=`<%l:U<%lO:U~;pP;=`<%l:Uo;xSj_Oy%Tz;'S%T;'S;=`%f<%lO%T~<ZOa~m<bUVPrWOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%To<{Y#pQrWOy%Tz!O%T!O!P=k!P!Q%T!Q![@p![#R%T#R#SAm#S;'S%T;'S;=`%f<%lO%Tm=pU|`Oy%Tz!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%Tm>ZY#m]|`Oy%Tz!Q%T!Q![>S![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%Tm?OY|`Oy%Tz{%T{|?n|}%T}!O?n!O!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm?sU|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@^U#m]|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@w[#m]|`Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TbAtS#xQ|`Oy%Tz;'S%T;'S;=`%f<%lO%TkBVScZOy%Tz;'S%T;'S;=`%f<%lO%TmBhXrWOy%Tz}%T}!OCT!O!P=k!P!Q%T!Q![@p![;'S%T;'S;=`%f<%lO%TmCYW|`Oy%Tz!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%TmCy[f]|`Oy%Tz}%T}!OCr!O!Q%T!Q![Cr![!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%ToDtW#iROy%Tz!O%T!O!PE^!P!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%TlEcU|`Oy%Tz!O%T!O!PEu!P;'S%T;'S;=`%f<%lO%TlE|S#s[|`Oy%Tz;'S%T;'S;=`%f<%lO%T~F_VrWOy%Tz{Ft{!P%T!P!QIl!Q;'S%T;'S;=`%f<%lO%T~FyU|`OyFtyzG]z{Hd{;'SFt;'S;=`If<%lOFt~G`TOzG]z{Go{;'SG];'S;=`H^<%lOG]~GrVOzG]z{Go{!PG]!P!QHX!Q;'SG];'S;=`H^<%lOG]~H^OR~~HaP;=`<%lG]~HiW|`OyFtyzG]z{Hd{!PFt!P!QIR!Q;'SFt;'S;=`If<%lOFt~IYS|`R~Oy%Tz;'S%T;'S;=`%f<%lO%T~IiP;=`<%lFt~IsV|`S~OYIlYZ%TZyIlyzJYz;'SIl;'S;=`Jq<%lOIl~J_SS~OYJYZ;'SJY;'S;=`Jk<%lOJY~JnP;=`<%lJY~JtP;=`<%lIlmJ|[#m]Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TkKwU^ZOy%Tz![%T![!]LZ!];'S%T;'S;=`%f<%lO%TcLbS_R|`Oy%Tz;'S%T;'S;=`%f<%lO%TkLsS!ZZOy%Tz;'S%T;'S;=`%f<%lO%ThMUUrWOy%Tz!_%T!_!`Mh!`;'S%T;'S;=`%f<%lO%ThMoS|`rWOy%Tz;'S%T;'S;=`%f<%lO%TlNSW!SSrWOy%Tz!^%T!^!_Mh!_!`%T!`!aMh!a;'S%T;'S;=`%f<%lO%TjNsV!UQrWOy%Tz!_%T!_!`Mh!`!a! Y!a;'S%T;'S;=`%f<%lO%Tb! aS!UQ|`Oy%Tz;'S%T;'S;=`%f<%lO%To! rYg]Oy%Tz!b%T!b!c!!b!c!}!#R!}#T%T#T#o!#R#o#p!$O#p;'S%T;'S;=`%f<%lO%Tm!!iWg]|`Oy%Tz!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%Tm!#Y[g]|`Oy%Tz}%T}!O!#R!O!Q%T!Q![!#R![!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%To!$TW|`Oy%Tz!c%T!c!}!$m!}#T%T#T#o!$m#o;'S%T;'S;=`%f<%lO%To!$r^|`Oy%Tz}%T}!O!$m!O!Q%T!Q![!$m![!c%T!c!}!$m!}#T%T#T#o!$m#o#q%T#q#r!%n#r;'S%T;'S;=`%f<%lO%To!%uSp_|`Oy%Tz;'S%T;'S;=`%f<%lO%To!&W[#h_Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%To!'T[#h_|`Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%Tk!(OSyZOy%Tz;'S%T;'S;=`%f<%lO%Tm!(aSw]Oy%Tz;'S%T;'S;=`%f<%lO%Td!(pUOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tk!)XS!^ZOy%Tz;'S%T;'S;=`%f<%lO%Tk!)jS!]ZOy%Tz;'S%T;'S;=`%f<%lO%To!){Y#oQOr%Trs!*ksw%Twx!.wxy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tm!*pZ|`OY!*kYZ%TZr!*krs!+csy!*kyz!+vz#O!*k#O#P!-j#P;'S!*k;'S;=`!.q<%lO!*km!+jSo]|`Oy%Tz;'S%T;'S;=`%f<%lO%T]!+yWOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d<%lO!+v]!,hOo]]!,kRO;'S!+v;'S;=`!,t;=`O!+v]!,wXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!+v<%lO!+v]!-gP;=`<%l!+vm!-oU|`Oy!*kyz!+vz;'S!*k;'S;=`!.R;=`<%l!+v<%lO!*km!.UXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!*k<%lO!+vm!.tP;=`<%l!*km!.|Z|`OY!.wYZ%TZw!.wwx!+cxy!.wyz!/oz#O!.w#O#P!1^#P;'S!.w;'S;=`!2e<%lO!.w]!/rWOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W<%lO!/o]!0_RO;'S!/o;'S;=`!0h;=`O!/o]!0kXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!/o<%lO!/o]!1ZP;=`<%l!/om!1cU|`Oy!.wyz!/oz;'S!.w;'S;=`!1u;=`<%l!/o<%lO!.wm!1xXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!.w<%lO!/om!2hP;=`<%l!.w`!2nP;=`<%l$t\",\n tokenizers: [descendant, unitToken, argList, 0, 1, 2, 3, 4],\n topRules: {\"StyleSheet\":[0,5]},\n specialized: [{term: 116, get: (value) => spec_identifier[value] || -1},{term: 23, get: (value) => spec_AtKeyword[value] || -1}],\n tokenPrec: 2180\n});\n\n/**\nA language provider for Less style sheets.\n*/\nconst lessLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"less\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n Declaration: /*@__PURE__*/continuedIndent()\n }),\n /*@__PURE__*/foldNodeProp.add({\n Block: foldInside\n })\n ]\n }),\n languageData: {\n commentTokens: { block: { open: \"/*\", close: \"*/\" }, line: \"//\" },\n indentOnInput: /^\\s*\\}$/,\n wordChars: \"@-\"\n }\n});\n/**\nProperty, variable, @-variable, and value keyword completion\nsource.\n*/\nconst lessCompletionSource = /*@__PURE__*/defineCSSCompletionSource(node => node.name == \"VariableName\" || node.name == \"AtKeyword\");\n/**\nLanguage support for Less.\n*/\nfunction less() {\n return new LanguageSupport(lessLanguage, lessLanguage.data.of({ autocomplete: lessCompletionSource }));\n}\n\nexport { less, lessCompletionSource, lessLanguage };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dist-jVwgEJDw.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+lang-less@6.0.2/node_modules/@codemirror/lang-less/dist/index.js"],"sourcesContent":["import { LRLanguage, indentNodeProp, continuedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\nimport { defineCSSCompletionSource } from '@codemirror/lang-css';\nimport { ExternalTokenizer, LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst descendantOp = 110,\n Unit = 1,\n openArgList = 2;\n\nconst space = [9, 10, 11, 12, 13, 32, 133, 160, 5760, 8192, 8193, 8194, 8195, 8196, 8197,\n 8198, 8199, 8200, 8201, 8202, 8232, 8233, 8239, 8287, 12288];\nfunction isAlpha(ch) { return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 161; }\nfunction isDigit(ch) { return ch >= 48 && ch <= 57; }\nconst argList = /*@__PURE__*/new ExternalTokenizer((input, stack) => {\n if (input.next == 40 /* Ch.parenL */) {\n let prev = input.peek(-1);\n if (isAlpha(prev) || isDigit(prev) || prev == 95 /* Ch.underscore */ || prev == 45 /* Ch.dash */)\n input.acceptToken(openArgList, 1);\n }\n});\nconst descendant = /*@__PURE__*/new ExternalTokenizer(input => {\n if (space.indexOf(input.peek(-1)) > -1) {\n let { next } = input;\n if (isAlpha(next) || next == 95 /* Ch.underscore */ || next == 35 /* Ch.hash */ || next == 46 /* Ch.period */ ||\n next == 91 /* Ch.bracketL */ || next == 58 /* Ch.colon */ || next == 45 /* Ch.dash */)\n input.acceptToken(descendantOp);\n }\n});\nconst unitToken = /*@__PURE__*/new ExternalTokenizer(input => {\n if (space.indexOf(input.peek(-1)) < 0) {\n let { next } = input;\n if (next == 37 /* Ch.percent */) {\n input.advance();\n input.acceptToken(Unit);\n }\n if (isAlpha(next)) {\n do {\n input.advance();\n } while (isAlpha(input.next));\n input.acceptToken(Unit);\n }\n }\n});\n\nconst lessHighlighting = /*@__PURE__*/styleTags({\n \"import charset namespace keyframes media supports when\": tags.definitionKeyword,\n \"from to selector\": tags.keyword,\n NamespaceName: tags.namespace,\n KeyframeName: tags.labelName,\n TagName: tags.tagName,\n ClassName: tags.className,\n PseudoClassName: /*@__PURE__*/tags.constant(tags.className),\n IdName: tags.labelName,\n \"FeatureName PropertyName PropertyVariable\": tags.propertyName,\n AttributeName: tags.attributeName,\n NumberLiteral: tags.number,\n KeywordQuery: tags.keyword,\n UnaryQueryOp: tags.operatorKeyword,\n \"CallTag ValueName\": tags.atom,\n VariableName: tags.variableName,\n \"AtKeyword Interpolation\": /*@__PURE__*/tags.special(tags.variableName),\n Callee: tags.operatorKeyword,\n Unit: tags.unit,\n \"UniversalSelector NestingSelector\": tags.definitionOperator,\n MatchOp: tags.compareOperator,\n \"ChildOp SiblingOp, LogicOp\": tags.logicOperator,\n BinOp: tags.arithmeticOperator,\n Important: tags.modifier,\n \"Comment LineComment\": tags.blockComment,\n ColorLiteral: tags.color,\n \"ParenthesizedContent StringLiteral\": tags.string,\n Escape: /*@__PURE__*/tags.special(tags.string),\n \": ...\": tags.punctuation,\n \"PseudoOp #\": tags.derefOperator,\n \"; ,\": tags.separator,\n \"( )\": tags.paren,\n \"[ ]\": tags.squareBracket,\n \"{ }\": tags.brace\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_identifier = {__proto__:null,lang:40, \"nth-child\":40, \"nth-last-child\":40, \"nth-of-type\":40, \"nth-last-of-type\":40, dir:40, \"host-context\":40, and:244, or:244, not:74, only:74, url:86, \"url-prefix\":86, domain:86, regexp:86, when:117, selector:142, from:172, to:174};\nconst spec_AtKeyword = {__proto__:null,\"@import\":126, \"@plugin\":126, \"@media\":152, \"@charset\":156, \"@namespace\":160, \"@keyframes\":166, \"@supports\":178};\nconst parser = /*@__PURE__*/LRParser.deserialize({\n version: 14,\n states: \"@^O!gQWOOO!nQaO'#CeOOQP'#Cd'#CdO$RQWO'#CgO$xQaO'#EaO%cQWO'#CiO%kQWO'#DZO%pQWO'#D^O%uQaO'#DfOOQP'#Es'#EsO'YQWO'#DlO'yQWO'#DyO(QQWO'#D{O(xQWO'#D}O)TQWO'#EQO'bQWO'#EWO)YQ`O'#FTO)]Q`O'#FTO)hQ`O'#FTO)vQWO'#EYOOQO'#Er'#ErOOQO'#FV'#FVOOQO'#Ec'#EcO){QWO'#EqO*WQWO'#EqQOQWOOOOQP'#Ch'#ChOOQP,59R,59RO$RQWO,59RO*bQWO'#EdO+PQWO,58|O+_QWO,59TO%kQWO,59uO%pQWO,59xO*bQWO,59{O*bQWO,59}OOQO'#De'#DeO*bQWO,5:OO,bQpO'#E}O,iQWO'#DkOOQO,58|,58|O(QQWO,58|O,pQWO,5:{OOQO,5:{,5:{OOQT'#Cl'#ClO-UQeO,59TO.cQ[O,59TOOQP'#D]'#D]OOQP,59u,59uOOQO'#D_'#D_O.hQpO,59xOOQO'#EZ'#EZO.pQ`O,5;oOOQO,5;o,5;oO/OQWO,5:WO/VQWO,5:WOOQS'#Dn'#DnO/rQWO'#DsO/yQ!fO'#FRO0eQWO'#DtOOQS'#FS'#FSO+YQWO,5:eO'bQWO'#DrOOQS'#Cu'#CuO(QQWO'#CwO0jQ!hO'#CyO2^Q!fO,5:gO2oQWO'#DWOOQS'#Ex'#ExO(QQWO'#DQOOQO'#EP'#EPO2tQWO,5:iO2yQWO,5:iOOQO'#ES'#ESO3RQWO,5:lO3WQ!fO,5:rO3iQ`O'#EkO.pQ`O,5;oOOQO,5:|,5:|O3zQWO,5:tOOQO,5:},5:}O4XQWO,5;]OOQO-E8a-E8aOOQP1G.m1G.mOOQP'#Ce'#CeO5RQaO,5;OOOQP'#Df'#DfOOQO-E8b-E8bOOQO1G.h1G.hO(QQWO1G.hO5fQWO1G.hO5nQeO1G.oO.cQ[O1G.oOOQP1G/a1G/aO6{QpO1G/dO7fQaO1G/gO8cQaO1G/iO9`QaO1G/jO:]Q!fO'#FOO:yQ!fO'#ExOOQO'#FO'#FOOOQO,5;i,5;iO<^QWO,5;iO<iQWO,5:VO<nQ!fO1G.hOOQO1G0g1G0gO=PQWO'#CnOOQP1G.o1G.oO=WQWO'#CqOOQP1G/d1G/dO(QQWO1G/dO=_Q`O1G1ZOOQO1G1Z1G1ZO=mQWO1G/rO=rQ!fO'#FQO>WQWO1G/rO>]Q!fO'#DnO>qQWO,5:ZO>vQ!fO,5:_OOQO'#DP'#DPO'bQWO,5:]O?XQWO'#DwOOQS,5:b,5:bO?`QWO,5:dO'bQWO'#EiO?gQWO,5;mO*bQWO,5:`OOQO1G0P1G0PO?uQ!fO,5:^O@aQ!fO,59cOOQS,59e,59eO(QQWO,59iOOQS,59n,59nO@rQWO,59pOOQO1G0R1G0RO@yQ#tO,59rOARQ!fO,59lOOQO1G0T1G0TOBrQWO1G0TOBwQWO'#ETOOQO1G0W1G0WOOQO1G0^1G0^OOQO,5;V,5;VOOQO-E8i-E8iOCVQ!fO1G0bOCvQWO1G0`O%kQWO'#E_O$RQWO'#E`OEZQWO'#E^OOQO1G0b1G0bPEkQWO'#EcO<nQ!fO7+$SOOQO7+$S7+$SO(QQWO7+$SOOQP7+$Z7+$ZOOQP7+%O7+%OO(QQWO7+%OOEpQ!fO'#EeOF}QWO,5;jO(QQWO,5;jOOQO,5;j,5;jO+gQpO'#EgOG[QWO1G1TOOQO1G1T1G1TOOQO1G/q1G/qOGgQaO'#EvOGnQWO,59YOGsQWO'#EwOG}QWO,59]OHSQ!fO7+%OOOQO7+&u7+&uOOQO7+%^7+%^O(QQWO'#EhOHeQWO,5;lOHmQWO7+%^O(QQWO1G/uOOQS1G/y1G/yOOQS1G/w1G/wOHrQWO,5:cOHwQ!fO1G0OOOQS1G0O1G0OOIYQ!fO,5;TOOQO-E8g-E8gOItQaO1G/zOOQS1G.}1G.}OOQS1G/T1G/TOI{Q!fO1G/[OOQS1G/[1G/[OJ^QWO1G/^OOQO7+%o7+%oOJcQYO'#CyO+YQWO'#EjOJkQWO,5:oOOQO,5:o,5:oOJyQ!fO'#ElO(QQWO'#ElOL^QWO7+%|OOQO7+%|7+%|OOQO7+%z7+%zOOQO,5:y,5:yOOQO,5:z,5:zOLqQaO,5:xOOQO,5:x,5:xOOQO<<Gn<<GnO<nQ!fO<<GnOMRQ!fO<<HjOOQO-E8c-E8cOMdQWO1G1UOOQO,5;R,5;ROOQO-E8e-E8eOOQO7+&o7+&oOMqQWO,5;bOOQP1G.t1G.tO(QQWO'#EfOMyQWO,5;cOOQT1G.w1G.wOOQP<<Hj<<HjONRQ!fO,5;SOOQO-E8f-E8fO/OQWO<<HxONgQWO7+%aOOQS1G/}1G/}OOQS7+%j7+%jOOQS7+%f7+%fOOQS7+$v7+$vOOQS7+$x7+$xOOQO,5;U,5;UOOQO-E8h-E8hOOQO1G0Z1G0ZONnQ!fO,5;WOOQO-E8j-E8jOOQO<<Ih<<IhOOQO1G0d1G0dOOQOAN=YAN=YOOQPAN>UAN>UO!!RQWO,5;QOOQO-E8d-E8dO!!]QWOAN>dOOQS<<H{<<H{OOQOG24OG24O\",\n stateData: \"!!n~O#dOSROSSOS~OVXOYXO^TO_TOfaOgbOoaOpWOyVO!OUO!aYO!nZO!p[O!r]O!u^O!{_O#hPO#iRO~O#a#eP~P]O^XX^!}X_XXcXXjXXp!}XyXX!OXX!UXX!ZXX![XX!^XX#PXX#aXX#bXX#iXX#oXX#pXX#p!}X#x!}X!]XX~O#hjO~O^oO_oOcmOyqO!OpO!UrO#bsO#ilO#otO#ptO~OjvO![yO!^wO#P{O!Z#TX#a#TX!]#TX~P$WOd!OO#h|O~O#h!PO~O#h!RO~O#h!TO#p!VO#x!VO^!YX^#wX_!YXc!YXj!YXy!YX!O!YX!U!YX!Z!YX![!YX!^!YX#P!YX#a!YX#b!YX#i!YX#o!YX#p!YX!]!YX~Oj!XOn!WO~Og!^Oj!ZOo!^Op!^Ou!`O!i!]O#h!YO~O!^#uP~P'bOf!fOg!fOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO~On!iO{!eO#h!hO~O#h!kO~Op!nO#p!VO#x!VO^#wX~OjvO#p!VO#x!VO^#wX~O^!qO~O!Z!rO#a#eX!]#eX~O#a#eX!]#eX~P]OVXOYXO^TO_TOp!xOyVO!OUO#h!vO#iRO~OcmOjvO![!{O!^wO~Od#OO#h|O~Of!fOg#VOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO#s#WO~Oa#XO~P+gO!]#eP~P]O![!{O!^wO#P#]O!Z#Ta#a#Ta!]#Ta~OQ#^O^]a_]ac]aj]ay]a!O]a!U]a!Z]a![]a!^]a#P]a#a]a#b]a#i]a#o]a#p]a!]]aa]a~OQ#`O~Ow#aO!S#bO~Op!nO#p#dO#x#dO^#wa~O!Z#uP~P'bOa#tP~P(QOg!^Oj!ZOo!^Op!^Ou!`O!i!]O~O#h#hO~P/^OQ#mOc#pOr#lOy#oO#n#kO!^#uX!Z#uXa#uX~Oj#rO~OP#vOQmXrmXymX!ZmX#nmX^mXamXcmXfmXgmXhmXjmXlmXnmXomXpmXumX{mX#hmX#mmX!^mX#PmX#amXwmX!]mX~OQ#`Or#wOy#yO!Z#zO#n#kO~Oj#{O~O!Z#}O~On$OO{!eO~O!^$PO~OQ#mOr#lOy#oO!^wO#n#kO~O#h!TO^#_Xp#_X#p#_X#x#_X~O!O$WO!^wO#i$XO~P(QO!Z!rO#a#ea!]#ea~O^oO_oOyqO!OpO!UrO#bsO#ilO#otO#ptO~Oc#Waj#Wa![#Wa!^#Waa#Wa~P4dO![$_O!^wO~OQ#^O^]i_]ic]ij]iy]i!O]i!U]i!Z]i![]i!^]i#P]i#a]i#b]i#i]i#o]i#p]i!]]ia]i~Ow$aO!S$bO~O^oO_oOyqO!OpO#ilO~Oc!Tij!Ti!U!Ti!Z!Ti![!Ti!^!Ti#P!Ti#a!Ti#b!Ti#o!Ti#p!Ti!]!Tia!Ti~P7TOc!Vij!Vi!U!Vi!Z!Vi![!Vi!^!Vi#P!Vi#a!Vi#b!Vi#o!Vi#p!Vi!]!Via!Vi~P7TOc!Wij!Wi!U!Wi!Z!Wi![!Wi!^!Wi#P!Wi#a!Wi#b!Wi#o!Wi#p!Wi!]!Wia!Wi~P7TOQ#`O^$eOr#wOy#yO#n#kOa#rXc#rX!Z#rX~P(QO#s$fOQ#lX^#lXa#lXc#lXf#lXg#lXh#lXj#lXl#lXn#lXo#lXp#lXr#lXu#lXy#lX{#lX!Z#lX#h#lX#m#lX#n#lX~Oa$iOc$gO!Z$gO~O!]$jO~OQ#`Or#wOy#yO!^wO#n#kO~Oa#jP~P*bOa#kP~P(QOp!nO#p$pO#x$pO^#wi~O!Z$qO~OQ#`Oc$rOr#wOy#yO#n#kOa#tX~Oa$tO~OQ!bX^!dXa!bXr!bXy!bX#n!bX~O^$uO~OQ#mOa$vOr#lOy#oO#n#kO~Oa#uP~P'bOw$zO~P(QOc#pO!^#ua!Z#uaa#ua~OQ#mOr#lOy#oO#n#kOc!fa!^!fa!Z!faa!fa~OQ#`Oa%OOr#wOy#yO#n#kO~Ow%RO~P(QOn%SO|%SO~OQ#`Or#wOy#yO#n#kO!Zta^taatactaftagtahtajtaltantaotaptauta{ta#hta#mta!^ta#Pta#atawta!]ta~O!Z%TO~O!]%XO!x%VO!y%VO#m%UO~OQ#`Oc%ZOr#wOy#yO#P%]O#n#kO!Z#Oi#a#Oi!]#Oi~P(QO!Z%^OV!|iY!|i^!|i_!|if!|ig!|io!|ip!|iy!|i!O!|i!a!|i!n!|i!p!|i!r!|i!u!|i!{!|i#a!|i#h!|i#i!|i!]!|i~OjvO!Z#QX#a#QX!]#QX~P*bO!Z!rO~OQ#`Or#wOy#yO#n#kOa#XXc#XXf#XXg#XXh#XXj#XXl#XXn#XXo#XXp#XXu#XX{#XX!Z#XX#h#XX#m#XX~Oa#rac#ra!Z#ra~P(QOa%jOc$gO!Z$gO~Oa#jX~P$WOa%lO~Oc%mOa#kX~P(QOa%oO~OQ#`Or#wOw%pOy#yO#n#kO~Oc$rOa#ta~On%sO~Oa%uO~OQ#`Or#wOw%vOy#yO#n#kO~OQ#mOr#lOy#oO#n#kOc#]a!^#]a!Z#]aa#]a~Oa%wO~P4dOQ#`Or#wOw%xOy#yO#n#kO~Oa%yO~OP#vO!^mX~O!]%|O!x%VO!y%VO#m%UO~OQ#`Or#wOy#yO#n#kOc#`Xf#`Xg#`Xh#`Xj#`Xl#`Xn#`Xo#`Xp#`Xu#`X{#`X!Z#`X#P#`X#a#`X#h#`X#m#`X!]#`X~Oc%ZO#P&PO!Z#Oq#a#Oq!]#Oq~P(QOjvO!Z#Qa#a#Qa!]#Qa~P4dOQ#`Or#wOw&SOy#yO#n#kO~Oa#ric#ri!Z#ri~P(QOcmOa#ja~Oc%mOa#ka~OQ#`Or#wOy#yO#n#kOa#[ac#[a~Oa&WO~P(QOQ#`Or#wOy#yO#n#kOc#`af#`ag#`ah#`aj#`al#`an#`ao#`ap#`au#`a{#`a!Z#`a#P#`a#a#`a#h#`a#m#`a!]#`a~Oa#Yac#Ya~P(QO!Z&XO~Of#dpg#m|#iRSRr~\",\n goto: \"0^#zPPPPPP#{P$Q$^P$Q$j$QPP$sP$yPP%PPPP%jP%jP&ZPPP%jP'O%jP%jP%jP'jPP$QP(a$Q(jP$QP$Q$Q(p$QPPPP(w#{P)f)f)q)f)f)f)fP)f)t)f#{P#{P#{P){#{P*O*RPP#{P#{*U*aP*f*i*i*a*a*l*s*}+e+k+q+w+},T,_PPPP,e,k,pPP-[-_-bPPPP.u/UP/[/_/k0QP0VVdOhweXOhmrsuw#^#r$YeQOhmrsuw#^#r$YQkRQ!ulR%`$XQ}TR!}oQ#_}R$`!}Q#_!Or#x!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}R$`#O!]!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&T![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TT%V$P%WY#l![!m#j#t${s#w!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TQ!i]R$O!jQ!QUQ#PpR%_$WQ!SVR#QqZuS!w$k$}%aQxSS!znzQ#s!_Q$R!mQ$V!qS$^!|#[Q%c$]Q%z%VR&R%dc!^Z_!W!Z!`#l#m#p%sR#i!ZZ#n![!m#j#t${R!j]R!l^R$Q!lU`OhwQ!UWR$S!nVeOhwR$Z!qR$Y!qShOwR!thQnSS!yn%kR%k$kQ$d#UQ$m#`Y%f$d$m%g%t&TQ%g$eQ%t$uR&T%mQ%n$mR&U%nQ$h#YR%i$hQ$s#fR%r$sQ#q![R$|#qQ%W$PR%{%WQ!o`Q#c!UT$T!o#cQ%[$UR&O%[QiOR#ZwVfOhwUSOhwQ!wmQ#RrQ#SsQ#TuQ$k#^Q$}#rR%a$YR$l#^R$n#`Q!d[S#Uv$gQ#[yQ#f!XQ#u!bQ#|!gQ$U!qQ$]!{d$c#U#`$d$e$m$u%g%m%t&TQ$o#bQ$y#oQ%P#wQ%Q#yS%Y$U%[Q%d$_Q%e$bQ%q$rR%}%ZQzSQ!pbQ!|nQ%b$YR&Q%aQ#YvR%h$gR#g!XQ!_ZQ#e!WQ$x#mR&V%sW![Z!W#m%sQ!m_Q#j!ZQ#t!`Q$w#lR${#pVcOhwSgOwR!sh\",\n nodeNames: \"⚠ Unit ( Comment LineComment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName ) ArgList , PseudoClassName ArgList VariableName AtKeyword PropertyVariable ValueName ( ParenthesizedValue ColorLiteral NumberLiteral StringLiteral Escape Interpolation BinaryExpression BinOp LogicOp UnaryExpression UnaryQueryOp CallExpression ] SubscriptExpression [ CallLiteral CallTag ParenthesizedContent IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp InterpolatedSelector ; when } { Block ImportStatement import KeywordQuery FeatureQuery FeatureName BinaryQuery UnaryQuery ParenthesizedQuery SelectorQuery selector CallQuery ArgList SubscriptQuery MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList from to SupportsStatement supports DetachedRuleSet PropertyName Declaration Important Inclusion IdSelector ClassSelector Inclusion CallExpression\",\n maxTerm: 133,\n nodeProps: [\n [\"isolate\", -3,3,4,30,\"\"],\n [\"openedBy\", 17,\"(\",59,\"{\"],\n [\"closedBy\", 26,\")\",60,\"}\"]\n ],\n propSources: [lessHighlighting],\n skippedNodes: [0,3,4],\n repeatNodeCount: 10,\n tokenData: \"!2q~R!ZOX$tX^%l^p$tpq%lqr)Ors-xst/ltu6Zuv$tvw8^wx:Uxy;syz<Uz{<Z{|<t|}BQ}!OBc!O!PDo!P!QFY!Q![Jw![!]Kr!]!^Ln!^!_MP!_!`M{!`!aNl!a!b$t!b!c! m!c!}!&R!}#O!'y#O#P$t#P#Q!([#Q#R!(m#R#T$t#T#o!&R#o#p!)S#p#q!(m#q#r!)e#r#s!)v#s#y$t#y#z%l#z$f$t$f$g%l$g#BY$t#BY#BZ%l#BZ$IS$t$IS$I_%l$I_$I|$t$I|$JO%l$JO$JT$t$JT$JU%l$JU$KV$t$KV$KW%l$KW&FU$t&FU&FV%l&FV;'S$t;'S;=`!2k<%lO$t`$wSOy%Tz;'S%T;'S;=`%f<%lO%T`%YS|`Oy%Tz;'S%T;'S;=`%f<%lO%T`%iP;=`<%l%T~%qh#d~OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%T~'dh#d~|`OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%Tk)RUOy%Tz#]%T#]#^)e#^;'S%T;'S;=`%f<%lO%Tk)jU|`Oy%Tz#a%T#a#b)|#b;'S%T;'S;=`%f<%lO%Tk*RU|`Oy%Tz#d%T#d#e*e#e;'S%T;'S;=`%f<%lO%Tk*jU|`Oy%Tz#c%T#c#d*|#d;'S%T;'S;=`%f<%lO%Tk+RU|`Oy%Tz#f%T#f#g+e#g;'S%T;'S;=`%f<%lO%Tk+jU|`Oy%Tz#h%T#h#i+|#i;'S%T;'S;=`%f<%lO%Tk,RU|`Oy%Tz#T%T#T#U,e#U;'S%T;'S;=`%f<%lO%Tk,jU|`Oy%Tz#b%T#b#c,|#c;'S%T;'S;=`%f<%lO%Tk-RU|`Oy%Tz#h%T#h#i-e#i;'S%T;'S;=`%f<%lO%Tk-lS#PZ|`Oy%Tz;'S%T;'S;=`%f<%lO%T~-{WOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f<%lO-x~.jOn~~.mRO;'S-x;'S;=`.v;=`O-x~.yXOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f;=`<%l-x<%lO-x~/iP;=`<%l-xo/qY!OROy%Tz!Q%T!Q![0a![!c%T!c!i0a!i#T%T#T#Z0a#Z;'S%T;'S;=`%f<%lO%Tm0fY|`Oy%Tz!Q%T!Q![1U![!c%T!c!i1U!i#T%T#T#Z1U#Z;'S%T;'S;=`%f<%lO%Tm1ZY|`Oy%Tz!Q%T!Q![1y![!c%T!c!i1y!i#T%T#T#Z1y#Z;'S%T;'S;=`%f<%lO%Tm2QYl]|`Oy%Tz!Q%T!Q![2p![!c%T!c!i2p!i#T%T#T#Z2p#Z;'S%T;'S;=`%f<%lO%Tm2wYl]|`Oy%Tz!Q%T!Q![3g![!c%T!c!i3g!i#T%T#T#Z3g#Z;'S%T;'S;=`%f<%lO%Tm3lY|`Oy%Tz!Q%T!Q![4[![!c%T!c!i4[!i#T%T#T#Z4[#Z;'S%T;'S;=`%f<%lO%Tm4cYl]|`Oy%Tz!Q%T!Q![5R![!c%T!c!i5R!i#T%T#T#Z5R#Z;'S%T;'S;=`%f<%lO%Tm5WY|`Oy%Tz!Q%T!Q![5v![!c%T!c!i5v!i#T%T#T#Z5v#Z;'S%T;'S;=`%f<%lO%Tm5}Sl]|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm6^YOy%Tz!_%T!_!`6|!`!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Td7TS!SS|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm7h[h]|`Oy%Tz}%T}!O7a!O!Q%T!Q![7a![!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Ta8c[YPOy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%Ta9`[YP|`Oy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%T~:XWOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m<%lO:U~:tRO;'S:U;'S;=`:};=`O:U~;QXOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m;=`<%l:U<%lO:U~;pP;=`<%l:Uo;xSj_Oy%Tz;'S%T;'S;=`%f<%lO%T~<ZOa~m<bUVPrWOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%To<{Y#pQrWOy%Tz!O%T!O!P=k!P!Q%T!Q![@p![#R%T#R#SAm#S;'S%T;'S;=`%f<%lO%Tm=pU|`Oy%Tz!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%Tm>ZY#m]|`Oy%Tz!Q%T!Q![>S![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%Tm?OY|`Oy%Tz{%T{|?n|}%T}!O?n!O!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm?sU|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@^U#m]|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@w[#m]|`Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TbAtS#xQ|`Oy%Tz;'S%T;'S;=`%f<%lO%TkBVScZOy%Tz;'S%T;'S;=`%f<%lO%TmBhXrWOy%Tz}%T}!OCT!O!P=k!P!Q%T!Q![@p![;'S%T;'S;=`%f<%lO%TmCYW|`Oy%Tz!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%TmCy[f]|`Oy%Tz}%T}!OCr!O!Q%T!Q![Cr![!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%ToDtW#iROy%Tz!O%T!O!PE^!P!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%TlEcU|`Oy%Tz!O%T!O!PEu!P;'S%T;'S;=`%f<%lO%TlE|S#s[|`Oy%Tz;'S%T;'S;=`%f<%lO%T~F_VrWOy%Tz{Ft{!P%T!P!QIl!Q;'S%T;'S;=`%f<%lO%T~FyU|`OyFtyzG]z{Hd{;'SFt;'S;=`If<%lOFt~G`TOzG]z{Go{;'SG];'S;=`H^<%lOG]~GrVOzG]z{Go{!PG]!P!QHX!Q;'SG];'S;=`H^<%lOG]~H^OR~~HaP;=`<%lG]~HiW|`OyFtyzG]z{Hd{!PFt!P!QIR!Q;'SFt;'S;=`If<%lOFt~IYS|`R~Oy%Tz;'S%T;'S;=`%f<%lO%T~IiP;=`<%lFt~IsV|`S~OYIlYZ%TZyIlyzJYz;'SIl;'S;=`Jq<%lOIl~J_SS~OYJYZ;'SJY;'S;=`Jk<%lOJY~JnP;=`<%lJY~JtP;=`<%lIlmJ|[#m]Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TkKwU^ZOy%Tz![%T![!]LZ!];'S%T;'S;=`%f<%lO%TcLbS_R|`Oy%Tz;'S%T;'S;=`%f<%lO%TkLsS!ZZOy%Tz;'S%T;'S;=`%f<%lO%ThMUUrWOy%Tz!_%T!_!`Mh!`;'S%T;'S;=`%f<%lO%ThMoS|`rWOy%Tz;'S%T;'S;=`%f<%lO%TlNSW!SSrWOy%Tz!^%T!^!_Mh!_!`%T!`!aMh!a;'S%T;'S;=`%f<%lO%TjNsV!UQrWOy%Tz!_%T!_!`Mh!`!a! Y!a;'S%T;'S;=`%f<%lO%Tb! aS!UQ|`Oy%Tz;'S%T;'S;=`%f<%lO%To! rYg]Oy%Tz!b%T!b!c!!b!c!}!#R!}#T%T#T#o!#R#o#p!$O#p;'S%T;'S;=`%f<%lO%Tm!!iWg]|`Oy%Tz!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%Tm!#Y[g]|`Oy%Tz}%T}!O!#R!O!Q%T!Q![!#R![!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%To!$TW|`Oy%Tz!c%T!c!}!$m!}#T%T#T#o!$m#o;'S%T;'S;=`%f<%lO%To!$r^|`Oy%Tz}%T}!O!$m!O!Q%T!Q![!$m![!c%T!c!}!$m!}#T%T#T#o!$m#o#q%T#q#r!%n#r;'S%T;'S;=`%f<%lO%To!%uSp_|`Oy%Tz;'S%T;'S;=`%f<%lO%To!&W[#h_Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%To!'T[#h_|`Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%Tk!(OSyZOy%Tz;'S%T;'S;=`%f<%lO%Tm!(aSw]Oy%Tz;'S%T;'S;=`%f<%lO%Td!(pUOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tk!)XS!^ZOy%Tz;'S%T;'S;=`%f<%lO%Tk!)jS!]ZOy%Tz;'S%T;'S;=`%f<%lO%To!){Y#oQOr%Trs!*ksw%Twx!.wxy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tm!*pZ|`OY!*kYZ%TZr!*krs!+csy!*kyz!+vz#O!*k#O#P!-j#P;'S!*k;'S;=`!.q<%lO!*km!+jSo]|`Oy%Tz;'S%T;'S;=`%f<%lO%T]!+yWOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d<%lO!+v]!,hOo]]!,kRO;'S!+v;'S;=`!,t;=`O!+v]!,wXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!+v<%lO!+v]!-gP;=`<%l!+vm!-oU|`Oy!*kyz!+vz;'S!*k;'S;=`!.R;=`<%l!+v<%lO!*km!.UXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!*k<%lO!+vm!.tP;=`<%l!*km!.|Z|`OY!.wYZ%TZw!.wwx!+cxy!.wyz!/oz#O!.w#O#P!1^#P;'S!.w;'S;=`!2e<%lO!.w]!/rWOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W<%lO!/o]!0_RO;'S!/o;'S;=`!0h;=`O!/o]!0kXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!/o<%lO!/o]!1ZP;=`<%l!/om!1cU|`Oy!.wyz!/oz;'S!.w;'S;=`!1u;=`<%l!/o<%lO!.wm!1xXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!.w<%lO!/om!2hP;=`<%l!.w`!2nP;=`<%l$t\",\n tokenizers: [descendant, unitToken, argList, 0, 1, 2, 3, 4],\n topRules: {\"StyleSheet\":[0,5]},\n specialized: [{term: 116, get: (value) => spec_identifier[value] || -1},{term: 23, get: (value) => spec_AtKeyword[value] || -1}],\n tokenPrec: 2180\n});\n\n/**\nA language provider for Less style sheets.\n*/\nconst lessLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"less\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n Declaration: /*@__PURE__*/continuedIndent()\n }),\n /*@__PURE__*/foldNodeProp.add({\n Block: foldInside\n })\n ]\n }),\n languageData: {\n commentTokens: { block: { open: \"/*\", close: \"*/\" }, line: \"//\" },\n indentOnInput: /^\\s*\\}$/,\n wordChars: \"@-\"\n }\n});\n/**\nProperty, variable, @-variable, and value keyword completion\nsource.\n*/\nconst lessCompletionSource = /*@__PURE__*/defineCSSCompletionSource(node => node.name == \"VariableName\" || node.name == \"AtKeyword\");\n/**\nLanguage support for Less.\n*/\nfunction less() {\n return new LanguageSupport(lessLanguage, lessLanguage.data.of({ autocomplete: lessCompletionSource }));\n}\n\nexport { less, lessCompletionSource, lessLanguage };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src-DjRNH9vV.js","names":[],"sources":["../../../../packages/utils/src/cdn-css.ts","../../../../packages/utils/src/device-context.ts","../../../../packages/utils/src/logger.ts","../../../../packages/utils/src/markdown.ts","../../../../packages/utils/src/message.ts","../../../../packages/utils/src/text.ts","../../../../packages/utils/src/url-validation.ts"],"sourcesContent":["const loaded = new WeakMap<Node, Set<string>>()\n\n/**\n * Injects a CDN stylesheet `<link>` once per URL per root.\n * When a `ShadowRoot` is passed, the link is appended there so that\n * custom-element (Shadow DOM) encapsulation is respected.\n * Falls back to `document.head` for regular DOM usage.\n */\nexport function loadCdnCss(href: string, root?: ShadowRoot) {\n const target: Node = root ?? document.head\n let set = loaded.get(target)\n if (!set) {\n set = new Set()\n loaded.set(target, set)\n }\n if (set.has(href)) {\n return\n }\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = href\n target.appendChild(link)\n set.add(href)\n}\n\n/** Returns the `ShadowRoot` ancestor of `el`, or `undefined` in regular DOM. */\nexport function getShadowRoot(el?: Element | null): ShadowRoot | undefined {\n const root = el?.getRootNode?.()\n return root instanceof ShadowRoot ? root : undefined\n}\n","interface NetworkInformation {\n type?: string\n effectiveType?: string\n downlink?: number\n rtt?: number\n saveData?: boolean\n}\n\ninterface NavigatorUAData {\n platform?: string\n}\n\n/**\n * Collects client-side device context information useful for chatbot interactions.\n * No additional permissions are required — all values are available by default in the browser.\n */\nexport function collectDeviceContext() {\n const connection = (\n navigator as Navigator & { connection?: NetworkInformation }\n ).connection\n\n const uaData = (\n navigator as Navigator & { userAgentData?: NavigatorUAData }\n ).userAgentData\n\n return {\n dateTime: new Date().toISOString(),\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n language: navigator.language,\n languages: [...navigator.languages],\n url: window.location.href,\n pathname: window.location.pathname,\n pageTitle: document.title,\n referrer: document.referrer || undefined,\n screenWidth: screen.width,\n screenHeight: screen.height,\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n devicePixelRatio: window.devicePixelRatio,\n maxTouchPoints: navigator.maxTouchPoints,\n hardwareConcurrency: navigator.hardwareConcurrency,\n deviceMemory: (navigator as Navigator & { deviceMemory?: number })\n .deviceMemory,\n platform: uaData?.platform,\n connectionType: connection?.type,\n connectionEffectiveType: connection?.effectiveType,\n connectionDownlink: connection?.downlink,\n connectionRtt: connection?.rtt,\n saveData: connection?.saveData,\n darkMode: window.matchMedia('(prefers-color-scheme: dark)').matches,\n reducedMotion: window.matchMedia('(prefers-reduced-motion: reduce)')\n .matches,\n historyLength: window.history.length,\n }\n}\n\nexport type GeolocationData = {\n geolocationLatitude: number\n geolocationLongitude: number\n geolocationAccuracy?: number\n geolocationCity?: string\n}\n\nexport type ReverseGeocodeFn = (\n lat: number,\n lon: number,\n) => Promise<string | undefined>\n\n/**\n * Collects geolocation data if the user has already granted permission.\n * Uses the Permissions API to avoid triggering a browser prompt.\n * Returns null if permission is not granted or geolocation is unavailable.\n * @param reverseGeocode - optional callback to resolve city name from coordinates (e.g. via backend proxy)\n */\nexport async function collectGeolocation(\n reverseGeocode?: ReverseGeocodeFn,\n): Promise<GeolocationData | null> {\n if (!navigator.geolocation || !navigator.permissions) {\n return null\n }\n\n try {\n const permission = await navigator.permissions.query({\n name: 'geolocation',\n })\n if (permission.state !== 'granted') {\n return null\n }\n\n const position = await new Promise<GeolocationPosition>(\n (resolve, reject) => {\n navigator.geolocation.getCurrentPosition(resolve, reject, {\n timeout: 10_000,\n })\n },\n )\n\n const { latitude, longitude, accuracy } = position.coords\n const city = reverseGeocode\n ? await reverseGeocode(latitude, longitude).catch(() => undefined)\n : undefined\n\n return {\n geolocationLatitude: latitude,\n geolocationLongitude: longitude,\n geolocationAccuracy: accuracy,\n geolocationCity: city,\n }\n } catch {\n return null\n }\n}\n","import type { Ref } from 'vue'\n\ntype ExceptionTracker = (\n error: Error,\n properties?: Record<string, string>,\n) => void\n\nlet _exceptionTracker: ExceptionTracker | undefined\n\n/**\n * Registers a callback invoked by error/warn/logError/logWarn to track exceptions\n * (e.g. Application Insights trackException).\n */\nexport const setExceptionTracker = (tracker: ExceptionTracker) => {\n _exceptionTracker = tracker\n}\n\nconst extractError = (params: unknown[]): Error => {\n const found = params.find((p): p is Error => p instanceof Error)\n if (found) {\n return found\n }\n return new Error(params.map(String).join(' '))\n}\n\nconst formatParam = (param: unknown): string => {\n if (param instanceof Error) {\n return param.stack ?? param.message\n }\n return String(param)\n}\n\nconst formatParams = (params: unknown[]): string => {\n return params.map(formatParam).join(' ')\n}\n\nconst isServerSide = typeof window === 'undefined'\nconst isLocal = isServerSide\n ? process?.env?.VITE_LOCAL === 'true'\n : import.meta.env?.VITE_LOCAL\n\nconst isLoggingEnabled = isLocal || isServerSide\n\nexport const log = (...params: unknown[]) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.log(...params)\n }\n}\n\nexport const error = (...params: unknown[]) => {\n _exceptionTracker?.(extractError(params))\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.error(formatParams(params))\n }\n}\nexport const info = (...params: unknown[]) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.info(...params)\n }\n}\nexport const debug = (...params: unknown[]) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.debug(...params)\n }\n}\nexport const warn = (...params: unknown[]) => {\n _exceptionTracker?.(extractError(params))\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.warn(formatParams(params))\n }\n}\nexport const assert = (condition: boolean | undefined, message: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.assert(condition, message)\n }\n}\nexport const clear = () => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.clear()\n }\n}\nexport const table = (table: unknown) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.table(table)\n }\n}\nexport const group = (name: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.group(name)\n }\n}\nexport const groupEnd = () => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.groupEnd()\n }\n}\nexport const time = (name: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.time(name)\n }\n}\nexport const timeEnd = (name: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.timeEnd(name)\n }\n}\nexport const timeLog = (name: string, ...params: unknown[]) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.timeLog(name, ...params)\n }\n}\n\nexport const logger = {\n log,\n error,\n info,\n debug,\n warn,\n assert,\n clear,\n table,\n group,\n groupEnd,\n time,\n timeEnd,\n timeLog,\n}\n\nexport const useErrorsLogger = (errors: Ref<Error | null | undefined>[]) => {\n // Vue is an optional runtime dependency for the backend build.\n // Lazily import it only when running in a browser/Vue environment.\n if (typeof window === 'undefined') {\n return\n }\n\n void import('vue').then(({ watch }) => {\n errors.forEach((error) => {\n watch(error, (value) => {\n logger.error(value)\n })\n })\n })\n}\n","export const stripMarkdown = (text?: string | null) => {\n if (!text) {\n return undefined\n }\n return text\n .replace(/!\\[.*?\\]\\(.*?\\)/g, '') // images\n .replace(/\\[([^\\]]+)\\]\\(.*?\\)/g, '$1') // links\n .replace(/`{1,3}[^`]*`{1,3}/g, '') // inline code / code blocks\n .replace(/#{1,6}\\s/g, '') // headings\n .replace(/(\\*{1,3}|_{1,3})(.*?)\\1/g, '$2') // bold / italic\n .replace(/~~(.*?)~~/g, '$1') // strikethrough\n .replace(/^\\s*[-*+>]\\s+/gm, '') // lists and blockquotes\n .replace(/\\n+/g, ' ') // newlines\n .trim()\n}\n","import type { UIMessage } from 'ai'\n\ntype MessagePart = UIMessage['parts'][number]\n\nexport function isTextPart(\n part: MessagePart | null | undefined,\n): part is Extract<MessagePart, { type: 'text' }> {\n if (!part) return false\n return part.type === 'text'\n}\n\nexport function isToolPart(\n part: MessagePart | null | undefined,\n): part is Extract<MessagePart, { type: `tool-${string}` }> {\n if (!part) return false\n return part.type.startsWith('tool-')\n}\n\nexport function getToolPartName(part: MessagePart): string {\n if (!isToolPart(part)) return ''\n return part.type.slice('tool-'.length)\n}\n\nexport function isFilePart(\n part: MessagePart | null | undefined,\n): part is Extract<MessagePart, { type: 'file' }> {\n if (!part) return false\n return part.type === 'file'\n}\n\nexport function isReasoningPart(\n part: MessagePart | null | undefined,\n): part is Extract<MessagePart, { type: 'reasoning' }> {\n if (!part) return false\n return part.type === 'reasoning'\n}\n\nexport function hasPartText(\n part: MessagePart | null | undefined,\n): part is Extract<MessagePart, { text: string }> {\n if (!part) return false\n if (isTextPart(part)) {\n return true\n }\n return (\n 'text' in part &&\n part.text !== undefined &&\n part.text !== null &&\n part.text !== ''\n )\n}\n\nexport function hasTextPart(message?: UIMessage): boolean {\n if (!message) return false\n return message.parts.some((part) => isTextPart(part))\n}\n\nexport function getTextPart(\n message: UIMessage | null | undefined,\n): string | undefined {\n if (!message) return undefined\n const textPart = message.parts.find((part) => isTextPart(part))\n return textPart?.text\n}\n\nexport function getMessageText(message: UIMessage | null | undefined): string {\n if (!message) return ''\n return message.parts\n .filter((p): p is Extract<MessagePart, { type: 'text' }> =>\n isTextPart(p),\n )\n .map((p) => p.text)\n .join('')\n}\n","export const removeAccents = (str: string) =>\n str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '')\n\nexport const toCamelCase = <T extends string>(str?: string): T => {\n if (!str) return '' as unknown as T\n return removeAccents(str)\n .replace(/[^a-zA-Z0-9]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))\n .replace(/^(.)/, (match) => match.toLowerCase()) as unknown as T\n}\n\nexport const fromCamelCase = (str?: string): string => {\n if (!str) return ''\n return str.replace(/([a-z])([A-Z])/g, '$1 $2')\n}\n\nexport const toPascalCase = <T extends string>(str?: string): T => {\n if (!str) return '' as unknown as T\n return removeAccents(str)\n .replace(/[^a-zA-Z0-9]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))\n .replace(/^(.)/, (match) => match.toUpperCase()) as unknown as T\n}\n\nexport const toKebabCase = <T extends string>(str?: string): T => {\n if (!str) return '' as unknown as T\n return removeAccents(str)\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[^a-zA-Z0-9]+/g, '-')\n .toLowerCase() as unknown as T\n}\n\nexport const fromKebabCase = (str?: string): string => {\n if (!str) return ''\n return str.replace(/-/g, ' ')\n}\n\nexport const toSnakeCase = <T extends string>(str?: string): T => {\n if (!str) return '' as unknown as T\n return removeAccents(str)\n .replace(/([a-z0-9])([A-Z])/g, '$1_$2')\n .replace(/[^a-zA-Z0-9]+/g, '_')\n .toLowerCase() as unknown as T\n}\n\nexport const capitalizeFirstLetter = (str?: string) => {\n if (!str) return ''\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport const lowercaseFirstLetter = (str?: string) => {\n if (!str) return ''\n return str.charAt(0).toLowerCase() + str.slice(1)\n}\n","/**\n * Check if URL points to an HTML page based on extension and content-type\n * @param url - The URL to check\n * @param contentType - Optional content-type header from response\n * @returns true if URL appears to be HTML, false otherwise\n */\nexport function isHtmlUrl(url: string, contentType?: string): boolean {\n // Check content-type if available\n if (contentType) {\n return contentType.includes('text/html')\n }\n\n // Check URL extension\n const urlObj = new URL(url)\n const pathname = urlObj.pathname.toLowerCase()\n\n // Exclude common non-HTML extensions\n const nonHtmlExtensions = [\n '.pdf',\n '.doc',\n '.docx',\n '.xls',\n '.xlsx',\n '.ppt',\n '.pptx',\n '.zip',\n '.rar',\n '.tar',\n '.gz',\n '.jpg',\n '.jpeg',\n '.png',\n '.gif',\n '.svg',\n '.webp',\n '.mp4',\n '.avi',\n '.mov',\n '.mp3',\n '.wav',\n '.css',\n '.js',\n '.json',\n '.xml',\n '.txt',\n ]\n\n return !nonHtmlExtensions.some((ext) => pathname.endsWith(ext))\n}\n\n/**\n * Checks if a URL has an initial slash\n * @param url - The URL string to check\n * @returns true if URL has an initial slash, false otherwise\n */\nexport function hasInitialSlash(url: string): boolean {\n return url.startsWith('/')\n}\n\n/**\n * Adds an initial slash to a URL if it doesn't already have one\n * @param url - The URL string to modify\n * @returns The URL string with an initial slash\n */\nexport function addInitialSlash(url: string): string {\n return hasInitialSlash(url) ? url : `/${url}`\n}\n\n/**\n * Checks if a URL has a trailing slash\n * @param url - The URL string to check\n * @returns true if URL has a trailing slash, false otherwise\n */\nexport function hasTrailingSlash(url: string): boolean {\n return url.endsWith('/')\n}\n\n/**\n * Checks whether a URL belongs to the same site as the current page.\n * Relative URLs and malformed URLs are treated as same-site.\n * Comparison is based on hostname only, so http and https variants of\n * the same domain are considered the same site.\n * @param url - The URL to check\n * @returns true if the URL is same-site or relative/malformed, false otherwise\n */\nexport function isSameSite(url: string): boolean {\n try {\n const target = new URL(url, window.location.origin)\n return target.hostname === window.location.hostname\n } catch {\n return true\n }\n}\n\n/**\n * Removes the trailing slash from a URL if it exists\n * @param url - The URL string to modify\n * @returns The URL string without a trailing slash\n */\nexport function removeTrailingSlash(url: string): string {\n return hasTrailingSlash(url) ? url.slice(0, -1) : url\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"src-DjRNH9vV.js","names":[],"sources":["../../../../packages/utils/src/cdn-css.ts","../../../../packages/utils/src/device-context.ts","../../../../packages/utils/src/logger.ts","../../../../packages/utils/src/markdown.ts","../../../../packages/utils/src/message.ts","../../../../packages/utils/src/text.ts","../../../../packages/utils/src/url-validation.ts"],"sourcesContent":["const loaded = new WeakMap<Node, Set<string>>()\n\n/**\n * Injects a CDN stylesheet `<link>` once per URL per root.\n * When a `ShadowRoot` is passed, the link is appended there so that\n * custom-element (Shadow DOM) encapsulation is respected.\n * Falls back to `document.head` for regular DOM usage.\n */\nexport function loadCdnCss(href: string, root?: ShadowRoot) {\n const target: Node = root ?? document.head\n let set = loaded.get(target)\n if (!set) {\n set = new Set()\n loaded.set(target, set)\n }\n if (set.has(href)) {\n return\n }\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = href\n target.appendChild(link)\n set.add(href)\n}\n\n/** Returns the `ShadowRoot` ancestor of `el`, or `undefined` in regular DOM. */\nexport function getShadowRoot(el?: Element | null): ShadowRoot | undefined {\n const root = el?.getRootNode?.()\n return root instanceof ShadowRoot ? root : undefined\n}\n","interface NetworkInformation {\n type?: string\n effectiveType?: string\n downlink?: number\n rtt?: number\n saveData?: boolean\n}\n\ninterface NavigatorUAData {\n platform?: string\n}\n\n/**\n * Collects client-side device context information useful for chatbot interactions.\n * No additional permissions are required — all values are available by default in the browser.\n */\nexport function collectDeviceContext() {\n const connection = (\n navigator as Navigator & { connection?: NetworkInformation }\n ).connection\n\n const uaData = (\n navigator as Navigator & { userAgentData?: NavigatorUAData }\n ).userAgentData\n\n return {\n dateTime: new Date().toISOString(),\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n language: navigator.language,\n languages: [...navigator.languages],\n url: window.location.href,\n pathname: window.location.pathname,\n pageTitle: document.title,\n referrer: document.referrer || undefined,\n screenWidth: screen.width,\n screenHeight: screen.height,\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n devicePixelRatio: window.devicePixelRatio,\n maxTouchPoints: navigator.maxTouchPoints,\n hardwareConcurrency: navigator.hardwareConcurrency,\n deviceMemory: (navigator as Navigator & { deviceMemory?: number })\n .deviceMemory,\n platform: uaData?.platform,\n connectionType: connection?.type,\n connectionEffectiveType: connection?.effectiveType,\n connectionDownlink: connection?.downlink,\n connectionRtt: connection?.rtt,\n saveData: connection?.saveData,\n darkMode: window.matchMedia('(prefers-color-scheme: dark)').matches,\n reducedMotion: window.matchMedia('(prefers-reduced-motion: reduce)')\n .matches,\n historyLength: window.history.length,\n }\n}\n\nexport type GeolocationData = {\n geolocationLatitude: number\n geolocationLongitude: number\n geolocationAccuracy?: number\n geolocationCity?: string\n}\n\nexport type ReverseGeocodeFn = (\n lat: number,\n lon: number,\n) => Promise<string | undefined>\n\n/**\n * Collects geolocation data if the user has already granted permission.\n * Uses the Permissions API to avoid triggering a browser prompt.\n * Returns null if permission is not granted or geolocation is unavailable.\n * @param reverseGeocode - optional callback to resolve city name from coordinates (e.g. via backend proxy)\n */\nexport async function collectGeolocation(\n reverseGeocode?: ReverseGeocodeFn,\n): Promise<GeolocationData | null> {\n if (!navigator.geolocation || !navigator.permissions) {\n return null\n }\n\n try {\n const permission = await navigator.permissions.query({\n name: 'geolocation',\n })\n if (permission.state !== 'granted') {\n return null\n }\n\n const position = await new Promise<GeolocationPosition>(\n (resolve, reject) => {\n navigator.geolocation.getCurrentPosition(resolve, reject, {\n timeout: 10_000,\n })\n },\n )\n\n const { latitude, longitude, accuracy } = position.coords\n const city = reverseGeocode\n ? await reverseGeocode(latitude, longitude).catch(() => undefined)\n : undefined\n\n return {\n geolocationLatitude: latitude,\n geolocationLongitude: longitude,\n geolocationAccuracy: accuracy,\n geolocationCity: city,\n }\n } catch {\n return null\n }\n}\n","import type { Ref } from 'vue'\n\ntype ExceptionTracker = (\n error: Error,\n properties?: Record<string, string>,\n) => void\n\nlet _exceptionTracker: ExceptionTracker | undefined\n\n/**\n * Registers a callback invoked by error/warn/logError/logWarn to track exceptions\n * (e.g. Application Insights trackException).\n */\nexport const setExceptionTracker = (tracker: ExceptionTracker) => {\n _exceptionTracker = tracker\n}\n\nconst extractError = (params: unknown[]): Error => {\n const found = params.find((p): p is Error => p instanceof Error)\n if (found) {\n return found\n }\n return new Error(params.map(String).join(' '))\n}\n\nconst formatParam = (param: unknown): string => {\n if (param instanceof Error) {\n return param.stack ?? param.message\n }\n return String(param)\n}\n\nconst formatParams = (params: unknown[]): string => {\n return params.map(formatParam).join(' ')\n}\n\nconst isServerSide = typeof window === 'undefined'\nconst isLocal = isServerSide\n ? process?.env?.VITE_LOCAL === 'true'\n : import.meta.env?.VITE_LOCAL\n\nconst isLoggingEnabled = isLocal || isServerSide\n\nexport const log = (...params: unknown[]) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.log(...params)\n }\n}\n\nexport const error = (...params: unknown[]) => {\n _exceptionTracker?.(extractError(params))\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.error(formatParams(params))\n }\n}\nexport const info = (...params: unknown[]) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.info(...params)\n }\n}\nexport const debug = (...params: unknown[]) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.debug(...params)\n }\n}\nexport const warn = (...params: unknown[]) => {\n _exceptionTracker?.(extractError(params))\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.warn(formatParams(params))\n }\n}\nexport const assert = (condition: boolean | undefined, message: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.assert(condition, message)\n }\n}\nexport const clear = () => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.clear()\n }\n}\nexport const table = (table: unknown) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.table(table)\n }\n}\nexport const group = (name: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.group(name)\n }\n}\nexport const groupEnd = () => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.groupEnd()\n }\n}\nexport const time = (name: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.time(name)\n }\n}\nexport const timeEnd = (name: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.timeEnd(name)\n }\n}\nexport const timeLog = (name: string, ...params: unknown[]) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.timeLog(name, ...params)\n }\n}\n\nexport const logger = {\n log,\n error,\n info,\n debug,\n warn,\n assert,\n clear,\n table,\n group,\n groupEnd,\n time,\n timeEnd,\n timeLog,\n}\n\nexport const useErrorsLogger = (errors: Ref<Error | null | undefined>[]) => {\n // Vue is an optional runtime dependency for the backend build.\n // Lazily import it only when running in a browser/Vue environment.\n if (typeof window === 'undefined') {\n return\n }\n\n void import('vue').then(({ watch }) => {\n errors.forEach((error) => {\n watch(error, (value) => {\n logger.error(value)\n })\n })\n })\n}\n","export const stripMarkdown = (text?: string | null) => {\n if (!text) {\n return undefined\n }\n return text\n .replace(/!\\[.*?\\]\\(.*?\\)/g, '') // images\n .replace(/\\[([^\\]]+)\\]\\(.*?\\)/g, '$1') // links\n .replace(/`{1,3}[^`]*`{1,3}/g, '') // inline code / code blocks\n .replace(/#{1,6}\\s/g, '') // headings\n .replace(/(\\*{1,3}|_{1,3})(.*?)\\1/g, '$2') // bold / italic\n .replace(/~~(.*?)~~/g, '$1') // strikethrough\n .replace(/^\\s*[-*+>]\\s+/gm, '') // lists and blockquotes\n .replace(/\\n+/g, ' ') // newlines\n .trim()\n}\n","import type { UIMessage } from 'ai'\n\ntype MessagePart = UIMessage['parts'][number]\n\nexport function isTextPart(\n part: MessagePart | null | undefined,\n): part is Extract<MessagePart, { type: 'text' }> {\n if (!part) return false\n return part.type === 'text'\n}\n\nexport function isToolPart(\n part: MessagePart | null | undefined,\n): part is Extract<MessagePart, { type: `tool-${string}` }> {\n if (!part) return false\n return part.type.startsWith('tool-')\n}\n\nexport function getToolPartName(part: MessagePart): string {\n if (!isToolPart(part)) return ''\n return part.type.slice('tool-'.length)\n}\n\nexport function isFilePart(\n part: MessagePart | null | undefined,\n): part is Extract<MessagePart, { type: 'file' }> {\n if (!part) return false\n return part.type === 'file'\n}\n\nexport function isReasoningPart(\n part: MessagePart | null | undefined,\n): part is Extract<MessagePart, { type: 'reasoning' }> {\n if (!part) return false\n return part.type === 'reasoning'\n}\n\nexport function hasPartText(\n part: MessagePart | null | undefined,\n): part is Extract<MessagePart, { text: string }> {\n if (!part) return false\n if (isTextPart(part)) {\n return true\n }\n return (\n 'text' in part &&\n part.text !== undefined &&\n part.text !== null &&\n part.text !== ''\n )\n}\n\nexport function hasTextPart(message?: UIMessage): boolean {\n if (!message) return false\n return message.parts.some((part) => isTextPart(part))\n}\n\nexport function getTextPart(\n message: UIMessage | null | undefined,\n): string | undefined {\n if (!message) return undefined\n const textPart = message.parts.find((part) => isTextPart(part))\n return textPart?.text\n}\n\nexport function getMessageText(message: UIMessage | null | undefined): string {\n if (!message) return ''\n return message.parts\n .filter((p): p is Extract<MessagePart, { type: 'text' }> =>\n isTextPart(p),\n )\n .map((p) => p.text)\n .join('')\n}\n","export const removeAccents = (str: string) =>\n str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '')\n\nexport const toCamelCase = <T extends string>(str?: string): T => {\n if (!str) return '' as unknown as T\n return removeAccents(str)\n .replace(/[^a-zA-Z0-9]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))\n .replace(/^(.)/, (match) => match.toLowerCase()) as unknown as T\n}\n\nexport const fromCamelCase = (str?: string): string => {\n if (!str) return ''\n return str.replace(/([a-z])([A-Z])/g, '$1 $2')\n}\n\nexport const toPascalCase = <T extends string>(str?: string): T => {\n if (!str) return '' as unknown as T\n return removeAccents(str)\n .replace(/[^a-zA-Z0-9]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))\n .replace(/^(.)/, (match) => match.toUpperCase()) as unknown as T\n}\n\nexport const toKebabCase = <T extends string>(str?: string): T => {\n if (!str) return '' as unknown as T\n return removeAccents(str)\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[^a-zA-Z0-9]+/g, '-')\n .toLowerCase() as unknown as T\n}\n\nexport const fromKebabCase = (str?: string): string => {\n if (!str) return ''\n return str.replace(/-/g, ' ')\n}\n\nexport const toSnakeCase = <T extends string>(str?: string): T => {\n if (!str) return '' as unknown as T\n return removeAccents(str)\n .replace(/([a-z0-9])([A-Z])/g, '$1_$2')\n .replace(/[^a-zA-Z0-9]+/g, '_')\n .toLowerCase() as unknown as T\n}\n\nexport const capitalizeFirstLetter = (str?: string) => {\n if (!str) return ''\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport const lowercaseFirstLetter = (str?: string) => {\n if (!str) return ''\n return str.charAt(0).toLowerCase() + str.slice(1)\n}\n","/**\n * Check if URL points to an HTML page based on extension and content-type\n * @param url - The URL to check\n * @param contentType - Optional content-type header from response\n * @returns true if URL appears to be HTML, false otherwise\n */\nexport function isHtmlUrl(url: string, contentType?: string): boolean {\n // Check content-type if available\n if (contentType) {\n return contentType.includes('text/html')\n }\n\n // Check URL extension\n let urlObj: URL\n try {\n urlObj = new URL(url)\n } catch {\n return false\n }\n const pathname = urlObj.pathname.toLowerCase()\n\n // Exclude common non-HTML extensions\n const nonHtmlExtensions = [\n '.pdf',\n '.doc',\n '.docx',\n '.xls',\n '.xlsx',\n '.ppt',\n '.pptx',\n '.zip',\n '.rar',\n '.tar',\n '.gz',\n '.jpg',\n '.jpeg',\n '.png',\n '.gif',\n '.svg',\n '.webp',\n '.mp4',\n '.avi',\n '.mov',\n '.mp3',\n '.wav',\n '.css',\n '.js',\n '.json',\n '.xml',\n '.txt',\n ]\n\n return !nonHtmlExtensions.some((ext) => pathname.endsWith(ext))\n}\n\n/**\n * Checks if a URL has an initial slash\n * @param url - The URL string to check\n * @returns true if URL has an initial slash, false otherwise\n */\nexport function hasInitialSlash(url: string): boolean {\n return url.startsWith('/')\n}\n\n/**\n * Adds an initial slash to a URL if it doesn't already have one\n * @param url - The URL string to modify\n * @returns The URL string with an initial slash\n */\nexport function addInitialSlash(url: string): string {\n return hasInitialSlash(url) ? url : `/${url}`\n}\n\n/**\n * Checks if a URL has a trailing slash\n * @param url - The URL string to check\n * @returns true if URL has a trailing slash, false otherwise\n */\nexport function hasTrailingSlash(url: string): boolean {\n return url.endsWith('/')\n}\n\n/**\n * Checks whether a URL belongs to the same site as the current page.\n * Relative URLs and malformed URLs are treated as same-site.\n * Comparison is based on hostname only, so http and https variants of\n * the same domain are considered the same site.\n * @param url - The URL to check\n * @returns true if the URL is same-site or relative/malformed, false otherwise\n */\nexport function isSameSite(url: string): boolean {\n try {\n const target = new URL(url, window.location.origin)\n return target.hostname === window.location.hostname\n } catch {\n return true\n }\n}\n\n/**\n * Removes the trailing slash from a URL if it exists\n * @param url - The URL string to modify\n * @returns The URL string without a trailing slash\n */\nexport function removeTrailingSlash(url: string): string {\n return hasTrailingSlash(url) ? url.slice(0, -1) : url\n}\n"],"mappings":"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"}
|
|
@@ -5793,8 +5793,7 @@ var oa = class {
|
|
|
5793
5793
|
aa.default;
|
|
5794
5794
|
//#endregion
|
|
5795
5795
|
//#region ../../packages/composable/src/chatbot/useChatbotStore.ts
|
|
5796
|
-
|
|
5797
|
-
function la(t) {
|
|
5796
|
+
function ca(t) {
|
|
5798
5797
|
return fe(`chatbot-${t}`, () => {
|
|
5799
5798
|
let { t: n, te: r, locale: i } = de({ useScope: "global" }), a = E(""), o = E(), s = E(t), c = E(), l = E(), u = E(), d = E(), f = E(), p = E(), m = E(), h = E(), g = E(), _ = E(), v = E(), y = E(), b = E(), x = w(() => l.value === "reasoning"), S = w(() => x.value ? _.value?.filter((e) => ![
|
|
5800
5799
|
"upvote",
|
|
@@ -5860,12 +5859,7 @@ function la(t) {
|
|
|
5860
5859
|
onToolCall: ({ toolCall: e }) => {
|
|
5861
5860
|
ne.log("Tool call:", e);
|
|
5862
5861
|
},
|
|
5863
|
-
sendAutomaticallyWhen:
|
|
5864
|
-
let t = e[e.length - 1];
|
|
5865
|
-
if (!t || t.role !== "assistant") return !1;
|
|
5866
|
-
let n = t.parts.filter((e) => "state" in e && ca.has(e.type.slice(5)));
|
|
5867
|
-
return n.length === 0 ? Ci({ messages: e }) : n.every((e) => e.state === "output-available" || e.state === "output-error");
|
|
5868
|
-
},
|
|
5862
|
+
sendAutomaticallyWhen: Ci,
|
|
5869
5863
|
onError: ce
|
|
5870
5864
|
})), pe = w(() => {
|
|
5871
5865
|
let e = d.value?.initialMessage;
|
|
@@ -6125,6 +6119,6 @@ function la(t) {
|
|
|
6125
6119
|
})();
|
|
6126
6120
|
}
|
|
6127
6121
|
//#endregion
|
|
6128
|
-
export { G as a, Le as c, xe as d, un as i, j as l, aa as n, k as o, Fi as r, je as s,
|
|
6122
|
+
export { G as a, Le as c, xe as d, un as i, j as l, aa as n, k as o, Fi as r, je as s, ca as t, ye as u };
|
|
6129
6123
|
|
|
6130
|
-
//# sourceMappingURL=useChatbotStore-
|
|
6124
|
+
//# sourceMappingURL=useChatbotStore-ys9uGP5v.js.map
|