<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://kocik.dev</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://kocik.dev/blog</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://kocik.dev/blog/ai-writes-css-like-its-2015-how-to-fix-it</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/ai-writes-css-like-its-2015-how-to-fix-it" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/ai-pisze-css-jak-w-2015-roku-jak-to-zmienic" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/ki-schreibt-css-wie-2015-so-aenderst-du-das" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/ki-skriver-css-som-i-2015-slik-endrer-du-det" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/react-use-and-suspense-streaming-data-without-waterfalls</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/react-use-and-suspense-streaming-data-without-waterfalls" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/react-use-i-suspense-streaming-danych-bez-waterfalli" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/react-use-und-suspense-daten-streaming-ohne-wasserfaelle" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/react-use-og-suspense-datastroming-uten-fossefall" />
<lastmod>2026-10-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/scroll-driven-animations-animation-timeline-instead-of-intersectionobserver</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/scroll-driven-animations-animation-timeline-instead-of-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/scroll-driven-animations-animation-timeline-zamiast-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/scroll-animationen-animation-timeline-statt-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/rulleanimasjoner-animation-timeline-istedenfor-intersectionobserver" />
<lastmod>2026-10-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/view-transitions-in-nextjs-page-animations-without-a-library</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/view-transitions-in-nextjs-page-animations-without-a-library" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/view-transitions-w-next-js-animacje-przejsc-miedzy-stronami-bez-biblioteki" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/view-transitions-nextjs-seitenanimationen-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/view-transitions-nextjs-sideanimasjoner-uten-bibliotek" />
<lastmod>2026-09-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/inp-and-scheduler-yield-saving-the-main-thread</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/inp-and-scheduler-yield-saving-the-main-thread" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/core-web-vitals-inp-i-scheduler-yield-jak-ratowac-glowny-watek" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/core-web-vitals-inp-und-scheduler-yield-hauptthread-retten" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/core-web-vitals-inp-og-scheduler-yield-redder-hovedtraden" />
<lastmod>2026-09-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/content-visibility-offscreen-rendering-no-virtualization</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/content-visibility-offscreen-rendering-no-virtualization" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/content-visibility-renderowanie-offscreen-bez-wirtualizacji-listy" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/content-visibility-offscreen-rendering-ohne-virtualisierung" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/content-visibility-uten-listevirtualisering" />
<lastmod>2026-09-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/popover-api-and-native-dialog-end-of-hand-built-modals</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/popover-api-and-native-dialog-end-of-hand-built-modals" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/popover-api-i-natywny-dialog-koniec-modali-budowanych-recznie-od-zera" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/popover-api-und-natives-dialog-schluss-mit-modals" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/popover-api-og-nativ-dialog-slutt-pa-manuelt-bygde-modaler" />
<lastmod>2026-09-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/optimistic-ui-in-react-an-interface-that-lies</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/optimistic-ui-in-react-an-interface-that-lies" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/optimistic-ui-w-react-interfejs-ktory-swiadomie-klamie" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/optimistic-ui-in-react-oberflaeche-die-bewusst-luegt" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/optimistic-ui-i-react-grensesnittet-som-bevisst-lyver" />
<lastmod>2026-08-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/css-layer-how-cascade-layers-end-the-specificity-war</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/css-layer-how-cascade-layers-end-the-specificity-war" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/css-layer-jak-cascade-layers-koncza-wojne-o-specyficznosc" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-layer-cascade-layers-beenden-spezifitaets-krieg" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/css-layer-cascade-layers-avslutter-spesifisitetskrigen" />
<lastmod>2026-08-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/nextjs-server-actions-forms-that-work-before-js-loads</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/nextjs-server-actions-forms-that-work-before-js-loads" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/next-js-server-actions-formularz-ktory-dziala-zanim-zaladuje-sie-js" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/next-js-server-actions-formular-vor-javascript" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/next-js-server-actions-skjema-som-fungerer-for-js-er-lastet" />
<lastmod>2026-08-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/css-has-the-parent-that-knows-whats-inside</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/css-has-the-parent-that-knows-whats-inside" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/css-has-rodzic-ktory-wie-co-sie-dzieje-w-srodku" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-has-elternteil-der-weiss-was-innen-passiert" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/css-has-forelderen-som-vet-hva-som-skjer-inni" />
<lastmod>2026-08-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/container-queries-a-component-that-knows-its-container</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/container-queries-a-component-that-knows-its-container" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/container-queries-komponent-ktory-zna-swoj-kontener" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/container-queries-komponente-die-ihren-container-kennt" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/container-queries-komponenten-som-kjenner-sin-beholder" />
<lastmod>2026-08-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/building-accessible-components-for-screen-readers</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/building-accessible-components-for-screen-readers" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/budowanie-komponentow-dostepnych-dla-czytnikow-ekranu" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/barrierefreie-komponenten-screenreader" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/tilgjengelige-komponenter-skjermlesere" />
<lastmod>2025-02-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/animated-microinteractions-in-ecommerce</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/animated-microinteractions-in-ecommerce" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/animowane-mikrointerakcje-w-ecommerce-jak-wplywaja-na-ux" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/animierte-mikrointeraktionen-im-e-commerce" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/animerte-mikrointeraksjoner-i-netthandel" />
<lastmod>2024-01-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/blog/using-css-houdini-custom-effects</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/using-css-houdini-custom-effects" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/using-css-houdini-custom-effects" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-houdini-benutzerdefinierte-effekte" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/bruke-css-houdini-tilpassede-effekter" />
<lastmod>2024-01-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/ai-pisze-css-jak-w-2015-roku-jak-to-zmienic</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/ai-writes-css-like-its-2015-how-to-fix-it" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/ai-pisze-css-jak-w-2015-roku-jak-to-zmienic" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/ki-schreibt-css-wie-2015-so-aenderst-du-das" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/ki-skriver-css-som-i-2015-slik-endrer-du-det" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/react-use-i-suspense-streaming-danych-bez-waterfalli</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/react-use-and-suspense-streaming-data-without-waterfalls" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/react-use-i-suspense-streaming-danych-bez-waterfalli" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/react-use-und-suspense-daten-streaming-ohne-wasserfaelle" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/react-use-og-suspense-datastroming-uten-fossefall" />
<lastmod>2026-10-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/scroll-driven-animations-animation-timeline-zamiast-intersectionobserver</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/scroll-driven-animations-animation-timeline-instead-of-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/scroll-driven-animations-animation-timeline-zamiast-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/scroll-animationen-animation-timeline-statt-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/rulleanimasjoner-animation-timeline-istedenfor-intersectionobserver" />
<lastmod>2026-10-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/view-transitions-w-next-js-animacje-przejsc-miedzy-stronami-bez-biblioteki</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/view-transitions-in-nextjs-page-animations-without-a-library" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/view-transitions-w-next-js-animacje-przejsc-miedzy-stronami-bez-biblioteki" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/view-transitions-nextjs-seitenanimationen-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/view-transitions-nextjs-sideanimasjoner-uten-bibliotek" />
<lastmod>2026-09-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/core-web-vitals-inp-i-scheduler-yield-jak-ratowac-glowny-watek</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/inp-and-scheduler-yield-saving-the-main-thread" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/core-web-vitals-inp-i-scheduler-yield-jak-ratowac-glowny-watek" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/core-web-vitals-inp-und-scheduler-yield-hauptthread-retten" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/core-web-vitals-inp-og-scheduler-yield-redder-hovedtraden" />
<lastmod>2026-09-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/content-visibility-renderowanie-offscreen-bez-wirtualizacji-listy</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/content-visibility-offscreen-rendering-no-virtualization" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/content-visibility-renderowanie-offscreen-bez-wirtualizacji-listy" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/content-visibility-offscreen-rendering-ohne-virtualisierung" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/content-visibility-uten-listevirtualisering" />
<lastmod>2026-09-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/popover-api-i-natywny-dialog-koniec-modali-budowanych-recznie-od-zera</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/popover-api-and-native-dialog-end-of-hand-built-modals" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/popover-api-i-natywny-dialog-koniec-modali-budowanych-recznie-od-zera" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/popover-api-und-natives-dialog-schluss-mit-modals" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/popover-api-og-nativ-dialog-slutt-pa-manuelt-bygde-modaler" />
<lastmod>2026-09-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/optimistic-ui-w-react-interfejs-ktory-swiadomie-klamie</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/optimistic-ui-in-react-an-interface-that-lies" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/optimistic-ui-w-react-interfejs-ktory-swiadomie-klamie" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/optimistic-ui-in-react-oberflaeche-die-bewusst-luegt" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/optimistic-ui-i-react-grensesnittet-som-bevisst-lyver" />
<lastmod>2026-08-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/css-layer-jak-cascade-layers-koncza-wojne-o-specyficznosc</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/css-layer-how-cascade-layers-end-the-specificity-war" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/css-layer-jak-cascade-layers-koncza-wojne-o-specyficznosc" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-layer-cascade-layers-beenden-spezifitaets-krieg" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/css-layer-cascade-layers-avslutter-spesifisitetskrigen" />
<lastmod>2026-08-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/next-js-server-actions-formularz-ktory-dziala-zanim-zaladuje-sie-js</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/nextjs-server-actions-forms-that-work-before-js-loads" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/next-js-server-actions-formularz-ktory-dziala-zanim-zaladuje-sie-js" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/next-js-server-actions-formular-vor-javascript" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/next-js-server-actions-skjema-som-fungerer-for-js-er-lastet" />
<lastmod>2026-08-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/css-has-rodzic-ktory-wie-co-sie-dzieje-w-srodku</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/css-has-the-parent-that-knows-whats-inside" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/css-has-rodzic-ktory-wie-co-sie-dzieje-w-srodku" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-has-elternteil-der-weiss-was-innen-passiert" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/css-has-forelderen-som-vet-hva-som-skjer-inni" />
<lastmod>2026-08-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/container-queries-komponent-ktory-zna-swoj-kontener</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/container-queries-a-component-that-knows-its-container" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/container-queries-komponent-ktory-zna-swoj-kontener" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/container-queries-komponente-die-ihren-container-kennt" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/container-queries-komponenten-som-kjenner-sin-beholder" />
<lastmod>2026-08-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/budowanie-komponentow-dostepnych-dla-czytnikow-ekranu</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/building-accessible-components-for-screen-readers" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/budowanie-komponentow-dostepnych-dla-czytnikow-ekranu" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/barrierefreie-komponenten-screenreader" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/tilgjengelige-komponenter-skjermlesere" />
<lastmod>2025-02-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/animowane-mikrointerakcje-w-ecommerce-jak-wplywaja-na-ux</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/animated-microinteractions-in-ecommerce" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/animowane-mikrointerakcje-w-ecommerce-jak-wplywaja-na-ux" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/animierte-mikrointeraktionen-im-e-commerce" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/animerte-mikrointeraksjoner-i-netthandel" />
<lastmod>2024-01-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/pl-PL/blog/using-css-houdini-custom-effects</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/using-css-houdini-custom-effects" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/using-css-houdini-custom-effects" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-houdini-benutzerdefinierte-effekte" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/bruke-css-houdini-tilpassede-effekter" />
<lastmod>2024-01-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/ki-schreibt-css-wie-2015-so-aenderst-du-das</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/ai-writes-css-like-its-2015-how-to-fix-it" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/ai-pisze-css-jak-w-2015-roku-jak-to-zmienic" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/ki-schreibt-css-wie-2015-so-aenderst-du-das" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/ki-skriver-css-som-i-2015-slik-endrer-du-det" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/react-use-und-suspense-daten-streaming-ohne-wasserfaelle</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/react-use-and-suspense-streaming-data-without-waterfalls" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/react-use-i-suspense-streaming-danych-bez-waterfalli" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/react-use-und-suspense-daten-streaming-ohne-wasserfaelle" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/react-use-og-suspense-datastroming-uten-fossefall" />
<lastmod>2026-10-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/scroll-animationen-animation-timeline-statt-intersectionobserver</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/scroll-driven-animations-animation-timeline-instead-of-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/scroll-driven-animations-animation-timeline-zamiast-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/scroll-animationen-animation-timeline-statt-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/rulleanimasjoner-animation-timeline-istedenfor-intersectionobserver" />
<lastmod>2026-10-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/view-transitions-nextjs-seitenanimationen-ohne-bibliothek</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/view-transitions-in-nextjs-page-animations-without-a-library" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/view-transitions-w-next-js-animacje-przejsc-miedzy-stronami-bez-biblioteki" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/view-transitions-nextjs-seitenanimationen-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/view-transitions-nextjs-sideanimasjoner-uten-bibliotek" />
<lastmod>2026-09-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/core-web-vitals-inp-und-scheduler-yield-hauptthread-retten</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/inp-and-scheduler-yield-saving-the-main-thread" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/core-web-vitals-inp-i-scheduler-yield-jak-ratowac-glowny-watek" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/core-web-vitals-inp-und-scheduler-yield-hauptthread-retten" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/core-web-vitals-inp-og-scheduler-yield-redder-hovedtraden" />
<lastmod>2026-09-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/content-visibility-offscreen-rendering-ohne-virtualisierung</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/content-visibility-offscreen-rendering-no-virtualization" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/content-visibility-renderowanie-offscreen-bez-wirtualizacji-listy" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/content-visibility-offscreen-rendering-ohne-virtualisierung" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/content-visibility-uten-listevirtualisering" />
<lastmod>2026-09-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/popover-api-und-natives-dialog-schluss-mit-modals</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/popover-api-and-native-dialog-end-of-hand-built-modals" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/popover-api-i-natywny-dialog-koniec-modali-budowanych-recznie-od-zera" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/popover-api-und-natives-dialog-schluss-mit-modals" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/popover-api-og-nativ-dialog-slutt-pa-manuelt-bygde-modaler" />
<lastmod>2026-09-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/optimistic-ui-in-react-oberflaeche-die-bewusst-luegt</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/optimistic-ui-in-react-an-interface-that-lies" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/optimistic-ui-w-react-interfejs-ktory-swiadomie-klamie" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/optimistic-ui-in-react-oberflaeche-die-bewusst-luegt" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/optimistic-ui-i-react-grensesnittet-som-bevisst-lyver" />
<lastmod>2026-08-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/css-layer-cascade-layers-beenden-spezifitaets-krieg</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/css-layer-how-cascade-layers-end-the-specificity-war" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/css-layer-jak-cascade-layers-koncza-wojne-o-specyficznosc" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-layer-cascade-layers-beenden-spezifitaets-krieg" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/css-layer-cascade-layers-avslutter-spesifisitetskrigen" />
<lastmod>2026-08-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/next-js-server-actions-formular-vor-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/nextjs-server-actions-forms-that-work-before-js-loads" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/next-js-server-actions-formularz-ktory-dziala-zanim-zaladuje-sie-js" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/next-js-server-actions-formular-vor-javascript" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/next-js-server-actions-skjema-som-fungerer-for-js-er-lastet" />
<lastmod>2026-08-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/css-has-elternteil-der-weiss-was-innen-passiert</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/css-has-the-parent-that-knows-whats-inside" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/css-has-rodzic-ktory-wie-co-sie-dzieje-w-srodku" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-has-elternteil-der-weiss-was-innen-passiert" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/css-has-forelderen-som-vet-hva-som-skjer-inni" />
<lastmod>2026-08-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/container-queries-komponente-die-ihren-container-kennt</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/container-queries-a-component-that-knows-its-container" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/container-queries-komponent-ktory-zna-swoj-kontener" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/container-queries-komponente-die-ihren-container-kennt" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/container-queries-komponenten-som-kjenner-sin-beholder" />
<lastmod>2026-08-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/barrierefreie-komponenten-screenreader</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/building-accessible-components-for-screen-readers" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/budowanie-komponentow-dostepnych-dla-czytnikow-ekranu" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/barrierefreie-komponenten-screenreader" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/tilgjengelige-komponenter-skjermlesere" />
<lastmod>2025-02-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/animierte-mikrointeraktionen-im-e-commerce</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/animated-microinteractions-in-ecommerce" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/animowane-mikrointerakcje-w-ecommerce-jak-wplywaja-na-ux" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/animierte-mikrointeraktionen-im-e-commerce" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/animerte-mikrointeraksjoner-i-netthandel" />
<lastmod>2024-01-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/de-DE/blog/css-houdini-benutzerdefinierte-effekte</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/using-css-houdini-custom-effects" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/using-css-houdini-custom-effects" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-houdini-benutzerdefinierte-effekte" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/bruke-css-houdini-tilpassede-effekter" />
<lastmod>2024-01-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/ki-skriver-css-som-i-2015-slik-endrer-du-det</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/ai-writes-css-like-its-2015-how-to-fix-it" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/ai-pisze-css-jak-w-2015-roku-jak-to-zmienic" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/ki-schreibt-css-wie-2015-so-aenderst-du-das" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/ki-skriver-css-som-i-2015-slik-endrer-du-det" />
<lastmod>2026-11-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/react-use-og-suspense-datastroming-uten-fossefall</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/react-use-and-suspense-streaming-data-without-waterfalls" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/react-use-i-suspense-streaming-danych-bez-waterfalli" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/react-use-und-suspense-daten-streaming-ohne-wasserfaelle" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/react-use-og-suspense-datastroming-uten-fossefall" />
<lastmod>2026-10-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/rulleanimasjoner-animation-timeline-istedenfor-intersectionobserver</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/scroll-driven-animations-animation-timeline-instead-of-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/scroll-driven-animations-animation-timeline-zamiast-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/scroll-animationen-animation-timeline-statt-intersectionobserver" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/rulleanimasjoner-animation-timeline-istedenfor-intersectionobserver" />
<lastmod>2026-10-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/view-transitions-nextjs-sideanimasjoner-uten-bibliotek</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/view-transitions-in-nextjs-page-animations-without-a-library" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/view-transitions-w-next-js-animacje-przejsc-miedzy-stronami-bez-biblioteki" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/view-transitions-nextjs-seitenanimationen-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/view-transitions-nextjs-sideanimasjoner-uten-bibliotek" />
<lastmod>2026-09-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/core-web-vitals-inp-og-scheduler-yield-redder-hovedtraden</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/inp-and-scheduler-yield-saving-the-main-thread" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/core-web-vitals-inp-i-scheduler-yield-jak-ratowac-glowny-watek" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/core-web-vitals-inp-und-scheduler-yield-hauptthread-retten" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/core-web-vitals-inp-og-scheduler-yield-redder-hovedtraden" />
<lastmod>2026-09-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/content-visibility-uten-listevirtualisering</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/content-visibility-offscreen-rendering-no-virtualization" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/content-visibility-renderowanie-offscreen-bez-wirtualizacji-listy" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/content-visibility-offscreen-rendering-ohne-virtualisierung" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/content-visibility-uten-listevirtualisering" />
<lastmod>2026-09-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/popover-api-og-nativ-dialog-slutt-pa-manuelt-bygde-modaler</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/popover-api-and-native-dialog-end-of-hand-built-modals" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/popover-api-i-natywny-dialog-koniec-modali-budowanych-recznie-od-zera" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/popover-api-und-natives-dialog-schluss-mit-modals" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/popover-api-og-nativ-dialog-slutt-pa-manuelt-bygde-modaler" />
<lastmod>2026-09-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/optimistic-ui-i-react-grensesnittet-som-bevisst-lyver</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/optimistic-ui-in-react-an-interface-that-lies" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/optimistic-ui-w-react-interfejs-ktory-swiadomie-klamie" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/optimistic-ui-in-react-oberflaeche-die-bewusst-luegt" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/optimistic-ui-i-react-grensesnittet-som-bevisst-lyver" />
<lastmod>2026-08-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/css-layer-cascade-layers-avslutter-spesifisitetskrigen</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/css-layer-how-cascade-layers-end-the-specificity-war" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/css-layer-jak-cascade-layers-koncza-wojne-o-specyficznosc" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-layer-cascade-layers-beenden-spezifitaets-krieg" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/css-layer-cascade-layers-avslutter-spesifisitetskrigen" />
<lastmod>2026-08-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/next-js-server-actions-skjema-som-fungerer-for-js-er-lastet</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/nextjs-server-actions-forms-that-work-before-js-loads" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/next-js-server-actions-formularz-ktory-dziala-zanim-zaladuje-sie-js" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/next-js-server-actions-formular-vor-javascript" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/next-js-server-actions-skjema-som-fungerer-for-js-er-lastet" />
<lastmod>2026-08-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/css-has-forelderen-som-vet-hva-som-skjer-inni</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/css-has-the-parent-that-knows-whats-inside" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/css-has-rodzic-ktory-wie-co-sie-dzieje-w-srodku" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-has-elternteil-der-weiss-was-innen-passiert" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/css-has-forelderen-som-vet-hva-som-skjer-inni" />
<lastmod>2026-08-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/container-queries-komponenten-som-kjenner-sin-beholder</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/container-queries-a-component-that-knows-its-container" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/container-queries-komponent-ktory-zna-swoj-kontener" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/container-queries-komponente-die-ihren-container-kennt" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/container-queries-komponenten-som-kjenner-sin-beholder" />
<lastmod>2026-08-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/tilgjengelige-komponenter-skjermlesere</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/building-accessible-components-for-screen-readers" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/budowanie-komponentow-dostepnych-dla-czytnikow-ekranu" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/barrierefreie-komponenten-screenreader" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/tilgjengelige-komponenter-skjermlesere" />
<lastmod>2025-02-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/animerte-mikrointeraksjoner-i-netthandel</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/animated-microinteractions-in-ecommerce" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/animowane-mikrointerakcje-w-ecommerce-jak-wplywaja-na-ux" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/animierte-mikrointeraktionen-im-e-commerce" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/animerte-mikrointeraksjoner-i-netthandel" />
<lastmod>2024-01-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://kocik.dev/no-NO/blog/bruke-css-houdini-tilpassede-effekter</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://kocik.dev/blog/using-css-houdini-custom-effects" />
<xhtml:link rel="alternate" hreflang="pl-PL" href="https://kocik.dev/pl-PL/blog/using-css-houdini-custom-effects" />
<xhtml:link rel="alternate" hreflang="de-DE" href="https://kocik.dev/de-DE/blog/css-houdini-benutzerdefinierte-effekte" />
<xhtml:link rel="alternate" hreflang="no-NO" href="https://kocik.dev/no-NO/blog/bruke-css-houdini-tilpassede-effekter" />
<lastmod>2024-01-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
