diff --git a/.storybook/preview.js b/.storybook/preview.js index 523017a..d60d12d 100644 --- a/.storybook/preview.js +++ b/.storybook/preview.js @@ -1,3 +1,4 @@ +import "../packages/carbon-addons-devenv/src/scss/index.scss"; import "../packages/custom-carbon-addons/src/scss/index.scss"; export const parameters = { diff --git a/packages/carbon-addons-devenv/src/dynamicExports.js b/packages/carbon-addons-devenv/src/dynamicExports.js deleted file mode 100644 index 8267646..0000000 --- a/packages/carbon-addons-devenv/src/dynamicExports.js +++ /dev/null @@ -1,18 +0,0 @@ -/* - Use when the main bundle is not on the same level as the script calling it. - Webpack will reference this path when emitting the chunks -*/ -export const usePublicPath = async (path) => { - if (path) { - // eslint-disable-next-line camelcase, no-undef - __webpack_public_path__ = path; - } -}; - -/* Imports Carbon Addons dynamically */ -export const requireCustomCarbonAddons = async () => { - const customCarbonAddons = await import( - /* webpackChunkName: "simple" */ "../../custom-carbon-addons/src/apollo-client-hooks" - ); - return customCarbonAddons; -}; diff --git a/packages/carbon-addons-devenv/src/index.js b/packages/carbon-addons-devenv/src/index.js index 38dc72a..578bf3d 100644 --- a/packages/carbon-addons-devenv/src/index.js +++ b/packages/carbon-addons-devenv/src/index.js @@ -1,7 +1,7 @@ -import "../../custom-carbon-addons/src/scss/index.scss"; -import "regenerator-runtime/runtime"; -import { renderers, sampleRenderers } from "./staticExports"; +/* + * Copyright Merative US L.P. 2021, 2024 + */ +import "./scss/index.scss"; +import sampleRenderers from "../sample_renderers"; -import { requireCustomCarbonAddons } from "./dynamicExports"; - -export default { requireCustomCarbonAddons, renderers, sampleRenderers }; +export default sampleRenderers; diff --git a/packages/carbon-addons-devenv/src/scss/addon-samples.scss b/packages/carbon-addons-devenv/src/scss/addon-samples.scss deleted file mode 100644 index d13e524..0000000 --- a/packages/carbon-addons-devenv/src/scss/addon-samples.scss +++ /dev/null @@ -1,6 +0,0 @@ -//------------------------- -// ✨ Addons samples -//------------------------- -@import "./variables.scss"; -@import "./addons_samples/logo.scss"; -@import "./addons_samples/personfolio.scss"; diff --git a/packages/carbon-addons-devenv/src/scss/addons_samples/logo.scss b/packages/carbon-addons-devenv/src/scss/addons_samples/logo.scss index 6b6e9ee..9b2fe6a 100644 --- a/packages/carbon-addons-devenv/src/scss/addons_samples/logo.scss +++ b/packages/carbon-addons-devenv/src/scss/addons_samples/logo.scss @@ -1,5 +1,5 @@ .#{$prefix}--logo { - box-shadow: inset 0 0 0 2px $layer-01; + box-shadow: inset 0 0 0 2px themes.get("layer-01"); border-radius: $border-radius-round; font-weight: 500; overflow: hidden; diff --git a/packages/carbon-addons-devenv/src/scss/addons_samples/personfolio.scss b/packages/carbon-addons-devenv/src/scss/addons_samples/personfolio.scss index e09f02b..1ded0d1 100644 --- a/packages/carbon-addons-devenv/src/scss/addons_samples/personfolio.scss +++ b/packages/carbon-addons-devenv/src/scss/addons_samples/personfolio.scss @@ -1,25 +1,25 @@ .#{$prefix}--personfolio { - background-color: $layer-01; - color: $text-primary; + background-color: themes.get("layer-01"); + color: themes.get("text-primary"); border-radius: 6px; border-width: 1px 1px 1px 1px; border-style: solid !important; - padding: $spacing-05; - margin-top: $spacing-05; + padding: themes.get("spacing-05"); + margin-top: themes.get("spacing-05"); &--child { - border-color: $support-error; + border-color: themes.get("support-error"); } &--youngadult { - border-color: $support-success; + border-color: themes.get("support-success"); } &--adult { - border-color: $support-warning; + border-color: themes.get("support-warning"); } &--senior { - border-color: $support-info; + border-color: themes.get("support-info"); } } diff --git a/packages/carbon-addons-devenv/src/scss/app.scss b/packages/carbon-addons-devenv/src/scss/app.scss deleted file mode 100644 index e69de29..0000000 diff --git a/packages/carbon-addons-devenv/src/scss/carbon-components.scss b/packages/carbon-addons-devenv/src/scss/carbon-components.scss deleted file mode 100644 index 06261bc..0000000 --- a/packages/carbon-addons-devenv/src/scss/carbon-components.scss +++ /dev/null @@ -1,9 +0,0 @@ -@use "@carbon/styles/scss/spacing" as *; -@use "@carbon/react/scss/themes"; -@use "@carbon/react/scss/theme" as * with ( - $theme: themes.$g10 -); -@use "@carbon/react/scss/reset"; -@import "./variables.scss"; -@import "./addons_samples/logo.scss"; -@import "./addons_samples/personfolio.scss"; diff --git a/packages/carbon-addons-devenv/src/scss/index.scss b/packages/carbon-addons-devenv/src/scss/index.scss index 17a287f..c8f49de 100644 --- a/packages/carbon-addons-devenv/src/scss/index.scss +++ b/packages/carbon-addons-devenv/src/scss/index.scss @@ -1,5 +1,9 @@ -@import "./app.scss"; +@use "@carbon/themes/scss/themes" as *; +@use "@carbon/themes"; .spm-custom-component { - @import "./carbon-components.scss"; + @import "./prefix.scss"; + @import "./variables.scss"; + @import "./addons_samples/logo.scss"; + @import "./addons_samples/personfolio.scss"; } diff --git a/packages/carbon-addons-devenv/src/scss/logo.scss b/packages/carbon-addons-devenv/src/scss/logo.scss index c086664..9b2fe6a 100644 --- a/packages/carbon-addons-devenv/src/scss/logo.scss +++ b/packages/carbon-addons-devenv/src/scss/logo.scss @@ -1,5 +1,5 @@ .#{$prefix}--logo { - box-shadow: inset 0 0 0 2px $carbon--white-0; + box-shadow: inset 0 0 0 2px themes.get("layer-01"); border-radius: $border-radius-round; font-weight: 500; overflow: hidden; diff --git a/packages/carbon-addons-devenv/src/scss/personfolio.scss b/packages/carbon-addons-devenv/src/scss/personfolio.scss index b007b06..1ded0d1 100644 --- a/packages/carbon-addons-devenv/src/scss/personfolio.scss +++ b/packages/carbon-addons-devenv/src/scss/personfolio.scss @@ -1,25 +1,25 @@ .#{$prefix}--personfolio { - background-color: $ui-01; - color: $text-01; + background-color: themes.get("layer-01"); + color: themes.get("text-primary"); border-radius: 6px; border-width: 1px 1px 1px 1px; border-style: solid !important; - padding: $spacing-05; - margin-top: $spacing-05; + padding: themes.get("spacing-05"); + margin-top: themes.get("spacing-05"); &--child { - border-color: $support-01; + border-color: themes.get("support-error"); } &--youngadult { - border-color: $support-02; + border-color: themes.get("support-success"); } &--adult { - border-color: $support-03; + border-color: themes.get("support-warning"); } &--senior { - border-color: $support-04; + border-color: themes.get("support-info"); } } diff --git a/packages/carbon-addons-devenv/src/scss/prefix.scss b/packages/carbon-addons-devenv/src/scss/prefix.scss new file mode 100644 index 0000000..dde3a4f --- /dev/null +++ b/packages/carbon-addons-devenv/src/scss/prefix.scss @@ -0,0 +1 @@ +$prefix: "bx"; diff --git a/packages/carbon-addons-devenv/src/scss/variables.scss b/packages/carbon-addons-devenv/src/scss/variables.scss index d550332..d61d06a 100644 --- a/packages/carbon-addons-devenv/src/scss/variables.scss +++ b/packages/carbon-addons-devenv/src/scss/variables.scss @@ -1,6 +1,4 @@ -$prefix: "bx"; $border-radius-round: 100vw !default; $width-logo-large: 120px; // do we need small and medium too $width-logo-medium: 80px; $width-logo-small: 36px; -$border-base: 1px solid $background; diff --git a/packages/carbon-addons-devenv/src/staticExports.js b/packages/carbon-addons-devenv/src/staticExports.js deleted file mode 100644 index fa21604..0000000 --- a/packages/carbon-addons-devenv/src/staticExports.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright Merative US L.P. 2020, 2024 - */ - -/** - * STATIC IMPORTS - * - * These are commonly used imports that should be part of the main bundle. - */ -export { default as sampleRenderers } from "../sample_renderers"; -export { default as renderers } from "../../custom-carbon-addons/renderers"; diff --git a/packages/carbon-addons-entrypoint/src/index.js b/packages/carbon-addons-entrypoint/src/index.js new file mode 100644 index 0000000..6ce7297 --- /dev/null +++ b/packages/carbon-addons-entrypoint/src/index.js @@ -0,0 +1,21 @@ +/* + * Copyright Merative US L.P. 2024 + */ + +import "regenerator-runtime/runtime"; + +// eslint-disable-next-line import/no-unresolved +import sampleRenderers from "devenv_pkg/src"; +// eslint-disable-next-line import/no-unresolved +import renderers from "custom_pkg/src"; + +/* Imports Carbon Addons dynamically */ +const requireCustomCarbonAddons = async () => { + const customCarbonAddons = await import( + /* webpackChunkName: "simple" */ "../../custom-carbon-addons/src/apollo-client-hooks" + ); + return customCarbonAddons; +}; + +// These items will become children of window.spmcustom +export { requireCustomCarbonAddons, renderers, sampleRenderers }; diff --git a/packages/custom-carbon-addons/src/index.js b/packages/custom-carbon-addons/src/index.js index 2969f6f..57834ea 100644 --- a/packages/custom-carbon-addons/src/index.js +++ b/packages/custom-carbon-addons/src/index.js @@ -1,8 +1,7 @@ /* * Copyright Merative US L.P. 2021, 2024 */ +import "./scss/index.scss"; +import renderers from "../renderers"; -// eslint-disable-next-line import/no-unresolved -import { renderers, sampleRenderers } from "devenv_pkg/src"; - -export { renderers, sampleRenderers }; +export default renderers; diff --git a/packages/custom-carbon-addons/src/scss/addons/index.scss b/packages/custom-carbon-addons/src/scss/addons/index.scss new file mode 100644 index 0000000..86e87e9 --- /dev/null +++ b/packages/custom-carbon-addons/src/scss/addons/index.scss @@ -0,0 +1 @@ +// Import your custom SCSS files in this file to automatically include them in the build. diff --git a/packages/custom-carbon-addons/src/scss/addons/readme.txt b/packages/custom-carbon-addons/src/scss/addons/readme.txt index 2dfce64..1c21c66 100644 --- a/packages/custom-carbon-addons/src/scss/addons/readme.txt +++ b/packages/custom-carbon-addons/src/scss/addons/readme.txt @@ -1 +1 @@ -Add your custom SCSS files to this directory \ No newline at end of file +Add your custom SCSS files to this directory and import them in index.scss. \ No newline at end of file diff --git a/packages/custom-carbon-addons/src/scss/index.scss b/packages/custom-carbon-addons/src/scss/index.scss index e75ab9c..ced5833 100644 --- a/packages/custom-carbon-addons/src/scss/index.scss +++ b/packages/custom-carbon-addons/src/scss/index.scss @@ -1,17 +1,7 @@ -@import "../../../carbon-addons-devenv/src/scss/app.scss"; +@use "@carbon/themes/scss/themes" as *; +@use "@carbon/themes"; .spm-custom-component { - //------------------------- - // Variable overrides - //------------------------- @import "./variables.scss"; - //------------------------- - // Carbon-Components - //------------------------- - @import "../../../carbon-addons-devenv/src/scss/carbon-components.scss"; - //------------------------- - // Custom addons scss here - //------------------------- - // Sample component addons - //@import '../../../carbon-addons-devenv/src/scss/addon-samples.scss'; + @import "./addons"; } diff --git a/packages/custom-carbon-addons/src/scss/index_latest.scss b/packages/custom-carbon-addons/src/scss/index_latest.scss deleted file mode 100644 index 95eee20..0000000 --- a/packages/custom-carbon-addons/src/scss/index_latest.scss +++ /dev/null @@ -1,18 +0,0 @@ -@import "devenv_pkg/src/scss/app.scss"; - -.spm-custom-component { - //------------------------- - // Variable overrides - //------------------------- - @import "./variables.scss"; - //------------------------- - // Carbon-Components - //------------------------- - @import "devenv_pkg/src/scss/carbon-components.scss"; - //------------------------- - // Custom addons scss here - //------------------------- - // Sample component addons - // add your custom styling here from scss files in the addons directory - // e.g @import './addons/componentX.scss'; -} diff --git a/webpack.config.js b/webpack.config.js index ec4c048..984bffc 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,7 +3,10 @@ const webpack = require("webpack"); const ReactDevToolsIFramePlugin = require("react-dev-tools-iframe-webpack-plugin"); module.exports = { - entry: ["./public-path.js", "./packages/carbon-addons-devenv/src/index.js"], + entry: [ + "./public-path.js", + "./packages/carbon-addons-entrypoint/src/index.js", + ], mode: "development", module: { rules: [ @@ -21,10 +24,10 @@ module.exports = { }, }, ], - include: path.resolve( - __dirname, - "./packages/custom-carbon-addons/src/scss", - ), + include: [ + path.resolve(__dirname, "./packages/carbon-addons-devenv/src/scss"), + path.resolve(__dirname, "./packages/custom-carbon-addons/src/scss"), + ], }, { test: /\.(js|jsx)$/, @@ -59,12 +62,12 @@ module.exports = { extensions: ["*", ".js", ".jsx"], alias: { devenv_pkg: path.resolve("./packages/carbon-addons-devenv"), + custom_pkg: path.resolve("./packages/custom-carbon-addons"), }, }, output: { path: path.resolve(__dirname, "dist/"), library: "spmcustom", - libraryExport: "default", publicPath: "/dist/", filename: "spm-custom-carbon-addons-[name].bundle.js", chunkFilename: "spm-custom-carbon-addons-[name].chunk.js",