1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
use rdxl::xtype;
pub mod html;

xtype!(
  /** IndexTabs encapsulates multiple panels of content with tabs to select
      an active panel */
  <!IndexTabs><!IndexTab name:String><?/></IndexTab></IndexTabs>
);
xtype!(
  /** Collapse encapsulates a single panel of content that slides up or down 
      as inline content */
  <!Collapse><!CollapseHead name:String><?/></CollapseHead><!CollapseBody name:String><?/></CollapseBody></Collapse>
);
xtype!(
  /** Dropdown implements a dropdown menu */
  <!DropDown><!DropDownHead name:String><?/></DropDownHead><!DropDownBody name:String><?/></DropDownBody></DropDown>
);
xtype!(
  /** Table encapsulates tabular data and elements */
  <!Table><!TableRow><!TableCell><?/></TableCell></TableRow></Table>
);
xtype!(
  /** List encapsulates list data and elements */
  <!List><!ListItem><?/></ListItem></List>
);
xtype!(
  /** Card renders an image with associated with elements */
  <!Card><?Image/><?/></Card>
);
xtype!(
  /** Carousel renders a revolving carousel of images or cards */
  <!Carousel><!CarouselSlide><?Image/><?Card/></CarouselSlide></Carousel>
);

xtype!(
  /** BarGraph renders enclosed data as a bar graph */
  <!BarGraph xunit:String yunit:String><!BarGraphItem x:String y:u64/></BarGraph>
);
xtype!(
  /** Histogram renders enclosed data as a histogram */
  <!Histogram xunit:String yunit:String><!HistogramItem xmin:u64 xmax:u64 y:u64/></Histogram>
);
xtype!(
  /** PieChart renders enclosed data as a pie chart */
  <!PieChart><!PieChartItem xtag:String y:u64/></PieChart>
);
xtype!(
  /** LineGraph renders enclosed data as a line graph */
  <!LineGraph xunit:String yunit:String><!LineGraphLine f:String/></LineGraph>
);

xtype!(
  /** Alert renders an alert message or element at the top of the page */
  <!Alert message:String><?/></Alert>
);
xtype!(
  /** Tooltip renders a tip message or element at the cursor */
  <!Tooltip message:String><?/></Tooltip>
);
xtype!(
  /** BreadCrumb renders a series of crumbs leading to the current location path */
  <!BreadCrumb active:String><!BreadCrumbItem name:String><?/></BreadCrumbItem></BreadCrumb>
);

xtype!(
  /** InputButton renders a button element */
  <!InputButton name:String/>
);
xtype!(
  /** InputButtonGroup renders a group of button elements */
  <!InputButtonGroup><?InputButton/></InputButtonGroup>
);
xtype!(
  /** InputCheckbox renders a checkbox element */
  <!InputCheckbox name:String/>
);
xtype!(
  /** InputColor renders a color picker element */
  <!InputColor name:String/>
);
xtype!(
  /** InputDate renders a date input element */
  <!InputDate name:String/>
);
xtype!(
  /** InputDatetime renders a datetime input element */
  <!InputDatetime name:String/>
);
xtype!(
  /** InputEmail renders an email input element */
  <!InputEmail name:String/>
);
xtype!(
  /** InputFile renders a file input element */
  <!InputFile name:String/>
);
xtype!(
  /** InputImage renders an image input element */
  <!InputImage name:String/>
);
xtype!(
  /** InputMonth renders a month input element */
  <!InputMonth name:String/>
);
xtype!(
  /** InputNumber renders a number input element */
  <!InputNumber name:String/>
);
xtype!(
  /** InputPassword renders a password input element */
  <!InputPassword name:String/>
);
xtype!(
  /** InputRadio renders a group of radio input elements */
  <!InputRadio name:String><!InputRadioOption value:String/></InputRadio>
);
xtype!(
  /** InputRange renders a range slider element */
  <!InputRange name:String min:u64 max:u64/>
);
xtype!(
  /** InputSearch renders a search input element */
  <!InputSearch name:String/>
);
xtype!(
  /** InputSubmit renders a form submit element */
  <!InputSubmit/>
);
xtype!(
  /** InputTelephoneNumber renders a telephone input element */
  <!InputTelephoneNumber name:String/>
);
xtype!(
  /** InputText renders a text input element */
  <!InputText name:String/>
);
xtype!(
  /** InputTime renders a time input element */
  <!InputTime name:String/>
);
xtype!(
  /** InputUrl renders a url input element */
  <!InputUrl name:String/>
);
xtype!(
  /** InputWeek renders a week input element */
  <!InputWeek name:String/>
);

xtype!(
  /** ProgressBar renders a progress bar */
  <!ProgressBar numerator:u64 denominator:u64 unit:String/>
);
xtype!(
  /** Image renders an inline image */
  <!Image name:String/>
);
xtype!(
  /** Icon renders an inline icon */
  <!Icon name:String/>
);
xtype!(
  /** Badge renders an inline badge */
  <!Badge name:String/>
);

xtype!(
  /** Person encapsulates the concept of personhood */
  <!Person name:Name/>
);
xtype!(
  /** Name encapsulates the concept of the name of something */
  <!Name name:String/>
);
xtype!(
  /** Title encapsulates the concept of the title of something */
  <!Title title:String/>
);
xtype!(
  /** Email associates an email address with something */
  <!Email email:String/>
);
xtype!(
  /** PhoneNumber associates a phone number with something */
  <!PhoneNumber number:String/>
);
xtype!(
  /** Website associates a website with something */
  <!Website url:String/>
);
xtype!(
  /** Contact aggregates the contact information of a person */
  <!Contact person:Person>
    <?Title/>
    <?Email/>
    <?PhoneNumber/>
    <?Website/>
 </Contact>
);
xtype!(
  /** ContactList aggregates contact information of people */
  <!ContactList><?Contact/></ContactList>
);

xtype!(
  /** City encapsulates the concept of a city */
  <!City name:String/>
);
xtype!(
  /** State encapsulates the concept of a state */
  <!State name:String/>
);
xtype!(
  /** Country encapsulates the concept of a country */
  <!Country name:String/>
);
xtype!(
  /** ZipCode encapsulates the concept of a zip code */
  <!ZipCode code:String/>
);
xtype!(
  /** PostalCode encapsulates the concept of a postal code */
  <!PostalCode><?ZipCode/></PostalCode>
);

xtype!(
  /** Address encapsulates the concept of an address */
  <!Address addressee:String>
    <!AddressLine1 value:String/>
    <!AddressLine2 value:String/>
    <?City/>
    <?State/>
    <?PostalCode/>
    <?Country/>
 </Address>
);
xtype!(
  /** AddressList encapsulates a list of addresses */
  <!AddressList><?Address/></AddressList>
);

xtype!(
  /** Date encapsulates the concept of a dated day */
  <!Date year:u64 month:u64 day:u64/>
);
xtype!(
  /** Time encapsulates the concept of a time of day */
  <!Time hour:u64 minute:u64 second:u64/>
);
xtype!(
  /** DateTime encapsulates the concept of a dated day and a time of day */
  <!DateTime date:Date time:Time/>
);