@scalar/components 0.27.9 → 0.27.10

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/README.md CHANGED
@@ -19,7 +19,7 @@ Scalar is an open-source API platform for teams who want beautiful developer int
19
19
 
20
20
  - **[API References](https://scalar.com/products/api-references/getting-started)** — Interactive API documentation from OpenAPI and AsyncAPI specs.
21
21
  - **[Developer Docs](https://scalar.com/products/docs/getting-started)** — Write in Markdown/MDX, generate API references, sync with two-way Git.
22
- - **[SDK Generator](https://scalar.com/products/sdks/getting-started)** — Type-safe SDKs and CLIs in TypeScript, Python, Go, PHP, Java, and Ruby.
22
+ - **[SDK Generator](https://scalar.com/products/sdk-generator/getting-started)** — Type-safe SDKs and CLIs in TypeScript, Python, Go, PHP, Java, and Ruby.
23
23
  - **[API Client](https://scalar.com/products/api-client/getting-started)** — Open-source, offline-first Postman alternative built on OpenAPI.
24
24
 
25
25
  20M+ monthly npm installs · 15,500+ GitHub stars · MIT licensed · [scalar.com](https://scalar.com)
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarHotkeyTooltip.vue.js","names":[],"sources":["../../../src/components/ScalarTooltip/ScalarHotkeyTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar hotkey tooltip component\n *\n * Adds a tooltip to an interactive element with a hotkey, if\n * you don't need to display a hotkey, use the ScalarTooltip\n * component instead\n *\n * @example\n * <ScalarHotkeyTooltip content=\"Bold\" hotkey=\"B\" modifier=\"Meta\">\n * <ScalarButton>Make bold</ScalarButton>\n * </ScalarHotkeyTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, h, ref, render } from 'vue'\n\nimport { ScalarHotkey } from '../ScalarHotkey'\nimport type { HotKeyModifier } from '../ScalarHotkey/types'\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipPlacement } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n hotkey,\n modifier,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<{\n content?: string\n hotkey: string\n modifier?: HotKeyModifier[]\n delay?: number\n placement?: ScalarTooltipPlacement\n offset?: number\n}>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\n/**\n * Render the content and the hotkey into an HTML string\n */\nconst renderedContent = computed<string>(() => {\n if (!document) return ''\n\n // Temp element to render the content into\n const el = document.createElement('div')\n\n const hotKeyClass =\n '-m-0.5 border-none p-0 grid grid-flow-col *:border *:h-5 *:min-w-5 *:border-border-tooltip *:rounded *:px-1 *:flex *:items-center *:justify-center'\n\n if (content) {\n // Render the content and the hotkey\n render(\n h('div', { class: 'flex items-center gap-2' }, [\n content,\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n ]),\n el,\n )\n } else {\n render(\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n el,\n )\n }\n\n const html = el.innerHTML\n\n // Return the rendered content\n return html\n})\n\nuseTooltip({\n content: renderedContent,\n contentTarget: 'innerHTML',\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ScalarHotkeyTooltip.vue.js","names":[],"sources":["../../../src/components/ScalarTooltip/ScalarHotkeyTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar hotkey tooltip component\n *\n * Adds a tooltip to an interactive element with a hotkey, if\n * you don't need to display a hotkey, use the ScalarTooltip\n * component instead\n *\n * @example\n * <ScalarHotkeyTooltip content=\"Bold\" hotkey=\"B\" modifier=\"Meta\">\n * <ScalarButton>Make bold</ScalarButton>\n * </ScalarHotkeyTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, h, ref, render } from 'vue'\n\nimport { ScalarHotkey } from '../ScalarHotkey'\nimport type { HotKeyModifier } from '../ScalarHotkey/types'\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipPlacement } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n hotkey,\n modifier,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<{\n content?: string\n hotkey: string\n modifier?: HotKeyModifier[]\n delay?: number\n placement?: ScalarTooltipPlacement\n offset?: number\n}>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\n/**\n * Render the content and the hotkey into an HTML string\n */\nconst renderedContent = computed<string>(() => {\n if (!document) return ''\n\n // Temp element to render the content into\n const el = document.createElement('div')\n\n const hotKeyClass =\n '-m-0.5 border-none p-0 grid grid-flow-col *:border *:h-5 *:min-w-5 *:border-border *:rounded *:px-1 *:flex *:items-center *:justify-center'\n\n if (content) {\n // Render the content and the hotkey\n render(\n h('div', { class: 'flex items-center gap-2' }, [\n content,\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n ]),\n el,\n )\n } else {\n render(\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n el,\n )\n }\n\n const html = el.innerHTML\n\n // Return the rendered content\n return html\n})\n\nuseTooltip({\n content: renderedContent,\n contentTarget: 'innerHTML',\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n"],"mappings":""}
@@ -17,7 +17,7 @@ var ScalarHotkeyTooltip_vue_vue_type_script_setup_true_lang_default = /* @__PURE
17
17
  content: computed(() => {
18
18
  if (!document) return "";
19
19
  const el = document.createElement("div");
20
- const hotKeyClass = "-m-0.5 border-none p-0 grid grid-flow-col *:border *:h-5 *:min-w-5 *:border-border-tooltip *:rounded *:px-1 *:flex *:items-center *:justify-center";
20
+ const hotKeyClass = "-m-0.5 border-none p-0 grid grid-flow-col *:border *:h-5 *:min-w-5 *:border-border *:rounded *:px-1 *:flex *:items-center *:justify-center";
21
21
  if (__props.content) render(h("div", { class: "flex items-center gap-2" }, [__props.content, h(ScalarHotkey_default, {
22
22
  class: hotKeyClass,
23
23
  hotkey: __props.hotkey,
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarHotkeyTooltip.vue.script.js","names":["$slots"],"sources":["../../../src/components/ScalarTooltip/ScalarHotkeyTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar hotkey tooltip component\n *\n * Adds a tooltip to an interactive element with a hotkey, if\n * you don't need to display a hotkey, use the ScalarTooltip\n * component instead\n *\n * @example\n * <ScalarHotkeyTooltip content=\"Bold\" hotkey=\"B\" modifier=\"Meta\">\n * <ScalarButton>Make bold</ScalarButton>\n * </ScalarHotkeyTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, h, ref, render } from 'vue'\n\nimport { ScalarHotkey } from '../ScalarHotkey'\nimport type { HotKeyModifier } from '../ScalarHotkey/types'\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipPlacement } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n hotkey,\n modifier,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<{\n content?: string\n hotkey: string\n modifier?: HotKeyModifier[]\n delay?: number\n placement?: ScalarTooltipPlacement\n offset?: number\n}>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\n/**\n * Render the content and the hotkey into an HTML string\n */\nconst renderedContent = computed<string>(() => {\n if (!document) return ''\n\n // Temp element to render the content into\n const el = document.createElement('div')\n\n const hotKeyClass =\n '-m-0.5 border-none p-0 grid grid-flow-col *:border *:h-5 *:min-w-5 *:border-border-tooltip *:rounded *:px-1 *:flex *:items-center *:justify-center'\n\n if (content) {\n // Render the content and the hotkey\n render(\n h('div', { class: 'flex items-center gap-2' }, [\n content,\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n ]),\n el,\n )\n } else {\n render(\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n el,\n )\n }\n\n const html = el.innerHTML\n\n // Return the rendered content\n return html\n})\n\nuseTooltip({\n content: renderedContent,\n contentTarget: 'innerHTML',\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;EAwCA,MAAM,aAAsC,IAAI,KAAI;AA4CpD,aAAW;GACT,SAxCsB,eAAuB;AAC7C,QAAI,CAAC,SAAU,QAAO;IAGtB,MAAM,KAAK,SAAS,cAAc,MAAK;IAEvC,MAAM,cACJ;AAEF,QAAI,QAAA,QAEF,QACE,EAAE,OAAO,EAAE,OAAO,2BAA2B,EAAE,CAC7C,QAAA,SACA,EAAE,sBAAc;KACd,OAAO;KACP,QAAK,QAAA;KACL,UAAO,QAAA;KACR,CAAC,CACH,CAAC,EACF,GACF;QAEA,QACE,EAAE,sBAAc;KACd,OAAO;KACP,QAAK,QAAA;KACL,UAAO,QAAA;KACR,CAAC,EACF,GACF;AAMF,WAHa,GAAG;KAIjB;GAIC,eAAe;GACf,OAAO,eAAe,QAAA,MAAM;GAC5B,WAAW,eAAe,QAAA,UAAU;GACpC,QAAQ,eAAe,QAAA,OAAO;GAC9B,WAAW,eACH,WAAW,OAAO,WAAW,MAAM,WAAW,SAAS,KAAA,EAC9D;GACF,CAAA;;uBAGC,mBAIM,OAAA;aAHA;IAAJ,KAAI;IACH,OAAK,eAAA,EAAA,UAAA,CAAA,CAAgBA,KAAAA,OAAO,SAAO,CAAA;OACpC,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"ScalarHotkeyTooltip.vue.script.js","names":["$slots"],"sources":["../../../src/components/ScalarTooltip/ScalarHotkeyTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar hotkey tooltip component\n *\n * Adds a tooltip to an interactive element with a hotkey, if\n * you don't need to display a hotkey, use the ScalarTooltip\n * component instead\n *\n * @example\n * <ScalarHotkeyTooltip content=\"Bold\" hotkey=\"B\" modifier=\"Meta\">\n * <ScalarButton>Make bold</ScalarButton>\n * </ScalarHotkeyTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, h, ref, render } from 'vue'\n\nimport { ScalarHotkey } from '../ScalarHotkey'\nimport type { HotKeyModifier } from '../ScalarHotkey/types'\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipPlacement } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n hotkey,\n modifier,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<{\n content?: string\n hotkey: string\n modifier?: HotKeyModifier[]\n delay?: number\n placement?: ScalarTooltipPlacement\n offset?: number\n}>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\n/**\n * Render the content and the hotkey into an HTML string\n */\nconst renderedContent = computed<string>(() => {\n if (!document) return ''\n\n // Temp element to render the content into\n const el = document.createElement('div')\n\n const hotKeyClass =\n '-m-0.5 border-none p-0 grid grid-flow-col *:border *:h-5 *:min-w-5 *:border-border *:rounded *:px-1 *:flex *:items-center *:justify-center'\n\n if (content) {\n // Render the content and the hotkey\n render(\n h('div', { class: 'flex items-center gap-2' }, [\n content,\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n ]),\n el,\n )\n } else {\n render(\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n el,\n )\n }\n\n const html = el.innerHTML\n\n // Return the rendered content\n return html\n})\n\nuseTooltip({\n content: renderedContent,\n contentTarget: 'innerHTML',\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;EAwCA,MAAM,aAAsC,IAAI,KAAI;AA4CpD,aAAW;GACT,SAxCsB,eAAuB;AAC7C,QAAI,CAAC,SAAU,QAAO;IAGtB,MAAM,KAAK,SAAS,cAAc,MAAK;IAEvC,MAAM,cACJ;AAEF,QAAI,QAAA,QAEF,QACE,EAAE,OAAO,EAAE,OAAO,2BAA2B,EAAE,CAC7C,QAAA,SACA,EAAE,sBAAc;KACd,OAAO;KACP,QAAK,QAAA;KACL,UAAO,QAAA;KACR,CAAC,CACH,CAAC,EACF,GACF;QAEA,QACE,EAAE,sBAAc;KACd,OAAO;KACP,QAAK,QAAA;KACL,UAAO,QAAA;KACR,CAAC,EACF,GACF;AAMF,WAHa,GAAG;KAIjB;GAIC,eAAe;GACf,OAAO,eAAe,QAAA,MAAM;GAC5B,WAAW,eAAe,QAAA,UAAU;GACpC,QAAQ,eAAe,QAAA,OAAO;GAC9B,WAAW,eACH,WAAW,OAAO,WAAW,MAAM,WAAW,SAAS,KAAA,EAC9D;GACF,CAAA;;uBAGC,mBAIM,OAAA;aAHA;IAAJ,KAAI;IACH,OAAK,eAAA,EAAA,UAAA,CAAA,CAAgBA,KAAAA,OAAO,SAAO,CAAA;OACpC,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"names":[],"mappings":"AAmHA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAIjD;;;;;;;;;GASG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;cA6CJ,CAAC,KAAK,IAAgB,KAAK,GAAG;EAWxC,CAAC;AACL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"ScalarTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"names":[],"mappings":"AAgHA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAIjD;;;;;;;;;GASG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;cA6CJ,CAAC,KAAK,IAAgB,KAAK,GAAG;EAWxC,CAAC;AACL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarTooltip.vue.js","names":[],"sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar tooltip component\n *\n * Adds a tooltip to an interactive element\n *\n * @example\n * <ScalarTooltip content=\"This is a tooltip\">\n * <ScalarButton>Hover Me</ScalarButton>\n * </ScalarTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, ref } from 'vue'\n\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipProps } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<ScalarTooltipProps>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\nuseTooltip({\n content: computed(() => content),\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n<style>\n@reference \"../../style.css\";\n\n/** Global styles for the tooltip */\n:where(body) > .scalar-tooltip {\n --scalar-tooltip-padding: 8px;\n\n padding: var(--scalar-tooltip-padding);\n\n @apply z-tooltip text-c-tooltip text-xs/4 font-medium break-words max-w-xs;\n}\n\n/**\n * The offset is the gap between the target and the tooltip, so it only belongs\n * on the side facing the target (opposite the placement side). Applying it to\n * every side shifts the visible box inward on `-start` / `-end` placements,\n * where Floating UI aligns the floating element's edge with the target's edge.\n */\n:where(body) > .scalar-tooltip[data-side='top'] {\n padding-bottom: calc(\n var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='bottom'] {\n padding-top: calc(\n var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='left'] {\n padding-right: calc(\n var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='right'] {\n padding-left: calc(\n var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset)\n );\n}\n\n:where(body) > .scalar-tooltip:before {\n content: '';\n inset: 0;\n @apply absolute rounded bg-b-tooltip -z-1 backdrop-blur;\n}\n\n/* Leave the gap on the target-facing side so the other edges stay flush */\n:where(body) > .scalar-tooltip[data-side='top']:before {\n bottom: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='bottom']:before {\n top: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='left']:before {\n right: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='right']:before {\n left: var(--scalar-tooltip-offset);\n}\n\n:where(body.dark-mode) > .scalar-tooltip:before {\n @apply shadow-border;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"ScalarTooltip.vue.js","names":[],"sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar tooltip component\n *\n * Adds a tooltip to an interactive element\n *\n * @example\n * <ScalarTooltip content=\"This is a tooltip\">\n * <ScalarButton>Hover Me</ScalarButton>\n * </ScalarTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, ref } from 'vue'\n\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipProps } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<ScalarTooltipProps>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\nuseTooltip({\n content: computed(() => content),\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n<style>\n@reference \"../../style.css\";\n\n/** Global styles for the tooltip */\n:where(body) > .scalar-tooltip {\n --scalar-tooltip-padding-x: 8px;\n --scalar-tooltip-padding-y: 6px;\n\n padding: var(--scalar-tooltip-padding-y) var(--scalar-tooltip-padding-x);\n\n @apply z-tooltip text-c-tooltip text-xs/4 font-normal break-words max-w-xs;\n}\n\n/**\n * The offset is the gap between the target and the tooltip, so it only belongs\n * on the side facing the target (opposite the placement side). Applying it to\n * every side shifts the visible box inward on `-start` / `-end` placements,\n * where Floating UI aligns the floating element's edge with the target's edge.\n */\n:where(body) > .scalar-tooltip[data-side='top'] {\n padding-bottom: calc(\n var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='bottom'] {\n padding-top: calc(\n var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='left'] {\n padding-right: calc(\n var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='right'] {\n padding-left: calc(\n var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset)\n );\n}\n\n:where(body) > .scalar-tooltip:before {\n content: '';\n inset: 0;\n @apply absolute rounded-lg bg-b-tooltip -z-1 backdrop-blur border shadow;\n}\n\n/* Leave the gap on the target-facing side so the other edges stay flush */\n:where(body) > .scalar-tooltip[data-side='top']:before {\n bottom: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='bottom']:before {\n top: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='left']:before {\n right: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='right']:before {\n left: var(--scalar-tooltip-offset);\n}\n</style>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarTooltip.vue.script.js","names":["$slots"],"sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar tooltip component\n *\n * Adds a tooltip to an interactive element\n *\n * @example\n * <ScalarTooltip content=\"This is a tooltip\">\n * <ScalarButton>Hover Me</ScalarButton>\n * </ScalarTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, ref } from 'vue'\n\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipProps } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<ScalarTooltipProps>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\nuseTooltip({\n content: computed(() => content),\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n<style>\n@reference \"../../style.css\";\n\n/** Global styles for the tooltip */\n:where(body) > .scalar-tooltip {\n --scalar-tooltip-padding: 8px;\n\n padding: var(--scalar-tooltip-padding);\n\n @apply z-tooltip text-c-tooltip text-xs/4 font-medium break-words max-w-xs;\n}\n\n/**\n * The offset is the gap between the target and the tooltip, so it only belongs\n * on the side facing the target (opposite the placement side). Applying it to\n * every side shifts the visible box inward on `-start` / `-end` placements,\n * where Floating UI aligns the floating element's edge with the target's edge.\n */\n:where(body) > .scalar-tooltip[data-side='top'] {\n padding-bottom: calc(\n var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='bottom'] {\n padding-top: calc(\n var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='left'] {\n padding-right: calc(\n var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='right'] {\n padding-left: calc(\n var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset)\n );\n}\n\n:where(body) > .scalar-tooltip:before {\n content: '';\n inset: 0;\n @apply absolute rounded bg-b-tooltip -z-1 backdrop-blur;\n}\n\n/* Leave the gap on the target-facing side so the other edges stay flush */\n:where(body) > .scalar-tooltip[data-side='top']:before {\n bottom: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='bottom']:before {\n top: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='left']:before {\n right: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='right']:before {\n left: var(--scalar-tooltip-offset);\n}\n\n:where(body.dark-mode) > .scalar-tooltip:before {\n @apply shadow-border;\n}\n</style>\n"],"mappings":";;;;;;;;;;;EA2BA,MAAM,aAAsC,IAAI,KAAI;AAEpD,aAAW;GACT,SAAS,eAAe,QAAA,QAAQ;GAChC,OAAO,eAAe,QAAA,MAAM;GAC5B,WAAW,eAAe,QAAA,UAAU;GACpC,QAAQ,eAAe,QAAA,OAAO;GAC9B,WAAW,eACH,WAAW,OAAO,WAAW,MAAM,WAAW,SAAS,KAAA,EAC9D;GACF,CAAA;;uBAGC,mBAIM,OAAA;aAHA;IAAJ,KAAI;IACH,OAAK,eAAA,EAAA,UAAA,CAAA,CAAgBA,KAAAA,OAAO,SAAO,CAAA;OACpC,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"ScalarTooltip.vue.script.js","names":["$slots"],"sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar tooltip component\n *\n * Adds a tooltip to an interactive element\n *\n * @example\n * <ScalarTooltip content=\"This is a tooltip\">\n * <ScalarButton>Hover Me</ScalarButton>\n * </ScalarTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, ref } from 'vue'\n\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipProps } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<ScalarTooltipProps>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\nuseTooltip({\n content: computed(() => content),\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n<style>\n@reference \"../../style.css\";\n\n/** Global styles for the tooltip */\n:where(body) > .scalar-tooltip {\n --scalar-tooltip-padding-x: 8px;\n --scalar-tooltip-padding-y: 6px;\n\n padding: var(--scalar-tooltip-padding-y) var(--scalar-tooltip-padding-x);\n\n @apply z-tooltip text-c-tooltip text-xs/4 font-normal break-words max-w-xs;\n}\n\n/**\n * The offset is the gap between the target and the tooltip, so it only belongs\n * on the side facing the target (opposite the placement side). Applying it to\n * every side shifts the visible box inward on `-start` / `-end` placements,\n * where Floating UI aligns the floating element's edge with the target's edge.\n */\n:where(body) > .scalar-tooltip[data-side='top'] {\n padding-bottom: calc(\n var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='bottom'] {\n padding-top: calc(\n var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='left'] {\n padding-right: calc(\n var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset)\n );\n}\n:where(body) > .scalar-tooltip[data-side='right'] {\n padding-left: calc(\n var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset)\n );\n}\n\n:where(body) > .scalar-tooltip:before {\n content: '';\n inset: 0;\n @apply absolute rounded-lg bg-b-tooltip -z-1 backdrop-blur border shadow;\n}\n\n/* Leave the gap on the target-facing side so the other edges stay flush */\n:where(body) > .scalar-tooltip[data-side='top']:before {\n bottom: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='bottom']:before {\n top: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='left']:before {\n right: var(--scalar-tooltip-offset);\n}\n:where(body) > .scalar-tooltip[data-side='right']:before {\n left: var(--scalar-tooltip-offset);\n}\n</style>\n"],"mappings":";;;;;;;;;;;EA2BA,MAAM,aAAsC,IAAI,KAAI;AAEpD,aAAW;GACT,SAAS,eAAe,QAAA,QAAQ;GAChC,OAAO,eAAe,QAAA,MAAM;GAC5B,WAAW,eAAe,QAAA,UAAU;GACpC,QAAQ,eAAe,QAAA,OAAO;GAC9B,WAAW,eACH,WAAW,OAAO,WAAW,MAAM,WAAW,SAAS,KAAA,EAC9D;GACF,CAAA;;uBAGC,mBAIM,OAAA;aAHA;IAAJ,KAAI;IACH,OAAK,eAAA,EAAA,UAAA,CAAA,CAAgBA,KAAAA,OAAO,SAAO,CAAA;OACpC,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
package/dist/style.css CHANGED
@@ -194,6 +194,14 @@
194
194
  }
195
195
  }
196
196
 
197
+ @media (max-resolution: 1.5x) {
198
+ @supports ((-moz-appearance: none)) {
199
+ :root {
200
+ --scalar-border-width: 1px;
201
+ }
202
+ }
203
+ }
204
+
197
205
  :root {
198
206
  --scalar-text-decoration: underline;
199
207
  --scalar-text-decoration-hover: underline;
@@ -261,8 +269,17 @@
261
269
  --scalar-button-1: #000;
262
270
  --scalar-button-1-hover: #000c;
263
271
  --scalar-button-1-color: #fff;
264
- --scalar-tooltip-background: #1a1a1ae6;
265
- --scalar-tooltip-color: #ffffffd9;
272
+ --scalar-tooltip-background: var(--scalar-background-1);
273
+ }
274
+
275
+ @supports (color: color-mix(in lab, red, red)) {
276
+ .light-mode {
277
+ --scalar-tooltip-background: color-mix(in srgb, var(--scalar-background-1), transparent 10%);
278
+ }
279
+ }
280
+
281
+ .light-mode {
282
+ --scalar-tooltip-color: var(--scalar-color-1);
266
283
  --scalar-color-alert: var(--scalar-color-orange);
267
284
  }
268
285
 
@@ -2655,14 +2672,8 @@
2655
2672
  border-width: var(--scalar-border-width);
2656
2673
  }
2657
2674
 
2658
- :is(.scalar-app .\*\:border-border-tooltip > *) {
2659
- border-color: var(--scalar-tooltip-color);
2660
- }
2661
-
2662
- @supports (color: color-mix(in lab, red, red)) {
2663
- :is(.scalar-app .\*\:border-border-tooltip > *) {
2664
- border-color: color-mix(in srgb, var(--scalar-tooltip-color), var(--scalar-tooltip-background));
2665
- }
2675
+ :is(.scalar-app .\*\:border-border > *) {
2676
+ border-color: var(--scalar-border-color);
2666
2677
  }
2667
2678
 
2668
2679
  :is(.scalar-app .\*\:px-1 > *) {
@@ -4572,15 +4583,7 @@ to {
4572
4583
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
4573
4584
  *, :before, :after, ::backdrop {
4574
4585
  --tw-font-weight: initial;
4575
- --tw-backdrop-blur: initial;
4576
- --tw-backdrop-brightness: initial;
4577
- --tw-backdrop-contrast: initial;
4578
- --tw-backdrop-grayscale: initial;
4579
- --tw-backdrop-hue-rotate: initial;
4580
- --tw-backdrop-invert: initial;
4581
- --tw-backdrop-opacity: initial;
4582
- --tw-backdrop-saturate: initial;
4583
- --tw-backdrop-sepia: initial;
4586
+ --tw-border-style: solid;
4584
4587
  --tw-shadow: 0 0 #0000;
4585
4588
  --tw-shadow-color: initial;
4586
4589
  --tw-shadow-alpha: 100%;
@@ -4595,38 +4598,52 @@ to {
4595
4598
  --tw-ring-offset-width: 0px;
4596
4599
  --tw-ring-offset-color: #fff;
4597
4600
  --tw-ring-offset-shadow: 0 0 #0000;
4601
+ --tw-backdrop-blur: initial;
4602
+ --tw-backdrop-brightness: initial;
4603
+ --tw-backdrop-contrast: initial;
4604
+ --tw-backdrop-grayscale: initial;
4605
+ --tw-backdrop-hue-rotate: initial;
4606
+ --tw-backdrop-invert: initial;
4607
+ --tw-backdrop-opacity: initial;
4608
+ --tw-backdrop-saturate: initial;
4609
+ --tw-backdrop-sepia: initial;
4598
4610
  }
4599
4611
  }
4600
4612
  }
4601
4613
  :where(body) > .scalar-tooltip {
4602
- --scalar-tooltip-padding: 8px;
4603
- padding: var(--scalar-tooltip-padding);
4614
+ --scalar-tooltip-padding-x: 8px;
4615
+ --scalar-tooltip-padding-y: 6px;
4616
+ padding: var(--scalar-tooltip-padding-y) var(--scalar-tooltip-padding-x);
4604
4617
  z-index: 99999;
4605
4618
  max-width: 320px;
4606
4619
  font-size: var(--scalar-font-size-5);
4607
- --tw-font-weight: var(--scalar-semibold);
4620
+ --tw-font-weight: var(--scalar-regular);
4608
4621
  line-height: 16px;
4609
- font-weight: var(--scalar-semibold);
4622
+ font-weight: var(--scalar-regular);
4610
4623
  overflow-wrap: break-word;
4611
4624
  color: var(--scalar-tooltip-color);
4612
4625
  }
4613
4626
  :where(body) > .scalar-tooltip[data-side="top"] {
4614
- padding-bottom: calc(var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset));
4627
+ padding-bottom: calc(var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset));
4615
4628
  }
4616
4629
  :where(body) > .scalar-tooltip[data-side="bottom"] {
4617
- padding-top: calc(var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset));
4630
+ padding-top: calc(var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset));
4618
4631
  }
4619
4632
  :where(body) > .scalar-tooltip[data-side="left"] {
4620
- padding-right: calc(var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset));
4633
+ padding-right: calc(var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset));
4621
4634
  }
