or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

core-styling.mdform-validation.mdindex.mdinteractive-modules.mdlayout-system.mdui-collections.mdui-elements.mdui-views.md

ui-collections.mddocs/

0

# UI Collections

1

2

Grouped components like forms, menus, messages, and tables that work together as cohesive units to create complex interface sections.

3

4

## Capabilities

5

6

### Form

7

8

Comprehensive form layouts with integrated validation styling and field organization.

9

10

```css { .api }

11

.ui.form /* Form container */

12

13

/* Form types */

14

.ui.inverted.form /* Inverted color form */

15

.ui.loading.form /* Loading state form with dimmer */

16

.ui.success.form /* Success state form */

17

.ui.error.form /* Error state form with error list */

18

.ui.warning.form /* Warning state form */

19

20

/* Form fields */

21

.ui.form .field /* Individual field container */

22

.ui.form .fields /* Multiple field group */

23

.ui.form .inline.field /* Inline field layout */

24

.ui.form .grouped.fields /* Grouped fields with border */

25

.ui.form .equal.width.fields /* Equal width field group */

26

27

/* Field states */

28

.ui.form .required.field /* Required field marker */

29

.ui.form .disabled.field /* Disabled field */

30

.ui.form .error.field /* Error state field */

31

.ui.form .success.field /* Success state field */

32

33

/* Form elements */

34

.ui.form input /* Form input styling */

35

.ui.form textarea /* Form textarea styling */

36

.ui.form select /* Form select styling */

37

.ui.form .ui.checkbox /* Form checkbox styling */

38

.ui.form .ui.dropdown /* Form dropdown styling */

39

40

/* Form validation */

41

.ui.form .error.message /* Error message container */

42

.ui.form .success.message /* Success message container */

43

.ui.form .warning.message /* Warning message container */

44

```

45

46

**Usage Examples:**

47

48

```html

49

<!-- Basic form -->

50

<form class="ui form">

51

<div class="field">

52

<label>Name</label>

53

<input type="text" name="name" placeholder="Enter your name">

54

</div>

55

<div class="field">

56

<label>Email</label>

57

<input type="email" name="email" placeholder="Enter your email">

58

</div>

59

<div class="ui submit button">Submit</div>

60

</form>

61

62

<!-- Form with grouped fields -->

63

<form class="ui form">

64

<div class="two fields">

65

<div class="field">

66

<label>First Name</label>

67

<input type="text" placeholder="First Name">

68

</div>

69

<div class="field">

70

<label>Last Name</label>

71

<input type="text" placeholder="Last Name">

72

</div>

73

</div>

74

<div class="field">

75

<label>Address</label>

76

<input type="text" placeholder="Street Address">

77

</div>

78

</form>

79

80

<!-- Form with validation states -->

81

<form class="ui form error">

82

<div class="required field error">

83

<label>Username</label>

84

<input type="text" placeholder="Username">

85

</div>

86

<div class="ui error message">

87

<div class="header">Form Error</div>

88

<p>Please enter a valid username.</p>

89

</div>

90

<div class="ui submit button">Submit</div>

91

</form>

92

```

93

94

### Menu

95

96

Navigation menus with flexible layouts and interactive states.

97

98

```css { .api }

99

.ui.menu /* Basic menu */

100

101

/* Menu types */

102

.ui.vertical.menu /* Vertical menu layout */

103

.ui.horizontal.menu /* Horizontal menu layout (default) */

104

.ui.tabular.menu /* Tabbed menu appearance */

105

.ui.text.menu /* Text-only menu */

106

.ui.icon.menu /* Icon-only menu */

107

.ui.labeled.icon.menu /* Menu with labeled icons */

108

109

/* Menu variations */

110

.ui.inverted.menu /* Dark/inverted menu */

111

.ui.borderless.menu /* Menu without borders */

112

.ui.compact.menu /* Compact spacing menu */

113

.ui.fluid.menu /* Full-width menu */

114

.ui.fixed.menu /* Fixed position menu */

115

.ui.top.fixed.menu /* Fixed to top */

116

.ui.bottom.fixed.menu /* Fixed to bottom */

117

118

/* Menu items */

119

.ui.menu .item /* Menu item */

120

.ui.menu .dropdown.item /* Dropdown menu item */

121

.ui.menu .right.menu /* Right-aligned menu section */

122

.ui.menu .header.item /* Menu header item */

123

124

/* Menu item states */

125

.ui.menu .active.item /* Active/selected menu item */

126

.ui.menu .disabled.item /* Disabled menu item */

127

128

/* Dropdown menu */

129

.ui.menu .dropdown /* Dropdown container */

130

.ui.menu .dropdown .menu /* Dropdown submenu */

131

```

132

133

**Usage Examples:**

134

135

