From 0d5d939e227ef39c817edbea9b91f73fff8fc9ec Mon Sep 17 00:00:00 2001 From: Thomas Draier Date: Tue, 3 Sep 2024 14:43:54 +0200 Subject: [PATCH] [sparkle] internal: refactor packaging, compile tsc & tailwind - take2 (#6090) --- sparkle/.eslintrc.js | 2 + sparkle/build_icons.sh | 14 +- sparkle/package-lock.json | 152 ++++ sparkle/package.json | 14 +- sparkle/rollup.config.mjs | 21 +- sparkle/src/_index.ts | 784 ------------------ sparkle/src/components/AssistantPreview.tsx | 4 +- sparkle/src/components/Avatar.tsx | 4 +- sparkle/src/components/Banner.tsx | 3 +- sparkle/src/components/BarHeader.tsx | 16 +- sparkle/src/components/Breadcrumbs.tsx | 13 +- sparkle/src/components/Button.tsx | 6 +- sparkle/src/components/Checkbox.tsx | 4 +- sparkle/src/components/Citation.tsx | 55 +- sparkle/src/components/Collapsible.tsx | 4 +- sparkle/src/components/ContentMessage.tsx | 4 +- sparkle/src/components/DataTable.tsx | 15 +- sparkle/src/components/Dialog.tsx | 3 +- sparkle/src/components/DropdownMenu.tsx | 12 +- sparkle/src/components/DropzoneOverlay.tsx | 3 +- sparkle/src/components/Item.tsx | 4 +- sparkle/src/components/Markdown.tsx | 3 +- sparkle/src/components/Notification.tsx | 8 +- .../src/components/PaginatedCitationsGrid.tsx | 3 +- sparkle/src/components/Pagination.tsx | 6 +- sparkle/src/components/Popup.tsx | 6 +- sparkle/src/components/PriceTable.tsx | 8 +- sparkle/src/components/Searchbar.tsx | 2 +- sparkle/src/components/Tab.tsx | 2 +- sparkle/src/components/Tree.tsx | 3 +- .../ZoomableImageCitationWrapper.tsx | 7 +- sparkle/src/components/index.ts | 48 ++ sparkle/src/icons/index.ts | 2 + sparkle/src/icons/solid/index.ts | 260 +++--- sparkle/src/icons/stroke/index.ts | 260 +++--- sparkle/src/index.ts | 7 +- sparkle/src/index_with_tw_base.ts | 2 +- sparkle/src/lib/index.ts | 1 + sparkle/src/logo/dust/index.ts | 20 +- sparkle/src/logo/index.ts | 3 + sparkle/src/logo/platforms/Zendesk.tsx | 16 +- sparkle/src/logo/platforms/index.ts | 68 +- sparkle/src/stories/Banner.stories.tsx | 2 +- sparkle/src/stories/BarHeader.stories.tsx | 14 +- sparkle/src/stories/ContextItem.stories.tsx | 15 +- sparkle/src/stories/Hover3D.stories.tsx | 6 +- sparkle/src/stories/IconSet.stories.tsx | 4 +- sparkle/src/stories/Logo.stories.tsx | 40 +- sparkle/src/stories/Page.stories.tsx | 10 +- .../src/stories/PlatformIconSet.stories.tsx | 2 +- sparkle/src/stories/Tree.stories.tsx | 10 +- sparkle/svgr-icon-template.js | 13 + sparkle/svgr-logo-template.js | 13 + sparkle/svgr-stroke-template.js | 13 + sparkle/svgr.config.js | 2 +- sparkle/tsconfig.json | 20 +- 56 files changed, 753 insertions(+), 1283 deletions(-) delete mode 100644 sparkle/src/_index.ts create mode 100644 sparkle/src/components/index.ts create mode 100644 sparkle/src/icons/index.ts create mode 100644 sparkle/src/lib/index.ts create mode 100644 sparkle/src/logo/index.ts create mode 100644 sparkle/svgr-icon-template.js create mode 100644 sparkle/svgr-logo-template.js create mode 100644 sparkle/svgr-stroke-template.js diff --git a/sparkle/.eslintrc.js b/sparkle/.eslintrc.js index 9b6f8a864e3c..2327f50a4213 100644 --- a/sparkle/.eslintrc.js +++ b/sparkle/.eslintrc.js @@ -9,11 +9,13 @@ module.exports = { ignorePatterns: [ "rollup.config.js", "eslint.js", + ".eslintrc.js", "dist/", "node_modules/", "svgr.config.js", "postcss.config.js", "tailwind.config.js", + "svgr-*-template.js", ], rules: { curly: ["error", "all"], diff --git a/sparkle/build_icons.sh b/sparkle/build_icons.sh index 5000263084f9..b72d714344b8 100755 --- a/sparkle/build_icons.sh +++ b/sparkle/build_icons.sh @@ -5,10 +5,16 @@ rm -rf src/icons/solid rm -rf src/logo/platforms rm -rf src/logo/dust -npx @svgr/cli --out-dir src/icons/stroke/ src/icons/src/stroke/ -npx @svgr/cli --out-dir src/icons/solid/ src/icons/src/solid/ -npx @svgr/cli --out-dir src/logo/platforms/ src/logo/src/platforms/ -npx @svgr/cli --out-dir src/logo/dust/ src/logo/src/dust/ +npx @svgr/cli --no-prettier --index-template svgr-stroke-template.js --out-dir src/icons/stroke/ src/icons/src/stroke/ +npx @svgr/cli --no-prettier --index-template svgr-icon-template.js --out-dir src/icons/solid/ src/icons/src/solid/ +npx @svgr/cli --no-prettier --index-template svgr-logo-template.js --out-dir src/logo/platforms/ src/logo/src/platforms/ +npx @svgr/cli --no-prettier --index-template svgr-logo-template.js --out-dir src/logo/dust/ src/logo/src/dust/ + +# Prettify and lint - prettier 3 is not working with svgr, so we need to run it separately +npx prettier --write src/icons/stroke +npx prettier --write src/icons/solid +npx prettier --write src/logo/platforms +npx prettier --write src/logo/dust npx eslint --fix src/icons/stroke npx eslint --fix src/icons/solid diff --git a/sparkle/package-lock.json b/sparkle/package-lock.json index befbdf2d163f..982a9c1ba6e4 100644 --- a/sparkle/package-lock.json +++ b/sparkle/package-lock.json @@ -50,6 +50,7 @@ "autoprefixer": "^10.4.14", "babel-loader": "^9.1.3", "babel-preset-react-app": "^10.0.1", + "copyfiles": "^2.4.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-simple-import-sort": "^12.1.0", @@ -65,7 +66,9 @@ "sass-loader": "^13.3.2", "storybook": "^7.4.6", "tailwindcss": "^3.2.4", + "tsc-alias": "^1.8.10", "typescript": "^5.4.5", + "typescript-transform-paths": "^3.4.7", "uuid": "^9.0.1" }, "peerDependencies": { @@ -14532,6 +14535,58 @@ "url": "https://github.com/sponsors/mesqueeb" } }, + "node_modules/copyfiles": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", + "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", + "dev": true, + "dependencies": { + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^1.0.4", + "noms": "0.0.0", + "through2": "^2.0.1", + "untildify": "^4.0.0", + "yargs": "^16.1.0" + }, + "bin": { + "copyfiles": "copyfiles", + "copyup": "copyfiles" + } + }, + "node_modules/copyfiles/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/copyfiles/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/core-js-compat": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", @@ -22154,6 +22209,19 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/mylas": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/mylas/-/mylas-2.1.13.tgz", + "integrity": "sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/raouldeheer" + } + }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -22313,6 +22381,40 @@ "integrity": "sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==", "dev": true }, + "node_modules/noms": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", + "integrity": "sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" + } + }, + "node_modules/noms/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/noms/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/noms/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -23112,6 +23214,18 @@ "pathe": "^1.1.2" } }, + "node_modules/plimit-lit": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/plimit-lit/-/plimit-lit-1.6.1.tgz", + "integrity": "sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==", + "dev": true, + "dependencies": { + "queue-lit": "^1.5.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/polished": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz", @@ -24236,6 +24350,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue-lit": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/queue-lit/-/queue-lit-1.5.2.tgz", + "integrity": "sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -27326,6 +27449,23 @@ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "dev": true }, + "node_modules/tsc-alias": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/tsc-alias/-/tsc-alias-1.8.10.tgz", + "integrity": "sha512-Ibv4KAWfFkFdKJxnWfVtdOmB0Zi1RJVxcbPGiCDsFpCQSsmpWyuzHG3rQyI5YkobWwxFPEyQfu1hdo4qLG2zPw==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.3", + "commander": "^9.0.0", + "globby": "^11.0.4", + "mylas": "^2.1.9", + "normalize-path": "^3.0.0", + "plimit-lit": "^1.2.6" + }, + "bin": { + "tsc-alias": "dist/bin/index.js" + } + }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -27503,6 +27643,18 @@ "node": ">=14.17" } }, + "node_modules/typescript-transform-paths": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/typescript-transform-paths/-/typescript-transform-paths-3.4.10.tgz", + "integrity": "sha512-OPBjXDnwX/B4JzewvRAzEzcNK+hQn/JonCfUN93VARsFQcj/wk//4RJ3FPp/SgzsT1s1EJJhOass5grxy8Y2yA==", + "dev": true, + "dependencies": { + "minimatch": "^3.1.2" + }, + "peerDependencies": { + "typescript": ">=3.6.5" + } + }, "node_modules/ufo": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", diff --git a/sparkle/package.json b/sparkle/package.json index ab4804ba28c1..2302331eeba7 100644 --- a/sparkle/package.json +++ b/sparkle/package.json @@ -1,9 +1,12 @@ { "name": "@dust-tt/sparkle", - "version": "0.2.219", + "version": "0.2.220", "scripts": { - "build": "rm -rf dist && rollup -c", - "build:with-tw-base": "rollup -c --environment INCLUDE_TW_BASE:true", + "build": "rm -rf dist && npm run tailwind && npm run build:esm && npm run build:cjs", + "tailwind": "tailwindcss -i ./src/styles/tailwind.css -o dist/sparkle.css", + "build:esm": "npm run copy:esm && tsc && tsc-alias", + "copy:esm": "copyfiles -u 1 src/**/*.css src/**/*.svg src/**/*.png src/**/*.json dist/esm", + "build:cjs": "rollup -c", "storybook": "storybook dev -p 6006 --debug-webpack", "build-storybook": "storybook build", "format:check": "prettier --check .", @@ -11,7 +14,7 @@ "lint": "eslint ." }, "main": "dist/cjs/index.js", - "types": "dist/cjs/index.d.ts", + "types": "dist/esm/index.d.ts", "module": "dist/esm/index.js", "files": [ "dist/", @@ -45,6 +48,7 @@ "autoprefixer": "^10.4.14", "babel-loader": "^9.1.3", "babel-preset-react-app": "^10.0.1", + "copyfiles": "^2.4.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-simple-import-sort": "^12.1.0", @@ -60,7 +64,9 @@ "sass-loader": "^13.3.2", "storybook": "^7.4.6", "tailwindcss": "^3.2.4", + "tsc-alias": "^1.8.10", "typescript": "^5.4.5", + "typescript-transform-paths": "^3.4.7", "uuid": "^9.0.1" }, "peerDependencies": { diff --git a/sparkle/rollup.config.mjs b/sparkle/rollup.config.mjs index 7ef5ecfd5a15..db34e063747d 100644 --- a/sparkle/rollup.config.mjs +++ b/sparkle/rollup.config.mjs @@ -1,32 +1,23 @@ +// Rollup configuration for building the library as a cjs bundle. This is used by front workers. import commonjs from "@rollup/plugin-commonjs"; import json from "@rollup/plugin-json"; import resolve from "@rollup/plugin-node-resolve"; -import typescript from "@rollup/plugin-typescript"; import autoprefixer from "autoprefixer"; import fs from "fs"; import path from "path"; +import { rollup } from "rollup"; import external from "rollup-plugin-peer-deps-external"; import postcss from "rollup-plugin-postcss"; import tailwindcss from "tailwindcss"; import { fileURLToPath } from "url"; -let tsPluginOptions = { - tsconfig: "./tsconfig.json", - outputToFilesystem: true, -}; - const __dirname = path.dirname(fileURLToPath(import.meta.url)); const pkg = JSON.parse( fs.readFileSync(path.resolve(__dirname, "package.json"), "utf-8") ); -let entryFile = "src/index.ts"; -tsPluginOptions.exclude = "src/index_with_tw_base.ts"; -if (process.env.INCLUDE_TW_BASE) { - entryFile = "src/index_with_tw_base.ts"; - tsPluginOptions.exclude = "src/index.ts"; -} +let entryFile = "dist/esm/index.js"; const config = { input: entryFile, @@ -37,17 +28,11 @@ const config = { sourcemap: true, name: "react-lib", }, - { - file: pkg.module, - format: "esm", - sourcemap: true, - }, ], plugins: [ external(), resolve(), commonjs(), - typescript(tsPluginOptions), postcss({ plugins: [ tailwindcss({ diff --git a/sparkle/src/_index.ts b/sparkle/src/_index.ts deleted file mode 100644 index 493c70f9b8ab..000000000000 --- a/sparkle/src/_index.ts +++ /dev/null @@ -1,784 +0,0 @@ -import { SparkleContext } from "./context"; -export { SparkleContext }; - -import * as avatarUtils from "./lib/avatar/utils"; -export { avatarUtils }; - -import { Div3D, Hover3D } from "./components/Hover3D"; -export { Div3D, Hover3D }; - -import { Hoverable } from "./components/Hoverable"; -export { Hoverable }; - -import { Button } from "./components/Button"; -export { Button }; - -import { CardButton } from "./components/CardButton"; -export { CardButton }; - -import { EmojiPicker } from "./components/EmojiPicker"; -export { EmojiPicker }; - -import { SliderToggle } from "./components/SliderToggle"; -export { SliderToggle }; - -import { Collapsible } from "./components/Collapsible"; -export { Collapsible }; - -import { Tab } from "./components/Tab"; -export { Tab }; - -import { Item } from "./components/Item"; -export { Item }; - -import { ContextItem } from "./components/ContextItem"; -export { ContextItem }; - -import { AssistantPreview } from "./components/AssistantPreview"; -export { AssistantPreview }; - -import { Banner } from "./components/Banner"; -export { Banner }; - -import { PaginatedCitationsGrid } from "./components/PaginatedCitationsGrid"; -export { PaginatedCitationsGrid }; - -import { Notification } from "./components/Notification"; -export { Notification }; - -import { Chip } from "./components/Chip"; -export { Chip }; - -import { Citation } from "./components/Citation"; -export { Citation }; - -import { ZoomableImageCitationWrapper } from "./components/ZoomableImageCitationWrapper"; -export { ZoomableImageCitationWrapper }; - -import { DropdownMenu } from "./components/DropdownMenu"; -export { DropdownMenu }; - -import { Page } from "./components/Page"; -export { Page }; - -import { Pagination } from "./components/Pagination"; -export { Pagination }; - -import { BarHeader } from "./components/BarHeader"; -export { BarHeader }; - -import { PriceTable } from "./components/PriceTable"; -export { PriceTable }; - -import { Icon } from "./components/Icon"; -export { Icon }; - -import { Logo } from "./logo/Logo"; -export { Logo }; - -import { Checkbox } from "./components/Checkbox"; -export { Checkbox }; - -import { IconButton } from "./components/IconButton"; -export { IconButton }; - -import { Tree } from "./components/Tree"; -export { Tree }; - -import { IconToggleButton } from "./components/IconToggleButton"; -export { IconToggleButton }; - -import { Tooltip } from "./components/Tooltip"; -export { Tooltip }; - -import { ContentMessage } from "./components/ContentMessage"; -export { ContentMessage }; - -import { ColorPicker } from "./components/ColorPicker"; -export { ColorPicker }; - -import { Avatar } from "./components/Avatar"; -export { Avatar }; - -import Spinner from "./components/Spinner"; -export { Spinner }; - -import DropzoneOverlay from "./components/DropzoneOverlay"; -export { DropzoneOverlay }; - -import CollapseButton from "./components/CollapseButton"; -export { CollapseButton }; - -import { Modal } from "./components/Modal"; -export { Modal }; - -import ConfettiBackground from "./components/ConfettiBackground"; -export { ConfettiBackground }; - -import { ElementModal } from "./components/ElementModal"; -export { ElementModal }; - -import { Dialog } from "./components/Dialog"; -export { Dialog }; - -import { ElementDialog } from "./components/ElementDialog"; -export { ElementDialog }; - -import { Input } from "./components/Input"; -export { Input }; - -import { Searchbar } from "./components/Searchbar"; -export { Searchbar }; - -import { RadioButton } from "./components/RadioButton"; -export { RadioButton }; - -import { Popup } from "./components/Popup"; -export { Popup }; - -import { FilterChips } from "./components/FilterChips"; -export { FilterChips }; - -import { TextArea } from "./components/TextArea"; -export { TextArea }; - -import { Markdown } from "./components/Markdown"; -export { Markdown }; - -import { DataTable } from "./components/DataTable"; -export { DataTable }; - -import { Breadcrumbs } from "@sparkle/components/Breadcrumbs"; -export { Breadcrumbs }; - -import { - LogoHorizontalColor as LogoHorizontalColorLogo, - LogoHorizontalColorLayer1 as LogoHorizontalColorLogoLayer1, - LogoHorizontalColorLayer2 as LogoHorizontalColorLogoLayer2, - LogoHorizontalDark as LogoHorizontalDarkLogo, - LogoHorizontalWhite as LogoHorizontalWhiteLogo, - LogoSquareColor as LogoSquareColorLogo, - LogoSquareColorLayer1 as LogoSquareColorLogoLayer1, - LogoSquareColorLayer2 as LogoSquareColorLogoLayer2, - LogoSquareDark as LogoSquareDarkLogo, - LogoSquareWhite as LogoSquareWhiteLogo, -} from "./logo/dust"; - -export { - LogoHorizontalColorLogo, - LogoHorizontalColorLogoLayer1, - LogoHorizontalColorLogoLayer2, - LogoHorizontalDarkLogo, - LogoHorizontalWhiteLogo, - LogoSquareColorLogo, - LogoSquareColorLogoLayer1, - LogoSquareColorLogoLayer2, - LogoSquareDarkLogo, - LogoSquareWhiteLogo, -}; - -import { - Ai21 as Ai21Logo, - Anthropic as AnthropicLogo, - AnthropicWhite as AnthropicWhiteLogo, - Claude as ClaudeLogo, - Cohere as CohereLogo, - Confluence as ConfluenceLogo, - Drive as DriveLogo, - Gemini as GeminiLogo, - Github as GithubLogo, - GithubWhite as GithubWhiteLogo, - Gong as GongLogo, - Google as GoogleLogo, - GoogleDoc as GoogleDocLogo, - GooglePdf as GooglePdfLogo, - GoogleSlide as GoogleSlideLogo, - GoogleSpreadsheet as GoogleSpreadsheetLogo, - Gpt3 as Gpt3Logo, - Gpt4 as Gpt4Logo, - HuggingFace as HuggingFaceLogo, - Intercom as IntercomLogo, - Microsoft as MicrosoftLogo, - MicrosoftExcel as MicrosoftExcelLogo, - MicrosoftPowerpoint as MicrosoftPowerpointLogo, - MicrosoftWord as MicrosoftWordLogo, - Mistral as MistralLogo, - Notion as NotionLogo, - Office as OfficeLogo, - Openai as OpenaiLogo, - OpenaiWhite as OpenaiWhiteLogo, - Replicate as ReplicateLogo, - Salesforce as SalesforceLogo, - Slack as SlackLogo, - Zapier as ZapierLogo, - Zendesk as ZendeskLogo, -} from "./logo/platforms"; - -export { - Ai21Logo, - AnthropicLogo, - AnthropicWhiteLogo, - ClaudeLogo, - CohereLogo, - ConfluenceLogo, - DriveLogo, - GeminiLogo, - GithubLogo, - GithubWhiteLogo, - GongLogo, - GoogleDocLogo, - GoogleLogo, - GooglePdfLogo, - GoogleSlideLogo, - GoogleSpreadsheetLogo, - Gpt3Logo, - Gpt4Logo, - HuggingFaceLogo, - IntercomLogo, - MicrosoftExcelLogo, - MicrosoftLogo, - MicrosoftPowerpointLogo, - MicrosoftWordLogo, - MistralLogo, - NotionLogo, - OfficeLogo, - OpenaiLogo, - OpenaiWhiteLogo, - ReplicateLogo, - SalesforceLogo, - SlackLogo, - ZapierLogo, - ZendeskLogo, -}; - -import { - ArrowDown as ArrowDownIcon, - ArrowDownCircle as ArrowDownCircleIcon, - ArrowDownOnSquare as ArrowDownOnSquareIcon, - ArrowDownS as ArrowDownSIcon, - ArrowLeft as ArrowLeftIcon, - ArrowLeftS as ArrowLeftSIcon, - ArrowPath as ArrowPathIcon, - ArrowRight as ArrowRightIcon, - ArrowRightS as ArrowRightSIcon, - ArrowUp as ArrowUpIcon, - ArrowUpOnSquare as ArrowUpOnSquareIcon, - ArrowUpS as ArrowUpSIcon, - Attachment as AttachmentIcon, - Backspace as BackspaceIcon, - Bookmark as BookmarkIcon, - BookOpen as BookOpenIcon, - Braces as BracesIcon, - Card as CardIcon, - ChatBubbleBottomCenterPlus as ChatBubbleBottomCenterPlusIcon, - ChatBubbleBottomCenterText as ChatBubbleBottomCenterTextIcon, - ChatBubbleLeftRight as ChatBubbleLeftRightIcon, - ChatBubbleThought as ChatBubbleThoughtIcon, - Check as CheckIcon, - CheckCircle as CheckCircleIcon, - ChevronDoubleLeft as ChevronDoubleLeftIcon, - ChevronDoubleRight as ChevronDoubleRightIcon, - ChevronDown as ChevronDownIcon, - ChevronLeft as ChevronLeftIcon, - ChevronRight as ChevronRightIcon, - ChevronUp as ChevronUpIcon, - ChevronUpDown as ChevronUpDownIcon, - Circle as CircleIcon, - Clipboard as ClipboardIcon, - ClipboardCheck as ClipboardCheckIcon, - Clock as ClockIcon, - CloudArrowDown as CloudArrowDownIcon, - CloudArrowLeftRight as CloudArrowLeftRightIcon, - CloudArrowUp as CloudArrowUpIcon, - CloudX as CloudXIcon, - Cog6Tooth as Cog6ToothIcon, - Command as CommandIcon, - CommandLine as CommandLineIcon, - Company as CompanyIcon, - Cube as CubeIcon, - Dash as DashIcon, - Document as DocumentIcon, - DocumentDuplicate as DocumentDuplicateIcon, - DocumentPile as DocumentPileIcon, - DocumentPlus as DocumentPlusIcon, - DocumentText as DocumentTextIcon, - Dust as DustIcon, - EmotionLaugh as EmotionLaughIcon, - Equalizer as EqualizerIcon, - ExclamationCircle as ExclamationCircleIcon, - ExternalLink as ExternalLinkIcon, - Eye as EyeIcon, - EyeSlash as EyeSlashIcon, - Filter as FilterIcon, - Fire as FireIcon, - Flag as FlagIcon, - Folder as FolderIcon, - FolderOpen as FolderOpenIcon, - Fullscreen as FullscreenIcon, - FullscreenExit as FullscreenExitIcon, - GlobeAlt as GlobeAltIcon, - Grab as GrabIcon, - HandThumbDown as HandThumbDownIcon, - HandThumbUp as HandThumbUpIcon, - Heart as HeartIcon, - HeartAlt as HeartAltIcon, - Hexagon as HexagonIcon, - History as HistoryIcon, - Home as HomeIcon, - Image as ImageIcon, - InformationCircle as InformationCircleIcon, - Key as KeyIcon, - Lightbulb as LightbulbIcon, - Link as LinkIcon, - List as ListIcon, - ListAdd as ListAddIcon, - ListCheck as ListCheckIcon, - ListRemove as ListRemoveIcon, - Lock as LockIcon, - Login as LoginIcon, - Logout as LogoutIcon, - Magic as MagicIcon, - MagnifyingGlass as MagnifyingGlassIcon, - MarkPen as MarkPenIcon, - Menu as MenuIcon, - More as MoreIcon, - MovingMail as MovingMailIcon, - Paint as PaintIcon, - PaperAirplane as PaperAirplaneIcon, - Pause as PauseIcon, - PencilSquare as PencilSquareIcon, - Planet as PlanetIcon, - Play as PlayIcon, - Plus as PlusIcon, - PlusCircle as PlusCircleIcon, - Pushpin as PushpinIcon, - Puzzle as PuzzleIcon, - QuestionMarkCircle as QuestionMarkCircleIcon, - Reaction as ReactionIcon, - Rectangle as RectangleIcon, - Robot as RobotIcon, - Rocket as RocketIcon, - Scan as ScanIcon, - Server as ServerIcon, - ShakeHands as ShakeHandsIcon, - Shapes as ShapesIcon, - Sparkles as SparklesIcon, - Square as SquareIcon, - Square3Stack3D as Square3Stack3DIcon, - Star as StarIcon, - Stop as StopIcon, - Table as TableIcon, - Tag as TagIcon, - Template as TemplateIcon, - TestTube as TestTubeIcon, - Time as TimeIcon, - Translate as TranslateIcon, - Trash as TrashIcon, - Triangle as TriangleIcon, - User as UserIcon, - UserArrow as UserArrowIcon, - UserGroup as UserGroupIcon, - UserPlus as UserPlusIcon, - Wrench as WrenchIcon, - XCircle as XCircleIcon, - XMark as XMarkIcon, -} from "./icons/solid"; - -export { - ArrowDownCircleIcon, - ArrowDownIcon, - ArrowDownOnSquareIcon, - ArrowDownSIcon, - ArrowLeftIcon, - ArrowLeftSIcon, - ArrowPathIcon, - ArrowRightIcon, - ArrowRightSIcon, - ArrowUpIcon, - ArrowUpOnSquareIcon, - ArrowUpSIcon, - AttachmentIcon, - BackspaceIcon, - BookmarkIcon, - BookOpenIcon, - BracesIcon, - CardIcon, - ChatBubbleBottomCenterPlusIcon, - ChatBubbleBottomCenterTextIcon, - ChatBubbleLeftRightIcon, - ChatBubbleThoughtIcon, - CheckCircleIcon, - CheckIcon, - ChevronDoubleLeftIcon, - ChevronDoubleRightIcon, - ChevronDownIcon, - ChevronLeftIcon, - ChevronRightIcon, - ChevronUpDownIcon, - ChevronUpIcon, - CircleIcon, - ClipboardCheckIcon, - ClipboardIcon, - ClockIcon, - CloudArrowDownIcon, - CloudArrowLeftRightIcon, - CloudArrowUpIcon, - CloudXIcon, - Cog6ToothIcon, - CommandIcon, - CommandLineIcon, - CompanyIcon, - CubeIcon, - DashIcon, - DocumentDuplicateIcon, - DocumentIcon, - DocumentPileIcon, - DocumentPlusIcon, - DocumentTextIcon, - DustIcon, - EmotionLaughIcon, - EqualizerIcon, - ExclamationCircleIcon, - ExternalLinkIcon, - EyeIcon, - EyeSlashIcon, - FilterIcon, - FireIcon, - FlagIcon, - FolderIcon, - FolderOpenIcon, - FullscreenExitIcon, - FullscreenIcon, - GlobeAltIcon, - GrabIcon, - HandThumbDownIcon, - HandThumbUpIcon, - HeartAltIcon, - HeartIcon, - HexagonIcon, - HistoryIcon, - HomeIcon, - ImageIcon, - InformationCircleIcon, - KeyIcon, - LightbulbIcon, - LinkIcon, - ListAddIcon, - ListCheckIcon, - ListIcon, - ListRemoveIcon, - LockIcon, - LoginIcon, - LogoutIcon, - MagicIcon, - MagnifyingGlassIcon, - MarkPenIcon, - MenuIcon, - MoreIcon, - MovingMailIcon, - PaintIcon, - PaperAirplaneIcon, - PauseIcon, - PencilSquareIcon, - PlanetIcon, - PlayIcon, - PlusCircleIcon, - PlusIcon, - PushpinIcon, - PuzzleIcon, - QuestionMarkCircleIcon, - ReactionIcon, - RectangleIcon, - RobotIcon, - RocketIcon, - ScanIcon, - ServerIcon, - ShakeHandsIcon, - ShapesIcon, - SparklesIcon, - Square3Stack3DIcon, - SquareIcon, - StarIcon, - StopIcon, - TableIcon, - TagIcon, - TemplateIcon, - TestTubeIcon, - TimeIcon, - TranslateIcon, - TrashIcon, - TriangleIcon, - UserArrowIcon, - UserGroupIcon, - UserIcon, - UserPlusIcon, - WrenchIcon, - XCircleIcon, - XMarkIcon, -}; - -import { - ArrowDown as ArrowDownStrokeIcon, - ArrowDownCircle as ArrowDownCircleStrokeIcon, - ArrowDownOnSquare as ArrowDownOnSquareStrokeIcon, - ArrowDownS as ArrowDownSStrokeIcon, - ArrowLeft as ArrowLeftStrokeIcon, - ArrowLeftS as ArrowLeftSStrokeIcon, - ArrowPath as ArrowPathStrokeIcon, - ArrowRight as ArrowRightStrokeIcon, - ArrowRightS as ArrowRightSStrokeIcon, - ArrowUp as ArrowUpStrokeIcon, - ArrowUpOnSquare as ArrowUpOnSquareStrokeIcon, - ArrowUpS as ArrowUpSStrokeIcon, - Attachment as AttachmentStrokeIcon, - Backspace as BackspaceStrokeIcon, - Bookmark as BookmarkStrokeIcon, - BookOpen as BookOpenStrokeIcon, - Braces as BracesStrokeIcon, - Card as CardStrokeIcon, - ChatBubbleBottomCenterPlus as ChatBubbleBottomCenterPlusStrokeIcon, - ChatBubbleBottomCenterText as ChatBubbleBottomCenterTextStrokeIcon, - ChatBubbleLeftRight as ChatBubbleLeftRightStrokeIcon, - ChatBubbleThought as ChatBubbleThoughtStrokeIcon, - Check as CheckStrokeIcon, - CheckCircle as CheckCircleStrokeIcon, - ChevronDoubleLeft as ChevronDoubleLeftStrokeIcon, - ChevronDoubleRight as ChevronDoubleRightStrokeIcon, - ChevronDown as ChevronDownStrokeIcon, - ChevronLeft as ChevronLeftStrokeIcon, - ChevronRight as ChevronRightStrokeIcon, - ChevronUp as ChevronUpStrokeIcon, - ChevronUpDown as ChevronUpDownStrokeIcon, - Circle as CircleStrokeIcon, - Clipboard as ClipboardStrokeIcon, - ClipboardCheck as ClipboardCheckStrokeIcon, - Clock as ClockStrokeIcon, - CloudArrowDown as CloudArrowDownStrokeIcon, - CloudArrowLeftRight as CloudArrowLeftRightStrokeIcon, - CloudArrowUp as CloudArrowUpStrokeIcon, - CloudX as CloudXStrokeIcon, - Cog6Tooth as Cog6ToothStrokeIcon, - Command as CommandStrokeIcon, - CommandLine as CommandLineStrokeIcon, - Company as CompanyStrokeIcon, - Cube as CubeStrokeIcon, - Dash as DashStrokeIcon, - Document as DocumentStrokeIcon, - DocumentDuplicate as DocumentDuplicateStrokeIcon, - DocumentPile as DocumentPileStrokeIcon, - DocumentPlus as DocumentPlusStrokeIcon, - DocumentText as DocumentTextStrokeIcon, - Dust as DustStrokeIcon, - EmotionLaugh as EmotionLaughStrokeIcon, - Equalizer as EqualizerStrokeIcon, - ExclamationCircle as ExclamationCircleStrokeIcon, - ExternalLink as ExternalLinkStrokeIcon, - Eye as EyeStrokeIcon, - EyeSlash as EyeSlashStrokeIcon, - Filter as FilterStrokeIcon, - Fire as FireStrokeIcon, - Flag as FlagStrokeIcon, - Folder as FolderStrokeIcon, - FolderOpen as FolderOpenStrokeIcon, - Fullscreen as FullscreenStrokeIcon, - FullscreenExit as FullscreenExitStrokeIcon, - GlobeAlt as GlobeAltStrokeIcon, - Grab as GrabStrokeIcon, - HandThumbDown as HandThumbDownStrokeIcon, - HandThumbUp as HandThumbUpStrokeIcon, - Heart as HeartStrokeIcon, - HeartAlt as HeartAltStrokeIcon, - Hexagon as HexagonStrokeIcon, - History as HistoryStrokeIcon, - Home as HomeStrokeIcon, - Image as ImageStrokeIcon, - InformationCircle as InformationCircleStrokeIcon, - Key as KeyStrokeIcon, - Lightbulb as LightbulbStrokeIcon, - Link as LinkStrokeIcon, - List as ListStrokeIcon, - ListAdd as ListAddStrokeIcon, - ListCheck as ListCheckStrokeIcon, - ListRemove as ListRemoveStrokeIcon, - Lock as LockStrokeIcon, - Login as LoginStrokeIcon, - Logout as LogoutStrokeIcon, - Magic as MagicStrokeIcon, - MagnifyingGlass as MagnifyingGlassStrokeIcon, - MarkPen as MarkPenStrokeIcon, - Menu as MenuStrokeIcon, - More as MoreStrokeIcon, - MovingMail as MovingMailStrokeIcon, - Paint as PaintStrokeIcon, - PaperAirplane as PaperAirplaneStrokeIcon, - Pause as PauseStrokeIcon, - PencilSquare as PencilSquareStrokeIcon, - Planet as PlanetStrokeIcon, - Play as PlayStrokeIcon, - Plus as PlusStrokeIcon, - PlusCircle as PlusCircleStrokeIcon, - Pushpin as PushpinStrokeIcon, - Puzzle as PuzzleStrokeIcon, - QuestionMarkCircle as QuestionMarkCircleStrokeIcon, - Reaction as ReactionStrokeIcon, - Rectangle as RectangleStrokeIcon, - Robot as RobotStrokeIcon, - Rocket as RocketStrokeIcon, - Scan as ScanStrokeIcon, - Server as ServerStrokeIcon, - ShakeHands as ShakeHandsStrokeIcon, - Shapes as ShapesStrokeIcon, - Sparkles as SparklesStrokeIcon, - Square as SquareStrokeIcon, - Square3Stack3D as Square3Stack3DStrokeIcon, - Star as StarStrokeIcon, - Stop as StopStrokeIcon, - Table as TableStrokeIcon, - Tag as TagStrokeIcon, - Template as TemplateStrokeIcon, - TestTube as TestTubeStrokeIcon, - Time as TimeStrokeIcon, - Translate as TranslateStrokeIcon, - Trash as TrashStrokeIcon, - Triangle as TriangleStrokeIcon, - User as UserStrokeIcon, - UserArrow as UserArrowStrokeIcon, - UserGroup as UserGroupStrokeIcon, - UserPlus as UserPlusStrokeIcon, - Wrench as WrenchStrokeIcon, - XCircle as XCircleStrokeIcon, - XMark as XMarkStrokeIcon, -} from "./icons/stroke"; - -export { - ArrowDownCircleStrokeIcon, - ArrowDownOnSquareStrokeIcon, - ArrowDownSStrokeIcon, - ArrowDownStrokeIcon, - ArrowLeftSStrokeIcon, - ArrowLeftStrokeIcon, - ArrowPathStrokeIcon, - ArrowRightSStrokeIcon, - ArrowRightStrokeIcon, - ArrowUpOnSquareStrokeIcon, - ArrowUpSStrokeIcon, - ArrowUpStrokeIcon, - AttachmentStrokeIcon, - BackspaceStrokeIcon, - BookmarkStrokeIcon, - BookOpenStrokeIcon, - BracesStrokeIcon, - CardStrokeIcon, - ChatBubbleBottomCenterPlusStrokeIcon, - ChatBubbleBottomCenterTextStrokeIcon, - ChatBubbleLeftRightStrokeIcon, - ChatBubbleThoughtStrokeIcon, - CheckCircleStrokeIcon, - CheckStrokeIcon, - ChevronDoubleLeftStrokeIcon, - ChevronDoubleRightStrokeIcon, - ChevronDownStrokeIcon, - ChevronLeftStrokeIcon, - ChevronRightStrokeIcon, - ChevronUpDownStrokeIcon, - ChevronUpStrokeIcon, - CircleStrokeIcon, - ClipboardCheckStrokeIcon, - ClipboardStrokeIcon, - ClockStrokeIcon, - CloudArrowDownStrokeIcon, - CloudArrowLeftRightStrokeIcon, - CloudArrowUpStrokeIcon, - CloudXStrokeIcon, - Cog6ToothStrokeIcon, - CommandLineStrokeIcon, - CommandStrokeIcon, - CompanyStrokeIcon, - CubeStrokeIcon, - DashStrokeIcon, - DocumentDuplicateStrokeIcon, - DocumentPileStrokeIcon, - DocumentPlusStrokeIcon, - DocumentStrokeIcon, - DocumentTextStrokeIcon, - DustStrokeIcon, - EmotionLaughStrokeIcon, - EqualizerStrokeIcon, - ExclamationCircleStrokeIcon, - ExternalLinkStrokeIcon, - EyeSlashStrokeIcon, - EyeStrokeIcon, - FilterStrokeIcon, - FireStrokeIcon, - FlagStrokeIcon, - FolderOpenStrokeIcon, - FolderStrokeIcon, - FullscreenExitStrokeIcon, - FullscreenStrokeIcon, - GlobeAltStrokeIcon, - GrabStrokeIcon, - HandThumbDownStrokeIcon, - HandThumbUpStrokeIcon, - HeartAltStrokeIcon, - HeartStrokeIcon, - HexagonStrokeIcon, - HistoryStrokeIcon, - HomeStrokeIcon, - ImageStrokeIcon, - InformationCircleStrokeIcon, - KeyStrokeIcon, - LightbulbStrokeIcon, - LinkStrokeIcon, - ListAddStrokeIcon, - ListCheckStrokeIcon, - ListRemoveStrokeIcon, - ListStrokeIcon, - LockStrokeIcon, - LoginStrokeIcon, - LogoutStrokeIcon, - MagicStrokeIcon, - MagnifyingGlassStrokeIcon, - MarkPenStrokeIcon, - MenuStrokeIcon, - MoreStrokeIcon, - MovingMailStrokeIcon, - PaintStrokeIcon, - PaperAirplaneStrokeIcon, - PauseStrokeIcon, - PencilSquareStrokeIcon, - PlanetStrokeIcon, - PlayStrokeIcon, - PlusCircleStrokeIcon, - PlusStrokeIcon, - PushpinStrokeIcon, - PuzzleStrokeIcon, - QuestionMarkCircleStrokeIcon, - ReactionStrokeIcon, - RectangleStrokeIcon, - RobotStrokeIcon, - RocketStrokeIcon, - ScanStrokeIcon, - ServerStrokeIcon, - ShakeHandsStrokeIcon, - ShapesStrokeIcon, - SparklesStrokeIcon, - Square3Stack3DStrokeIcon, - SquareStrokeIcon, - StarStrokeIcon, - StopStrokeIcon, - TableStrokeIcon, - TagStrokeIcon, - TemplateStrokeIcon, - TestTubeStrokeIcon, - TimeStrokeIcon, - TranslateStrokeIcon, - TrashStrokeIcon, - TriangleStrokeIcon, - UserArrowStrokeIcon, - UserGroupStrokeIcon, - UserPlusStrokeIcon, - UserStrokeIcon, - WrenchStrokeIcon, - XCircleStrokeIcon, - XMarkStrokeIcon, -}; diff --git a/sparkle/src/components/AssistantPreview.tsx b/sparkle/src/components/AssistantPreview.tsx index d4e223f62f2b..7c713ab6391e 100644 --- a/sparkle/src/components/AssistantPreview.tsx +++ b/sparkle/src/components/AssistantPreview.tsx @@ -1,7 +1,9 @@ import React, { useState } from "react"; -import { Button, CardButton, MoreIcon } from "@sparkle/_index"; import { Avatar } from "@sparkle/components/Avatar"; +import { Button } from "@sparkle/components/Button"; +import { CardButton } from "@sparkle/components/CardButton"; +import { MoreIcon } from "@sparkle/icons/solid"; import { classNames } from "@sparkle/lib/utils"; type AssistantPreviewVariant = "list" | "minimal"; diff --git a/sparkle/src/components/Avatar.tsx b/sparkle/src/components/Avatar.tsx index 1caaf55ae1cf..51bcdfbe7a57 100644 --- a/sparkle/src/components/Avatar.tsx +++ b/sparkle/src/components/Avatar.tsx @@ -1,6 +1,6 @@ import React, { useState } from "react"; -import { User } from "@sparkle/icons/solid"; +import { UserIcon } from "@sparkle/icons/solid"; import { getEmojiAndBackgroundFromUrl } from "@sparkle/lib/avatar/utils"; import { classNames } from "@sparkle/lib/utils"; @@ -190,7 +190,7 @@ export function Avatar({ {/\+/.test(name) ? name : name[0].toUpperCase()} ) : ( - + )} ); diff --git a/sparkle/src/components/Banner.tsx b/sparkle/src/components/Banner.tsx index a3ead4232cd6..612f7c9d79bc 100644 --- a/sparkle/src/components/Banner.tsx +++ b/sparkle/src/components/Banner.tsx @@ -1,6 +1,7 @@ import React, { useEffect, useState } from "react"; -import { IconButton, XMarkIcon } from "@sparkle/_index"; +import { IconButton } from "@sparkle/components/IconButton"; +import { XMarkIcon } from "@sparkle/icons/solid"; import { classNames } from "@sparkle/lib/utils"; interface BannerProps { diff --git a/sparkle/src/components/BarHeader.tsx b/sparkle/src/components/BarHeader.tsx index 7fb37be4376e..d43a2b0098ab 100644 --- a/sparkle/src/components/BarHeader.tsx +++ b/sparkle/src/components/BarHeader.tsx @@ -1,10 +1,10 @@ import React from "react"; import { - ArrowUpOnSquare, - ChevronLeft, - Trash, - XMark, + ArrowUpOnSquareIcon, + ChevronLeftIcon, + TrashIcon, + XMarkIcon, } from "@sparkle/icons/solid"; import { classNames } from "@sparkle/lib/utils"; @@ -82,7 +82,7 @@ BarHeader.ButtonBar = function (props: BarHeaderButtonBarProps) { return (