{"ref":"artifact:sap-samples-ui5con-2025-theming-workshop","page":"/artifacts/sap-samples-ui5con-2025-theming-workshop","json":"/artifacts/sap-samples-ui5con-2025-theming-workshop.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-ui5con-2025-theming-workshop","name":"SAP-samples/ui5con-2025-theming-workshop","artifact_type":"sample","ecosystem":"ui5","use_as":"starting-point","domain":"ui-and-frontend-bridge","origin_ring":"sap-official","description":{"one_line":"Starting points for a UI5con 2025 workshop that replace an app's theming logic with a parameterised skeleton CSS built on UI5's theming custom properties, CSS relative colours and container style queries.","short":"UI5con 2025 workshop on theming with UI5's CSS custom properties","what_it_solves":"Three branches give three flawed starting points, no theming solution, `Parameters.get()`, and a library.less bundled with the UI5 build, and the task is to replace each with one skeleton CSS driven by the custom properties available in UI5's sap.ui.core library.css since UI5 1.127, using CSS relative colours for lighten and darken functions and container style queries to react to the active theme. A set of OPA5 tests checks the result against a minimum scope covering background colour, opacity and contrast across the sap_horizon themes, and each branch has a `-solution` counterpart to compare against. A bonus task extends support to UI5 below 1.127 by adding a dependency on `@sap-theming/theming-base-content`."},"links":{"repo":"https://github.com/SAP-samples/ui5con-2025-theming-workshop"},"type_properties":{"form":{"value":"workshop","sources":[{"url":"https://github.com/SAP-samples/ui5con-2025-theming-workshop","title":"SAP-samples/ui5con-2025-theming-workshop — README","checked":"2026-10-18","quote":"This repository contains different starting points for the workshop \"Build Your Own Themable Product With Theming Parameters And Modern CSS\""}]}},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:ui5-theming"],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-13"},"contributors":["actor:dominikschreiber"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"2 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-06, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"fair","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"README 7 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":0,"forks":1,"open_issues":0,"archived":false,"pushed_at":"2026-06-03","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2025-06-27T06:12:52Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":7561,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2025-06-27","last_commit":"2026-06-03","commits":3,"contributors":2,"readme_path":"README.md","readme_sha":"7afb81ce053799ad7ba08c46b639e85034986c6e","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:dominikschreiber","name":"Dominik Schreiber","json":"/actors/dominikschreiber.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}