Versiopäivitysohje
Ohje Kela Design Systemin versiopäivityksiin.
Ohje Kela Design Systemin versiopäivityksiin.
Ohjeeseen on koottu merkittävimmät suurten (major) versioiden päivityksiin liittyvät rikkovat muutokset. Lisätietoja julkaisukäytännöistä. Muita muutoksia voi tutkia versiohistoriasta.
react- ja react-dom-kirjastot versioon 19.1.0.IconDeco-alkuisesti (esim. IconNetwork → IconDecoNetwork).IconUi-alkuisesti (esim. IconLock → IconUiLock).aria-hidden={undefined} kuvitusikoneille, käyttöliittymäkuvakkeille ja logoille, jos niiden nimeäminen on toteutettu jotenkin muuten kuin aria-label-, aria-labelledby- tai aria-describedby-attribuuteilla.Handelsbanken-logo käytöstä.filterItems-funktiolla, jos tarvitset normalisoinnille Unicode-merkkejä U+0300 – U+036F laajempaa tukea.variant="outline" → appearance="outline".InputGroup-, InputLabel-, InputText-komponentit ja anna nimilappu, ohjetekstit ja virheilmoitukset suoraan komponentin propeille.input-kentän toimintaa.select- ja multiline-propit element-propilla.size-prop myös painikkeille ja poista sm- ja lg-arvot ButtonGroup-komponentilta.ButtonToolbar-komponentti ButtonGroup-komponentilla (isToolbar-prop).Combobox-komponentti ComboboxV2-komponentilla.Media-komponentti Card-komponentilla tai CSS:n flex-tyyleillä.expect(await screen.findByRole("dialog")).toBeTruthy()await waitFor(() => { expect(screen.queryByRole("dialog")).not.toBeInTheDocument(); });autoSize-prop seuraavilta komponenteilta, jos se on käytössä:
const throttled = useThrottle(callback, 250); → const { throttled } = useThrottle(callback, 250);const debounced = useDebounce(callback, 250); → const { debounced } = useDebounce(callback, 250);cancel-funktio useEffectin cleanup:sta (kutsutaan nyt hookin toimesta automaattisesti).dist/css/legacy/legacy-utils.min.css-tiedostosta tulleet Bootstrapin CSS-apuluokat nykyisillä CSS-apuluokilla tai muilla vastaavilla.
legacy-utils.min.css-tiedoston voi kopioida sovellukseen KDS:n vanhemmasta versiosta, jolloin muutoksia ei tarvita.dist/css/themes/kela.min.css tai dist/css/themes/kanta.min.css tulleet teemamuuttujat uusilla vastaavilla, jos niitä on käytetty sovelluksessa.dist/css/legacy/legacy-variables-kanta.min.css ja dist/css/legacy/legacy-variables-kela.min.css.util-prop className-propilla, jos se on käytössä apuluokkien välittämiseen.interface → type tyypitysmuutoksen aiheuttamat virheet komponenttien exportoiduissa tyypityksissä, jos niitä on hyödynnetty tai laajennettu sovelluksessa.Page-komponentti:
Page-komponentissa olleen kohdistuselementin toteuttamiseen.navLinks-prop lapsielementeillä (children).SidebarNavItem ja SidebarNavHeading Nav-komponenteilla.sticky-prop arvoon true, jos haluat pitää ne jatkossakin sisällön päällä kelluvina.MainBarSearch-komponentti MainBarSearchV2-komponentilla.MainBarAction-komponentin labelUtil-prop labelClassName-propilla.TitleBarAction-komponentin labelUtil-prop labelClassName-propilla.DropdownToggle-komponentin labelUtil-prop labelClassName-propilla, silloin kuin DropdownToggle käyttää kyseisiä komponentteja as-propilla.type-prop seuraavasti:
type="info" → variant="primary" icon={<IconQuestionCircle />}type="notice" → variant="danger" icon={<IconExclamationCircle />}type="example" → variant="warning" icon={<IconBulb />}deco-hakemistosta.DatePicker- ja DateRangePicker-komponentit DatePickerV2- ja DateRangePickerV2-komponenteilla.value- ja defaultValue-oletusarvoista etunollat, esim. date-fns format(new Date(), "d.M.yyyy").showLeadingZeros={true}, jos päivämäärien etunollat halutaan pitää käytössä.role="group".as="section" ja aria-labelledby, jotka tulevat nyt oletuksena.headingAs-propilla sivun rakenteen mukainen otsikkotaso (h1-h6) ja muuta sen sisällä olevat elementit span-elementeiksi.
AccordionToggle:n sisällä on käytetty otsikkoa, tulee se muuttaa malliin <Heading as="span" size={3}>, jolloin size määrittää visuaalisen koon ja as on aina span-elementti.collapseTitleAs-propilla sivun rakenteen mukainen otsikkotaso (h1-h6).headingAs-propilla sivun rakenteen mukainen otsikkotaso (h1-h6).select ja multiline, element-propilla, jolle annetaan arvoksi input, textarea tai select.onChange-käsittelijän tulee nyt vastata renderöitävää elementtiä (element="textarea" → onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => setValue(e.target.value)}).copyrightText, links ja isLegacy.useSort(data, locale, options) → useSort(data, { locale: "fi", options }).data as MyData[] konversiot voi poistaa.IconLeftArrowCircle → IconArrowCircleLeftIconRightArrowCircle → IconArrowCircleRightIconLaptopClock → IconLaptopLockother-hakemisto) kuvitusikoneilla (deco-hakemisto) alla olevan taulukon mukaisesti.size="xs" → size="relative" arvolla, jos xs-arvo muuttaa ikonin tai kuvakkeen kokoa.| Poistuva kuvitusikoni | Korvaava kuvitusikoni | Korvaava käyttöliittymäkuvake |
|---|---|---|
| ArrowLeftCircle | ArrowCircleLeft | |
| ArrowRightCircle | ArrowCircleRight | |
| Attachment | Attachment | |
| Bell | Bell | |
| BellCircle | BellCircle | |
| Bicycle | Bicycle | TransportBike |
| Brochyre | Brochure | |
| Bus | - | TransportBus |
| Calendar | CalendarTime | |
| Calendar2 | Calendar | |
| Car | Car | |
| Chat | ChatMessaging | |
| Chatbot | Chatbot | |
| CheckCircle | CheckmarkCircle | |
| Clock | Clock | |
| Cog | Settings | |
| Envelope | Envelope | |
| Envelope2 | EnvelopeOpen | |
| EnvelopeCircle | EnvelopeCircle | |
| ErCircle | HealthMetrics | |
| Exclamation | ExclamationCircle | |
| FamilyCircle | FamilyCircle | |
| FaqCircle | PaperQuestionCircle | |
| Ferry | - | TransportFerry |
| Film | LaptopVideo | |
| Flag | Flag | |
| Globe | Global | |
| GlobeCircle | Global | |
| HandCircle | - | - |
| HandshakeCircle | - | - |
| Heart2Circle | HandHeart | |
| HeartCircle | HeartCircle | |
| Home | House | |
| Home2 | House / Couple / Family | |
| InfoCircle | InfoCircle | |
| Kela | Kela | |
| KelaCircle | KelaCircle | |
| KelaPopup | Kela | |
| Laptop | LaptopQuestion | |
| Laptop2 | Laptop | |
| Laptop2Circle | LaptopCircle | |
| LightBulb | Bulb | |
| LocationDot | - | - |
| LocationKela | - | - |
| LocationMarker | - | - |
| LocationServicePoint | - | - |
| Lock | Locked | |
| LockOpen | LockOpen | |
| Math | Math | |
| MathCircle | MathCircle | |
| Metro | - | TransportMetro |
| MobileCircle | MobileDeviceCircle | |
| MoneyCircle | MoneyCircle | |
| NetworkCircle | Network | |
| Paper | Paper | |
| Papers | Papers | |
| Person | Person | |
| Persons | Persons | |
| PersonsCircle | PersonsCircle | |
| PiggyBankCircle | Purse | |
| PillCircle | PillsCircle | |
| Placeholder | Placeholder | - |
| PlasterCircle | HealthcareCircle | |
| QuestionCircle | QuestionCircle | |
| QuotesCircle | QuotesCircle | |
| Send | SendPlane | |
| SendBoxed | SendPlane | |
| SocialNetworkCircle | Partnership | |
| StetoscopeCircle | PersonDoctor | |
| TelcoCircle | LaptopMeeting | |
| Telephone | Telephone | |
| TelephoneCircle | TelephoneCircle | |
| ThumbUpCircle | ThumbUp | |
| Train | - | TransportTrain |
| Tram | - | TransportTram |
| VanCircle | VanCircle | |
| VideoCircle | LaptopVideo | |
| Walk | Walk | |
| Write | Write |
maxWidth="xl"-prop, jos haluat pitää elementin leveyden ennallaan.maxWidth="xl"-prop, jos haluat pitää elementin leveyden ennallaan.logo-proppia käyttäen.flush-prop.useLegacyMenu-prop ja kääri dropdownin sisältö DropdownMenuGroup-komponenttiin, joka tekee ul-listan.$breakpoint-xs, BREAKPOINT_XS, --kds-t-breakpoint-xs design-muuttujat, base-muuttujalla (xs = 428, base = 0), jos käytössä.--kds-dropdown-z-index-teemamuuttuja --kds-z-dropdown-muuttujalla, jos käytössä.form-prop, gx={2}-propilla.horizontal="xs" => horizontal, asettaaksesi painikkeet jokaisella näyttökoolla vierekkäin.borderless-prop, appearance="borderless"-propilla.variant="secondary" => variant="primary-medium"variant="light" => variant="primary-light"highlightValue => variant="danger-light"small, medium, large ja xlarge propit size="sm|md|lg|xl"-propeilla.