```html

136

<!-- Basic horizontal menu -->

137

<div class="ui menu">

138

<div class="active item">Home</div>

139

<div class="item">About</div>

140

<div class="item">Services</div>

141

<div class="item">Contact</div>

142

</div>

143

144

<!-- Vertical menu -->

145

<div class="ui vertical menu">

146

<div class="item">

147

<i class="home icon"></i>

148

Home

149

</div>

150

<div class="item">

151

<i class="user icon"></i>

152

Profile

153

</div>

154

<div class="item">

155

<i class="settings icon"></i>

156

Settings

157

</div>

158

</div>

159

160

<!-- Menu with dropdown -->

161

<div class="ui menu">

162

<div class="item">Home</div>

163

<div class="ui dropdown item">

164

Products

165

<i class="dropdown icon"></i>

166

<div class="menu">

167

<div class="item">Software</div>

168

<div class="item">Hardware</div>

169

<div class="item">Services</div>

170

</div>

171

</div>

172

<div class="right menu">

173

<div class="item">Login</div>

174

</div>

175

</div>

176

177

<!-- Tabular menu -->

178

<div class="ui tabular menu">

179

<div class="active item">Tab 1</div>

180

<div class="item">Tab 2</div>

181

<div class="item">Tab 3</div>

182

</div>

183

```

184

185

### Message

186

187

User messages and alerts for communicating status, feedback, and information.

188

189

```css { .api }

190

.ui.message /* Basic message */

191

192

/* Message types */

193

.ui.info.message /* Informational message */

194

.ui.success.message /* Success message */

195

.ui.warning.message /* Warning message */

196

.ui.error.message /* Error message */

197

.ui.negative.message /* Negative message (same as error) */

198

.ui.positive.message /* Positive message (same as success) */

199

200

/* Message variations */

201

.ui.icon.message /* Message with icon */

202

.ui.compact.message /* Compact message */

203

.ui.attached.message /* Attached to other elements */

204

.ui.top.attached.message /* Attached to top */

205

.ui.bottom.attached.message /* Attached to bottom */

206

.ui.floating.message /* Floating message */

207

.ui.hidden.message /* Hidden message */

208

.ui.visible.message /* Visible message */

209

210

/* Message content */

211

.ui.message .header /* Message header */

212

.ui.message .content /* Message content */

213

.ui.message .list /* Message list */

214

.ui.message .close.icon /* Dismissible message close icon */

215

```

216

217

**Usage Examples:**

218

219

```html

220

<!-- Basic messages -->

221

<div class="ui message">

222

<div class="header">Default Message</div>

223

<p>This is a basic message with default styling.</p>

224

</div>

225

226

<div class="ui info message">

227

<div class="header">Information</div>

228

<p>This is an informational message.</p>

229

</div>

230

231

<div class="ui success message">

232

<div class="header">Success!</div>

233

<p>Your action was completed successfully.</p>

234

</div>

235

236

<div class="ui warning message">

237

<div class="header">Warning</div>

238

<p>Please check your input before proceeding.</p>

239

</div>

240

241

<!-- Dismissible message -->

242

<div class="ui message">

243

<i class="close icon"></i>

244

<div class="header">Dismissible Message</div>

245

<p>Click the X to dismiss this message.</p>

246

</div>

247

248

<!-- Icon message -->

249

<div class="ui icon message">

250

<i class="inbox icon"></i>

251

<div class="content">

252

<div class="header">No Messages</div>

253

<p>You have no new messages in your inbox.</p>

254

</div>

255

</div>

256

257

<!-- Message with list -->

258

<div class="ui error message">

259

<div class="header">Form Errors</div>

260

<ul class="list">

261

<li>Please enter a valid email address</li>

262

<li>Password must be at least 8 characters</li>

263

<li>Username is required</li>

264

</ul>

265

</div>

266

```

267

268

### Table

269

270

Data tables for displaying structured information with sorting and styling options.

271

272

```css { .api }

273

.ui.table /* Basic table */

274

275

/* Table types */

276

.ui.celled.table /* Table with cell borders */

277

.ui.padded.table /* Table with extra padding */

278

.ui.compact.table /* Compact table spacing */

279

.ui.basic.table /* Minimal table styling */

280

.ui.very.basic.table /* Very minimal table styling */

281

282

/* Table variations */

283

.ui.striped.table /* Alternating row colors */

284

.ui.selectable.table /* Selectable rows */

285

.ui.inverted.table /* Dark/inverted table */

286

.ui.collapsing.table /* Table collapses to content width */

287

.ui.fixed.table /* Fixed table layout */

288

.ui.sortable.table /* Sortable table headers */

289

.ui.stackable.table /* Mobile-responsive stacking */

290

.ui.unstackable.table /* Prevent mobile stacking */

291

292

/* Table elements */

293

.ui.table thead /* Table header section */

294

.ui.table tbody /* Table body section */

295

.ui.table tfoot /* Table footer section */

296

.ui.table tr /* Table row */

297

.ui.table th /* Table header cell */

298

.ui.table td /* Table data cell */

299

300

/* Cell states */

301

.ui.table tr.active /* Active/selected row */

302

.ui.table tr.disabled /* Disabled row */

303

.ui.table td.active /* Active cell */

304

.ui.table td.disabled /* Disabled cell */

305

.ui.table td.positive /* Positive state cell */

306

.ui.table td.negative /* Negative state cell */

307

.ui.table td.warning /* Warning state cell */

308

.ui.table td.error /* Error state cell */

309

310

/* Cell alignment */

311

.ui.table td.left.aligned /* Left-aligned cell */

312

.ui.table td.center.aligned /* Center-aligned cell */

313

.ui.table td.right.aligned /* Right-aligned cell */

314

315

/* Column width */

316

.ui.table td.single.line /* Single line cell content */

317

.ui.table td.collapsing /* Collapse cell to content width */

318

```

