diff --git a/UI/HtmlControls/HtmlControls.Shared/MainPage.xaml b/UI/HtmlControls/HtmlControls.Shared/MainPage.xaml
index ba73cdf74..47aca9356 100644
--- a/UI/HtmlControls/HtmlControls.Shared/MainPage.xaml
+++ b/UI/HtmlControls/HtmlControls.Shared/MainPage.xaml
@@ -8,25 +8,50 @@
xmlns:html="using:HtmlControls"
mc:Ignorable="d">
-
- HtmlTimePicker <input type='time' />
-
-
+
+
+ HtmlTimePicker <input type='time' />
+
+
- HtmlDatePicker <input type='date' />
-
-
+ HtmlDatePicker <input type='date' />
+
+
- HtmlNumberInput <input type='number' />
-
-
+ HtmlNumberInput <input type='number' />
+
+
- HtmlColorPicker <input type='color' />
-
-
+ HtmlColorPicker <input type='color' />
+
+
- HtmlRangeInput <input type='range' />
-
-
-
+ HtmlRangeInput <input type='range' />
+
+
+
+ HtmlProgress <progress/>
+
+
+ HtmlMeter <meter/>
+
+
+ HtmlHxText <h1 />, <h2 />, <h3 />, <h4 />
+
+
+
+
+
+
+ HtmlSelect / HtmlOption <select />, <option />
+
+
+ Option 1
+ Option 2
+ Option 3
+
+
+
+
+
diff --git a/UI/HtmlControls/HtmlControls/HtmlH1Text.cs b/UI/HtmlControls/HtmlControls/HtmlH1Text.cs
new file mode 100644
index 000000000..6a9da3c1f
--- /dev/null
+++ b/UI/HtmlControls/HtmlControls/HtmlH1Text.cs
@@ -0,0 +1,159 @@
+using Windows.Foundation;
+using Windows.UI;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Media;
+using Uno.Extensions;
+using Uno.UI.Runtime.WebAssembly;
+
+namespace HtmlControls
+{
+ [HtmlElement("h1")]
+ public partial class HtmlH1Text : FrameworkElement
+ {
+ public HtmlH1Text()
+ {
+ // Set a background to ensure pointer events are allowed
+ Background = new SolidColorBrush(Colors.Transparent);
+
+ // Avoid flicking while we're measuring the element
+ this.SetCssStyle("overflow", "hidden");
+ }
+
+ public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
+ "Text", typeof(string), typeof(HtmlH1Text), new PropertyMetadata("", propertyChangedCallback: OnTextChanged));
+
+ public string Text
+ {
+ get => (string)GetValue(TextProperty);
+ set => SetValue(TextProperty, value);
+ }
+
+ private static void OnTextChanged(DependencyObject o, DependencyPropertyChangedEventArgs args)
+ {
+ if (o is HtmlH1Text element && args.NewValue is string text)
+ {
+ element.SetHtmlContent(text);
+ element.InvalidateMeasure();
+ }
+ }
+
+ protected override Size MeasureOverride(Size availableSize)
+ {
+ // Delegate measurement to Html