diff --git a/Caddyfile b/Caddyfile index 0f2b350c88..4667cd8e51 100644 --- a/Caddyfile +++ b/Caddyfile @@ -21,19 +21,8 @@ } handle @is_baserow_tool { - handle /api/* { - reverse_proxy {$PRIVATE_BACKEND_URL:localhost:8000} - } - - handle /ws/* { - reverse_proxy {$PRIVATE_BACKEND_URL:localhost:8000} - } - - handle /mcp/* { - reverse_proxy {$PRIVATE_BACKEND_URL:localhost:8000} - } - - handle /assistant/* { + @backend_routes path /api/* /ws/* /mcp/* /assistant/* {$BASEROW_CADDY_BACKEND_EXTRA_ROUTES:} + handle @backend_routes { reverse_proxy {$PRIVATE_BACKEND_URL:localhost:8000} } diff --git a/backend/justfile b/backend/justfile index 9faa04c13f..c86bbced1d 100644 --- a/backend/justfile +++ b/backend/justfile @@ -204,8 +204,8 @@ check: _check-dev set -euo pipefail {{ _load_env }} - {{ uv_run }} ruff check {{ backend_source_dirs }} {{ backend_tests_dirs }} - {{ uv_run }} ruff format --check {{ backend_source_dirs }} {{ backend_tests_dirs }} + {{ uv_run }} ruff check --config pyproject.toml {{ backend_source_dirs }} {{ backend_tests_dirs }} + {{ uv_run }} ruff format --config pyproject.toml --check {{ backend_source_dirs }} {{ backend_tests_dirs }} alias lint := check alias l := check @@ -213,8 +213,8 @@ alias l := check # Fix code style (sort imports + format) [group('4 - code-quality')] fix: _check-dev - {{ uv_run }} ruff check --fix {{ backend_source_dirs }} {{ backend_tests_dirs }} - {{ uv_run }} ruff format {{ backend_source_dirs }} {{ backend_tests_dirs }} + {{ uv_run }} ruff check --config pyproject.toml --fix {{ backend_source_dirs }} {{ backend_tests_dirs }} + {{ uv_run }} ruff format --config pyproject.toml {{ backend_source_dirs }} {{ backend_tests_dirs }} alias format := fix alias f := fix diff --git a/changelog/entries/unreleased/bug/fix_a_bug_that_caused_a_previous_nodes_sample_data_to_be_res.json b/changelog/entries/unreleased/bug/fix_a_bug_that_caused_a_previous_nodes_sample_data_to_be_res.json new file mode 100644 index 0000000000..981437384f --- /dev/null +++ b/changelog/entries/unreleased/bug/fix_a_bug_that_caused_a_previous_nodes_sample_data_to_be_res.json @@ -0,0 +1,9 @@ +{ + "type": "bug", + "message": "Fixed a bug where a previously tested node's sample data would disappear in the UI after adding a new node.", + "issue_origin": "github", + "issue_number": null, + "domain": "automation", + "bullet_points": [], + "created_at": "2026-02-16" +} diff --git a/premium/web-frontend/modules/baserow_premium/components/field/GenerateAIValuesModal.vue b/premium/web-frontend/modules/baserow_premium/components/field/GenerateAIValuesModal.vue index 49db2df414..9f255e96e2 100644 --- a/premium/web-frontend/modules/baserow_premium/components/field/GenerateAIValuesModal.vue +++ b/premium/web-frontend/modules/baserow_premium/components/field/GenerateAIValuesModal.vue @@ -226,7 +226,9 @@ export default { this.loading = false }, valuesChanged() { - this.isValid = this.$refs.form.isFormValid() + if (this.$refs.form) { + this.isValid = this.$refs.form.isFormValid() + } }, }, } diff --git a/web-frontend/i18n.config.ts b/web-frontend/i18n.config.ts index 4f4f5fdffa..c0bfab5455 100644 --- a/web-frontend/i18n.config.ts +++ b/web-frontend/i18n.config.ts @@ -1,4 +1,4 @@ export default defineI18nConfig(() => ({ legacy: true, - fallbackLocale: 'en', + //fallbackLocale: 'en', the i18n fallback is managed in /core/plugins/i18n.js. Enabling it here would have no effect. })) diff --git a/web-frontend/modules/automation/store/automationWorkflowNode.js b/web-frontend/modules/automation/store/automationWorkflowNode.js index 4af6af4933..8ca6385979 100644 --- a/web-frontend/modules/automation/store/automationWorkflowNode.js +++ b/web-frontend/modules/automation/store/automationWorkflowNode.js @@ -45,7 +45,11 @@ const mutations = { { workflow, node: nodeToUpdate, values, override = false } ) { if (override) { - workflow.nodeMap[nodeToUpdate.id] = populateNode(values) + const index = workflow.nodes.findIndex( + (item) => item.id === nodeToUpdate.id + ) + workflow.nodes[index] = populateNode(values) + updateCachedValues(workflow) } else { Object.assign(workflow.nodeMap[nodeToUpdate.id], values) } diff --git a/web-frontend/modules/core/layouts/app.vue b/web-frontend/modules/core/layouts/app.vue index ab8eb2a60b..db3724c315 100644 --- a/web-frontend/modules/core/layouts/app.vue +++ b/web-frontend/modules/core/layouts/app.vue @@ -142,7 +142,7 @@ function keyDown(event) { if (!avoid) { const actionName = event.shiftKey ? 'undoRedo/redo' : 'undoRedo/undo' - store.dispatch(actionName, { showLoadingToast: false }).catch(notifyIf) + store.dispatch(actionName, { showLoadingToast: true }).catch(notifyIf) event.preventDefault() } } diff --git a/web-frontend/modules/core/module.js b/web-frontend/modules/core/module.js index cfa6a605ed..9d02f327cb 100644 --- a/web-frontend/modules/core/module.js +++ b/web-frontend/modules/core/module.js @@ -19,7 +19,6 @@ import { locales } from '../../config/locales.js' const require = createRequire(import.meta.url) -const langDir = '../../locales' export default defineNuxtModule({ meta: { // Usually the npm package name of your module diff --git a/web-frontend/modules/core/plugins/i18n.js b/web-frontend/modules/core/plugins/i18n.js index 0745ea13d0..296ff97966 100644 --- a/web-frontend/modules/core/plugins/i18n.js +++ b/web-frontend/modules/core/plugins/i18n.js @@ -2,7 +2,7 @@ import moment from '@baserow/modules/core/moment' export default defineNuxtPlugin({ name: 'i18n', - setup(nuxtApp) { + async setup(nuxtApp) { const { $i18n } = nuxtApp moment.locale($i18n.locale.value) @@ -10,5 +10,14 @@ export default defineNuxtPlugin({ $i18n.onLanguageSwitched = (oldLocale, newLocale) => { moment.locale(newLocale) } + + if ($i18n.locale.value !== 'en') { + try { + $i18n.fallbackLocale.value = 'en' + await $i18n.loadLocaleMessages('en') + } catch (error) { + console.warn('Failed to load fallback locale messages:', error) + } + } }, }) diff --git a/web-frontend/modules/dashboard/middleware/dashboardLoading.js b/web-frontend/modules/dashboard/middleware/dashboardLoading.js index 47ac1dcd0c..f67f48a659 100644 --- a/web-frontend/modules/dashboard/middleware/dashboardLoading.js +++ b/web-frontend/modules/dashboard/middleware/dashboardLoading.js @@ -1,3 +1,5 @@ +import { StoreItemLookupError } from '@baserow/modules/core/errors' + /** * Middleware that changes the dashboard loading state to true before the route * changes. @@ -5,6 +7,7 @@ export default defineNuxtRouteMiddleware(async (to, from) => { const nuxtApp = useNuxtApp() const store = nuxtApp.$store + const { $i18n } = nuxtApp function parseIntOrNull(x) { return x != null ? parseInt(x) : null @@ -14,6 +17,26 @@ export default defineNuxtRouteMiddleware(async (to, from) => { const fromDashboardId = parseIntOrNull(from?.params?.dashboardId) const differentDashboardId = fromDashboardId !== toDashboardId + if (toDashboardId) { + try { + const dashboard = await store.dispatch( + 'application/selectById', + toDashboardId + ) + await store.dispatch('workspace/selectById', dashboard.workspace.id) + } catch (e) { + if (e.response === undefined && !(e instanceof StoreItemLookupError)) { + throw e + } + + throw createError({ + statusCode: 404, + message: 'Dashboard not found.', + fatal: false, + }) + } + } + // If it's the first page or the server side rendered page, then always put the // dashboard in the loading state for the correct animation. if (import.meta.server || !from || differentDashboardId) { diff --git a/web-frontend/modules/dashboard/pages/dashboard.vue b/web-frontend/modules/dashboard/pages/dashboard.vue index 26a48dc54a..f49cad7ae5 100644 --- a/web-frontend/modules/dashboard/pages/dashboard.vue +++ b/web-frontend/modules/dashboard/pages/dashboard.vue @@ -9,7 +9,7 @@ import { computed, onMounted, onBeforeUnmount } from 'vue' import { useStore } from 'vuex' import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router' -import { useNuxtApp, useAsyncData, createError } from '#app' +import { useNuxtApp, useAsyncData, createError, useHead } from '#app' import DashboardHeader from '@baserow/modules/dashboard/components/DashboardHeader' import DashboardContent from '@baserow/modules/dashboard/components/DashboardContent' @@ -35,24 +35,11 @@ const { } = await useAsyncData( `dashboard-data-${route.params.dashboardId}`, async () => { - const dashboardId = parseInt(route.params.dashboardId) - - try { - const dashboard = await store.dispatch( - 'application/selectById', - dashboardId - ) - const workspace = await store.dispatch( - 'workspace/selectById', - dashboard.workspace.id - ) - - return { - workspace, - dashboard, - } - } catch (e) { - throw createError({ statusCode: 404, message: 'Dashboard not found.' }) + const dashboard = store.getters['application/getSelected'] + const workspace = store.getters['workspace/getSelected'] + return { + workspace, + dashboard, } } ) @@ -64,6 +51,10 @@ if (fetchError.value) { const dashboard = computed(() => data.value?.dashboard) const workspace = computed(() => data.value?.workspace) +useHead(() => ({ + title: dashboard.value?.name || '', +})) + // Mounted logic onMounted(() => { const forEditing = $hasPermission( diff --git a/web-frontend/package.json b/web-frontend/package.json index 8895793228..2d462dbf3f 100644 --- a/web-frontend/package.json +++ b/web-frontend/package.json @@ -124,9 +124,9 @@ "@nuxt/eslint": "^1.12.1", "@nuxt/test-utils": "^3.21.0", "@nuxtjs/storybook": "latest", - "@storybook/addon-designs": "10.0.2", - "@storybook/addon-docs": "9.1.2", - "@storybook/addon-links": "9.1.2", + "@storybook/addon-designs": "^11.1.0", + "@storybook/addon-docs": "^9.1.16", + "@storybook/addon-links": "^9.1.16", "@vitest/coverage-istanbul": "^4.0.17", "@vitest/coverage-v8": "^4.0.17", "@vue/test-utils": "^2.4.6", @@ -138,7 +138,7 @@ "node-mocks-http": "^1.17.2", "postcss-scss": "^4.0.9", "prettier": "^3.7.4", - "storybook": "9.1.17", + "storybook": "^9.1.17", "stylelint": "^16.26.1", "stylelint-config-standard": "^39.0.1", "stylelint-config-standard-scss": "^16.0.0", diff --git a/web-frontend/yarn.lock b/web-frontend/yarn.lock index f9a140b48f..f266874b5a 100644 --- a/web-frontend/yarn.lock +++ b/web-frontend/yarn.lock @@ -947,20 +947,18 @@ "@eslint/core" "^0.17.0" levn "^0.4.1" -"@figspec/components@^1.0.1": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@figspec/components/-/components-1.0.3.tgz#6456970a7298f9969d4d329574435050fcac00d9" - integrity sha512-fBwHzJ4ouuOUJEi+yBZIrOy+0/fAjB3AeTcIHTT1PRxLz8P63xwC7R0EsIJXhScIcc+PljGmqbbVJCjLsnaGYA== - dependencies: - lit "^2.1.3" +"@figspec/components@^2.0.1": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@figspec/components/-/components-2.1.0.tgz#ab53c17d02d042ca6c5bd287bbb52c9c6abe6f5d" + integrity sha512-PFKBX2oFz+vhThKTNsu7Mh4ZT3X7YCiM694UkAMT36j/p0tdmXs9Je0Sf88stTEcMgwYvNv9TZtvniYmgaE+bw== -"@figspec/react@^1.0.0": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@figspec/react/-/react-1.0.4.tgz#c45e740a2873bf6cd8f4576390d58dab06478fc5" - integrity sha512-jaPvkIef4d6NjsRiw91OZabrfdPH9FtoPGYcY5mpXjYEcdUqIq1aHtLq3SkMVyVysEapTEJ6yS8amy93MyXBEQ== +"@figspec/react@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@figspec/react/-/react-2.0.1.tgz#f5fb5126b3983df810a457e6497704740db977e3" + integrity sha512-xflqJ3XQZVzm8+7dsm8OFxVAmBNNA3Mg65sqwNHiq7VRSMSD7qwH4BPsBy07ZaX+9nHeaacBpFZd3Q0aIsISqw== dependencies: - "@figspec/components" "^1.0.1" - "@lit-labs/react" "^1.0.2" + "@figspec/components" "^2.0.1" + "@lit-labs/react" "^2.0.0" "@floating-ui/core@^1.7.3": version "1.7.3" @@ -1220,22 +1218,17 @@ resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919" integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw== -"@lit-labs/react@^1.0.2": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@lit-labs/react/-/react-1.2.1.tgz#5b421502cdf68a3639dec431318eeed2285f1c0e" - integrity sha512-DiZdJYFU0tBbdQkfwwRSwYyI/mcWkg3sWesKRsHUd4G+NekTmmeq9fzsurvcKTNVa0comNljwtg4Hvi1ds3V+A== - -"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.5.1.tgz#3166900c0d481f03d6d4133686e0febf760d521d" - integrity sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA== - -"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.3.tgz#25b4eece2592132845d303e091bad9b04cdcfe03" - integrity sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ== +"@lit-labs/react@^2.0.0": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@lit-labs/react/-/react-2.1.3.tgz#5fca408c435f0b6297fc1314471dc2426206d413" + integrity sha512-OD9h2JynerBQUMNzb563jiVpxfvPF0HjQkKY2mx0lpVYvD7F+rtJpOGz6ek+6ufMidV3i+MPT9SX62OKWHFrQg== dependencies: - "@lit-labs/ssr-dom-shim" "^1.0.0" + "@lit/react" "^1.0.3" + +"@lit/react@^1.0.3": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@lit/react/-/react-1.0.8.tgz#b3e229173b7b57d550909bf95d8f3da1a9510557" + integrity sha512-p2+YcF+JE67SRX3mMlJ1TKCSTsgyOVdAwd/nxp3NuV1+Cb6MWALbN6nT7Ld4tpmYofcE5kcaSY1YBB9erY+6fw== "@mapbox/node-pre-gyp@^2.0.0": version "2.0.3" @@ -3135,30 +3128,30 @@ unctx "^2.3.1" vue-router "^4.3.0" -"@storybook/addon-designs@10.0.2": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@storybook/addon-designs/-/addon-designs-10.0.2.tgz#b889a3b67d88f1cf7a4744865241ea61b88cd760" - integrity sha512-MP7av/of6QMPH7bRjwjTC34GySy2bfyh3WwLWeztQOuNWMEFUOWzjh9iIyCiOBl7VADSXeL4SOJGIiGzQznFZw== +"@storybook/addon-designs@^11.1.0": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-designs/-/addon-designs-11.1.2.tgz#646473276857dc179c351d143466c459f0eb3729" + integrity sha512-d9tOOJSNrUOshK0hvnDtR17uk/gfDAbs0DKGRaKe0VacUVLJkJEPor4OpxKKFG59qtSi4iU1FYyb668hfMdCdw== dependencies: - "@figspec/react" "^1.0.0" + "@figspec/react" "^2.0.0" -"@storybook/addon-docs@9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-9.1.2.tgz#f64e88e6e6602a8d66822f5e774f9790295e9ab8" - integrity sha512-U3eHJ8lQFfEZ/OcgdKkUBbW2Y2tpAsHfy8lQOBgs5Pgj9biHEJcUmq+drOS/sJhle673eoBcUFmspXulI4KP1w== +"@storybook/addon-docs@^9.1.16": + version "9.1.17" + resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-9.1.17.tgz#727e594c6ff864a500c875537190f499b0f320c7" + integrity sha512-yc4hlgkrwNi045qk210dRuIMijkgbLmo3ft6F4lOdpPRn4IUnPDj7FfZR8syGzUzKidxRfNtLx5m0yHIz83xtA== dependencies: "@mdx-js/react" "^3.0.0" - "@storybook/csf-plugin" "9.1.2" + "@storybook/csf-plugin" "9.1.17" "@storybook/icons" "^1.4.0" - "@storybook/react-dom-shim" "9.1.2" + "@storybook/react-dom-shim" "9.1.17" react "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" react-dom "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" ts-dedent "^2.0.0" -"@storybook/addon-links@9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-9.1.2.tgz#54e944a431bec0c575d4e3eedd6c99b855e82650" - integrity sha512-drAWdhn5cRo5WcaORoCYfJ6tgTAw1m+ZJb1ICyNtTU6i/0nErV8jJjt7AziUcUIyzaGVJAkAMNC3+R4uDPSFDA== +"@storybook/addon-links@^9.1.16": + version "9.1.17" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-9.1.17.tgz#58d23d44b63f5d40ae0b7b406afde442d9a31d72" + integrity sha512-LqtrDXRJrdMfZJ0om38SjmY2lQUGmpL8Zt2xTZtQjUy1V+ZiQpuUx7+TJZIOWujzRp75fxhM4AB0HuLDsemlcA== dependencies: "@storybook/global" "^5.0.0" @@ -3170,6 +3163,13 @@ "@storybook/csf-plugin" "9.1.2" ts-dedent "^2.0.0" +"@storybook/csf-plugin@9.1.17": + version "9.1.17" + resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-9.1.17.tgz#83f877e7fd99a128f03267cd81364da2c21d7f14" + integrity sha512-o+ebQDdSfZHDRDhu2hNDGhCLIazEB4vEAqJcHgz1VsURq+l++bgZUcKojPMCAbeblptSEz2bwS0eYAOvG7aSXg== + dependencies: + unplugin "^1.3.1" + "@storybook/csf-plugin@9.1.2": version "9.1.2" resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-9.1.2.tgz#7bc5f29578ee55b2da8c38daf1815a4fa354c564" @@ -3187,10 +3187,10 @@ resolved "https://registry.yarnpkg.com/@storybook/icons/-/icons-1.6.0.tgz#9fa6eb9c82922b79f75a2cf83c38af30ba7fd696" integrity sha512-hcFZIjW8yQz8O8//2WTIXylm5Xsgc+lW9ISLgUk1xGmptIJQRdlhVIXCpSyLrQaaRiyhQRaVg7l3BD9S216BHw== -"@storybook/react-dom-shim@9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-9.1.2.tgz#09731ce72de13bf92e439485c628fb093720c5f0" - integrity sha512-nw7BLAHCJswPZGsuL0Gs2AvFUWriusCTgPBmcHppSw/AqvT4XRFRDE+5q3j04/XKuZBrAA2sC4L+HuC0uzEChQ== +"@storybook/react-dom-shim@9.1.17": + version "9.1.17" + resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-9.1.17.tgz#ef816c7fb62743e9017f4f3680d7f3625c7188d7" + integrity sha512-Ss/lNvAy0Ziynu+KniQIByiNuyPz3dq7tD62hqSC/pHw190X+M7TKU3zcZvXhx2AQx1BYyxtdSHIZapb+P5mxQ== "@storybook/vue3-vite@9.1.2": version "9.1.2" @@ -3607,14 +3607,7 @@ resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== -"@types/tedious@^4.0.14": - version "4.0.14" - resolved "https://registry.yarnpkg.com/@types/tedious/-/tedious-4.0.14.tgz#868118e7a67808258c05158e9cad89ca58a2aec1" - integrity sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw== - dependencies: - "@types/node" "*" - -"@types/trusted-types@^2.0.2", "@types/trusted-types@^2.0.7": +"@types/trusted-types@^2.0.7": version "2.0.7" resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== @@ -7845,31 +7838,6 @@ listhen@^1.9.0: untun "^0.1.3" uqr "^0.1.2" -lit-element@^3.3.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.3.tgz#10bc19702b96ef5416cf7a70177255bfb17b3209" - integrity sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA== - dependencies: - "@lit-labs/ssr-dom-shim" "^1.1.0" - "@lit/reactive-element" "^1.3.0" - lit-html "^2.8.0" - -lit-html@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa" - integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q== - dependencies: - "@types/trusted-types" "^2.0.2" - -lit@^2.1.3: - version "2.8.0" - resolved "https://registry.yarnpkg.com/lit/-/lit-2.8.0.tgz#4d838ae03059bf9cafa06e5c61d8acc0081e974e" - integrity sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA== - dependencies: - "@lit/reactive-element" "^1.6.0" - lit-element "^3.3.0" - lit-html "^2.8.0" - load-tsconfig@^0.2.3: version "0.2.5" resolved "https://registry.yarnpkg.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz#453b8cd8961bfb912dea77eb6c168fe8cca3d3a1" @@ -10509,7 +10477,7 @@ std-env@^3.10.0, std-env@^3.7.0, std-env@^3.8.1: resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.10.0.tgz#d810b27e3a073047b2b5e40034881f5ea6f9c83b" integrity sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg== -storybook@9.1.17: +storybook@^9.1.17: version "9.1.17" resolved "https://registry.yarnpkg.com/storybook/-/storybook-9.1.17.tgz#1d210ecb7e62260a68644d3e6cc81e04c0dcce85" integrity sha512-kfr6kxQAjA96ADlH6FMALJwJ+eM80UqXy106yVHNgdsAP/CdzkkicglRAhZAvUycXK9AeadF6KZ00CWLtVMN4w==