319

320

**Usage Examples:**

321

322

```html

323

<!-- Basic table -->

324

<table class="ui table">

325

<thead>

326

<tr>

327

<th>Name</th>

328

<th>Email</th>

329

<th>Status</th>

330

</tr>

331

</thead>

332

<tbody>

333

<tr>

334

<td>John Doe</td>

335

<td>john@example.com</td>

336

<td>Active</td>

337

</tr>

338

<tr>

339

<td>Jane Smith</td>

340

<td>jane@example.com</td>

341

<td>Inactive</td>

342

</tr>

343

</tbody>

344

</table>

345

346

<!-- Striped selectable table -->

347

<table class="ui striped selectable table">

348

<thead>

349

<tr>

350

<th>Product</th>

351

<th>Price</th>

352

<th>Quantity</th>

353

</tr>

354

</thead>

355

<tbody>

356

<tr>

357

<td>Laptop</td>

358

<td>$999.00</td>

359

<td>5</td>

360

</tr>

361

<tr class="active">

362

<td>Mouse</td>

363

<td>$29.99</td>

364

<td>25</td>

365

</tr>

366

</tbody>

367

</table>

368

369

<!-- Table with cell states -->

370

<table class="ui table">

371

<thead>

372

<tr>

373

<th>Task</th>

374

<th>Status</th>

375

<th>Priority</th>

376

</tr>

377

</thead>

378

<tbody>

379

<tr class="positive">

380

<td>Task 1</td>

381

<td>Complete</td>

382

<td>High</td>

383

</tr>

384

<tr class="negative">

385

<td>Task 2</td>

386

<td>Failed</td>

387

<td>Medium</td>

388

</tr>

389

<tr class="warning">

390

<td>Task 3</td>

391

<td>Pending</td>

392

<td>Low</td>

393

</tr>

394

</tbody>

395

</table>

396

```

397

398

### Breadcrumb

399

400

Navigation breadcrumbs for showing user location and navigation hierarchy.

401

402

```css { .api }

403

.ui.breadcrumb /* Breadcrumb container */

404

405

/* Breadcrumb elements */

406

.ui.breadcrumb .section /* Breadcrumb section/item */

407

.ui.breadcrumb .divider /* Breadcrumb divider */

408

.ui.breadcrumb .active.section /* Active breadcrumb section */

409

410

/* Breadcrumb variations */

411

.ui.mini.breadcrumb /* Mini size breadcrumb */

412

.ui.tiny.breadcrumb /* Tiny size breadcrumb */

413

.ui.small.breadcrumb /* Small size breadcrumb */

414

.ui.large.breadcrumb /* Large size breadcrumb */

415

.ui.big.breadcrumb /* Big size breadcrumb */

416

.ui.huge.breadcrumb /* Huge size breadcrumb */

417

.ui.massive.breadcrumb /* Massive size breadcrumb */

418

```

419

420

**Usage Examples:**

421

422

```html

423

<!-- Basic breadcrumb -->

424

<div class="ui breadcrumb">

425

<a class="section">Home</a>

426

<div class="divider"> / </div>

427

<a class="section">Store</a>

428

<div class="divider"> / </div>

429

<div class="active section">T-Shirt</div>

430

</div>

431

432

<!-- Breadcrumb with icons -->

433

<div class="ui breadcrumb">

434

<a class="section">

435

<i class="home icon"></i>

436

Home

437

</a>

438

<i class="right chevron icon divider"></i>

439

<a class="section">Registration</a>

440

<i class="right chevron icon divider"></i>

441

<div class="active section">Personal Information</div>

442

</div>

443

444

<!-- Large breadcrumb -->

445

<div class="ui large breadcrumb">

446

<a class="section">Home</a>

447

<div class="divider"> / </div>

448

<a class="section">Library</a>

449

<div class="divider"> / </div>

450

<div class="active section">Documents</div>

451

</div>

452

```

453

454

## Collection Patterns

455

456

### Responsive Behavior

457

Collections adapt to different screen sizes:

458

```css { .api }

459

.ui.stackable.table /* Table stacks on mobile */

460

.ui.tablet.stackable.table /* Stack on tablet and below */

461

.ui.computer.stackable.table /* Stack on computer and below */

462

```

463

464

### Color Variations

465

Collections support the standard color palette:

466

```css { .api }

467

.ui.red.message /* Red colored message */

468

.ui.blue.table /* Blue colored table */

469

.ui.green.menu /* Green colored menu */

470

```

471

472

### Size Variations

473

Collections support the standard size scale:

474

```css { .api }

475

.ui.mini.form /* Mini sized form */

476

.ui.small.menu /* Small sized menu */

477

.ui.large.table /* Large sized table */

478

```