diff --git a/.bundlewatch.config.json b/.bundlewatch.config.json index e2ea64a1ec..089067fdad 100644 --- a/.bundlewatch.config.json +++ b/.bundlewatch.config.json @@ -14,23 +14,23 @@ }, { "path": "./dist/css/boosted-reboot.min.css", - "maxSize": "4.25 kB" + "maxSize": "4.5 kB" }, { "path": "./dist/css/boosted-utilities.css", - "maxSize": "12.5 kB" + "maxSize": "12.75 kB" }, { "path": "./dist/css/boosted-utilities.min.css", - "maxSize": "11.75 kB" + "maxSize": "12.0 kB" }, { "path": "./dist/css/boosted.css", - "maxSize": "43.75 kB" + "maxSize": "44.5 kB" }, { "path": "./dist/css/boosted.min.css", - "maxSize": "40.75 kB" + "maxSize": "41.5 kB" }, { "path": "./dist/js/boosted.bundle.js", @@ -38,15 +38,15 @@ }, { "path": "./dist/js/boosted.bundle.min.js", - "maxSize": "25.25 kB" + "maxSize": "25.5 kB" }, { "path": "./dist/js/boosted.esm.js", - "maxSize": "33.25 kB" + "maxSize": "33.0 kB" }, { "path": "./dist/js/boosted.esm.min.js", - "maxSize": "20.5 kB" + "maxSize": "20.25 kB" }, { "path": "./dist/js/boosted.js", diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5cbdde1ad0..fead396a1e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -60,7 +60,7 @@ updates: - dependency-name: "karma-rollup-preprocessor" - dependency-name: "lockfile-lint" - dependency-name: "nodemon" - - dependency-name: "npm-run-all" + - dependency-name: "npm-run-all2" - dependency-name: "postcss" - dependency-name: "postcss-cli" - dependency-name: "rollup" diff --git a/.github/workflows/browserstack.yml b/.github/workflows/browserstack.yml index 97f0e466aa..ccede75eec 100644 --- a/.github/workflows/browserstack.yml +++ b/.github/workflows/browserstack.yml @@ -6,7 +6,7 @@ on: env: FORCE_COLOR: 2 - NODE: 18 + NODE: 20 permissions: contents: read @@ -24,7 +24,7 @@ jobs: persist-credentials: false - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "${{ env.NODE }}" cache: npm diff --git a/.github/workflows/bundlewatch.yml b/.github/workflows/bundlewatch.yml index d1346ff414..048fdc5e6d 100644 --- a/.github/workflows/bundlewatch.yml +++ b/.github/workflows/bundlewatch.yml @@ -12,7 +12,7 @@ on: env: FORCE_COLOR: 2 - NODE: 18 + NODE: 20 permissions: contents: read @@ -29,7 +29,7 @@ jobs: persist-credentials: false - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "${{ env.NODE }}" cache: npm diff --git a/.github/workflows/calibreapp-image-actions.yml b/.github/workflows/calibreapp-image-actions.yml index 30bef2a28c..1be712e8a2 100644 --- a/.github/workflows/calibreapp-image-actions.yml +++ b/.github/workflows/calibreapp-image-actions.yml @@ -22,7 +22,7 @@ jobs: # allow calibreapp/image-actions to update PRs pull-requests: write steps: - - name: Checkout Repo + - name: Clone repository uses: actions/checkout@v4 with: persist-credentials: false diff --git a/.github/workflows/cspell.yml b/.github/workflows/cspell.yml index bb9986bdee..e31364d313 100644 --- a/.github/workflows/cspell.yml +++ b/.github/workflows/cspell.yml @@ -30,7 +30,7 @@ jobs: persist-credentials: false - name: Run cspell - uses: streetsidesoftware/cspell-action@v3 + uses: streetsidesoftware/cspell-action@v5 with: config: ".cspell.json" files: "**/*.md" diff --git a/.github/workflows/css.yml b/.github/workflows/css.yml index 53d613bf4d..53cd891d8a 100644 --- a/.github/workflows/css.yml +++ b/.github/workflows/css.yml @@ -11,7 +11,7 @@ on: env: FORCE_COLOR: 2 - NODE: 18 + NODE: 20 permissions: contents: read @@ -28,7 +28,7 @@ jobs: persist-credentials: false - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "${{ env.NODE }}" cache: npm diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d86570f583..126bba2d5c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -13,7 +13,7 @@ on: env: FORCE_COLOR: 2 - NODE: 18 + NODE: 20 permissions: contents: read @@ -30,7 +30,7 @@ jobs: persist-credentials: false - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "${{ env.NODE }}" cache: npm diff --git a/.github/workflows/js.yml b/.github/workflows/js.yml index 9a73fb3e1c..5112696784 100644 --- a/.github/workflows/js.yml +++ b/.github/workflows/js.yml @@ -11,7 +11,7 @@ on: env: FORCE_COLOR: 2 - NODE: 18 + NODE: 20 permissions: contents: read @@ -33,7 +33,7 @@ jobs: persist-credentials: false - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ env.NODE }} cache: npm diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 227dae78b5..cbdbf3362c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,7 +12,7 @@ on: env: FORCE_COLOR: 2 - NODE: 18 + NODE: 20 permissions: contents: read @@ -29,7 +29,7 @@ jobs: persist-credentials: false - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "${{ env.NODE }}" cache: npm diff --git a/.github/workflows/node-sass.yml b/.github/workflows/node-sass.yml index d63f48b1ad..615a4738bb 100644 --- a/.github/workflows/node-sass.yml +++ b/.github/workflows/node-sass.yml @@ -11,7 +11,7 @@ on: env: FORCE_COLOR: 2 - NODE: 18 + NODE: 20 permissions: contents: read @@ -28,7 +28,7 @@ jobs: persist-credentials: false - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "${{ env.NODE }}" diff --git a/.github/workflows/pa11y.yml b/.github/workflows/pa11y.yml index e2070d30e8..93354af44c 100644 --- a/.github/workflows/pa11y.yml +++ b/.github/workflows/pa11y.yml @@ -13,7 +13,7 @@ on: env: FORCE_COLOR: 2 - NODE: 18 + NODE: 20 jobs: pa11y: @@ -27,7 +27,7 @@ jobs: persist-credentials: false - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "${{ env.NODE }}" @@ -55,7 +55,7 @@ jobs: run: npm run docs-accessibility - name: Upload accessibility results - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: name: pa11y-ci-results diff --git a/.github/workflows/percy.yml b/.github/workflows/percy.yml index e3248f4c48..8e10a0b670 100644 --- a/.github/workflows/percy.yml +++ b/.github/workflows/percy.yml @@ -12,7 +12,7 @@ on: env: FORCE_COLOR: 2 - NODE: 18 + NODE: 20 jobs: percy: @@ -25,7 +25,7 @@ jobs: persist-credentials: false - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: "${{ env.NODE }}" diff --git a/.github/workflows/update-pr-approved.yml b/.github/workflows/update-pr-approved.yml index 249f82fcc6..d6be5ccfa8 100644 --- a/.github/workflows/update-pr-approved.yml +++ b/.github/workflows/update-pr-approved.yml @@ -61,7 +61,7 @@ jobs: } } } - items(first:50) { + items(first:100) { nodes { id content { diff --git a/.github/workflows/update-pr-design-a11y-approved.yml b/.github/workflows/update-pr-design-a11y-approved.yml index 933584eae7..eca726a949 100644 --- a/.github/workflows/update-pr-design-a11y-approved.yml +++ b/.github/workflows/update-pr-design-a11y-approved.yml @@ -39,7 +39,7 @@ jobs: } } } - items(first:50) { + items(first:100) { nodes { id content { diff --git a/.github/workflows/update-pr-ready-review.yml b/.github/workflows/update-pr-ready-review.yml index 67337f0a4c..0faec46aeb 100644 --- a/.github/workflows/update-pr-ready-review.yml +++ b/.github/workflows/update-pr-ready-review.yml @@ -40,7 +40,7 @@ jobs: } } } - items(first:50) { + items(first:100) { nodes { id content { diff --git a/.github/workflows/update-pr-review-in-progress.yml b/.github/workflows/update-pr-review-in-progress.yml index 5261592357..82ed1a59bc 100644 --- a/.github/workflows/update-pr-review-in-progress.yml +++ b/.github/workflows/update-pr-review-in-progress.yml @@ -38,7 +38,7 @@ jobs: } } } - items(first:50) { + items(first:100) { nodes { id content { diff --git a/.storybook/main.js b/.storybook/main.js index d996b9814a..705989b1f2 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -6,7 +6,7 @@ const config = { options: { measure: false } - }, "@storybook/preset-scss"], + }, "@storybook/addon-themes", "@storybook/preset-scss"], "framework": "@storybook/html-webpack5", docs: { autodocs: true diff --git a/.storybook/preview.js b/.storybook/preview.js index 747ba2873d..0a9d9d670c 100644 --- a/.storybook/preview.js +++ b/.storybook/preview.js @@ -1,4 +1,5 @@ import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport'; +import { withThemeByDataAttribute } from '@storybook/addon-themes'; import './storybook.scss'; import prettier from 'prettier/esm/standalone'; import htmlParser from 'prettier/esm/parser-html'; @@ -21,7 +22,17 @@ export const preview = { // Pretty print the Docs code source return match ? prettier.format(match[1].trim(), {printWidth: 120, parser: "html", plugins: [htmlParser]}) : src; } - } - } + }, + }, + decorators: [ + withThemeByDataAttribute({ + themes: { + light: 'light', + dark: 'dark', + }, + defaultTheme: 'light', + attributeName: 'data-bs-theme', + }), + ] } export default preview; diff --git a/LICENSE b/LICENSE index 6a9d9aa3e6..bd6e27bee8 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ The MIT License (MIT) -Copyright (c) 2015-2023 Orange SA -Copyright (c) 2015-2023 The Boosted Authors +Copyright (c) 2015-2024 Orange SA +Copyright (c) 2015-2024 The Boosted Authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/NOTICE.txt b/NOTICE.txt index 6d7e5567d1..53cb0ff58e 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -25,7 +25,7 @@ End of the parts list under Monotype Imaging Inc Copyright Parts list under Orange SA Copyright -Copyright (C) 2016 - 2023 Orange SA All rights reserved +Copyright (C) 2016 - 2024 Orange SA All rights reserved The following parts are proprietary information of Orange. You shall not use or display any trade names, trademarks, service marks, products names, illustrations or designs used within the software diff --git a/README.md b/README.md index 6389c4aad9..0f2632fc5d 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ Thanks to [Netlify](https://www.netlify.com/) for providing us with Deploy Previ ## Copyright and license -Code and documentation copyright 2011-2023 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors). Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/main/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). +Code and documentation copyright 2011-2024 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors). Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/main/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). -Boosted code and documentation copyright 2015-2023 the [Boosted Authors](https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors) and [Orange SA.](https://orange.com) Code released under the [MIT License](https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). +Boosted code and documentation copyright 2015-2024 the [Boosted Authors](https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/graphs/contributors) and [Orange SA.](https://orange.com) Code released under the [MIT License](https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/blob/main/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). diff --git a/build/.pa11yci.json b/build/.pa11yci.json index bcee3dfe2b..0f6303d8b1 100644 --- a/build/.pa11yci.json +++ b/build/.pa11yci.json @@ -15,7 +15,7 @@ "axe" ], "useIncognitoBrowserContext": false, - "hideElements": "iframe, #text-decoration + p + div a.text-decoration-none, .accordion-collapse, #offcanvas, #offcanvasDark, #offcanvasResponsive, #bdSidebar, .overflow-y-scroll, .overflow-y-auto, .overflow-x-scroll, .overflow-x-auto, .table-responsive", + "hideElements": "iframe, #text-decoration + p + div a.text-decoration-none, .accordion-collapse, #offcanvas, #offcanvasDark, #offcanvasResponsive, #bdSidebar, .overflow-y-scroll, .overflow-y-auto, .overflow-x-scroll, .overflow-x-auto, .table-responsive, fieldset.star-rating[disabled]", "ignore": [ "color-contrast" ] diff --git a/build/build-plugins.mjs b/build/build-plugins.mjs index 77e63070c5..252b4b4b0a 100644 --- a/build/build-plugins.mjs +++ b/build/build-plugins.mjs @@ -2,7 +2,7 @@ /*! * Script to build our plugins to use them separately. - * Copyright 2020-2023 The Bootstrap Authors + * Copyright 2020-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ diff --git a/build/change-version.mjs b/build/change-version.mjs index 3c1e706689..30cfcc4561 100644 --- a/build/change-version.mjs +++ b/build/change-version.mjs @@ -2,7 +2,7 @@ /*! * Script to update version number references in the project. - * Copyright 2017-2023 The Bootstrap Authors + * Copyright 2017-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ diff --git a/build/generate-sri.mjs b/build/generate-sri.mjs index 9644033cf6..4492319eb0 100644 --- a/build/generate-sri.mjs +++ b/build/generate-sri.mjs @@ -5,7 +5,7 @@ * Remember to use the same vendor files as the CDN ones, * otherwise the hashes won't match! * - * Copyright 2017-2023 The Bootstrap Authors + * Copyright 2017-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ diff --git a/build/vnu-jar.mjs b/build/vnu-jar.mjs index 594909e627..c1ce8be230 100644 --- a/build/vnu-jar.mjs +++ b/build/vnu-jar.mjs @@ -2,7 +2,7 @@ /*! * Script to run vnu-jar if Java is available. - * Copyright 2017-2023 The Bootstrap Authors + * Copyright 2017-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ diff --git a/build/zip-examples.mjs b/build/zip-examples.mjs index e1d8b0e8a2..5f416d4c3a 100644 --- a/build/zip-examples.mjs +++ b/build/zip-examples.mjs @@ -3,7 +3,7 @@ /*! * Script to create the built examples zip archive; * requires the `zip` command to be present! - * Copyright 2020-2023 The Bootstrap Authors + * Copyright 2020-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/boosted/blob/main/LICENSE) */ diff --git a/hugo.yml b/hugo.yml index ab84621288..e418830773 100644 --- a/hugo.yml +++ b/hugo.yml @@ -70,7 +70,7 @@ params: repo: "https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap" twitter: "getbootstrap" blog: "https://blog.getbootstrap.com/" - icons: "https://system.design.orange.com/0c1af118d/p/65c68d-solaris-icon-library" + icons: "https://oran.ge/icons" bootstrap: "https://getbootstrap.com" ods: web: "https://system.design.orange.com/0c1af118d/n/76065f" diff --git a/js/src/quantity-selector.js b/js/src/quantity-selector.js index 6ad2955f81..92f5ff5f1b 100644 --- a/js/src/quantity-selector.js +++ b/js/src/quantity-selector.js @@ -26,7 +26,7 @@ const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}` const SELECTOR_STEP_UP_BUTTON = '[data-bs-step="up"]' const SELECTOR_STEP_DOWN_BUTTON = '[data-bs-step="down"]' const SELECTOR_COUNTER_INPUT = '[data-bs-step="counter"]' -const SELECTOR_QUANTITY_SELECTOR = '.input-group.quantity-selector' +const SELECTOR_QUANTITY_SELECTOR = '.quantity-selector' /** * Class definition diff --git a/js/src/util/sanitizer.js b/js/src/util/sanitizer.js index d2b08082ca..3d2883aff3 100644 --- a/js/src/util/sanitizer.js +++ b/js/src/util/sanitizer.js @@ -17,7 +17,10 @@ export const DefaultAllowlist = { br: [], col: [], code: [], + dd: [], div: [], + dl: [], + dt: [], em: [], hr: [], h1: [], diff --git a/js/tests/unit/carousel.spec.js b/js/tests/unit/carousel.spec.js index 7c5ba63f41..6f184b69ff 100644 --- a/js/tests/unit/carousel.spec.js +++ b/js/tests/unit/carousel.spec.js @@ -540,7 +540,7 @@ describe('Carousel', () => { it('should take care of element either passed as a CSS selector or DOM element (Play/Pause button)', () => { fixtureEl.innerHTML = [ '
', - '