@scalar/components 0.25.0 → 0.26.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.
Files changed (62) hide show
  1. package/README.md +2 -2
  2. package/dist/components/ScalarButton/index.js +2 -0
  3. package/dist/components/ScalarCard/index.js +5 -0
  4. package/dist/components/ScalarCheckboxInput/index.js +5 -0
  5. package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.d.ts.map +1 -1
  6. package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.js.map +1 -1
  7. package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.script.js.map +1 -1
  8. package/dist/components/ScalarCodeBlock/index.js +3 -0
  9. package/dist/components/ScalarColorModeToggle/index.js +4 -0
  10. package/dist/components/ScalarCombobox/ScalarCombobox.vue.d.ts +1 -1
  11. package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.d.ts +3 -3
  12. package/dist/components/ScalarCombobox/ScalarComboboxPopover.vue.d.ts +2 -2
  13. package/dist/components/ScalarCombobox/index.js +4 -0
  14. package/dist/components/ScalarCopy/index.js +4 -0
  15. package/dist/components/ScalarDropdown/ScalarDropdown.vue.d.ts +1 -1
  16. package/dist/components/ScalarDropdown/index.js +6 -0
  17. package/dist/components/ScalarErrorBoundary/index.js +2 -0
  18. package/dist/components/ScalarFileUpload/ScalarFileUpload.vue.d.ts +1 -1
  19. package/dist/components/ScalarFileUpload/ScalarFileUploadLoading.vue.d.ts +1 -1
  20. package/dist/components/ScalarFileUpload/index.js +8 -0
  21. package/dist/components/ScalarFloating/index.js +3 -0
  22. package/dist/components/ScalarForm/index.js +7 -0
  23. package/dist/components/ScalarHeader/index.js +3 -0
  24. package/dist/components/ScalarHotkey/index.js +3 -0
  25. package/dist/components/ScalarIcon/index.js +3 -0
  26. package/dist/components/ScalarIconButton/index.js +2 -0
  27. package/dist/components/ScalarIconButton/types.d.ts +1 -1
  28. package/dist/components/ScalarListbox/ScalarListbox.vue.d.ts +1 -1
  29. package/dist/components/ScalarListbox/index.js +5 -0
  30. package/dist/components/ScalarLoading/index.js +3 -0
  31. package/dist/components/ScalarMarkdown/index.js +3 -0
  32. package/dist/components/ScalarMenu/ScalarMenuLink.vue.d.ts +1 -1
  33. package/dist/components/ScalarMenu/ScalarMenuTeamPicker.vue.d.ts +1 -1
  34. package/dist/components/ScalarMenu/ScalarMenuWorkspacePicker.vue.d.ts +1 -1
  35. package/dist/components/ScalarMenu/index.js +12 -0
  36. package/dist/components/ScalarModal/index.js +3 -0
  37. package/dist/components/ScalarPopover/ScalarPopover.vue.d.ts +1 -1
  38. package/dist/components/ScalarPopover/index.js +2 -0
  39. package/dist/components/ScalarSavePrompt/ScalarSavePrompt.vue.d.ts +1 -1
  40. package/dist/components/ScalarSavePrompt/index.js +2 -0
  41. package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.d.ts +1 -1
  42. package/dist/components/ScalarSearchInput/index.js +2 -0
  43. package/dist/components/ScalarSearchResults/ScalarSearchResultItem.vue.d.ts +1 -1
  44. package/dist/components/ScalarSearchResults/index.js +3 -0
  45. package/dist/components/ScalarSidebar/ScalarSidebarGroupToggle.vue.d.ts +1 -1
  46. package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.d.ts +1 -1
  47. package/dist/components/ScalarSidebar/index.js +14 -0
  48. package/dist/components/ScalarSidebar/types.d.ts +1 -1
  49. package/dist/components/ScalarTeleport/index.js +4 -0
  50. package/dist/components/ScalarTextArea/index.js +2 -0
  51. package/dist/components/ScalarTextInput/index.js +3 -0
  52. package/dist/components/ScalarThemeSwatches/index.js +3 -0
  53. package/dist/components/ScalarToggle/ScalarToggleGroup.vue.d.ts +1 -1
  54. package/dist/components/ScalarToggle/index.js +4 -0
  55. package/dist/components/ScalarTooltip/index.js +4 -0
  56. package/dist/components/ScalarVirtualText/index.js +2 -0
  57. package/dist/components/ScalarWrappingText/index.js +2 -0
  58. package/dist/helpers/index.js +2 -0
  59. package/dist/index.d.ts +47 -47
  60. package/dist/style.css +5 -2
  61. package/dist/vue-styles.css +3 -0
  62. package/package.json +181 -6
package/README.md CHANGED
@@ -50,7 +50,7 @@ Then, you can use the components in your Vue components. For example:
50
50
  <script
51
51
  setup
52
52
  lang="ts">
53
- import { ScalarButton } from '@scalar/components'
53
+ import { ScalarButton } from '@scalar/components/button'
54
54
  </script>
55
55
  <template>
56
56
  <ScalarButton />