4622
4635
  :where(body) > .scalar-tooltip[data-side="right"] {
4623
- padding-left: calc(var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset));
4636
+ padding-left: calc(var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset));
4624
4637
  }
4625
4638
  :where(body) > .scalar-tooltip:before {
4626
4639
  content: "";
4627
4640
  z-index: calc(1 * -1);
4628
- border-radius: var(--scalar-radius-md);
4641
+ border-radius: var(--scalar-radius-lg);
4642
+ border-style: var(--tw-border-style);
4643
+ border-width: var(--scalar-border-width);
4629
4644
  background-color: var(--scalar-tooltip-background);
4645
+ --tw-shadow: var(--scalar-shadow-1);
4646
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
4630
4647
  --tw-backdrop-blur: blur(8px);
4631
4648
  -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
4632
4649
  backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
@@ -4645,49 +4662,14 @@ to {
4645
4662
  :where(body) > .scalar-tooltip[data-side="right"]:before {
4646
4663
  left: var(--scalar-tooltip-offset);
4647
4664
  }
4648
- :where(body.dark-mode) > .scalar-tooltip:before {
4649
- --tw-shadow: inset 0 0 0 var(--tw-shadow-color, var(--scalar-border-width)) var(--scalar-border-color);
4650
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
4651
- }
4652
4665
  @property --tw-font-weight {
4653
4666
  syntax: "*";
4654
4667
  inherits: false
4655
4668
  }
4656
- @property --tw-backdrop-blur {
4657
- syntax: "*";
4658
- inherits: false
4659
- }
4660
- @property --tw-backdrop-brightness {
4661
- syntax: "*";
4662
- inherits: false
4663
- }
4664
- @property --tw-backdrop-contrast {
4665
- syntax: "*";
4666
- inherits: false
4667
- }
4668
- @property --tw-backdrop-grayscale {
4669
- syntax: "*";
4670
- inherits: false
4671
- }
4672
- @property --tw-backdrop-hue-rotate {
4673
- syntax: "*";
4674
- inherits: false
4675
- }
4676
- @property --tw-backdrop-invert {
4677
- syntax: "*";
4678
- inherits: false
4679
- }
4680
- @property --tw-backdrop-opacity {
4681
- syntax: "*";
4682
- inherits: false
4683
- }
4684
- @property --tw-backdrop-saturate {
4685
- syntax: "*";
4686
- inherits: false
4687
- }
4688
- @property --tw-backdrop-sepia {
4669
+ @property --tw-border-style {
4689
4670
  syntax: "*";
4690
- inherits: false
4671
+ inherits: false;
4672
+ initial-value: solid;
4691
4673
  }
4692
4674
  @property --tw-shadow {
4693
4675
  syntax: "*";
@@ -4754,6 +4736,42 @@ to {
4754
4736
  inherits: false;
4755
4737
  initial-value: 0 0 #0000;
4756
4738
  }
4739
+ @property --tw-backdrop-blur {
4740
+ syntax: "*";
4741
+ inherits: false
4742
+ }
4743
+ @property --tw-backdrop-brightness {
4744
+ syntax: "*";
4745
+ inherits: false
4746
+ }
4747
+ @property --tw-backdrop-contrast {
4748
+ syntax: "*";
4749
+ inherits: false
4750
+ }
4751
+ @property --tw-backdrop-grayscale {
4752
+ syntax: "*";
4753
+ inherits: false
4754
+ }
4755
+ @property --tw-backdrop-hue-rotate {
4756
+ syntax: "*";
4757
+ inherits: false
4758
+ }
4759
+ @property --tw-backdrop-invert {
4760
+ syntax: "*";
4761
+ inherits: false
4762
+ }
4763
+ @property --tw-backdrop-opacity {
4764
+ syntax: "*";
4765
+ inherits: false
4766
+ }
4767
+ @property --tw-backdrop-saturate {
4768
+ syntax: "*";
4769
+ inherits: false
4770
+ }
4771
+ @property --tw-backdrop-sepia {
4772
+ syntax: "*";
4773
+ inherits: false
4774
+ }
4757
4775
 
4758
4776
  .scalar-virtual-text-search-input[data-v-95edadbb]::-webkit-search-cancel-button {
4759
4777
  display: none;
@@ -1129,15 +1129,7 @@ to {
1129
1129
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
1130
1130
  *, :before, :after, ::backdrop {
1131
1131
  --tw-font-weight: initial;
1132
- --tw-backdrop-blur: initial;
1133
- --tw-backdrop-brightness: initial;
1134
- --tw-backdrop-contrast: initial;
1135
- --tw-backdrop-grayscale: initial;
1136
- --tw-backdrop-hue-rotate: initial;
1137
- --tw-backdrop-invert: initial;
1138
- --tw-backdrop-opacity: initial;
1139
- --tw-backdrop-saturate: initial;
1140
- --tw-backdrop-sepia: initial;
1132
+ --tw-border-style: solid;
1141
1133
  --tw-shadow: 0 0 #0000;
1142
1134
  --tw-shadow-color: initial;
1143
1135
  --tw-shadow-alpha: 100%;
@@ -1152,38 +1144,52 @@ to {
1152
1144
  --tw-ring-offset-width: 0px;
1153
1145
  --tw-ring-offset-color: #fff;
1154
1146
  --tw-ring-offset-shadow: 0 0 #0000;
1147
+ --tw-backdrop-blur: initial;
1148
+ --tw-backdrop-brightness: initial;
1149
+ --tw-backdrop-contrast: initial;
1150
+ --tw-backdrop-grayscale: initial;
1151
+ --tw-backdrop-hue-rotate: initial;
1152
+ --tw-backdrop-invert: initial;
1153
+ --tw-backdrop-opacity: initial;
1154
+ --tw-backdrop-saturate: initial;
1155
+ --tw-backdrop-sepia: initial;
1155
1156
  }
1156
1157
  }
1157
1158
  }
1158
1159
  :where(body) > .scalar-tooltip {
1159
- --scalar-tooltip-padding: 8px;
1160
- padding: var(--scalar-tooltip-padding);
1160
+ --scalar-tooltip-padding-x: 8px;
1161
+ --scalar-tooltip-padding-y: 6px;
1162
+ padding: var(--scalar-tooltip-padding-y) var(--scalar-tooltip-padding-x);
1161
1163
  z-index: 99999;
1162
1164
  max-width: 320px;
1163
1165
  font-size: var(--scalar-font-size-5);
1164
- --tw-font-weight: var(--scalar-semibold);
1166
+ --tw-font-weight: var(--scalar-regular);
1165
1167
  line-height: 16px;
1166
- font-weight: var(--scalar-semibold);
1168
+ font-weight: var(--scalar-regular);
1167
1169
  overflow-wrap: break-word;
1168
1170
  color: var(--scalar-tooltip-color);
1169
1171
  }
1170
1172
  :where(body) > .scalar-tooltip[data-side="top"] {
1171
- padding-bottom: calc(var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset));
1173
+ padding-bottom: calc(var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset));
1172
1174
  }
1173
1175
  :where(body) > .scalar-tooltip[data-side="bottom"] {
1174
- padding-top: calc(var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset));
1176
+ padding-top: calc(var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset));
1175
1177
  }
1176
1178
  :where(body) > .scalar-tooltip[data-side="left"] {
1177
- padding-right: calc(var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset));
1179
+ padding-right: calc(var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset));
1178
1180
  }
