@websolutespa/llm-plugin-maxmeyer 0.0.1
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/CHANGELOG.md +7 -0
- package/README.md +159 -0
- package/dist/esm/__tests/example.test.js +9 -0
- package/dist/esm/__tests/example.test.js.map +1 -0
- package/dist/esm/blocks/Action/action.js +32 -0
- package/dist/esm/blocks/Action/action.js.map +1 -0
- package/dist/esm/blocks/Action/action.module.scss +5 -0
- package/dist/esm/blocks/ActionGroup/action-group.js +17 -0
- package/dist/esm/blocks/ActionGroup/action-group.js.map +1 -0
- package/dist/esm/blocks/ActionGroup/action-group.module.scss +8 -0
- package/dist/esm/blocks/AssistantMessage/assistant-message.js +18 -0
- package/dist/esm/blocks/AssistantMessage/assistant-message.js.map +1 -0
- package/dist/esm/blocks/CustomCard/custom-card.js +68 -0
- package/dist/esm/blocks/CustomCard/custom-card.js.map +1 -0
- package/dist/esm/blocks/CustomCard/custom-card.module.scss +64 -0
- package/dist/esm/blocks/CustomCardGroup/custom-card-group.js +65 -0
- package/dist/esm/blocks/CustomCardGroup/custom-card-group.js.map +1 -0
- package/dist/esm/blocks/CustomCardGroup/custom-card-group.module.scss +58 -0
- package/dist/esm/blocks/FormRecap/FormRecap.js +250 -0
- package/dist/esm/blocks/FormRecap/FormRecap.js.map +1 -0
- package/dist/esm/blocks/FormRecap/form-recap.module.scss +103 -0
- package/dist/esm/blocks/FormRecapError/FormRecapError.js +19 -0
- package/dist/esm/blocks/FormRecapError/FormRecapError.js.map +1 -0
- package/dist/esm/blocks/FormRecapError/form-recap-error.module.scss +7 -0
- package/dist/esm/blocks/FormRecapSuccess/FormRecapSuccess.js +19 -0
- package/dist/esm/blocks/FormRecapSuccess/FormRecapSuccess.js.map +1 -0
- package/dist/esm/blocks/FormRecapSuccess/form-recap-success.module.scss +7 -0
- package/dist/esm/blocks/FormRequest/FormRequest.js +36 -0
- package/dist/esm/blocks/FormRequest/FormRequest.js.map +1 -0
- package/dist/esm/blocks/FormRequest/form-request.module.scss +17 -0
- package/dist/esm/blocks/NotFound/not-found.js +15 -0
- package/dist/esm/blocks/NotFound/not-found.js.map +1 -0
- package/dist/esm/blocks/NotFound/not-found.module.scss +5 -0
- package/dist/esm/blocks/StreamError/StreamError.js +46 -0
- package/dist/esm/blocks/StreamError/StreamError.js.map +1 -0
- package/dist/esm/blocks/StreamError/_style.scss +34 -0
- package/dist/esm/blocks/UserMessage/user-message.js +22 -0
- package/dist/esm/blocks/UserMessage/user-message.js.map +1 -0
- package/dist/esm/blocks/UserMessage/user-message.module.scss +13 -0
- package/dist/esm/blocks/index.js +28 -0
- package/dist/esm/blocks/index.js.map +1 -0
- package/dist/esm/components/chat/Root/root.js +36 -0
- package/dist/esm/components/chat/Root/root.js.map +1 -0
- package/dist/esm/components/chat/Root/root.module.scss +58 -0
- package/dist/esm/components/chat/Thread/thread.js +40 -0
- package/dist/esm/components/chat/Thread/thread.js.map +1 -0
- package/dist/esm/components/chat/Thread/thread.module.scss +30 -0
- package/dist/esm/components/chat/index.js +8 -0
- package/dist/esm/components/chat/index.js.map +1 -0
- package/dist/esm/components/index.js +3 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/components/page/PageLoading/page-loading.js +32 -0
- package/dist/esm/components/page/PageLoading/page-loading.js.map +1 -0
- package/dist/esm/components/page/PageLoading/page-loading.module.scss +302 -0
- package/dist/esm/components/page/PageRoot/page-root.js +31 -0
- package/dist/esm/components/page/PageRoot/page-root.js.map +1 -0
- package/dist/esm/components/page/PageRoot/page-root.module.scss +24 -0
- package/dist/esm/components/page/PageStreamingIndicator/page-streaming-indicator.js +18 -0
- package/dist/esm/components/page/PageStreamingIndicator/page-streaming-indicator.js.map +1 -0
- package/dist/esm/components/page/PageStreamingIndicator/page-streaming-indicator.module.scss +38 -0
- package/dist/esm/components/page/PageTrigger/page-trigger.js +20 -0
- package/dist/esm/components/page/PageTrigger/page-trigger.js.map +1 -0
- package/dist/esm/components/page/PageTrigger/page-trigger.module.scss +16 -0
- package/dist/esm/components/page/index.js +12 -0
- package/dist/esm/components/page/index.js.map +1 -0
- package/dist/esm/global.d.js +2 -0
- package/dist/esm/global.d.js.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/llm.js +42 -0
- package/dist/esm/llm.js.map +1 -0
- package/dist/esm/mock/chat/app.js +76 -0
- package/dist/esm/mock/chat/app.js.map +1 -0
- package/dist/esm/mock/chat/theme.js +337 -0
- package/dist/esm/mock/chat/theme.js.map +1 -0
- package/dist/esm/mock/chat/thread.js +450 -0
- package/dist/esm/mock/chat/thread.js.map +1 -0
- package/dist/esm/mock/index.js +8 -0
- package/dist/esm/mock/index.js.map +1 -0
- package/dist/esm/mock/page/app.js +74 -0
- package/dist/esm/mock/page/app.js.map +1 -0
- package/dist/esm/mock/page/theme.js +337 -0
- package/dist/esm/mock/page/theme.js.map +1 -0
- package/dist/esm/mock/page/thread.js +756 -0
- package/dist/esm/mock/page/thread.js.map +1 -0
- package/dist/esm/plugin.js +21 -0
- package/dist/esm/plugin.js.map +1 -0
- package/dist/esm/scss/_base.scss +63 -0
- package/dist/esm/scss/_mixin.scss +10 -0
- package/dist/esm/scss/_reset.scss +63 -0
- package/dist/esm/scss/_thread.scss +35 -0
- package/dist/esm/scss/_typography.scss +19 -0
- package/dist/esm/scss/mixin/_breakpoint.scss +7 -0
- package/dist/esm/scss/mixin/_button.scss +64 -0
- package/dist/esm/scss/mixin/_container.scss +14 -0
- package/dist/esm/scss/mixin/_markdown.scss +180 -0
- package/dist/esm/scss/mixin/_scrollbar.scss +50 -0
- package/dist/esm/scss/mixin/_shadow.scss +19 -0
- package/dist/esm/scss/mixin/_size.scss +42 -0
- package/dist/esm/scss/mixin/_typography.scss +129 -0
- package/dist/esm/scss/mixin/_utils.scss +103 -0
- package/dist/esm/scss/mixin/_vars.scss +4 -0
- package/dist/esm/scss/style.scss +14 -0
- package/dist/index.css +5460 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +78 -0
- package/dist/umd/index.js +48828 -0
- package/dist/umd/index.js.map +1 -0
- package/dist/umd/index.min.js +20 -0
- package/package.json +119 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/mock/page/thread.ts"],"sourcesContent":["/* eslint-disable comma-dangle */\n/* eslint-disable quotes */\n\nimport { LlmMockThread } from '@websolutespa/bom-mixer-llm';\n\nexport const thread: LlmMockThread = [\n {\n \"role\": \"user\",\n \"chunks\": [\n \"Se ho poco spazio in casa che cucina mi consigli?\\n\",\n ],\n },\n {\n \"role\": \"assistant\",\n \"chunks\": [\n {\n \"type\": \"custom01\",\n \"id\": \"xxxxxx-1\",\n \"title\": \"Custom 01\",\n \"actions\": [{\n \"type\": \"generate\",\n \"label\": \"La più adatta alla mia cucina\",\n \"message\": \"message\"\n }, {\n \"type\": \"idea\",\n \"label\": \"Come sfruttare al meglio gli angoli\"\n }]\n },\n {\n \"type\": \"custom02\",\n \"id\": \"xxxxxx-2\",\n \"title\": \"Custom 02\",\n \"actions\": [{\n \"type\": \"generate\",\n \"label\": \"Generate 02\",\n \"message\": \"message\"\n }, {\n \"type\": \"idea\",\n \"label\": \"Idea 02\"\n }]\n },\n {\n \"type\": \"custom03\",\n \"id\": \"xxxxxx-3\",\n \"title\": \"Custom 03\"\n },\n {\n \"type\": \"custom04\",\n \"id\": \"xxxxxx-4\",\n \"title\": \"Custom 04\",\n \"actions\": [{\n \"type\": \"generate\",\n \"label\": \"Generate 04\",\n \"message\": \"message\"\n }, {\n \"type\": \"idea\",\n \"label\": \"Idea 04\"\n }]\n },\n {\n \"type\": \"custom05\",\n \"id\": \"xxxxxx-5\",\n \"title\": \"Custom 05\",\n \"actions\": [{\n \"type\": \"generate\",\n \"label\": \"Generate 05\",\n \"message\": \"message\"\n }, {\n \"type\": \"idea\",\n \"label\": \"Idea 05\"\n }]\n },\n {\n \"type\": \"custom06\",\n \"id\": \"xxxxxx-6\",\n \"title\": \"Custom 06\"\n },\n {\n \"type\": \"custom07\",\n \"id\": \"xxxxxx-7\",\n \"title\": \"Custom 07\",\n \"actions\": [{\n \"type\": \"generate\",\n \"label\": \"Generate 07\",\n \"message\": \"message\"\n }, {\n \"type\": \"idea\",\n \"label\": \"Idea 07\"\n }]\n },\n {\n \"type\": \"custom08\",\n \"id\": \"xxxxxx-8\",\n \"title\": \"Custom 08\"\n }\n ]\n },\n {\n \"role\": \"user\",\n \"chunks\": [\n \"Cucine con il piano in marmo\\n\",\n ],\n },\n {\n \"role\": \"assistant\",\n \"chunks\": [\n \"Ecco alcuni elementi custom:\\n\",\n {\n \"type\": \"customCardItem\",\n \"id\": \"xxxxxx-1\",\n \"title\": \"A custom card\",\n \"media\": {\n \"type\": \"image\",\n \"src\": \"https://picsum.photos/id/11/640/480\"\n },\n \"href\": \"/\",\n \"actions\": [{\n \"type\": \"generate\",\n \"label\": \"La più adatta alla mia cucina\",\n \"message\": \"message\"\n }, {\n \"type\": \"idea\",\n \"label\": \"Come sfruttare al meglio gli angoli\"\n }]\n },\n {\n \"type\": \"customCardItem\",\n \"id\": \"xxxxxx-2\",\n \"title\": \"A custom card\",\n \"media\": {\n \"type\": \"image\",\n \"src\": \"https://picsum.photos/id/11/640/480\"\n },\n \"href\": \"/\",\n \"actions\": [{\n \"type\": \"generate\",\n \"label\": \"La più adatta alla mia cucina\",\n \"message\": \"message\"\n }, {\n \"type\": \"idea\",\n \"label\": \"Come sfruttare al meglio gli angoli\"\n }]\n }\n ]\n },\n {\n \"role\": \"user\",\n \"chunks\": [\n \"Quali sono le opzioni di personalizzazione per Soul?\\n\",\n ]\n },\n {\n \"role\": \"assistant\",\n \"chunks\": [\n \"Products:\\n\",\n {\n \"type\": \"productItem\",\n \"id\": \"54792\",\n \"productType\": \"simple\",\n \"sku\": \"K18090\",\n \"currency\": \"EUR\",\n \"price\": \"1.370000\",\n \"priceLabel\": \"1,37€ al pubblico\",\n \"title\": \"CAPPELLINO ZUCCOTTO DOPPIO STRATO IN ACRILICO MIMETICO\",\n \"media\": {\n \"type\": \"image\",\n \"src\": \"https://www.siliconsrl.it/media/catalog/product/cache/95f6a12655416b1764261bf00237b0fc/k/1/k18090.jpg\"\n },\n \"url\": \"https://www.siliconsrl.it/it/k18090-cappellino-zuccotto-doppio-strato-in-acrilico-mimetico\",\n \"availability\": \"87\",\n \"label\": \"Outlet\"\n },\n {\n \"type\": \"productItem\",\n \"id\": \"54617\",\n \"productType\": \"configurable\",\n \"sku\": \"K18053\",\n \"currency\": \"EUR\", \"price\": \"20.880000\",\n \"priceLabel\": \"20,88€ al pubblico\",\n \"title\": \"CAPPELLINO 6 PANNELLI SPORTY\",\n \"abstract\": \"in cotone pesante pettinato con ricamo sulla visiera e sui pannelli laterali, chiusura regolabile con velcro.\",\n \"media\": {\n \"type\": \"image\",\n \"src\": \"https://www.siliconsrl.it/media/catalog/product/cache/95f6a12655416b1764261bf00237b0fc/k/1/k18053bl_1.jpg\"\n },\n \"url\": \"https://www.siliconsrl.it/it/k18053-cappellino-6-pannelli-sporty\",\n \"availability\": \"54\",\n \"label\": \"Outlet\"\n },\n {\n \"type\": \"productItem\",\n \"id\": \"58216\",\n \"productType\": \"configurable\",\n \"sku\": \"K18118\",\n \"currency\": \"EUR\", \"price\": \"21.060000\",\n \"priceLabel\": \"21,06€ al pubblico\",\n \"title\": \"CAPPELLINO MIRAMARE IN 100% COTONE\",\n \"abstract\": \"in twill di cotone 16x12 di buona qualità.\",\n \"media\": {\n \"type\": \"image\",\n \"src\": \"https://www.siliconsrl.it/media/catalog/product/cache/95f6a12655416b1764261bf00237b0fc/k/1/k18118b.jpg\"\n },\n \"url\": \"https://www.siliconsrl.it/it/k18118-cappellino-da-pescatore-a-falda-in-100-cotone\",\n \"availability\": \"102\",\n \"label\": \"Bestseller\"\n },\n \"Vuoi esplorare altre categorie di prodotti? Ecco alcune opzioni che potrebbero interessarti:\\n\",\n \"<div class=\\\"llm__pill\\\">Scrittura</div>\\n\",\n \"<div class=\\\"llm__pill\\\">Ufficio</div>\\n\",\n \"<div class=\\\"llm__pill\\\">Tecnologia</div>\\n\"\n ]\n },\n {\n \"role\": \"user\",\n \"chunks\": [\n \"Come pulire il marmo del top?\\n\",\n ]\n },\n {\n \"role\": \"assistant\",\n \"chunks\": [\n \"Fammi pensare...\\n\",\n \"ecco una lista di eventi:\\n\",\n {\n \"type\": \"eventItem\",\n \"id\": \"xxxx\",\n \"title\": \"Percorri la Bicipolitana di Pesaro con i tuoi bambini\",\n \"abstract\": \"Un’esperienza da non perdere se visiterai la città con i bambini, noleggia la tua bici e esplora Pesaro.\",\n \"place\": \"Pesaro\",\n \"url\": \"https://design.wslabs.it/llm\",\n \"image\": \"https://design.wslabs.it/llm/default/bicipolitana.jpg\",\n \"date\": \"15-16 giugno 2024\",\n \"time\": \"ore 20:00\",\n },\n {\n \"type\": \"eventItem\",\n \"id\": \"100\",\n \"title\": \"Non perderti The Magic Castle di Gradara!\",\n \"abstract\": \"The Magic Castle, l’evento per famiglie che ogni estate trasforma magicamente lo splendido borgo di Gradara.\",\n \"place\": \"Gradara\",\n \"url\": \"https://design.wslabs.it/llm\",\n \"image\": \"https://design.wslabs.it/llm/default/gradara.jpg\",\n \"date\": \"15-16 giugno 2024\",\n \"time\": \"ore 20:00\",\n },\n {\n \"type\": \"eventItem\",\n \"id\": \"xxxx\",\n \"title\": \"Trekking e panorami mozzafiato al San Bartolo\",\n \"abstract\": \"Scendendo lungo la costa Adriatica, si erge il San Bartolo, un meraviglioso parco naturale affacciato sul mare.\",\n \"place\": \"Parco San Bartolo\",\n \"url\": \"https://design.wslabs.it/llm\",\n \"image\": \"https://design.wslabs.it/llm/default/san-bartolo.jpg\",\n \"date\": \"15-16 giugno 2024\",\n \"time\": \"ore 20:00\",\n },\n \"Per qualunque altra cosa sono qui. 🙂\\n\",\n ]\n },\n {\n \"role\": \"user\",\n \"chunks\": [\n \"Che cos’è l'anta AIR\\n\",\n ]\n },\n {\n \"role\": \"assistant\",\n \"chunks\": [\n \"Dammi un momento...\\n\",\n \"ecco un evento:\\n\",\n {\n \"type\": \"event\",\n \"id\": \"234\",\n \"title\": \"Rossini Virtual 'Experience': esplora casa Rossini in AR\",\n \"abstract\": \"Lasciati guidare dallo stesso Gioacchino nella sua casa e scopri la sua storia attraverso giocosi aneddoti in AR.\",\n \"place\": \"Pesaro\",\n \"url\": \"https://design.wslabs.it/llm\",\n \"image\": \"https://picsum.photos/id/103/800/600\",\n \"date\": \"15-16 giugno 2024\",\n \"time\": \"ore 20:00\",\n },\n \"Serve altro?\\n\",\n ]\n },\n {\n \"role\": \"user\",\n \"chunks\": [\n \"Differenze tra Obliqua e One?\\n\",\n ]\n },\n {\n \"role\": \"assistant\",\n \"chunks\": [\n \"Bene!\\n\",\n \"ecco alcuni punti di interesse:\\n\",\n {\n \"type\": \"poiItem\",\n \"id\": \"111\",\n \"title\": \"Title\",\n \"abstract\": \"Lorem ipsum dolor sit amet.\",\n \"place\": \"Place\",\n \"image\": \"https://picsum.photos/id/102/800/600\",\n \"url\": \"https://design.wslabs.it/llm\",\n \"time\": \"time\",\n },\n {\n \"type\": \"poiItem\",\n \"id\": \"222\",\n \"title\": \"Title\",\n \"abstract\": \"Lorem ipsum dolor sit amet.\",\n \"place\": \"Place\",\n \"image\": \"https://picsum.photos/id/101/800/600\",\n \"url\": \"https://design.wslabs.it/llm\",\n },\n \"Serve altro? 🙂\\n\",\n ]\n },\n {\n \"role\": \"user\",\n \"chunks\": [\n \"Se ho poco spazio in casa che cucina mi consigli?\\n\",\n ]\n },\n {\n \"role\": \"assistant\",\n \"chunks\": [\n \"Certo!\\n\",\n \"ecco un punto di interesse:\\n\",\n {\n \"type\": \"poiItem\",\n \"id\": \"111\",\n \"title\": \"Title\",\n \"abstract\": \"Lorem ipsum dolor sit amet.\",\n \"place\": \"Place\",\n \"image\": \"https://design.wslabs.it/llm/default/rossini.jpg\",\n \"url\": \"https://design.wslabs.it/llm\",\n \"time\": \"time\",\n },\n \"Serve altro? 🙂\\n\",\n ]\n },\n {\n \"role\": \"user\",\n \"chunks\": [\n \"Quali sono le opzioni di personalizzazione per Soul?\\n\",\n ]\n },\n {\n \"role\": \"assistant\",\n \"chunks\": [\n \"Dammi un secondo...\\n\",\n \"ecco alcuni ristoranti per te:\\n\",\n {\n \"type\": \"tripadvisor\",\n \"id\": \"xxxx\",\n \"title\": \"L'Angolo di Mario\",\n \"rating\": 4.8,\n \"reviews\": 2276,\n \"priceRange\": \"€€-€€€\",\n \"cuisine\": \"Italiana, Pesce, Mediterranea\",\n \"address\": \"Via Nazario Sauro, 61100 Pesaro PU\",\n \"url\": \"https://design.wslabs.it/llm\",\n \"book\": \"https://design.wslabs.it/llm\",\n \"image\": \"https://design.wslabs.it/llm/default/tripadvisor-01.jpg\",\n },\n {\n \"type\": \"tripadvisor\",\n \"id\": \"xxxx\",\n \"title\": \"L'Amo Osteria di Mare\",\n \"rating\": 4.2,\n \"reviews\": 287,\n \"priceRange\": \"€€-€€€\",\n \"cuisine\": \"Italiana, Pesce, Mediterranea\",\n \"address\": \"Via Venturini 4/6, 61121 Pesaro PU\",\n \"url\": \"https://design.wslabs.it/llm\",\n \"book\": \"https://design.wslabs.it/llm\",\n \"image\": \"https://design.wslabs.it/llm/default/tripadvisor-02.jpg\",\n },\n ]\n },\n {\n \"role\": \"user\",\n \"chunks\": [\n \"Come pulire il marmo del top?\\n\",\n ]\n },\n {\n \"role\": \"assistant\",\n \"chunks\": [\n { \"type\": \"text\", \"text\": \"Markdown\\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"Header 1 \\n\" },\n { \"type\": \"text\", \"text\": \"======== \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"Header 2 \\n\" },\n { \"type\": \"text\", \"text\": \"-------- \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"### Header 3 ### \\n\" },\n { \"type\": \"text\", \"text\": \"#### Header 4 #### \\n\" },\n { \"type\": \"text\", \"text\": \"##### Header 5 ##### \\n\" },\n { \"type\": \"text\", \"text\": \"###### Header 6 ###### \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"### Phrase Emphasis \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"*italic* \\n\" },\n { \"type\": \"text\", \"text\": \"**bold** \\n\" },\n { \"type\": \"text\", \"text\": \"_italic_ \\n\" },\n { \"type\": \"text\", \"text\": \"__bold__ \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"### Links \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"An [example](https://www.gmail.com/ \\\"Title\\\") \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"### Images \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"### Lists \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"1. Foo \\n\" },\n { \"type\": \"text\", \"text\": \"2. Bar \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"* A list item. \\n\" },\n { \"type\": \"text\", \"text\": \" With multiple paragraphs. \\n\" },\n { \"type\": \"text\", \"text\": \"* Bar \\n\" },\n { \"type\": \"text\", \"text\": \"* Abacus \\n\" },\n { \"type\": \"text\", \"text\": \" * answer \\n\" },\n { \"type\": \"text\", \"text\": \"* Bubbles \\n\" },\n { \"type\": \"text\", \"text\": \" 1. bunk \\n\" },\n { \"type\": \"text\", \"text\": \" 2. bupkis \\n\" },\n { \"type\": \"text\", \"text\": \" * BELITTLER \\n\" },\n { \"type\": \"text\", \"text\": \" 3. burper \\n\" },\n { \"type\": \"text\", \"text\": \"* Cunning \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"### Blockquotes \\n\" },\n { \"type\": \"text\", \"text\": \"> Email-style angle brackets \\n\" },\n { \"type\": \"text\", \"text\": \"> are used for blockquotes. \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"> > And, they can be nested. \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"> ### Headers in blockquotes \\n\" },\n { \"type\": \"text\", \"text\": \"> \\n\" },\n { \"type\": \"text\", \"text\": \"> * You can quote a list. \\n\" },\n { \"type\": \"text\", \"text\": \"> * Etc. \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"### Code Spans \\n\" },\n { \"type\": \"text\", \"text\": \"`<code>` spans are delimited by backticks. \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"You can include literal backticks like `` `this` ``. \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"### Preformatted Code Blocks \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"This is a normal paragraph. \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \" This is a preformatted \\n\" },\n { \"type\": \"text\", \"text\": \" code block. \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"``` \\n\" },\n { \"type\": \"text\", \"text\": \"function sum(a, b) { \\n\" },\n { \"type\": \"text\", \"text\": \" return a + b; \\n\" },\n { \"type\": \"text\", \"text\": \"} \\n\" },\n { \"type\": \"text\", \"text\": \"``` \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"### Horizontal Rules \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"--- \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"* * * \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"- - - - \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"### Manual Line Breaks \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n { \"type\": \"text\", \"text\": \"Roses are red, \\n\" },\n { \"type\": \"text\", \"text\": \"Violets are blue. \\n\" },\n { \"type\": \"text\", \"text\": \" \\n\" },\n ]\n },\n];\n"],"names":["thread"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { blocks } from './blocks';
|
|
2
|
+
import { components } from './components';
|
|
3
|
+
export function llmPlugin(options) {
|
|
4
|
+
const config = {
|
|
5
|
+
...options,
|
|
6
|
+
blocks: {
|
|
7
|
+
...options.blocks,
|
|
8
|
+
...blocks
|
|
9
|
+
},
|
|
10
|
+
components: {
|
|
11
|
+
...options.components,
|
|
12
|
+
...components
|
|
13
|
+
},
|
|
14
|
+
onInit: (state)=>{
|
|
15
|
+
console.log('llmPlugin.onInit', state);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
return config;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/plugin.ts"],"sourcesContent":["import { LlmOptions } from '@websolutespa/bom-mixer-llm';\nimport { blocks } from './blocks';\nimport { components } from './components';\n\nexport function llmPlugin(options: LlmOptions): LlmOptions {\n const config: LlmOptions = {\n ...options,\n blocks: {\n ...options.blocks,\n ...blocks,\n },\n components: {\n ...options.components,\n ...components,\n },\n onInit: (state) => {\n console.log('llmPlugin.onInit', state);\n },\n };\n return config;\n}\n"],"names":["blocks","components","llmPlugin","options","config","onInit","state","console","log"],"mappings":"AACA,SAASA,MAAM,QAAQ,WAAW;AAClC,SAASC,UAAU,QAAQ,eAAe;AAE1C,OAAO,SAASC,UAAUC,OAAmB;IAC3C,MAAMC,SAAqB;QACzB,GAAGD,OAAO;QACVH,QAAQ;YACN,GAAGG,QAAQH,MAAM;YACjB,GAAGA,MAAM;QACX;QACAC,YAAY;YACV,GAAGE,QAAQF,UAAU;YACrB,GAAGA,UAAU;QACf;QACAI,QAAQ,CAACC;YACPC,QAAQC,GAAG,CAAC,oBAAoBF;QAClC;IACF;IACA,OAAOF;AACT"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
@include renderSize();
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
:where(llm-embed) {
|
|
6
|
+
display: block;
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 760px;
|
|
9
|
+
max-height: 100vh;
|
|
10
|
+
background: transparent;
|
|
11
|
+
overflow: clip;
|
|
12
|
+
border-radius: 10px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:where(.llm__row) {
|
|
16
|
+
--grid-columns: var(--llm-grid-columns, 12);
|
|
17
|
+
--grid-size: var(--llm-grid-size, 1fr);
|
|
18
|
+
--grid-column-gap: var(--llm-grid-column-gap, var(--gap));
|
|
19
|
+
--grid-row-gap: var(--llm-grid-row-gap, var(--gap));
|
|
20
|
+
container-type: inline-size;
|
|
21
|
+
display: grid;
|
|
22
|
+
grid-template-columns: repeat(var(--grid-columns), var(--grid-size));
|
|
23
|
+
grid-column-gap: var(--grid-column-gap);
|
|
24
|
+
grid-row-gap: var(--grid-row-gap);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:where(.llm__col) {
|
|
28
|
+
--grid-column: var(--llm-grid-columns, 12);
|
|
29
|
+
grid-column: span var(--grid-column);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:where(.llm__container) {
|
|
33
|
+
padding: 0 clampUnit(20, 110);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@each $key, $value in $breakpoints {
|
|
38
|
+
@for $i from 1 through 12 {
|
|
39
|
+
.--#{$key}-#{$i} {
|
|
40
|
+
@if $key =="xs" {
|
|
41
|
+
--grid-column: #{$i};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@else {
|
|
45
|
+
@include cbp(#{$key}) {
|
|
46
|
+
--grid-column: #{$i};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.--end-#{$key}-#{$i} {
|
|
52
|
+
@if $key =="xs" {
|
|
53
|
+
grid-column-end: #{$i + 1};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@else {
|
|
57
|
+
@include cbp(#{$key}) {
|
|
58
|
+
grid-column-end: #{$i + 1};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@import './mixin/vars';
|
|
2
|
+
@import './mixin/breakpoint';
|
|
3
|
+
@import './mixin/utils';
|
|
4
|
+
@import './mixin/size';
|
|
5
|
+
@import './mixin/container';
|
|
6
|
+
@import './mixin/typography';
|
|
7
|
+
@import './mixin/shadow';
|
|
8
|
+
@import './mixin/scrollbar';
|
|
9
|
+
@import './mixin/button';
|
|
10
|
+
@import './mixin/markdown';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
:where(.llm *, .llm *::before, .llm *::after) {
|
|
2
|
+
box-sizing: border-box;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
:where(.llm html, .llm body, .llm p, .llm ol, .llm ul, .llm li, .llm dl, .llm dt, .llm dd, .llm blockquote, .llm figure, .llm fieldset, .llm legend, .llm textarea, .llm pre, .llm iframe, .llm button, .llm input, .llm select, .llm hr, .llm h1, .llm h2, .llm h3, .llm h4, .llm h5, .llm h6) {
|
|
6
|
+
margin: 0;
|
|
7
|
+
padding: 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
:where(.llm h1, .llm h2, .llm h3, .llm h4, .llm h5, .llm h6) {
|
|
11
|
+
font-size: 100%;
|
|
12
|
+
font-weight: normal;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:where(.llm ul) {
|
|
16
|
+
list-style: none;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
:where(.llm button) {
|
|
20
|
+
border: none;
|
|
21
|
+
text-decoration: none;
|
|
22
|
+
background: none;
|
|
23
|
+
appearance: none;
|
|
24
|
+
font-family: inherit;
|
|
25
|
+
font-style: inherit;
|
|
26
|
+
font-variant-ligatures: inherit;
|
|
27
|
+
font-variant-caps: inherit;
|
|
28
|
+
font-variant-numeric: inherit;
|
|
29
|
+
font-variant-east-asian: inherit;
|
|
30
|
+
font-weight: inherit;
|
|
31
|
+
font-stretch: inherit;
|
|
32
|
+
text-rendering: inherit;
|
|
33
|
+
letter-spacing: inherit;
|
|
34
|
+
word-spacing: inherit;
|
|
35
|
+
line-height: inherit;
|
|
36
|
+
text-transform: none;
|
|
37
|
+
text-indent: inherit;
|
|
38
|
+
text-shadow: none;
|
|
39
|
+
text-align: inherit;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
:where(.llm img, .llm video) {
|
|
43
|
+
height: auto;
|
|
44
|
+
max-width: 100%;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
:where(.llm iframe) {
|
|
48
|
+
border: 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
:where(.llm table) {
|
|
52
|
+
border-collapse: collapse;
|
|
53
|
+
border-spacing: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
:where(.llm td, .llm th) {
|
|
57
|
+
padding: 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
:where(.llm a) {
|
|
61
|
+
color: inherit;
|
|
62
|
+
text-decoration: none;
|
|
63
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
:where([data-message-role=user] [data-text=true]) {
|
|
2
|
+
@include text(body1);
|
|
3
|
+
background: var(--llm-user-background);
|
|
4
|
+
color: var(--llm-user-foreground);
|
|
5
|
+
border: var(--llm-user-border);
|
|
6
|
+
backdrop-filter: blur(20px);
|
|
7
|
+
border-radius: 12px;
|
|
8
|
+
padding: size(3) size(4);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
:where([data-message-role=assistant] [data-text=true]) {
|
|
12
|
+
@include markdown();
|
|
13
|
+
@include text(display6);
|
|
14
|
+
|
|
15
|
+
h1,
|
|
16
|
+
h2,
|
|
17
|
+
p {
|
|
18
|
+
&:first-child {
|
|
19
|
+
@include text(display3);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
:where([data-mode=chat] [data-message-role=user] [data-text=true]),
|
|
25
|
+
:where(.-chat [data-message-role=user] [data-text=true]) {
|
|
26
|
+
align-self: flex-end;
|
|
27
|
+
padding: 0.5em 0;
|
|
28
|
+
padding: var(--llm-pill-padding, 8px);
|
|
29
|
+
border: var(--llm-pill-border);
|
|
30
|
+
border-radius: var(--llm-pill-border-radius);
|
|
31
|
+
background: var(--llm-pill-background);
|
|
32
|
+
color: var(--llm-pill-foreground);
|
|
33
|
+
font-family: var(--llm-pill-font-family);
|
|
34
|
+
text-align: right;
|
|
35
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
:where(.llm) {
|
|
2
|
+
font-style: normal;
|
|
3
|
+
font-weight: normal;
|
|
4
|
+
font-family: var(--llm-font-primary);
|
|
5
|
+
font-size: clampUnit(var(--llm-typography-body1-font-size-min), var(--llm-typography-body1-font-size-max), var(--llm-scale));
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
:where(.llm h1, .llm h2, .llm h3, .llm h4, .llm h5, .llm h6, .llm a, .llm b, .llm em, .llm p, .llm strong, .llm span, .llm ol, .llm ul) {
|
|
9
|
+
color: inherit;
|
|
10
|
+
font-style: inherit;
|
|
11
|
+
font-weight: inherit;
|
|
12
|
+
font-family: inherit;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:where(.llm ::selection) {
|
|
16
|
+
background: var(--llm-color-accent-foreground);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@include typography();
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
2
|
+
|
|
3
|
+
@mixin button() {
|
|
4
|
+
margin: 0;
|
|
5
|
+
padding: 0;
|
|
6
|
+
border: none;
|
|
7
|
+
border-radius: 0;
|
|
8
|
+
text-decoration: none;
|
|
9
|
+
background: none;
|
|
10
|
+
color: inherit;
|
|
11
|
+
appearance: none;
|
|
12
|
+
font-family: inherit;
|
|
13
|
+
font-style: inherit;
|
|
14
|
+
font-size: inherit;
|
|
15
|
+
font-variant-ligatures: inherit;
|
|
16
|
+
font-variant-caps: inherit;
|
|
17
|
+
font-variant-numeric: inherit;
|
|
18
|
+
font-variant-east-asian: inherit;
|
|
19
|
+
font-weight: inherit;
|
|
20
|
+
font-stretch: inherit;
|
|
21
|
+
text-rendering: inherit;
|
|
22
|
+
letter-spacing: inherit;
|
|
23
|
+
word-spacing: inherit;
|
|
24
|
+
line-height: inherit;
|
|
25
|
+
text-transform: none;
|
|
26
|
+
text-indent: inherit;
|
|
27
|
+
text-shadow: none;
|
|
28
|
+
text-align: inherit;
|
|
29
|
+
pointer-events: auto;
|
|
30
|
+
cursor: pointer;
|
|
31
|
+
|
|
32
|
+
outline: 2px solid transparent;
|
|
33
|
+
outline-offset: 2px;
|
|
34
|
+
|
|
35
|
+
&:focus,
|
|
36
|
+
&:focus-visible {
|
|
37
|
+
outline-color: var(--llm-color-outline);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&:hover {
|
|
41
|
+
outline-color: color-mix(in srgb, var(--llm-color-outline) 10%, transparent 90%);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&:active {
|
|
45
|
+
outline-color: var(--llm-color-accent-foreground);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@mixin btn() {
|
|
50
|
+
@include button();
|
|
51
|
+
flex-shrink: 0;
|
|
52
|
+
position: relative;
|
|
53
|
+
display: flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
justify-content: center;
|
|
56
|
+
outline: 2px solid transparent;
|
|
57
|
+
outline-offset: 2px;
|
|
58
|
+
color: var(--llm-input-accent);
|
|
59
|
+
|
|
60
|
+
svg {
|
|
61
|
+
width: 24px;
|
|
62
|
+
height: 24px;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
2
|
+
|
|
3
|
+
@mixin containerNegativeFull {
|
|
4
|
+
width: calc(100% + clampUnit(20, 110) * 2);
|
|
5
|
+
margin-left: calc(clampUnit(20, 110) * -1);
|
|
6
|
+
margin-right: calc(clampUnit(20, 110) * -1);
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@mixin containerNegative {
|
|
11
|
+
@include containerNegativeFull();
|
|
12
|
+
padding-left: clampUnit(20, 110);
|
|
13
|
+
padding-right: clampUnit(20, 110);
|
|
14
|
+
}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
2
|
+
|
|
3
|
+
@mixin markdown() {
|
|
4
|
+
font-family: var(--llm-font-primary);
|
|
5
|
+
background: var(--llm-assistant-background);
|
|
6
|
+
color: var(--llm-assistant-foreground);
|
|
7
|
+
border: var(--llm-assistant-border);
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
&,
|
|
11
|
+
p {
|
|
12
|
+
font-weight: 300;
|
|
13
|
+
}
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
h1 {
|
|
17
|
+
@include text(display3);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
h2 {
|
|
21
|
+
@include text(display4);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
h3 {
|
|
25
|
+
@include text(display5);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
h4,
|
|
29
|
+
h5,
|
|
30
|
+
h6 {
|
|
31
|
+
@include text(display6);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
ol,
|
|
35
|
+
ul {
|
|
36
|
+
display: flex;
|
|
37
|
+
flex-direction: column;
|
|
38
|
+
gap: 0.75em;
|
|
39
|
+
margin-left: var(--llm-markdown-margin-left);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
ol {
|
|
43
|
+
margin-left: 1.1em;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
ul {
|
|
47
|
+
margin-left: 0.8em;
|
|
48
|
+
list-style: disc;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
code,
|
|
52
|
+
pre {
|
|
53
|
+
font-size: inherit;
|
|
54
|
+
line-height: inherit;
|
|
55
|
+
font-style: normal;
|
|
56
|
+
font-family: inherit;
|
|
57
|
+
background-color: transparent;
|
|
58
|
+
color: inherit;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
pre,
|
|
62
|
+
code {
|
|
63
|
+
font-family: monospace;
|
|
64
|
+
font-size: 0.9em;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
i,
|
|
68
|
+
em {
|
|
69
|
+
font-style: italic;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
b,
|
|
73
|
+
strong {
|
|
74
|
+
font-weight: var(--llm-typography-cta2-font-weight);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
h1,
|
|
78
|
+
h2,
|
|
79
|
+
h3,
|
|
80
|
+
h4,
|
|
81
|
+
h5,
|
|
82
|
+
h6 {
|
|
83
|
+
margin-top: var(--llm-markdown-margin-top);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
p,
|
|
87
|
+
h1,
|
|
88
|
+
h2,
|
|
89
|
+
h3,
|
|
90
|
+
h4,
|
|
91
|
+
h5,
|
|
92
|
+
h6,
|
|
93
|
+
ul,
|
|
94
|
+
ol,
|
|
95
|
+
pre,
|
|
96
|
+
blockquote {
|
|
97
|
+
margin-bottom: var(--llm-markdown-margin-bottom);
|
|
98
|
+
|
|
99
|
+
&:last-child {
|
|
100
|
+
margin-bottom: 0;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
blockquote {
|
|
105
|
+
|
|
106
|
+
&,
|
|
107
|
+
&:before,
|
|
108
|
+
&:after {
|
|
109
|
+
margin: 0;
|
|
110
|
+
padding: 0;
|
|
111
|
+
border: none;
|
|
112
|
+
outline: none;
|
|
113
|
+
font-family: inherit;
|
|
114
|
+
font-size: inherit;
|
|
115
|
+
background: none;
|
|
116
|
+
color: inherit;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
& {
|
|
120
|
+
margin-bottom: var(--llm-markdown-margin-bottom);
|
|
121
|
+
padding-left: 0.5em;
|
|
122
|
+
border-left: var(--llm-markdown-border);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
hr {
|
|
127
|
+
border: none;
|
|
128
|
+
border-top: var(--llm-markdown-border);
|
|
129
|
+
margin-top: var(--llm-markdown-margin-top);
|
|
130
|
+
margin-bottom: var(--llm-markdown-margin-bottom);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
a {
|
|
134
|
+
text-decoration: underline;
|
|
135
|
+
|
|
136
|
+
&:link,
|
|
137
|
+
&:active,
|
|
138
|
+
&:visited,
|
|
139
|
+
&:hover {
|
|
140
|
+
color: var(--llm-markdown-accent);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
img {
|
|
145
|
+
max-width: 320px;
|
|
146
|
+
padding: 8px;
|
|
147
|
+
border-radius: 8px;
|
|
148
|
+
border: var(--llm-markdown-border);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.llm__text-img {
|
|
152
|
+
display: block;
|
|
153
|
+
margin-top: var(--llm-markdown-margin-top);
|
|
154
|
+
margin-bottom: var(--llm-markdown-margin-bottom);
|
|
155
|
+
font-size: 0;
|
|
156
|
+
text-decoration: none;
|
|
157
|
+
|
|
158
|
+
&>img {
|
|
159
|
+
display: inline-flex;
|
|
160
|
+
justify-content: center;
|
|
161
|
+
align-items: center;
|
|
162
|
+
width: 320px;
|
|
163
|
+
height: 320px;
|
|
164
|
+
object-fit: cover;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.llm__pill {
|
|
169
|
+
max-width: Max(375px, u(30));
|
|
170
|
+
margin-bottom: 1em;
|
|
171
|
+
|
|
172
|
+
&:first-of-type {
|
|
173
|
+
margin-top: 2em;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
&:last-of-type {
|
|
177
|
+
margin-bottom: 2em;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
@mixin hideScrollbar() {
|
|
2
|
+
|
|
3
|
+
/* Hide scrollbar for Chrome, Safari and Opera */
|
|
4
|
+
&::-webkit-scrollbar {
|
|
5
|
+
display: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/* Hide scrollbar for IE, Edge and Firefox */
|
|
9
|
+
& {
|
|
10
|
+
-ms-overflow-style: none;
|
|
11
|
+
/* IE and Edge */
|
|
12
|
+
scrollbar-width: none;
|
|
13
|
+
/* Firefox */
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@mixin scrollbar($thumb-color: black, $track-color: transparent, $width: 6px, $border-radius: 3px) {
|
|
18
|
+
&::-webkit-scrollbar {
|
|
19
|
+
width: $width;
|
|
20
|
+
height: $width;
|
|
21
|
+
border-radius: $border-radius;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&::-webkit-scrollbar-button {
|
|
25
|
+
display: none;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&::-webkit-scrollbar-button:hover {
|
|
29
|
+
display: none;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&::-webkit-scrollbar-thumb {
|
|
33
|
+
background-color: $thumb-color;
|
|
34
|
+
box-shadow: none;
|
|
35
|
+
border-radius: $border-radius - 1px;
|
|
36
|
+
|
|
37
|
+
&:hover {
|
|
38
|
+
background-color: $thumb-color;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&::-webkit-scrollbar-track {
|
|
43
|
+
background-color: $track-color;
|
|
44
|
+
border-radius: $border-radius - 1px;
|
|
45
|
+
|
|
46
|
+
&:hover {
|
|
47
|
+
background-color: $track-color;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
$shadow: (
|
|
3
|
+
xs: 0 2px 20px -2px rgba(0, 0, 0, 0.1),
|
|
4
|
+
sm: 0 4px 30px -4px rgba(0, 0, 0, 0.2),
|
|
5
|
+
md: 0 6px 40px -6px rgba(0, 0, 0, 0.4),
|
|
6
|
+
lg: 0 8px 50px -8px rgba(0, 0, 0, 0.6),
|
|
7
|
+
xl: 0 10px 60px -10px rgba(0, 0, 0, 0.8),
|
|
8
|
+
);
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
@function shadow($b) {
|
|
12
|
+
@return var(--llm-shadow-#{$b});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@mixin renderShadow() {
|
|
16
|
+
@each $key, $value in $breakpoints {
|
|
17
|
+
--llm-shadow-#{$key}: #{map-get($shadow, $key)};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
$sizes: (
|
|
2
|
+
1: clampUnit(8, 8),
|
|
3
|
+
// 6xs *
|
|
4
|
+
2: clampUnit(8, 16),
|
|
5
|
+
// 5xs *
|
|
6
|
+
3: clampUnit(16, 24),
|
|
7
|
+
// 4xs *
|
|
8
|
+
4: clampUnit(24, 32),
|
|
9
|
+
// 3xs *
|
|
10
|
+
5: clampUnit(24, 40),
|
|
11
|
+
// 2xs *
|
|
12
|
+
6: clampUnit(24, 48),
|
|
13
|
+
// xs *
|
|
14
|
+
7: clampUnit(24, 56),
|
|
15
|
+
// s
|
|
16
|
+
8: clampUnit(24, 64),
|
|
17
|
+
// m *
|
|
18
|
+
9: clampUnit(32, 72),
|
|
19
|
+
// l
|
|
20
|
+
10: clampUnit(32, 80),
|
|
21
|
+
// xl *
|
|
22
|
+
11: clampUnit(40, 88),
|
|
23
|
+
// 2xl *
|
|
24
|
+
12: clampUnit(40, 96),
|
|
25
|
+
// 3xl
|
|
26
|
+
13: clampUnit(48, 104),
|
|
27
|
+
// 4xl
|
|
28
|
+
14: clampUnit(48, 112),
|
|
29
|
+
// 5xl
|
|
30
|
+
15: clampUnit(48, 120),
|
|
31
|
+
// 6xl *
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
@function size($s) {
|
|
35
|
+
@return var(--llm-size-#{$s}, #{0.5rem * $s});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@mixin renderSize() {
|
|
39
|
+
@for $i from 1 through 15 {
|
|
40
|
+
--llm-size-#{$i}: #{map-get($sizes, $i)};
|
|
41
|
+
}
|
|
42
|
+
}
|