@@ -118,7 +118,7 @@ All pull requests should include the following checklist:
118
118
  ```md
119
119
  ## Component Checklist
120
120
 
121
- - [ ] Exported from `@scalar/components`
121
+ - [ ] Exported from its subpath (e.g. `@scalar/components/example`) via `package.json` `exports` — not the barrel
122
122
  - [ ] Has JSDocs for all:
123
123
  - [ ] Components (with examples)
124
124
  - [ ] Props
@@ -0,0 +1,2 @@
1
+ import ScalarButton_default from "./ScalarButton.vue.js";
2
+ export { ScalarButton_default as ScalarButton };
@@ -0,0 +1,5 @@
1
+ import ScalarCard_default from "./ScalarCard.vue.js";
2
+ import ScalarCardSection_default from "./ScalarCardSection.vue.js";
3
+ import ScalarCardFooter_default from "./ScalarCardFooter.vue.js";
4
+ import ScalarCardHeader_default from "./ScalarCardHeader.vue.js";
5
+ export { ScalarCard_default as ScalarCard, ScalarCardFooter_default as ScalarCardFooter, ScalarCardHeader_default as ScalarCardHeader, ScalarCardSection_default as ScalarCardSection };
@@ -0,0 +1,5 @@
1
+ import ScalarCheckbox_default from "./ScalarCheckbox.vue.js";
2
+ import ScalarCheckboxInput_default from "./ScalarCheckboxInput.vue.js";
3
+ import ScalarCheckboxGroup_default from "./ScalarCheckboxGroup.vue.js";
4
+ import ScalarCheckboxRadioGroup_default from "./ScalarCheckboxRadioGroup.vue.js";
5
+ export { ScalarCheckbox_default as ScalarCheckbox, ScalarCheckboxGroup_default as ScalarCheckboxGroup, ScalarCheckboxInput_default as ScalarCheckboxInput, ScalarCheckboxRadioGroup_default as ScalarCheckboxRadioGroup };
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarCodeBlock.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCodeBlock/ScalarCodeBlock.vue"],"names":[],"mappings":"AAkKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAGlD;;;;;;;;GAQG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;cAEN,MAAM,GAAG,MAAM;2BACF,MAAM;WACtB,mBAAmB,GAAG,MAAM;kBACrB,OAAO;sBACH,MAAM,GAAG,MAAM,EAAE;WAC5B,QAAQ,GAAG,OAAO,GAAG,KAAK;;IAWzB,+CAA+C;aACtC,MAAM,GAAG,MAAM;;cAjBtB,MAAM,GAAG,MAAM;2BACF,MAAM;WACtB,mBAAmB,GAAG,MAAM;kBACrB,OAAO;sBACH,MAAM,GAAG,MAAM,EAAE;WAC5B,QAAQ,GAAG,OAAO,GAAG,KAAK;;IAezB;;;;OAIG;0BACmB,MAAM;;cAzB1B,MAAM,GAAG,MAAM;2BACF,MAAM;WACtB,mBAAmB,GAAG,MAAM;kBACrB,OAAO;sBACH,MAAM,GAAG,MAAM,EAAE;WAC5B,QAAQ,GAAG,OAAO,GAAG,KAAK;;IAWzB,+CAA+C;aACtC,MAAM,GAAG,MAAM;;cAjBtB,MAAM,GAAG,MAAM;2BACF,MAAM;WACtB,mBAAmB,GAAG,MAAM;kBACrB,OAAO;sBACH,MAAM,GAAG,MAAM,EAAE;WAC5B,QAAQ,GAAG,OAAO,GAAG,KAAK;;IAezB;;;;OAIG;0BACmB,MAAM;kGA2KlC,CAAC"}
1
+ {"version":3,"file":"ScalarCodeBlock.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarCodeBlock/ScalarCodeBlock.vue"],"names":[],"mappings":"AAuKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAGlD;;;;;;;;GAQG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;cAEN,MAAM,GAAG,MAAM;2BACF,MAAM;WACtB,mBAAmB,GAAG,MAAM;kBACrB,OAAO;sBACH,MAAM,GAAG,MAAM,EAAE;WAC5B,QAAQ,GAAG,OAAO,GAAG,KAAK;;IAWzB,+CAA+C;aACtC,MAAM,GAAG,MAAM;;cAjBtB,MAAM,GAAG,MAAM;2BACF,MAAM;WACtB,mBAAmB,GAAG,MAAM;kBACrB,OAAO;sBACH,MAAM,GAAG,MAAM,EAAE;WAC5B,QAAQ,GAAG,OAAO,GAAG,KAAK;;IAezB;;;;OAIG;0BACmB,MAAM;;cAzB1B,MAAM,GAAG,MAAM;2BACF,MAAM;WACtB,mBAAmB,GAAG,MAAM;kBACrB,OAAO;sBACH,MAAM,GAAG,MAAM,EAAE;WAC5B,QAAQ,GAAG,OAAO,GAAG,KAAK;;IAWzB,+CAA+C;aACtC,MAAM,GAAG,MAAM;;cAjBtB,MAAM,GAAG,MAAM;2BACF,MAAM;WACtB,mBAAmB,GAAG,MAAM;kBACrB,OAAO;sBACH,MAAM,GAAG,MAAM,EAAE;WAC5B,QAAQ,GAAG,OAAO,GAAG,KAAK;;IAezB;;;;OAIG;0BACmB,MAAM;kGA2KlC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarCodeBlock.vue.js","names":[],"sources":["../../../src/components/ScalarCodeBlock/ScalarCodeBlock.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Code Block component\n *\n * Renders syntax-highlighted code using highlight.js.\n * Supports line numbers, credential masking, and an optional copy button.\n *\n * @example\n * <ScalarCodeBlock content=\"const x = 1\" lang=\"javascript\" />\n */\nexport default {}\n</script>\n<script lang=\"ts\" setup>\nimport ScalarCopyBackdrop from '@/components/ScalarCopy/ScalarCopyBackdrop.vue'\nimport { standardLanguages, syntaxHighlight } from '@scalar/code-highlight'\nimport { prettyPrintJson } from '@scalar/helpers/json/pretty-print-json'\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { computed, useId } from 'vue'\n\nimport { ScalarCodeBlockCopy } from '../ScalarCodeBlock'\nimport type { StandardLanguageKey } from './types'\n\ntype BaseProps = {\n content?: string | object\n prettyPrintedContent?: string\n lang?: StandardLanguageKey | string\n lineNumbers?: boolean\n hideCredentials?: string | string[]\n copy?: 'always' | 'hover' | false\n}\n\n/**\n * Uses highlight.js for syntax highlighting\n *\n * Requires at least one of content or prettyPrintedContent\n */\nconst {\n lang = 'plaintext',\n lineNumbers = false,\n copy = 'hover',\n content,\n prettyPrintedContent,\n hideCredentials,\n} = defineProps<\n BaseProps &\n (\n | {\n /** Raw unformatted object or string content */\n content: string | object\n }\n | {\n /**\n * Pre-pretty printed content string for better performance\n *\n * Avoids unnecessary costly re-serialization of large content\n */\n prettyPrintedContent: string\n }\n )\n>()\n\n/** Base id for the code block */\nconst id = useId()\n\n/** Formatted the content into an indented json string */\nconst prettyContent = computed(\n () => prettyPrintedContent || prettyPrintJson(content ?? ''),\n)\n\nconst highlightedCode = computed(() => {\n const html = syntaxHighlight(prettyContent.value, {\n lang: lang.trim(),\n languages: standardLanguages,\n lineNumbers: lineNumbers,\n maskCredentials: hideCredentials,\n })\n\n // Need to remove the wrapping <pre> element so we can use v-html without another wrapper\n return html.slice(5, -6)\n})\n\n/** Determine if the content is a single line */\nconst isOneLine = computed(() => !prettyContent.value.includes('\\n'))\n\nconst isContentValid = computed(() => {\n return (\n prettyContent.value !== null &&\n prettyContent.value !== 'null' &&\n prettyContent.value !== '404 Not Found'\n )\n})\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <div\n v-bind=\"\n cx(\n 'scalar-code-block group/code-block flex flex-col',\n 'relative bg-b-1 min-h-0 min-w-0 focus-visible:outline',\n )\n \">\n <div\n tabindex=\"0\"\n class=\"custom-scroll overflow-x-auto p-2 -outline-offset-2 min-h-0 min-w-0 flex-1\">\n <pre\n :id=\"id\"\n class=\"m-0 bg-transparent text-nowrap whitespace-pre w-fit\"\n v-html=\"highlightedCode\" />\n </div>\n <ScalarCodeBlockCopy\n v-if=\"copy && isContentValid\"\n class=\"scalar-code-copy absolute\"\n :class=\"[\n isOneLine\n ? 'top-[calc(10px+0.5lh)] -translate-y-1/2 m-0 right-1'\n : 'top-2.5 right-2.5',\n { 'opacity-100': copy === 'always' },\n ]\"\n :content=\"prettyContent\"\n :showLang=\"!isOneLine\"\n :lang=\"lang\"\n :aria-controls=\"id\">\n <template #backdrop>\n <ScalarCopyBackdrop\n class=\"scalar-code-copy-backdrop\"\n :class=\"[\n isOneLine\n ? '-inset-y-0.75 -right-1 group-hocus-within/code-block:-left-0.5 left-3'\n : '-right-1.5 -top-1',\n ]\" />\n </template>\n </ScalarCodeBlockCopy>\n </div>\n</template>\n<style>\n@reference '../../style.css';\n@import '@scalar/code-highlight/css/code.css';\n\n/** Make the copy button label backdrop match the background */\n.scalar-code-block.bg-b-1 .scalar-code-copy-backdrop {\n @apply bg-b-1;\n}\n.scalar-code-block.bg-b-2 .scalar-code-copy-backdrop {\n @apply bg-b-2;\n}\n/** Make the copy button one shade darker than the background */\n.scalar-code-block.bg-b-2 .scalar-code-copy {\n @apply bg-b-3;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"ScalarCodeBlock.vue.js","names":[],"sources":["../../../src/components/ScalarCodeBlock/ScalarCodeBlock.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Code Block component\n *\n * Renders syntax-highlighted code using highlight.js.\n * Supports line numbers, credential masking, and an optional copy button.\n *\n * @example\n * <ScalarCodeBlock content=\"const x = 1\" lang=\"javascript\" />\n */\nexport default {}\n</script>\n<script lang=\"ts\" setup>\nimport ScalarCopyBackdrop from '@/components/ScalarCopy/ScalarCopyBackdrop.vue'\nimport { standardLanguages, syntaxHighlight } from '@scalar/code-highlight'\nimport { prettyPrintJson } from '@scalar/helpers/json/pretty-print-json'\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { computed, useId } from 'vue'\n\nimport { ScalarCodeBlockCopy } from '../ScalarCodeBlock'\nimport type { StandardLanguageKey } from './types'\n\ntype BaseProps = {\n content?: string | object\n prettyPrintedContent?: string\n lang?: StandardLanguageKey | string\n lineNumbers?: boolean\n hideCredentials?: string | string[]\n copy?: 'always' | 'hover' | false\n}\n\n/**\n * Uses highlight.js for syntax highlighting\n *\n * Requires at least one of content or prettyPrintedContent\n */\nconst {\n lang = 'plaintext',\n lineNumbers = false,\n copy = 'hover',\n content,\n prettyPrintedContent,\n hideCredentials,\n} = defineProps<\n BaseProps &\n (\n | {\n /** Raw unformatted object or string content */\n content: string | object\n }\n | {\n /**\n * Pre-pretty printed content string for better performance\n *\n * Avoids unnecessary costly re-serialization of large content\n */\n prettyPrintedContent: string\n }\n )\n>()\n\n/** Base id for the code block */\nconst id = useId()\n\n/** Formatted the content into an indented json string */\nconst prettyContent = computed(\n () => prettyPrintedContent || prettyPrintJson(content ?? ''),\n)\n\nconst highlightedCode = computed(() => {\n const html = syntaxHighlight(prettyContent.value, {\n lang: lang.trim(),\n languages: standardLanguages,\n lineNumbers: lineNumbers,\n maskCredentials: hideCredentials,\n })\n\n // Need to remove the wrapping <pre> element so we can use v-html without another wrapper\n return html.slice(5, -6)\n})\n\n/** Determine if the content is a single line */\nconst isOneLine = computed(() => !prettyContent.value.includes('\\n'))\n\nconst isContentValid = computed(() => {\n return (\n prettyContent.value !== null &&\n prettyContent.value !== 'null' &&\n prettyContent.value !== '404 Not Found'\n )\n})\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <div\n v-bind=\"\n cx(\n 'scalar-code-block group/code-block flex flex-col',\n 'relative bg-b-1 min-h-0 min-w-0 focus-visible:outline',\n )\n \">\n <div\n tabindex=\"0\"\n class=\"custom-scroll overflow-x-auto p-2 -outline-offset-2 min-h-0 min-w-0 flex-1\">\n <pre\n :id=\"id\"\n class=\"m-0 bg-transparent text-nowrap whitespace-pre w-fit\"\n v-html=\"highlightedCode\" />\n </div>\n <ScalarCodeBlockCopy\n v-if=\"copy && isContentValid\"\n class=\"scalar-code-copy absolute\"\n :class=\"[\n isOneLine\n ? 'top-[calc(10px+0.5lh)] -translate-y-1/2 m-0 right-1'\n : 'top-2.5 right-2.5',\n { 'opacity-100': copy === 'always' },\n ]\"\n :content=\"prettyContent\"\n :showLang=\"!isOneLine\"\n :lang=\"lang\"\n :aria-controls=\"id\">\n <template #backdrop>\n <ScalarCopyBackdrop\n class=\"scalar-code-copy-backdrop\"\n :class=\"[\n isOneLine\n ? '-inset-y-0.75 -right-1 group-hocus-within/code-block:-left-0.5 left-3'\n : '-right-1.5 -top-1',\n ]\" />\n </template>\n </ScalarCodeBlockCopy>\n </div>\n</template>\n<style>\n@reference '../../style.css';\n@import '@scalar/code-highlight/css/code.css';\n\n/** Disable font ligatures so code renders with literal characters */\n.scalar-code-block pre {\n font-variant-ligatures: none;\n}\n\n/** Make the copy button label backdrop match the background */\n.scalar-code-block.bg-b-1 .scalar-code-copy-backdrop {\n @apply bg-b-1;\n}\n.scalar-code-block.bg-b-2 .scalar-code-copy-backdrop {\n @apply bg-b-2;\n}\n/** Make the copy button one shade darker than the background */\n.scalar-code-block.bg-b-2 .scalar-code-copy {\n @apply bg-b-3;\n}\n</style>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarCodeBlock.vue.script.js","names":[],"sources":["../../../src/components/ScalarCodeBlock/ScalarCodeBlock.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Code Block component\n *\n * Renders syntax-highlighted code using highlight.js.\n * Supports line numbers, credential masking, and an optional copy button.\n *\n * @example\n * <ScalarCodeBlock content=\"const x = 1\" lang=\"javascript\" />\n */\nexport default {}\n</script>\n<script lang=\"ts\" setup>\nimport ScalarCopyBackdrop from '@/components/ScalarCopy/ScalarCopyBackdrop.vue'\nimport { standardLanguages, syntaxHighlight } from '@scalar/code-highlight'\nimport { prettyPrintJson } from '@scalar/helpers/json/pretty-print-json'\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { computed, useId } from 'vue'\n\nimport { ScalarCodeBlockCopy } from '../ScalarCodeBlock'\nimport type { StandardLanguageKey } from './types'\n\ntype BaseProps = {\n content?: string | object\n prettyPrintedContent?: string\n lang?: StandardLanguageKey | string\n lineNumbers?: boolean\n hideCredentials?: string | string[]\n copy?: 'always' | 'hover' | false\n}\n\n/**\n * Uses highlight.js for syntax highlighting\n *\n * Requires at least one of content or prettyPrintedContent\n */\nconst {\n lang = 'plaintext',\n lineNumbers = false,\n copy = 'hover',\n content,\n prettyPrintedContent,\n hideCredentials,\n} = defineProps<\n BaseProps &\n (\n | {\n /** Raw unformatted object or string content */\n content: string | object\n }\n | {\n /**\n * Pre-pretty printed content string for better performance\n *\n * Avoids unnecessary costly re-serialization of large content\n */\n prettyPrintedContent: string\n }\n )\n>()\n\n/** Base id for the code block */\nconst id = useId()\n\n/** Formatted the content into an indented json string */\nconst prettyContent = computed(\n () => prettyPrintedContent || prettyPrintJson(content ?? ''),\n)\n\nconst highlightedCode = computed(() => {\n const html = syntaxHighlight(prettyContent.value, {\n lang: lang.trim(),\n languages: standardLanguages,\n lineNumbers: lineNumbers,\n maskCredentials: hideCredentials,\n })\n\n // Need to remove the wrapping <pre> element so we can use v-html without another wrapper\n return html.slice(5, -6)\n})\n\n/** Determine if the content is a single line */\nconst isOneLine = computed(() => !prettyContent.value.includes('\\n'))\n\nconst isContentValid = computed(() => {\n return (\n prettyContent.value !== null &&\n prettyContent.value !== 'null' &&\n prettyContent.value !== '404 Not Found'\n )\n})\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <div\n v-bind=\"\n cx(\n 'scalar-code-block group/code-block flex flex-col',\n 'relative bg-b-1 min-h-0 min-w-0 focus-visible:outline',\n )\n \">\n <div\n tabindex=\"0\"\n class=\"custom-scroll overflow-x-auto p-2 -outline-offset-2 min-h-0 min-w-0 flex-1\">\n <pre\n :id=\"id\"\n class=\"m-0 bg-transparent text-nowrap whitespace-pre w-fit\"\n v-html=\"highlightedCode\" />\n </div>\n <ScalarCodeBlockCopy\n v-if=\"copy && isContentValid\"\n class=\"scalar-code-copy absolute\"\n :class=\"[\n isOneLine\n ? 'top-[calc(10px+0.5lh)] -translate-y-1/2 m-0 right-1'\n : 'top-2.5 right-2.5',\n { 'opacity-100': copy === 'always' },\n ]\"\n :content=\"prettyContent\"\n :showLang=\"!isOneLine\"\n :lang=\"lang\"\n :aria-controls=\"id\">\n <template #backdrop>\n <ScalarCopyBackdrop\n class=\"scalar-code-copy-backdrop\"\n :class=\"[\n isOneLine\n ? '-inset-y-0.75 -right-1 group-hocus-within/code-block:-left-0.5 left-3'\n : '-right-1.5 -top-1',\n ]\" />\n </template>\n </ScalarCodeBlockCopy>\n </div>\n</template>\n<style>\n@reference '../../style.css';\n@import '@scalar/code-highlight/css/code.css';\n\n/** Make the copy button label backdrop match the background */\n.scalar-code-block.bg-b-1 .scalar-code-copy-backdrop {\n @apply bg-b-1;\n}\n.scalar-code-block.bg-b-2 .scalar-code-copy-backdrop {\n @apply bg-b-2;\n}\n/** Make the copy button one shade darker than the background */\n.scalar-code-block.bg-b-2 .scalar-code-copy {\n @apply bg-b-3;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DA,MAAM,KAAK,OAAM;;EAGjB,MAAM,gBAAgB,eACd,QAAA,wBAAwB,gBAAgB,QAAA,WAAW,GAAG,CAC9D;EAEA,MAAM,kBAAkB,eAAe;AASrC,UARa,gBAAgB,cAAc,OAAO;IAChD,MAAM,QAAA,KAAK,MAAM;IACjB,WAAW;IACX,aAAa,QAAA;IACb,iBAAiB,QAAA;IAClB,CAAA,CAGW,MAAM,GAAG,GAAE;IACxB;;EAGD,MAAM,YAAY,eAAe,CAAC,cAAc,MAAM,SAAS,KAAK,CAAA;EAEpE,MAAM,iBAAiB,eAAe;AACpC,UACE,cAAc,UAAU,QACxB,cAAc,UAAU,UACxB,cAAc,UAAU;IAE3B;EAGD,MAAM,EAAE,OAAO,WAAU;;uBAGvB,mBAsCM,OAAA,eAAA,mBArCW,MAAA,GAAE,CAAA,oDAAA,wDAAA,CAAA,CAAA,EAAA,CAMjB,mBAOM,OAPN,YAOM,CAJJ,mBAG6B,OAAA;IAF1B,IAAI,MAAA,GAAE;IACP,OAAM;IACN,WAAQ,gBAAA;8BAGJ,QAAA,QAAQ,eAAA,SAAA,WAAA,EADhB,YAsBsB,MAAA,4BAAA,EAAA;;IApBpB,OAAK,eAAA,CAAC,6BAA2B,CACf,UAAA,QAAA,wDAAA,qBAAA,EAAA,eAAsI,QAAA,SAAI,UAAA,CAAA,CAAA,CAAA;IAM3J,SAAS,cAAA;IACT,UAAQ,CAAG,UAAA;IACX,MAAM,QAAA;IACN,iBAAe,MAAA,GAAE;;IACP,UAAQ,cAOV,CANP,YAMO,4BAAA,EALL,OAAK,eAAA,CAAC,6BAA2B,CACX,UAAA,QAAA,0EAAA,oBAAA,CAAA,CAAA,EAAA,EAAA,MAAA,GAAA,CAAA,QAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ScalarCodeBlock.vue.script.js","names":[],"sources":["../../../src/components/ScalarCodeBlock/ScalarCodeBlock.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Code Block component\n *\n * Renders syntax-highlighted code using highlight.js.\n * Supports line numbers, credential masking, and an optional copy button.\n *\n * @example\n * <ScalarCodeBlock content=\"const x = 1\" lang=\"javascript\" />\n */\nexport default {}\n</script>\n<script lang=\"ts\" setup>\nimport ScalarCopyBackdrop from '@/components/ScalarCopy/ScalarCopyBackdrop.vue'\nimport { standardLanguages, syntaxHighlight } from '@scalar/code-highlight'\nimport { prettyPrintJson } from '@scalar/helpers/json/pretty-print-json'\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { computed, useId } from 'vue'\n\nimport { ScalarCodeBlockCopy } from '../ScalarCodeBlock'\nimport type { StandardLanguageKey } from './types'\n\ntype BaseProps = {\n content?: string | object\n prettyPrintedContent?: string\n lang?: StandardLanguageKey | string\n lineNumbers?: boolean\n hideCredentials?: string | string[]\n copy?: 'always' | 'hover' | false\n}\n\n/**\n * Uses highlight.js for syntax highlighting\n *\n * Requires at least one of content or prettyPrintedContent\n */\nconst {\n lang = 'plaintext',\n lineNumbers = false,\n copy = 'hover',\n content,\n prettyPrintedContent,\n hideCredentials,\n} = defineProps<\n BaseProps &\n (\n | {\n /** Raw unformatted object or string content */\n content: string | object\n }\n | {\n /**\n * Pre-pretty printed content string for better performance\n *\n * Avoids unnecessary costly re-serialization of large content\n */\n prettyPrintedContent: string\n }\n )\n>()\n\n/** Base id for the code block */\nconst id = useId()\n\n/** Formatted the content into an indented json string */\nconst prettyContent = computed(\n () => prettyPrintedContent || prettyPrintJson(content ?? ''),\n)\n\nconst highlightedCode = computed(() => {\n const html = syntaxHighlight(prettyContent.value, {\n lang: lang.trim(),\n languages: standardLanguages,\n lineNumbers: lineNumbers,\n maskCredentials: hideCredentials,\n })\n\n // Need to remove the wrapping <pre> element so we can use v-html without another wrapper\n return html.slice(5, -6)\n})\n\n/** Determine if the content is a single line */\nconst isOneLine = computed(() => !prettyContent.value.includes('\\n'))\n\nconst isContentValid = computed(() => {\n return (\n prettyContent.value !== null &&\n prettyContent.value !== 'null' &&\n prettyContent.value !== '404 Not Found'\n )\n})\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <div\n v-bind=\"\n cx(\n 'scalar-code-block group/code-block flex flex-col',\n 'relative bg-b-1 min-h-0 min-w-0 focus-visible:outline',\n )\n \">\n <div\n tabindex=\"0\"\n class=\"custom-scroll overflow-x-auto p-2 -outline-offset-2 min-h-0 min-w-0 flex-1\">\n <pre\n :id=\"id\"\n class=\"m-0 bg-transparent text-nowrap whitespace-pre w-fit\"\n v-html=\"highlightedCode\" />\n </div>\n <ScalarCodeBlockCopy\n v-if=\"copy && isContentValid\"\n class=\"scalar-code-copy absolute\"\n :class=\"[\n isOneLine\n ? 'top-[calc(10px+0.5lh)] -translate-y-1/2 m-0 right-1'\n : 'top-2.5 right-2.5',\n { 'opacity-100': copy === 'always' },\n ]\"\n :content=\"prettyContent\"\n :showLang=\"!isOneLine\"\n :lang=\"lang\"\n :aria-controls=\"id\">\n <template #backdrop>\n <ScalarCopyBackdrop\n class=\"scalar-code-copy-backdrop\"\n :class=\"[\n isOneLine\n ? '-inset-y-0.75 -right-1 group-hocus-within/code-block:-left-0.5 left-3'\n : '-right-1.5 -top-1',\n ]\" />\n </template>\n </ScalarCodeBlockCopy>\n </div>\n</template>\n<style>\n@reference '../../style.css';\n@import '@scalar/code-highlight/css/code.css';\n\n/** Disable font ligatures so code renders with literal characters */\n.scalar-code-block pre {\n font-variant-ligatures: none;\n}\n\n/** Make the copy button label backdrop match the background */\n.scalar-code-block.bg-b-1 .scalar-code-copy-backdrop {\n @apply bg-b-1;\n}\n.scalar-code-block.bg-b-2 .scalar-code-copy-backdrop {\n @apply bg-b-2;\n}\n/** Make the copy button one shade darker than the background */\n.scalar-code-block.bg-b-2 .scalar-code-copy {\n @apply bg-b-3;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DA,MAAM,KAAK,OAAM;;EAGjB,MAAM,gBAAgB,eACd,QAAA,wBAAwB,gBAAgB,QAAA,WAAW,GAAG,CAC9D;EAEA,MAAM,kBAAkB,eAAe;AASrC,UARa,gBAAgB,cAAc,OAAO;IAChD,MAAM,QAAA,KAAK,MAAM;IACjB,WAAW;IACX,aAAa,QAAA;IACb,iBAAiB,QAAA;IAClB,CAAA,CAGW,MAAM,GAAG,GAAE;IACxB;;EAGD,MAAM,YAAY,eAAe,CAAC,cAAc,MAAM,SAAS,KAAK,CAAA;EAEpE,MAAM,iBAAiB,eAAe;AACpC,UACE,cAAc,UAAU,QACxB,cAAc,UAAU,UACxB,cAAc,UAAU;IAE3B;EAGD,MAAM,EAAE,OAAO,WAAU;;uBAGvB,mBAsCM,OAAA,eAAA,mBArCW,MAAA,GAAE,CAAA,oDAAA,wDAAA,CAAA,CAAA,EAAA,CAMjB,mBAOM,OAPN,YAOM,CAJJ,mBAG6B,OAAA;IAF1B,IAAI,MAAA,GAAE;IACP,OAAM;IACN,WAAQ,gBAAA;8BAGJ,QAAA,QAAQ,eAAA,SAAA,WAAA,EADhB,YAsBsB,MAAA,4BAAA,EAAA;;IApBpB,OAAK,eAAA,CAAC,6BAA2B,CACf,UAAA,QAAA,wDAAA,qBAAA,EAAA,eAAsI,QAAA,SAAI,UAAA,CAAA,CAAA,CAAA;IAM3J,SAAS,cAAA;IACT,UAAQ,CAAG,UAAA;IACX,MAAM,QAAA;IACN,iBAAe,MAAA,GAAE;;IACP,UAAQ,cAOV,CANP,YAMO,4BAAA,EALL,OAAK,eAAA,CAAC,6BAA2B,CACX,UAAA,QAAA,0EAAA,oBAAA,CAAA,CAAA,EAAA,EAAA,MAAA,GAAA,CAAA,QAAA,CAAA,CAAA,CAAA"}
@@ -0,0 +1,3 @@
1
+ import ScalarCodeBlock_default from "./ScalarCodeBlock.vue.js";
2
+ import ScalarCodeBlockCopy_default from "./ScalarCodeBlockCopy.vue.js";
3
+ export { ScalarCodeBlock_default as ScalarCodeBlock, ScalarCodeBlockCopy_default as ScalarCodeBlockCopy };
@@ -0,0 +1,4 @@
1
+ import ScalarColorModeToggleIcon_default from "./ScalarColorModeToggleIcon.vue.js";
2
+ import ScalarColorModeToggleButton_default from "./ScalarColorModeToggleButton.vue.js";
3
+ import ScalarColorModeToggle_default from "./ScalarColorModeToggle.vue.js";
4
+ export { ScalarColorModeToggle_default as ScalarColorModeToggle, ScalarColorModeToggleButton_default as ScalarColorModeToggleButton, ScalarColorModeToggleIcon_default as ScalarColorModeToggleIcon };
@@ -1,4 +1,4 @@
1
- import type { ScalarFloatingOptions } from '../ScalarFloating';
1
+ import type { ScalarFloatingOptions } from '../ScalarFloating/index.js';
2
2
  import type { ComboboxSlots, FilterFunction, Option, OptionGroup, OptionsOrGroups } from './types.js';
3
3
  /**
4
4
  * Scalar Combobox component
@@ -1,4 +1,4 @@
1
- import type { ScalarFloatingOptions } from '../ScalarFloating';
1
+ import type { ScalarFloatingOptions } from '../ScalarFloating/index.js';
2
2
  import type { ComboboxSlots, FilterFunction, Option, OptionGroup, OptionsOrGroups } from './types.js';
3
3
  /**
4
4
  * Scalar Combobox Multiselect component
@@ -244,7 +244,7 @@ declare const __VLS_export: <O extends Option = Option, G extends OptionGroup<O>
244
244
  disabled: boolean;
245
245
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | null>;
246
246
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
247
- $slots: import("../ScalarPopover").ScalarPopoverSlots;
247
+ $slots: import("../ScalarPopover/index.js").ScalarPopoverSlots;
248
248
  })) | null, ({
249
249
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<ScalarFloatingOptions> & Readonly<{}>, {
250
250
  popoverButtonRef: import("vue").Ref<import("vue").DefineComponent<{
@@ -456,7 +456,7 @@ declare const __VLS_export: <O extends Option = Option, G extends OptionGroup<O>
456
456
  disabled: boolean;
457
457
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | null>;
458
458
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
459
- $slots: import("../ScalarPopover").ScalarPopoverSlots;
459
+ $slots: import("../ScalarPopover/index.js").ScalarPopoverSlots;
460
460
  })) | null>;
461
461
  }>) => void;
462
462
  attrs: any;
@@ -1,5 +1,5 @@
1
- import { type ScalarFloatingOptions } from '../ScalarFloating';
2
- import type { ScalarPopoverSlots } from '../ScalarPopover';
1
+ import { type ScalarFloatingOptions } from '../ScalarFloating/index.js';
2
+ import type { ScalarPopoverSlots } from '../ScalarPopover/index.js';
3
3
  /**
4
4
  * Scalar Combobox Popover component
5
5
  *
@@ -0,0 +1,4 @@
1
+ import { isGroups } from "./types.js";
2
+ import ScalarCombobox_default from "./ScalarCombobox.vue.js";
3
+ import ScalarComboboxMultiselect_default from "./ScalarComboboxMultiselect.vue.js";
4
+ export { ScalarCombobox_default as ScalarCombobox, ScalarComboboxMultiselect_default as ScalarComboboxMultiselect, isGroups as isScalarComboboxGroups };
@@ -0,0 +1,4 @@
1
+ import ScalarCopyBackdrop_default from "./ScalarCopyBackdrop.vue.js";
2
+ import ScalarCopyButton_default from "./ScalarCopyButton.vue.js";
3
+ import ScalarCopy_default from "./ScalarCopy.vue.js";
4
+ export { ScalarCopy_default as ScalarCopy, ScalarCopyBackdrop_default as ScalarCopyBackdrop, ScalarCopyButton_default as ScalarCopyButton };
@@ -1,4 +1,4 @@
1
- import { type ScalarFloatingOptions } from '../ScalarFloating';
1
+ import { type ScalarFloatingOptions } from '../ScalarFloating/index.js';
2
2
  /**
3
3
  * Scalar dropdown component
4
4
  *
@@ -0,0 +1,6 @@
1
+ import ScalarDropdownMenu_default from "./ScalarDropdownMenu.vue.js";
2
+ import ScalarDropdown_default from "./ScalarDropdown.vue.js";
3
+ import ScalarDropdownButton_default from "./ScalarDropdownButton.vue.js";
4
+ import ScalarDropdownDivider_default from "./ScalarDropdownDivider.vue.js";
5
+ import ScalarDropdownItem_default from "./ScalarDropdownItem.vue.js";
6
+ export { ScalarDropdown_default as ScalarDropdown, ScalarDropdownButton_default as ScalarDropdownButton, ScalarDropdownDivider_default as ScalarDropdownDivider, ScalarDropdownItem_default as ScalarDropdownItem, ScalarDropdownMenu_default as ScalarDropdownMenu };
@@ -0,0 +1,2 @@
1
+ import ScalarErrorBoundary_default from "./ScalarErrorBoundary.vue.js";
2
+ export { ScalarErrorBoundary_default as ScalarErrorBoundary };
@@ -1,4 +1,4 @@
1
- import type { LoadingState } from '../ScalarLoading';
1
+ import type { LoadingState } from '../ScalarLoading/index.js';
2
2
  import { type ExtensionList } from './types.js';
3
3
  /**
4
4
  * Scalar File Upload component
@@ -1,4 +1,4 @@
1
- import { type LoadingState } from '../ScalarLoading';
1
+ import { type LoadingState } from '../ScalarLoading/index.js';
2
2
  /**
3
3
  * Scalar File Upload Loading
4
4
  *
@@ -0,0 +1,8 @@
1
+ import ScalarFileUploadDropTarget_default from "./ScalarFileUploadDropTarget.vue.js";
2
+ import ScalarFileUploadError_default from "./ScalarFileUploadError.vue.js";
3
+ import ScalarFileUploadInput_default from "./ScalarFileUploadInput.vue.js";
4
+ import ScalarFileUploadInputCompact_default from "./ScalarFileUploadInputCompact.vue.js";
5
+ import ScalarFileUploadLoading_default from "./ScalarFileUploadLoading.vue.js";
6
+ import ScalarFileUpload_default from "./ScalarFileUpload.vue.js";
7
+ import ScalarFileUploadFileList_default from "./ScalarFileUploadFileList.vue.js";
8
+ export { ScalarFileUpload_default as ScalarFileUpload, ScalarFileUploadDropTarget_default as ScalarFileUploadDropTarget, ScalarFileUploadError_default as ScalarFileUploadError, ScalarFileUploadFileList_default as ScalarFileUploadFileList, ScalarFileUploadInput_default as ScalarFileUploadInput, ScalarFileUploadInputCompact_default as ScalarFileUploadInputCompact, ScalarFileUploadLoading_default as ScalarFileUploadLoading };
@@ -0,0 +1,3 @@
1
+ import ScalarFloating_default from "./ScalarFloating.vue.js";
2
+ import ScalarFloatingBackdrop_default from "./ScalarFloatingBackdrop.vue.js";
3
+ export { ScalarFloating_default as ScalarFloating, ScalarFloatingBackdrop_default as ScalarFloatingBackdrop };
@@ -0,0 +1,7 @@
1
+ import ScalarForm_default from "./ScalarForm.vue.js";
2
+ import ScalarFormError_default from "./ScalarFormError.vue.js";
3
+ import ScalarFormField_default from "./ScalarFormField.vue.js";
4
+ import ScalarFormInput_default from "./ScalarFormInput.vue.js";
5
+ import ScalarFormInputGroup_default from "./ScalarFormInputGroup.vue.js";
6
+ import ScalarFormSection_default from "./ScalarFormSection.vue.js";
7
+ export { ScalarForm_default as ScalarForm, ScalarFormError_default as ScalarFormError, ScalarFormField_default as ScalarFormField, ScalarFormInput_default as ScalarFormInput, ScalarFormInputGroup_default as ScalarFormInputGroup, ScalarFormSection_default as ScalarFormSection };
@@ -0,0 +1,3 @@
1
+ import ScalarHeader_default from "./ScalarHeader.vue.js";
2
+ import ScalarHeaderButton_default from "./ScalarHeaderButton.vue.js";
3
+ export { ScalarHeader_default as ScalarHeader, ScalarHeaderButton_default as ScalarHeaderButton };
@@ -0,0 +1,3 @@
1
+ import { formatHotkeySymbols } from "./formatHotkey.js";
2
+ import ScalarHotkey_default from "./ScalarHotkey.vue.js";
3
+ export { ScalarHotkey_default as ScalarHotkey, formatHotkeySymbols };
@@ -0,0 +1,3 @@
1
+ import ScalarIcon_default from "./ScalarIcon.vue.js";
2
+ import ScalarIconLegacyAdapter_default from "./ScalarIconLegacyAdapter.vue.js";
3
+ export { ScalarIcon_default as ScalarIcon, ScalarIconLegacyAdapter_default as ScalarIconLegacyAdapter };
@@ -0,0 +1,2 @@
1
+ import ScalarIconButton_default from "./ScalarIconButton.vue.js";
2
+ export { ScalarIconButton_default as ScalarIconButton };
@@ -1,6 +1,6 @@
1
1
  import type { ScalarIconComponent, ScalarIconWeight } from '@scalar/icons/types';
2
2
  import type { ButtonVariant } from '../ScalarButton/types';
3
- import type { Icon as LegacyIcon } from '../ScalarIcon';
3
+ import type { Icon as LegacyIcon } from '../ScalarIcon/index.js';
4
4
  import type { ScalarTooltipPlacement } from '../ScalarTooltip/types';
5
5
  export type ScalarIconButtonProps = {
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { type ScalarFloatingOptions } from '../ScalarFloating';
1
+ import { type ScalarFloatingOptions } from '../ScalarFloating/index.js';
2
2
  import type { Option } from './types';
3
3
  /**
4
4
  * Scalar Listbox component
@@ -0,0 +1,5 @@
1
+ import ScalarListboxCheckbox_default from "./ScalarListboxCheckbox.vue.js";
2
+ import ScalarListboxItem_default from "./ScalarListboxItem.vue.js";
3
+ import ScalarListbox_default from "./ScalarListbox.vue.js";
4
+ import ScalarListboxInput_default from "./ScalarListboxInput.vue.js";
5
+ export { ScalarListbox_default as ScalarListbox, ScalarListboxCheckbox_default as ScalarListboxCheckbox, ScalarListboxInput_default as ScalarListboxInput, ScalarListboxItem_default as ScalarListboxItem };
@@ -0,0 +1,3 @@
1
+ import ScalarLoading_default from "./ScalarLoading.vue.js";
2
+ import { useLoadingState } from "./useLoadingState.js";
3
+ export { ScalarLoading_default as ScalarLoading, useLoadingState };
@@ -0,0 +1,3 @@
1
+ import ScalarMarkdown_default from "./ScalarMarkdown.vue.js";
2
+ import ScalarMarkdownSummary_default from "./ScalarMarkdownSummary.vue.js";
3
+ export { ScalarMarkdown_default as ScalarMarkdown, ScalarMarkdownSummary_default as ScalarMarkdownSummary };
@@ -1,6 +1,6 @@
1
1
  import type { ScalarIconComponent } from '@scalar/icons/types';
2
2
  import type { Component } from 'vue';
3
- import { type Icon } from '../ScalarIcon';
3
+ import { type Icon } from '../ScalarIcon/index.js';
4
4
  /**
5
5
  * Scalar Menu Link component
6
6
  *
@@ -1,4 +1,4 @@
1
- import { type ScalarMenuTeamOption } from '.';
1
+ import { type ScalarMenuTeamOption } from './index.js';
2
2
  /**
3
3
  * Scalar Menu Team Picker component
4
4
  *
@@ -1,4 +1,4 @@
1
- import { type ScalarListboxOption } from '../ScalarListbox';
1
+ import { type ScalarListboxOption } from '../ScalarListbox/index.js';
2
2
  export type WorkspaceGroup = {
3
3
  /** Label for the group */
4
4
  label?: string;
@@ -0,0 +1,12 @@
1
+ import ScalarMenuButton_default from "./ScalarMenuButton.vue.js";
2
+ import ScalarMenuProduct_default from "./ScalarMenuProduct.vue.js";
3
+ import ScalarMenuProducts_default from "./ScalarMenuProducts.vue.js";
4
+ import ScalarMenuLink_default from "./ScalarMenuLink.vue.js";
5
+ import ScalarMenuSection_default from "./ScalarMenuSection.vue.js";
6
+ import ScalarMenuResources_default from "./ScalarMenuResources.vue.js";
7
+ import ScalarMenu_default from "./ScalarMenu.vue.js";
8
+ import ScalarMenuSupport_default from "./ScalarMenuSupport.vue.js";
9
+ import ScalarMenuTeamProfile_default from "./ScalarMenuTeamProfile.vue.js";
10
+ import ScalarMenuTeamPicker_default from "./ScalarMenuTeamPicker.vue.js";
11
+ import ScalarMenuWorkspacePicker_default from "./ScalarMenuWorkspacePicker.vue.js";
12
+ export { ScalarMenu_default as ScalarMenu, ScalarMenuButton_default as ScalarMenuButton, ScalarMenuLink_default as ScalarMenuLink, ScalarMenuProduct_default as ScalarMenuProduct, ScalarMenuProducts_default as ScalarMenuProducts, ScalarMenuResources_default as ScalarMenuResources, ScalarMenuSection_default as ScalarMenuSection, ScalarMenuSupport_default as ScalarMenuSupport, ScalarMenuTeamPicker_default as ScalarMenuTeamPicker, ScalarMenuTeamProfile_default as ScalarMenuTeamProfile, ScalarMenuWorkspacePicker_default as ScalarMenuWorkspacePicker };
@@ -0,0 +1,3 @@
1
+ import { useModal } from "./ScalarModal.vue.script.js";
2
+ import ScalarModal_default from "./ScalarModal.vue.js";
3
+ export { ScalarModal_default as ScalarModal, useModal };
@@ -1,4 +1,4 @@
1
- import { type ScalarFloatingOptions } from '../ScalarFloating';
1
+ import { type ScalarFloatingOptions } from '../ScalarFloating/index.js';
2
2
  import type { Slots } from './types';
3
3
  /**
4
4
  * Scalar Popover component
@@ -0,0 +1,2 @@
1
+ import ScalarPopover_default from "./ScalarPopover.vue.js";
2
+ export { ScalarPopover_default as ScalarPopover };
@@ -1,4 +1,4 @@
1
- import type { LoadingState } from '../ScalarLoading';
1
+ import type { LoadingState } from '../ScalarLoading/index.js';
2
2
  /**
3
3
  * Scalar save prompt
4
4
  *
@@ -0,0 +1,2 @@
1
+ import ScalarSavePrompt_default from "./ScalarSavePrompt.vue.js";
2
+ export { ScalarSavePrompt_default as ScalarSavePrompt };
@@ -1,4 +1,4 @@
1
- import { type LoadingState } from '../ScalarLoading';
1
+ import { type LoadingState } from '../ScalarLoading/index.js';
2
2
  /**
3
3
  * Scalar search input component
4
4
  *
@@ -0,0 +1,2 @@
1
+ import ScalarSearchInput_default from "./ScalarSearchInput.vue.js";
2
+ export { ScalarSearchInput_default as ScalarSearchInput };
@@ -1,5 +1,5 @@
1
1
  import type { ScalarIconComponent } from '@scalar/icons/types';
2
- import { type Icon } from '../ScalarIcon';
2
+ import { type Icon } from '../ScalarIcon/index.js';
3
3
  /**
4
4
  * Scalar Search Result Item component
5
5
  *
@@ -0,0 +1,3 @@
1
+ import ScalarSearchResultItem_default from "./ScalarSearchResultItem.vue.js";
2
+ import ScalarSearchResultList_default from "./ScalarSearchResultList.vue.js";
3
+ export { ScalarSearchResultItem_default as ScalarSearchResultItem, ScalarSearchResultList_default as ScalarSearchResultList };
@@ -1,6 +1,6 @@
1
1
  import type { ScalarIconComponent } from '@scalar/icons/types';
2
2
  import type { Component } from 'vue';
3
- import { type Icon } from '../ScalarIcon';
3
+ import { type Icon } from '../ScalarIcon/index.js';
4
4
  /**
5
5
  * Scalar Sidebar Group toggle component
6
6
  *
@@ -1,4 +1,4 @@
1
- import { type LoadingState } from '../ScalarLoading';
1
+ import { type LoadingState } from '../ScalarLoading/index.js';
2
2
  /**
3
3
  * Scalar Sidebar Search Input component
4
4
  *
@@ -0,0 +1,14 @@
1
+ import ScalarSidebar_default from "./ScalarSidebar.vue.js";
2
+ import ScalarSidebarIndent_default from "./ScalarSidebarIndent.vue.js";
3
+ import ScalarSidebarButton_default from "./ScalarSidebarButton.vue.js";
4
+ import ScalarSidebarFooter_default from "./ScalarSidebarFooter.vue.js";
5
+ import ScalarSidebarGroupToggle_default from "./ScalarSidebarGroupToggle.vue.js";
6
+ import ScalarSidebarItem_default from "./ScalarSidebarItem.vue.js";
7
+ import ScalarSidebarGroup_default from "./ScalarSidebarGroup.vue.js";
8
+ import ScalarSidebarItems_default from "./ScalarSidebarItems.vue.js";
9
+ import ScalarSidebarSpacer_default from "./ScalarSidebarSpacer.vue.js";
10
+ import ScalarSidebarNestedItems_default from "./ScalarSidebarNestedItems.vue.js";
11
+ import ScalarSidebarSearchButton_default from "./ScalarSidebarSearchButton.vue.js";
12
+ import ScalarSidebarSearchInput_default from "./ScalarSidebarSearchInput.vue.js";
13
+ import ScalarSidebarSection_default from "./ScalarSidebarSection.vue.js";
14
+ export { ScalarSidebar_default as ScalarSidebar, ScalarSidebarButton_default as ScalarSidebarButton, ScalarSidebarFooter_default as ScalarSidebarFooter, ScalarSidebarGroup_default as ScalarSidebarGroup, ScalarSidebarGroupToggle_default as ScalarSidebarGroupToggle, ScalarSidebarIndent_default as ScalarSidebarIndent, ScalarSidebarItem_default as ScalarSidebarItem, ScalarSidebarItems_default as ScalarSidebarItems, ScalarSidebarNestedItems_default as ScalarSidebarNestedItems, ScalarSidebarSearchButton_default as ScalarSidebarSearchButton, ScalarSidebarSearchInput_default as ScalarSidebarSearchInput, ScalarSidebarSection_default as ScalarSidebarSection, ScalarSidebarSpacer_default as ScalarSidebarSpacer };
@@ -1,6 +1,6 @@
1
1
  import type { ScalarIconComponent } from '@scalar/icons/types';
2
2
  import type { Component } from 'vue';
3
- import type { Icon } from '../ScalarIcon';
3
+ import type { Icon } from '../ScalarIcon/index.js';
4
4
  import type { SidebarGroupLevel } from './useSidebarGroups.js';
5
5
  /** Scalar Sidebar Item Props */
6
6
  export type ScalarSidebarItemProps = {
@@ -0,0 +1,4 @@
1
+ import { TELEPORT_SYMBOL, useProvideTeleport, useTeleport } from "./useTeleport.js";
2
+ import ScalarTeleport_default from "./ScalarTeleport.vue.js";
3
+ import ScalarTeleportRoot_default from "./ScalarTeleportRoot.vue.js";
4
+ export { ScalarTeleport_default as ScalarTeleport, ScalarTeleportRoot_default as ScalarTeleportRoot, TELEPORT_SYMBOL, useProvideTeleport, useTeleport };
@@ -0,0 +1,2 @@
1
+ import ScalarTextArea_default from "./ScalarTextArea.vue.js";
2
+ export { ScalarTextArea_default as ScalarTextArea };
@@ -0,0 +1,3 @@
1
+ import ScalarTextInput_default from "./ScalarTextInput.vue.js";
2
+ import ScalarTextInputCopy_default from "./ScalarTextInputCopy.vue.js";
3
+ export { ScalarTextInput_default as ScalarTextInput, ScalarTextInputCopy_default as ScalarTextInputCopy };
@@ -0,0 +1,3 @@
1
+ import { useThemeSwatches } from "./useThemeSwatches.js";
2
+ import ScalarThemeSwatches_default from "./ScalarThemeSwatches.vue.js";
3
+ export { ScalarThemeSwatches_default as ScalarThemeSwatches, useThemeSwatches };
@@ -1,4 +1,4 @@
1
- import type { ScalarCheckboxOption } from '../ScalarCheckboxInput';
1
+ import type { ScalarCheckboxOption } from '../ScalarCheckboxInput/index.js';
2
2
  /**
3
3
  * Scalar Toggle Group component
4
4
  *
@@ -0,0 +1,4 @@
1
+ import ScalarToggle_default from "./ScalarToggle.vue.js";
2
+ import ScalarToggleInput_default from "./ScalarToggleInput.vue.js";
3
+ import ScalarToggleGroup_default from "./ScalarToggleGroup.vue.js";
4
+ export { ScalarToggle_default as ScalarToggle, ScalarToggleGroup_default as ScalarToggleGroup, ScalarToggleInput_default as ScalarToggleInput };
@@ -0,0 +1,4 @@
1
+ import { useTooltip } from "./useTooltip.js";
2
+ import ScalarHotkeyTooltip_default from "./ScalarHotkeyTooltip.vue.js";
3
+ import ScalarTooltip_default from "./ScalarTooltip.vue.js";
4
+ export { ScalarHotkeyTooltip_default as ScalarHotkeyTooltip, ScalarTooltip_default as ScalarTooltip, useTooltip };
@@ -0,0 +1,2 @@
1
+ import ScalarVirtualText_default from "./ScalarVirtualText.vue.js";
2
+ export { ScalarVirtualText_default as ScalarVirtualText };
@@ -0,0 +1,2 @@
1
+ import ScalarWrappingText_default from "./ScalarWrappingText.vue.js";
2
+ export { ScalarWrappingText_default as ScalarWrappingText };
@@ -0,0 +1,2 @@
1
+ import { addScalarClassesToHeadless } from "./add-scalar-classes.js";
2
+ export { addScalarClassesToHeadless };
package/dist/index.d.ts CHANGED
@@ -1,49 +1,49 @@
1
1
  export { compose, cva, cx, tw, useBindCx } from '@scalar/use-hooks/useBindCx';
2
- export type { ScalarButtonSize, ScalarButtonVariant } from './components/ScalarButton';
3
- export { ScalarButton } from './components/ScalarButton';
4
- export { ScalarCard, ScalarCardFooter, ScalarCardHeader, ScalarCardSection } from './components/ScalarCard';
5
- export type { ScalarCheckboxOption, ScalarCheckboxType } from './components/ScalarCheckboxInput';
6
- export { ScalarCheckbox, ScalarCheckboxGroup, ScalarCheckboxInput, ScalarCheckboxRadioGroup, } from './components/ScalarCheckboxInput';
7
- export { ScalarCodeBlock, ScalarCodeBlockCopy } from './components/ScalarCodeBlock';
8
- export { ScalarColorModeToggle, ScalarColorModeToggleButton, ScalarColorModeToggleIcon, } from './components/ScalarColorModeToggle';
9
- export type { ScalarComboboxFilterFunction, ScalarComboboxOption, ScalarComboboxOptionGroup, ScalarComboboxOptionsOrGroups, } from './components/ScalarCombobox';
10
- export { ScalarCombobox, ScalarComboboxMultiselect, isScalarComboboxGroups } from './components/ScalarCombobox';
11
- export { ScalarCopy, ScalarCopyBackdrop, ScalarCopyButton } from './components/ScalarCopy';
12
- export { ScalarDropdown, ScalarDropdownButton, ScalarDropdownDivider, ScalarDropdownItem, ScalarDropdownMenu, } from './components/ScalarDropdown';
13
- export { ScalarErrorBoundary } from './components/ScalarErrorBoundary';
14
- export { ScalarFileUpload, ScalarFileUploadDropTarget, ScalarFileUploadError, ScalarFileUploadFileList, ScalarFileUploadInput, ScalarFileUploadInputCompact, ScalarFileUploadLoading, } from './components/ScalarFileUpload';
15
- export type { ScalarFloatingOptions } from './components/ScalarFloating';
16
- export { ScalarFloating, ScalarFloatingBackdrop } from './components/ScalarFloating';
17
- export { ScalarForm, ScalarFormError, ScalarFormField, ScalarFormInput, ScalarFormInputGroup, ScalarFormSection, } from './components/ScalarForm';
18
- export { ScalarHeader, ScalarHeaderButton } from './components/ScalarHeader';
19
- export type { ScalarHotkeyModifier } from './components/ScalarHotkey';
20
- export { ScalarHotkey, formatHotkeySymbols } from './components/ScalarHotkey';
21
- export type { Icon } from './components/ScalarIcon';
22
- export { ScalarIcon, ScalarIconLegacyAdapter } from './components/ScalarIcon';
23
- export { ScalarIconButton } from './components/ScalarIconButton';
24
- export type { ScalarListboxOption } from './components/ScalarListbox';
25
- export { ScalarListbox, ScalarListboxCheckbox, ScalarListboxInput, ScalarListboxItem } from './components/ScalarListbox';
26
- export type { LoadingState } from './components/ScalarLoading';
27
- export { ScalarLoading, useLoadingState } from './components/ScalarLoading';
28
- export { ScalarMarkdown, ScalarMarkdownSummary } from './components/ScalarMarkdown';
29
- export type { ScalarMenuTeamOption, WorkspaceGroup } from './components/ScalarMenu';
30
- export { ScalarMenu, ScalarMenuButton, ScalarMenuLink, ScalarMenuProduct, ScalarMenuProducts, ScalarMenuResources, ScalarMenuSection, ScalarMenuSupport, ScalarMenuTeamPicker, ScalarMenuTeamProfile, ScalarMenuWorkspacePicker, } from './components/ScalarMenu';
31
- export type { ModalState } from './components/ScalarModal';
32
- export { ScalarModal, useModal } from './components/ScalarModal';
33
- export type { ScalarPopoverSlots } from './components/ScalarPopover';
34
- export { ScalarPopover } from './components/ScalarPopover';
35
- export { ScalarSavePrompt } from './components/ScalarSavePrompt';
36
- export { ScalarSearchInput } from './components/ScalarSearchInput';
37
- export { ScalarSearchResultItem, ScalarSearchResultList } from './components/ScalarSearchResults';
38
- export { ScalarSidebar, ScalarSidebarButton, ScalarSidebarFooter, ScalarSidebarGroup, ScalarSidebarGroupToggle, ScalarSidebarIndent, ScalarSidebarItem, ScalarSidebarItems, ScalarSidebarNestedItems, ScalarSidebarSearchButton, ScalarSidebarSearchInput, ScalarSidebarSection, ScalarSidebarSpacer, } from './components/ScalarSidebar';
39
- export { ScalarTeleport, ScalarTeleportRoot, TELEPORT_SYMBOL, useProvideTeleport, useTeleport, } from './components/ScalarTeleport';
40
- export { ScalarTextArea } from './components/ScalarTextArea';
41
- export { ScalarTextInput, ScalarTextInputCopy } from './components/ScalarTextInput';
42
- export { ScalarThemeSwatches, useThemeSwatches } from './components/ScalarThemeSwatches';
43
- export { ScalarToggle, ScalarToggleGroup, ScalarToggleInput } from './components/ScalarToggle';
44
- export type { ScalarTooltipPlacement, TooltipConfiguration } from './components/ScalarTooltip';
45
- export { ScalarHotkeyTooltip, ScalarTooltip, useTooltip } from './components/ScalarTooltip';
46
- export { ScalarVirtualText } from './components/ScalarVirtualText';
47
- export { ScalarWrappingText } from './components/ScalarWrappingText';
48
- export { addScalarClassesToHeadless } from './helpers';
2
+ export type { ScalarButtonSize, ScalarButtonVariant } from './components/ScalarButton/index.js';
3
+ export { ScalarButton } from './components/ScalarButton/index.js';
4
+ export { ScalarCard, ScalarCardFooter, ScalarCardHeader, ScalarCardSection } from './components/ScalarCard/index.js';
5
+ export type { ScalarCheckboxOption, ScalarCheckboxType } from './components/ScalarCheckboxInput/index.js';
6
+ export { ScalarCheckbox, ScalarCheckboxGroup, ScalarCheckboxInput, ScalarCheckboxRadioGroup, } from './components/ScalarCheckboxInput/index.js';
7
+ export { ScalarCodeBlock, ScalarCodeBlockCopy } from './components/ScalarCodeBlock/index.js';
8
+ export { ScalarColorModeToggle, ScalarColorModeToggleButton, ScalarColorModeToggleIcon, } from './components/ScalarColorModeToggle/index.js';
9
+ export type { ScalarComboboxFilterFunction, ScalarComboboxOption, ScalarComboboxOptionGroup, ScalarComboboxOptionsOrGroups, } from './components/ScalarCombobox/index.js';
10
+ export { ScalarCombobox, ScalarComboboxMultiselect, isScalarComboboxGroups } from './components/ScalarCombobox/index.js';
11
+ export { ScalarCopy, ScalarCopyBackdrop, ScalarCopyButton } from './components/ScalarCopy/index.js';
12
+ export { ScalarDropdown, ScalarDropdownButton, ScalarDropdownDivider, ScalarDropdownItem, ScalarDropdownMenu, } from './components/ScalarDropdown/index.js';
13
+ export { ScalarErrorBoundary } from './components/ScalarErrorBoundary/index.js';
14
+ export { ScalarFileUpload, ScalarFileUploadDropTarget, ScalarFileUploadError, ScalarFileUploadFileList, ScalarFileUploadInput, ScalarFileUploadInputCompact, ScalarFileUploadLoading, } from './components/ScalarFileUpload/index.js';
15
+ export type { ScalarFloatingOptions } from './components/ScalarFloating/index.js';
16
+ export { ScalarFloating, ScalarFloatingBackdrop } from './components/ScalarFloating/index.js';
17
+ export { ScalarForm, ScalarFormError, ScalarFormField, ScalarFormInput, ScalarFormInputGroup, ScalarFormSection, } from './components/ScalarForm/index.js';
18
+ export { ScalarHeader, ScalarHeaderButton } from './components/ScalarHeader/index.js';
19
+ export type { ScalarHotkeyModifier } from './components/ScalarHotkey/index.js';
20
+ export { ScalarHotkey, formatHotkeySymbols } from './components/ScalarHotkey/index.js';
21
+ export type { Icon } from './components/ScalarIcon/index.js';
22
+ export { ScalarIcon, ScalarIconLegacyAdapter } from './components/ScalarIcon/index.js';
23
+ export { ScalarIconButton } from './components/ScalarIconButton/index.js';
24
+ export type { ScalarListboxOption } from './components/ScalarListbox/index.js';
25
+ export { ScalarListbox, ScalarListboxCheckbox, ScalarListboxInput, ScalarListboxItem } from './components/ScalarListbox/index.js';
26
+ export type { LoadingState } from './components/ScalarLoading/index.js';
27
+ export { ScalarLoading, useLoadingState } from './components/ScalarLoading/index.js';
28
+ export { ScalarMarkdown, ScalarMarkdownSummary } from './components/ScalarMarkdown/index.js';
29
+ export type { ScalarMenuTeamOption, WorkspaceGroup } from './components/ScalarMenu/index.js';
30
+ export { ScalarMenu, ScalarMenuButton, ScalarMenuLink, ScalarMenuProduct, ScalarMenuProducts, ScalarMenuResources, ScalarMenuSection, ScalarMenuSupport, ScalarMenuTeamPicker, ScalarMenuTeamProfile, ScalarMenuWorkspacePicker, } from './components/ScalarMenu/index.js';
31
+ export type { ModalState } from './components/ScalarModal/index.js';
32
+ export { ScalarModal, useModal } from './components/ScalarModal/index.js';
33
+ export type { ScalarPopoverSlots } from './components/ScalarPopover/index.js';
34
+ export { ScalarPopover } from './components/ScalarPopover/index.js';
35
+ export { ScalarSavePrompt } from './components/ScalarSavePrompt/index.js';
36
+ export { ScalarSearchInput } from './components/ScalarSearchInput/index.js';
37
+ export { ScalarSearchResultItem, ScalarSearchResultList } from './components/ScalarSearchResults/index.js';
38
+ export { ScalarSidebar, ScalarSidebarButton, ScalarSidebarFooter, ScalarSidebarGroup, ScalarSidebarGroupToggle, ScalarSidebarIndent, ScalarSidebarItem, ScalarSidebarItems, ScalarSidebarNestedItems, ScalarSidebarSearchButton, ScalarSidebarSearchInput, ScalarSidebarSection, ScalarSidebarSpacer, } from './components/ScalarSidebar/index.js';
39
+ export { ScalarTeleport, ScalarTeleportRoot, TELEPORT_SYMBOL, useProvideTeleport, useTeleport, } from './components/ScalarTeleport/index.js';
40
+ export { ScalarTextArea } from './components/ScalarTextArea/index.js';
41
+ export { ScalarTextInput, ScalarTextInputCopy } from './components/ScalarTextInput/index.js';
42
+ export { ScalarThemeSwatches, useThemeSwatches } from './components/ScalarThemeSwatches/index.js';
43
+ export { ScalarToggle, ScalarToggleGroup, ScalarToggleInput } from './components/ScalarToggle/index.js';
44
+ export type { ScalarTooltipPlacement, TooltipConfiguration } from './components/ScalarTooltip/index.js';
45
+ export { ScalarHotkeyTooltip, ScalarTooltip, useTooltip } from './components/ScalarTooltip/index.js';
46
+ export { ScalarVirtualText } from './components/ScalarVirtualText/index.js';
47
+ export { ScalarWrappingText } from './components/ScalarWrappingText/index.js';
48
+ export { addScalarClassesToHeadless } from './helpers/index.js';
49
49
  //# sourceMappingURL=index.d.ts.map
package/dist/style.css CHANGED
@@ -164,7 +164,7 @@
164
164
  --scalar-scrollbar-color: #0000002e;
165
165
  --scalar-button-1: #000;
166
166
  --scalar-button-1-hover: #000c;
167
- --scalar-button-1-color: #ffffffe6;
167
+ --scalar-button-1-color: #fff;
168
168
  --scalar-shadow-1: 0 1px 3px 0 #0000001c;
169
169
  --scalar-shadow-2: #00000014 0px 13px 20px 0px, #00000014 0px 3px 8px 0px, #eeeeed 0px 0 0 .5px;
170
170
  --scalar-lifted-brightness: 1;
@@ -258,7 +258,7 @@
258
258
  --scalar-link-color-hover: var(--scalar-link-color);
259
259
  --scalar-button-1: #000;
260
260
  --scalar-button-1-hover: #000c;
261
- --scalar-button-1-color: #ffffffe6;
261
+ --scalar-button-1-color: #fff;
262
262
  --scalar-tooltip-background: #1a1a1ae6;
263
263
  --scalar-tooltip-color: #ffffffd9;
264
264
  --scalar-color-alert: var(--scalar-color-orange);
@@ -3596,6 +3596,9 @@ to {
3596
3596
  .hljs.language-objectivec .hljs-built_in, .hljs-built_in {
3597
3597
  color: var(--scalar-color-orange);
3598
3598
  }
3599
+ .scalar-code-block pre {
3600
+ font-variant-ligatures: none;
3601
+ }
3599
3602
  .scalar-code-block.bg-b-1 .scalar-code-copy-backdrop {
3600
3603
  background-color: var(--scalar-background-1);
3601
3604
  }
@@ -198,6 +198,9 @@ to {
198
198
  .hljs.language-objectivec .hljs-built_in, .hljs-built_in {
199
199
  color: var(--scalar-color-orange);
200
200
  }
201
+ .scalar-code-block pre {
202
+ font-variant-ligatures: none;
203
+ }
201
204
  .scalar-code-block.bg-b-1 .scalar-code-copy-backdrop {
202
205
  background-color: var(--scalar-background-1);
203
206
  }
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.25.0",
13
+ "version": "0.26.1",
14
14
  "engines": {
15
15
  "node": ">=22"
16
16
  },
@@ -24,6 +24,181 @@
24
24
  "types": "./dist/index.d.ts",
25
25
  "default": "./dist/index.js"
26
26
  },
27
+ "./button": {
28
+ "types": "./dist/components/ScalarButton/index.d.ts",
29
+ "import": "./dist/components/ScalarButton/index.js",
30
+ "default": "./dist/components/ScalarButton/index.js"
31
+ },
32
+ "./card": {
33
+ "types": "./dist/components/ScalarCard/index.d.ts",
34
+ "import": "./dist/components/ScalarCard/index.js",
35
+ "default": "./dist/components/ScalarCard/index.js"
36
+ },
37
+ "./checkbox-input": {
38
+ "types": "./dist/components/ScalarCheckboxInput/index.d.ts",
39
+ "import": "./dist/components/ScalarCheckboxInput/index.js",
40
+ "default": "./dist/components/ScalarCheckboxInput/index.js"
41
+ },
42
+ "./code-block": {
43
+ "types": "./dist/components/ScalarCodeBlock/index.d.ts",
44
+ "import": "./dist/components/ScalarCodeBlock/index.js",
45
+ "default": "./dist/components/ScalarCodeBlock/index.js"
46
+ },
47
+ "./color-mode-toggle": {
48
+ "types": "./dist/components/ScalarColorModeToggle/index.d.ts",
49
+ "import": "./dist/components/ScalarColorModeToggle/index.js",
50
+ "default": "./dist/components/ScalarColorModeToggle/index.js"
51
+ },
52
+ "./combobox": {
53
+ "types": "./dist/components/ScalarCombobox/index.d.ts",
54
+ "import": "./dist/components/ScalarCombobox/index.js",
55
+ "default": "./dist/components/ScalarCombobox/index.js"
56
+ },
57
+ "./copy": {
58
+ "types": "./dist/components/ScalarCopy/index.d.ts",
59
+ "import": "./dist/components/ScalarCopy/index.js",
60
+ "default": "./dist/components/ScalarCopy/index.js"
61
+ },
62
+ "./dropdown": {
63
+ "types": "./dist/components/ScalarDropdown/index.d.ts",
64
+ "import": "./dist/components/ScalarDropdown/index.js",
65
+ "default": "./dist/components/ScalarDropdown/index.js"
66
+ },
67
+ "./error-boundary": {
68
+ "types": "./dist/components/ScalarErrorBoundary/index.d.ts",
69
+ "import": "./dist/components/ScalarErrorBoundary/index.js",
70
+ "default": "./dist/components/ScalarErrorBoundary/index.js"
71
+ },
72
+ "./file-upload": {
73
+ "types": "./dist/components/ScalarFileUpload/index.d.ts",
74
+ "import": "./dist/components/ScalarFileUpload/index.js",
75
+ "default": "./dist/components/ScalarFileUpload/index.js"
76
+ },
77
+ "./floating": {
78
+ "types": "./dist/components/ScalarFloating/index.d.ts",
79
+ "import": "./dist/components/ScalarFloating/index.js",
80
+ "default": "./dist/components/ScalarFloating/index.js"
81
+ },
82
+ "./form": {
83
+ "types": "./dist/components/ScalarForm/index.d.ts",
84
+ "import": "./dist/components/ScalarForm/index.js",
85
+ "default": "./dist/components/ScalarForm/index.js"
86
+ },
87
+ "./helpers": {
88
+ "types": "./dist/helpers/index.d.ts",
89
+ "import": "./dist/helpers/index.js",
90
+ "default": "./dist/helpers/index.js"
91
+ },
92
+ "./header": {
93
+ "types": "./dist/components/ScalarHeader/index.d.ts",
94
+ "import": "./dist/components/ScalarHeader/index.js",
95
+ "default": "./dist/components/ScalarHeader/index.js"
96
+ },
97
+ "./hotkey": {
98
+ "types": "./dist/components/ScalarHotkey/index.d.ts",
99
+ "import": "./dist/components/ScalarHotkey/index.js",
100
+ "default": "./dist/components/ScalarHotkey/index.js"
101
+ },
102
+ "./icon": {
103
+ "types": "./dist/components/ScalarIcon/index.d.ts",
104
+ "import": "./dist/components/ScalarIcon/index.js",
105
+ "default": "./dist/components/ScalarIcon/index.js"
106
+ },
107
+ "./icon-button": {
108
+ "types": "./dist/components/ScalarIconButton/index.d.ts",
109
+ "import": "./dist/components/ScalarIconButton/index.js",
110
+ "default": "./dist/components/ScalarIconButton/index.js"
111
+ },
112
+ "./listbox": {
113
+ "types": "./dist/components/ScalarListbox/index.d.ts",
114
+ "import": "./dist/components/ScalarListbox/index.js",
115
+ "default": "./dist/components/ScalarListbox/index.js"
116
+ },
117
+ "./loading": {
118
+ "types": "./dist/components/ScalarLoading/index.d.ts",
119
+ "import": "./dist/components/ScalarLoading/index.js",
120
+ "default": "./dist/components/ScalarLoading/index.js"
121
+ },
122
+ "./markdown": {
123
+ "types": "./dist/components/ScalarMarkdown/index.d.ts",
124
+ "import": "./dist/components/ScalarMarkdown/index.js",
125
+ "default": "./dist/components/ScalarMarkdown/index.js"
126
+ },
127
+ "./menu": {
128
+ "types": "./dist/components/ScalarMenu/index.d.ts",
129
+ "import": "./dist/components/ScalarMenu/index.js",
130
+ "default": "./dist/components/ScalarMenu/index.js"
131
+ },
132
+ "./modal": {
133
+ "types": "./dist/components/ScalarModal/index.d.ts",
134
+ "import": "./dist/components/ScalarModal/index.js",
135
+ "default": "./dist/components/ScalarModal/index.js"
136
+ },
137
+ "./popover": {
138
+ "types": "./dist/components/ScalarPopover/index.d.ts",
139
+ "import": "./dist/components/ScalarPopover/index.js",
140
+ "default": "./dist/components/ScalarPopover/index.js"
141
+ },
142
+ "./save-prompt": {
143
+ "types": "./dist/components/ScalarSavePrompt/index.d.ts",
144
+ "import": "./dist/components/ScalarSavePrompt/index.js",
145
+ "default": "./dist/components/ScalarSavePrompt/index.js"
146
+ },
147
+ "./search-input": {
148
+ "types": "./dist/components/ScalarSearchInput/index.d.ts",
149
+ "import": "./dist/components/ScalarSearchInput/index.js",
150
+ "default": "./dist/components/ScalarSearchInput/index.js"
151
+ },
152
+ "./search-results": {
153
+ "types": "./dist/components/ScalarSearchResults/index.d.ts",
154
+ "import": "./dist/components/ScalarSearchResults/index.js",
155
+ "default": "./dist/components/ScalarSearchResults/index.js"
156
+ },
157
+ "./sidebar": {
158
+ "types": "./dist/components/ScalarSidebar/index.d.ts",
159
+ "import": "./dist/components/ScalarSidebar/index.js",
160
+ "default": "./dist/components/ScalarSidebar/index.js"
161
+ },
162
+ "./teleport": {
163
+ "types": "./dist/components/ScalarTeleport/index.d.ts",
164
+ "import": "./dist/components/ScalarTeleport/index.js",
165
+ "default": "./dist/components/ScalarTeleport/index.js"
166
+ },
167
+ "./text-area": {
168
+ "types": "./dist/components/ScalarTextArea/index.d.ts",
169
+ "import": "./dist/components/ScalarTextArea/index.js",
170
+ "default": "./dist/components/ScalarTextArea/index.js"
171
+ },
172
+ "./text-input": {
173
+ "types": "./dist/components/ScalarTextInput/index.d.ts",
174
+ "import": "./dist/components/ScalarTextInput/index.js",
175
+ "default": "./dist/components/ScalarTextInput/index.js"
176
+ },
177
+ "./theme-swatches": {
178
+ "types": "./dist/components/ScalarThemeSwatches/index.d.ts",
179
+ "import": "./dist/components/ScalarThemeSwatches/index.js",
180
+ "default": "./dist/components/ScalarThemeSwatches/index.js"
181
+ },
182
+ "./toggle": {
183
+ "types": "./dist/components/ScalarToggle/index.d.ts",
184
+ "import": "./dist/components/ScalarToggle/index.js",
185
+ "default": "./dist/components/ScalarToggle/index.js"
186
+ },
187
+ "./tooltip": {
188
+ "types": "./dist/components/ScalarTooltip/index.d.ts",
189
+ "import": "./dist/components/ScalarTooltip/index.js",
190
+ "default": "./dist/components/ScalarTooltip/index.js"
191
+ },
192
+ "./virtual-text": {
193
+ "types": "./dist/components/ScalarVirtualText/index.d.ts",
194
+ "import": "./dist/components/ScalarVirtualText/index.js",
195
+ "default": "./dist/components/ScalarVirtualText/index.js"
196
+ },
197
+ "./wrapping-text": {
198
+ "types": "./dist/components/ScalarWrappingText/index.d.ts",
199
+ "import": "./dist/components/ScalarWrappingText/index.js",
200
+ "default": "./dist/components/ScalarWrappingText/index.js"
201
+ },
27
202
  "./style.css": "./dist/style.css",
28
203
  "./tailwind.config.css": "./dist/styles/tailwind.config.css",
29
204
  "./vue-styles.css": "./dist/vue-styles.css"
@@ -43,10 +218,10 @@
43
218
  "vue": "^3.5.30",
44
219
  "vue-component-type-helpers": "^3.2.6",
45
220
  "@scalar/code-highlight": "0.3.4",
46
- "@scalar/helpers": "0.8.0",
47
- "@scalar/themes": "0.15.5",
48
- "@scalar/icons": "0.7.2",
49
- "@scalar/use-hooks": "0.4.5"
221
+ "@scalar/helpers": "0.8.1",
222
+ "@scalar/icons": "0.7.3",
223
+ "@scalar/themes": "0.15.6",
224
+ "@scalar/use-hooks": "0.4.6"
50
225
  },
51
226
  "devDependencies": {
52
227
  "@playwright/test": "1.59.1",
@@ -72,7 +247,7 @@
72
247
  "scripts": {
73
248
  "build": "pnpm typegen:icons && vite build && pnpm build:styles && vue-tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
74
249
  "build:storybook": "storybook build",
75
- "build:styles": "cp -r src/styles dist && tailwindcss --optimize -i src/style.css -o dist/style.css && cat dist/vue-styles.css >> dist/style.css",
250
+ "build:styles": "shx cp -r src/styles dist && tailwindcss --optimize -i src/style.css -o dist/style.css && cat dist/vue-styles.css >> dist/style.css",
76
251
  "build:watch": "concurrently \"vite build --watch\" \"vue-tsc --watch -p tsconfig.build.json\" \"tsc-alias -p tsconfig.build.json --watch\"",
77
252
  "clean:snapshots": "shx rm -rf \"**/snapshots\"",
78
253
  "dev": "storybook dev -p 5100 --ci",