1179
1181
  :where(body) > .scalar-tooltip[data-side="right"] {
1180
- padding-left: calc(var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset));
1182
+ padding-left: calc(var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset));
1181
1183
  }
1182
1184
  :where(body) > .scalar-tooltip:before {
1183
1185
  content: "";
1184
1186
  z-index: calc(1 * -1);
1185
- border-radius: var(--scalar-radius-md);
1187
+ border-radius: var(--scalar-radius-lg);
1188
+ border-style: var(--tw-border-style);
1189
+ border-width: var(--scalar-border-width);
1186
1190
  background-color: var(--scalar-tooltip-background);
1191
+ --tw-shadow: var(--scalar-shadow-1);
1192
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1187
1193
  --tw-backdrop-blur: blur(8px);
1188
1194
  -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
1189
1195
  backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
@@ -1202,49 +1208,14 @@ to {
1202
1208
  :where(body) > .scalar-tooltip[data-side="right"]:before {
1203
1209
  left: var(--scalar-tooltip-offset);
1204
1210
  }
1205
- :where(body.dark-mode) > .scalar-tooltip:before {
1206
- --tw-shadow: inset 0 0 0 var(--tw-shadow-color, var(--scalar-border-width)) var(--scalar-border-color);
1207
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1208
- }
1209
1211
  @property --tw-font-weight {
1210
1212
  syntax: "*";
1211
1213
  inherits: false
1212
1214
  }
1213
- @property --tw-backdrop-blur {
1214
- syntax: "*";
1215
- inherits: false
1216
- }
1217
- @property --tw-backdrop-brightness {
1218
- syntax: "*";
1219
- inherits: false
1220
- }
1221
- @property --tw-backdrop-contrast {
1222
- syntax: "*";
1223
- inherits: false
1224
- }
1225
- @property --tw-backdrop-grayscale {
1226
- syntax: "*";
1227
- inherits: false
1228
- }
1229
- @property --tw-backdrop-hue-rotate {
1230
- syntax: "*";
1231
- inherits: false
1232
- }
1233
- @property --tw-backdrop-invert {
1234
- syntax: "*";
1235
- inherits: false
1236
- }
1237
- @property --tw-backdrop-opacity {
1215
+ @property --tw-border-style {
1238
1216
  syntax: "*";
1239
- inherits: false
1240
- }
1241
- @property --tw-backdrop-saturate {
1242
- syntax: "*";
1243
- inherits: false
1244
- }
1245
- @property --tw-backdrop-sepia {
1246
- syntax: "*";
1247
- inherits: false
1217
+ inherits: false;
1218
+ initial-value: solid;
1248
1219
  }
1249
1220
  @property --tw-shadow {
1250
1221
  syntax: "*";
@@ -1311,6 +1282,42 @@ to {
1311
1282
  inherits: false;
1312
1283
  initial-value: 0 0 #0000;
1313
1284
  }
1285
+ @property --tw-backdrop-blur {
1286
+ syntax: "*";
1287
+ inherits: false
1288
+ }
1289
+ @property --tw-backdrop-brightness {
1290
+ syntax: "*";
1291
+ inherits: false
1292
+ }
1293
+ @property --tw-backdrop-contrast {
1294
+ syntax: "*";
1295
+ inherits: false
1296
+ }
1297
+ @property --tw-backdrop-grayscale {
1298
+ syntax: "*";
1299
+ inherits: false
1300
+ }
1301
+ @property --tw-backdrop-hue-rotate {
1302
+ syntax: "*";
1303
+ inherits: false
1304
+ }
1305
+ @property --tw-backdrop-invert {
1306
+ syntax: "*";
1307
+ inherits: false
1308
+ }
1309
+ @property --tw-backdrop-opacity {
1310
+ syntax: "*";
1311
+ inherits: false
1312
+ }
1313
+ @property --tw-backdrop-saturate {
1314
+ syntax: "*";
1315
+ inherits: false
1316
+ }
1317
+ @property --tw-backdrop-sepia {
1318
+ syntax: "*";
1319
+ inherits: false
1320
+ }
1314
1321
 
1315
1322
  .scalar-virtual-text-search-input[data-v-95edadbb]::-webkit-search-cancel-button {
1316
1323
  display: none;
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "git+https://github.com/scalar/scalar.git",
11
11
  "directory": "packages/components"
12
12
  },
13
- "version": "0.27.9",
13
+ "version": "0.27.10",
14
14
  "engines": {
15
15
  "node": ">=22"
16
16
  },
@@ -222,9 +222,9 @@
222
222
  "vue": "^3.5.30",
223
223
  "vue-component-type-helpers": "^3.2.6",
224
224
  "@scalar/code-highlight": "0.4.3",
225
- "@scalar/helpers": "0.9.2",
226
- "@scalar/themes": "0.17.1",
227
225
  "@scalar/icons": "0.7.5",
226
+ "@scalar/helpers": "0.9.2",
227
+ "@scalar/themes": "0.17.2",
228
228
  "@scalar/use-hooks": "0.4.9"
229
229
  },
230
230
  "devDependencies": {