Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V3 remove bootstrap #1578

Draft
wants to merge 19 commits into
base: release-3.0.0
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions BREAKING_CHANGES/v3.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,58 +121,82 @@ The following component members marked as internal by comment have been changed
- `ix-menu-settings`: `show`
- `ix-dropdown-item`: `emitItemClick()`

## Remove `bootstrap` as peerDependency

We are removing Bootstrap as a dependency to reduce the overall style size and to become more independent of any CSS framework. If you still wish to use Bootstrap, you will need to add it as a dependency on your own.

### HTML-Table `.table` and `.table-striped` is not based on bootstrap anymore

HTML-Table `.table` and `.table-striped` is not based on bootstrap anymore, if you have used additional functionality from bootstrap like hover. You have to load the bootstrap dependency on your own.

## Component Updates

#### ix-action-card

- The `insight` and `notification` variants have been **replaced by** `outline` and `filled`.

#### ix-card

- The `insight` and `notification` variants have been **replaced by** `outline` and `filled`.

#### ix-chip

- The `color` property has been **replaced by** `chipColor`.

#### ix-date-picker

- Removed attributes: `individual`, and `eventDelimiter`.
- The `textSelectedDate` property has been **replaced by** `i18nDone`.
- The `done` event has been **replaced by** `dateSelect`.

#### ix-datetime-picker

- The `textSelectedDate` property has been **replaced by** `i18nDone`.
- The `done` event has been **replaced by** `dateSelect`.
- The `eventDelimiter` property has been removed.

#### ix-event-list

- The `color` attribute has been **replaced by** `itemColor`.

#### ix-icon-button

- The `color` attribute has been **replaced by** `iconColor`.
- Size `32` has been removed.

#### ix-menu

- Removed the `maxVisibleMenuItems` attribute.

#### ix-menu-item

- Removed the `tabIcon` attribute and replaced with icon.

#### ix-modal

- The `keyboard` attribute has been **replaced by** `closeOnEscape`.

#### ix-pill

- The `color` attribute has been **replaced by** `pillColor`.

#### ix-push-card

- The `insight` and `notification` variants have been **replaced by** `outline` and `filled`.

#### ix-select

- The `selectedIndices` attribute has been **replaced by** `value`.
- The `itemSelectionChange` event has been **replaced by** `valueChange`.

#### ix-select-item

- The `value` attribute type has been changed to `string`.

#### ix-time-picker

- Removed attributes: `individual` and `showTimeReference`.

#### ix-typography

- The `color` attribute has been **replaced by** `textColor`.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"build": "dotenv -- turbo run build",
"storybook": "dotenv -- turbo run storybook",
"start": "dotenv -- turbo run start",
"turbo": "dotenv -- turbo",
"turbo": "turbo",
"lint": "dotenv -- turbo run lint",
"format": "prettier --write ./packages/**/src/**/*.{ts,tsx,js,jsx,css,scss,html,vue,json}",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
Expand Down Expand Up @@ -55,7 +55,7 @@
"prettier": "^2.8.8",
"prettier-plugin-organize-imports": "^3.2.4",
"tsx": "^4.16.2",
"turbo": "^2.0.9",
"turbo": "^2.1.1",
"typescript": "^5.5.4"
},
"config": {
Expand Down
5 changes: 1 addition & 4 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
"@typescript-eslint/parser": "^6.21.0",
"animate.css": "~4.1.1",
"autoprefixer": "10.4.5",
"bootstrap": "^5.3.3",
"cssnano": "^6.1.2",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^8.57.0",
Expand All @@ -90,9 +89,7 @@
"typescript": "~5.4.5"
},
"peerDependencies": {
"@popperjs/core": "^2.11.0",
"@siemens/ix-icons": "0.0.0-20240827135516",
"bootstrap": "~5.2.0"
"@siemens/ix-icons": "0.0.0-20240827135516"
},
"config": {
"commitizen": {
Expand Down
7 changes: 1 addition & 6 deletions packages/core/scss/_core.scss
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
@import './components/fonts';

@import 'mixins/scrollbar';
@import './normalize';

:root {
--animate-duration: #{$default-time};
Expand All @@ -56,9 +57,3 @@ body {
body:not(.disable-scrollbar) {
@include scrollbar();
}

*,
*::after,
*::before {
box-sizing: border-box;
}
235 changes: 235 additions & 0 deletions packages/core/scss/_normalize.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
/*
* SPDX-FileCopyrightText: 2024 Siemens AG
*
* SPDX-License-Identifier: MIT
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
// Normalization of HTML elements, manually forked from bootstrap to remove
// styles targeting irrelevant browsers while applying new styles.
//
// Bootstrap is licensed MIT. https://github.com/twbs/bootstrap (Commit: 6f87fce7962bef83c59eff895d891016db620cd7)

*,
*::before,
*::after {
box-sizing: border-box;
}

:root {
@media (prefers-reduced-motion: no-preference) {
scroll-behavior: smooth;
}
}

hr {
margin: 1rem 0;
color: inherit;
border: 0;
border-top: 1px solid;
opacity: 0.25;
}

p {
margin-top: 0;
margin-bottom: 1rem;
}

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
margin-top: 0;
margin-bottom: 0.5rem;
}

p {
margin-top: 0;
margin-bottom: 1rem;
}

abbr[title] {
cursor: help;
text-decoration: underline dotted;
text-decoration-skip-ink: none;
}

address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}

ol,
ul {
padding-left: 2rem;
}

ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}

dt {
font-weight: 700;
}

dd {
margin-bottom: 0.5rem;
margin-left: 0;
}

blockquote {
margin: 0 0 1rem;
}

b,
strong {
font-weight: bolder;
}

small,
.small {
font-size: 0.875em;
}

mark,
.mark {
padding: 0.1875em;
background-color: var(--theme-color-warning-40);
}

sub,
sup {
position: relative;
font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}

sub {
bottom: -0.25em;
}

sup {
top: -0.5em;
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}

pre,
code,
kbd,
samp {
font-family: var(--theme-font-code);
font-size: 1em;
}

pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
font-size: 0.875em;
}

pre code {
font-size: inherit;
color: inherit;
word-break: normal;
}

code {
font-size: 0.875em;
word-wrap: break-word;

a > code {
color: inherit;
}
}

kbd {
padding: 0.1875rem 0.375rem;
font-size: 0.875em;
border-radius: 0.25rem;
}

kbd kbd {
padding: 0;
font-size: 1em;
}

thead,
tbody,
tfoot,
tr,
td,
th {
border-color: inherit;
border-style: solid;
border-width: 0;
}

label {
display: inline-block;
}

input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
line-height: inherit;
}

figure {
margin: 0 0 1rem;
}

// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
::-moz-focus-inner {
padding: 0;
border-style: none;
}

iframe {
border: 0;
}

img,
svg {
vertical-align: middle;
}

summary {
display: list-item;
cursor: pointer;
}

[hidden] {
display: none !important;
}
Loading
Loading