@aurodesignsystem-dev/auro-formkit 0.0.0-pr1535.0 → 0.0.0-pr1535.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +3 -3
  7. package/components/combobox/demo/getting-started.min.js +3 -3
  8. package/components/combobox/demo/index.min.js +3 -3
  9. package/components/combobox/dist/index.js +3 -3
  10. package/components/combobox/dist/registered.js +3 -3
  11. package/components/counter/demo/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +2 -2
  14. package/components/counter/dist/registered.js +2 -2
  15. package/components/datepicker/demo/customize.min.js +3 -3
  16. package/components/datepicker/demo/index.min.js +3 -3
  17. package/components/datepicker/dist/index.js +3 -3
  18. package/components/datepicker/dist/registered.js +3 -3
  19. package/components/dropdown/demo/customize.min.js +1 -1
  20. package/components/dropdown/demo/getting-started.min.js +1 -1
  21. package/components/dropdown/demo/index.min.js +1 -1
  22. package/components/dropdown/dist/index.js +1 -1
  23. package/components/dropdown/dist/registered.js +1 -1
  24. package/components/form/demo/api.md +3 -3
  25. package/components/form/demo/customize.md +345 -97
  26. package/components/form/demo/customize.min.js +46 -17
  27. package/components/form/demo/getting-started.md +344 -96
  28. package/components/form/demo/getting-started.min.js +66 -17
  29. package/components/form/demo/index.min.js +17 -17
  30. package/components/form/demo/registerDemoDeps.min.js +13 -13
  31. package/components/form/dist/auro-form.d.ts +7 -7
  32. package/components/form/dist/index.js +4 -4
  33. package/components/form/dist/registered.js +4 -4
  34. package/components/input/demo/customize.min.js +1 -1
  35. package/components/input/demo/getting-started.min.js +1 -1
  36. package/components/input/demo/index.min.js +1 -1
  37. package/components/input/dist/index.js +1 -1
  38. package/components/input/dist/registered.js +1 -1
  39. package/components/radio/demo/customize.min.js +1 -1
  40. package/components/radio/demo/getting-started.min.js +1 -1
  41. package/components/radio/demo/index.min.js +1 -1
  42. package/components/radio/dist/index.js +1 -1
  43. package/components/radio/dist/registered.js +1 -1
  44. package/components/select/demo/customize.min.js +2 -2
  45. package/components/select/demo/getting-started.min.js +2 -2
  46. package/components/select/demo/index.min.js +2 -2
  47. package/components/select/dist/index.js +2 -2
  48. package/components/select/dist/registered.js +2 -2
  49. package/custom-elements.json +1524 -1524
  50. package/package.json +1 -1
@@ -304,120 +304,368 @@ Ensure your `tsconfig.json` uses `"moduleResolution": "bundler"` so TypeScript c
304
304
  <div class="exampleWrapper">
305
305
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/complex.html) -->
306
306
  <!-- The below content is automatically added from ./../apiExamples/complex.html -->
307
- <style>
308
- .submitBlock {
309
- margin-top: 1rem;
310
- display: flex;
311
- justify-content: flex-end;
312
- gap: 1rem;
313
- }
314
- .datepickerBlock {
315
- margin-top: 1rem;
316
- }
317
- .complex-form {
318
- display: block;
319
- padding: 1rem;
320
- border: 1px solid #2a2a2a;
321
- border-radius: 1rem;
322
- }
323
- </style>
324
- <auro-form class="complex-form">
307
+ <auro-form id="bookingForm" class="trip-form">
308
+ <!-- Cabin — auro-radio-group -->
309
+ <div class="form-section">
310
+ <auro-radio-group required name="cabin">
311
+ <span slot="legend">Cabin</span>
312
+ <auro-radio id="cabin-main" name="cabinChoice" label="Main" value="main" checked></auro-radio>
313
+ <auro-radio id="cabin-premium" name="cabinChoice" label="Premium" value="premium"></auro-radio>
314
+ <auro-radio id="cabin-first" name="cabinChoice" label="First class" value="first"></auro-radio>
315
+ </auro-radio-group>
316
+ </div>
317
+ <!-- Route — auro-select (from) + auro-combobox (to) -->
318
+ <div class="form-section">
319
+ <h4 class="section-heading">Where are you going?</h4>
320
+ <div class="field-row">
321
+ <auro-select required name="departureAirport">
322
+ <span slot="label">From</span>
323
+ <span slot="bib.fullscreen.headline">Choose a departure city</span>
324
+ <auro-menu>
325
+ <auro-menuoption value="SEA">Seattle (SEA)</auro-menuoption>
326
+ <auro-menuoption value="PDX">Portland (PDX)</auro-menuoption>
327
+ <auro-menuoption value="SFO">San Francisco (SFO)</auro-menuoption>
328
+ <auro-menuoption value="LAX">Los Angeles (LAX)</auro-menuoption>
329
+ <auro-menuoption value="ANC">Anchorage (ANC)</auro-menuoption>
330
+ </auro-menu>
331
+ </auro-select>
332
+ <auro-combobox required name="destination">
333
+ <span slot="label">To</span>
334
+ <span slot="bib.fullscreen.headline">Search destinations</span>
335
+ <auro-menu>
336
+ <auro-menuoption value="HNL">Honolulu (HNL)</auro-menuoption>
337
+ <auro-menuoption value="OGG">Maui (OGG)</auro-menuoption>
338
+ <auro-menuoption value="JFK">New York (JFK)</auro-menuoption>
339
+ <auro-menuoption value="ORD">Chicago (ORD)</auro-menuoption>
340
+ <auro-menuoption value="DFW">Dallas–Fort Worth (DFW)</auro-menuoption>
341
+ <auro-menuoption static nomatch>No matching destinations</auro-menuoption>
342
+ </auro-menu>
343
+ </auro-combobox>
344
+ </div>
345
+ </div>
346
+ <!-- When & who — auro-datepicker (range) + auro-counter-group -->
347
+ <div class="form-section">
348
+ <h4 class="section-heading">When and who?</h4>
349
+ <div class="field-row">
350
+ <auro-datepicker required range name="travelDates">
351
+ <span slot="fromLabel">Departure</span>
352
+ <span slot="toLabel">Return</span>
353
+ <span slot="bib.fullscreen.fromLabel">Departure</span>
354
+ <span slot="bib.fullscreen.toLabel">Return</span>
355
+ </auro-datepicker>
356
+ <auro-counter-group isDropdown max="9" name="travelers">
357
+ <div slot="label">Travelers</div>
358
+ <span slot="bib.fullscreen.headline">Travelers</span>
359
+ <span slot="ariaLabel.bib.close">Close</span>
360
+ <auro-counter name="adults" min="1" max="9" value="1">
361
+ Adults
362
+ <span slot="description">Age 18+</span>
363
+ </auro-counter>
364
+ <auro-counter name="children" min="0" max="8" value="0">
365
+ Children
366
+ <span slot="description">Age 2–17</span>
367
+ </auro-counter>
368
+ <auro-counter name="infants" min="0" max="4" value="0">
369
+ Lap infants
370
+ <span slot="description">Under 2</span>
371
+ </auro-counter>
372
+ </auro-counter-group>
373
+ </div>
374
+ </div>
375
+ <!-- Lead traveler — auro-input -->
376
+ <div class="form-section">
377
+ <h4 class="section-heading">Lead traveler</h4>
378
+ <div class="field-row">
325
379
  <auro-input id="first-name" name="firstName" required>
326
- <span slot="label">First Name</span>
380
+ <span slot="label">First name</span>
327
381
  </auro-input>
328
- <br />
329
382
  <auro-input id="last-name" name="lastName" required>
330
- <span slot="label">Last Name</span>
383
+ <span slot="label">Last name</span>
331
384
  </auro-input>
332
- <br />
333
- <auro-input id="occupation" name="occupation" required>
334
- <span slot="label">Occupation</span>
335
- </auro-input>
336
- <br />
337
- <auro-input-two id="cool-fact" name="coolFact" required>
338
- <span slot="label">Cool Fact</span>
339
- </auro-input-two>
340
- <div class="datepickerBlock">
341
- <h4>Pick a cool date</h4>
342
- <auro-datepicker id="date-example" name="dateExample" required>
343
- <span slot="fromLabel">Choose a date</span>
344
- <span slot="bib.fullscreen.fromLabel">Choose a date</span>
345
- </auro-datepicker>
385
+ <auro-input id="email" name="email" type="email" class="span-2" required>
386
+ <span slot="label">Email</span>
387
+ <span slot="helpText">We'll send your confirmation here.</span>
388
+ </auro-input>
389
+ </div>
346
390
  </div>
347
- <div class="datepickerBlock">
348
- <h4>Pick a date range</h4>
349
- <auro-datepicker id="date-range" name="dateRange" required range>
350
- <span slot="fromLabel">Start</span>
351
- <span slot="toLabel">End</span>
352
- <span slot="bib.fullscreen.fromLabel">Start</span>
353
- <span slot="bib.fullscreen.toLabel">End</span>
354
- </auro-datepicker>
391
+ <!-- Extras — auro-checkbox-group -->
392
+ <div class="form-section">
393
+ <auro-checkbox-group name="extras">
394
+ <span slot="legend">Add to your trip (optional)</span>
395
+ <auro-checkbox id="extra-bags" value="bags">First checked bag</auro-checkbox>
396
+ <auro-checkbox id="extra-insurance" value="insurance">Travel insurance</auro-checkbox>
397
+ <auro-checkbox id="extra-lounge" value="lounge">Alaska Lounge+ day pass</auro-checkbox>
398
+ </auro-checkbox-group>
355
399
  </div>
356
- <div class="submitBlock">
357
- <auro-button type="reset">Reset</auro-button>
358
- <auro-button type="submit">Submit</auro-button>
400
+ <div class="form-actions">
401
+ <auro-button type="reset" variant="secondary">Reset</auro-button>
402
+ <auro-button type="submit">Search flights</auro-button>
359
403
  </div>
360
- </auro-form>
404
+ </auro-form>
405
+ <output id="bookingFormOutput" aria-live="polite">Fill in the required fields and submit to see the collected form value. Notice the shapes each field contributes — <code>travelDates</code> as a two-item <code>[departure, return]</code> array, <code>travelers</code> as an object keyed by counter name, <code>extras</code> as an array, and <code>cabin</code> as the selected value.</output>
406
+ <style>
407
+ #bookingFormOutput {
408
+ display: block;
409
+ margin-top: 2rem;
410
+ padding: 1rem 1.25rem;
411
+ border-left: 4px solid #2a2a2a;
412
+ border-radius: 0.25rem;
413
+ background: #f5f5f5;
414
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
415
+ font-size: 0.875rem;
416
+ white-space: pre-wrap;
417
+ }
418
+
419
+ .trip-form {
420
+ display: block;
421
+ padding: 1.5rem;
422
+ border: 1px solid #2a2a2a;
423
+ border-radius: 1rem;
424
+ }
425
+
426
+ .trip-form .form-section {
427
+ margin-top: 1.5rem;
428
+ }
429
+
430
+ .trip-form .form-section:first-of-type {
431
+ margin-top: 0;
432
+ }
433
+
434
+ .trip-form .section-heading {
435
+ margin: 0 0 0.75rem;
436
+ }
437
+
438
+ .trip-form .field-row {
439
+ display: grid;
440
+ grid-template-columns: 1fr 1fr;
441
+ gap: 1rem;
442
+ align-items: start;
443
+ }
444
+
445
+ .trip-form .field-row + .field-row {
446
+ margin-top: 1rem;
447
+ }
448
+
449
+ .trip-form .span-2 {
450
+ grid-column: span 2;
451
+ }
452
+
453
+ @media (max-width: 660px) {
454
+ .trip-form .field-row {
455
+ grid-template-columns: 1fr;
456
+ }
457
+
458
+ .trip-form .span-2 {
459
+ grid-column: span 1;
460
+ }
461
+ }
462
+
463
+ .trip-form .form-actions {
464
+ display: flex;
465
+ justify-content: flex-end;
466
+ gap: 1rem;
467
+ margin-top: 2rem;
468
+ }
469
+ </style>
361
470
  <!-- AURO-GENERATED-CONTENT:END -->
362
471
  </div>
363
472
  <auro-accordion alignRight>
364
473
  <span slot="trigger">See code</span>
365
474
  <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/complex.html) -->
366
475
  <!-- The below code snippet is automatically added from ./../apiExamples/complex.html -->
367
- <pre class="language-html"><code class="language-html">&lt;style&gt;
368
- .submitBlock {
476
+ <pre class="language-html"><code class="language-html">&lt;auro-form id="bookingForm" class="trip-form"&gt;
477
+ &lt;!-- Cabin — auro-radio-group --&gt;
478
+ &lt;div class="form-section"&gt;
479
+ &lt;auro-radio-group required name="cabin"&gt;
480
+ &lt;span slot="legend"&gt;Cabin&lt;/span&gt;
481
+ &lt;auro-radio id="cabin-main" name="cabinChoice" label="Main" value="main" checked&gt;&lt;/auro-radio&gt;
482
+ &lt;auro-radio id="cabin-premium" name="cabinChoice" label="Premium" value="premium"&gt;&lt;/auro-radio&gt;
483
+ &lt;auro-radio id="cabin-first" name="cabinChoice" label="First class" value="first"&gt;&lt;/auro-radio&gt;
484
+ &lt;/auro-radio-group&gt;
485
+ &lt;/div&gt;
486
+ &lt;!-- Route — auro-select (from) + auro-combobox (to) --&gt;
487
+ &lt;div class="form-section"&gt;
488
+ &lt;h4 class="section-heading"&gt;Where are you going?&lt;/h4&gt;
489
+ &lt;div class="field-row"&gt;
490
+ &lt;auro-select required name="departureAirport"&gt;
491
+ &lt;span slot="label"&gt;From&lt;/span&gt;
492
+ &lt;span slot="bib.fullscreen.headline"&gt;Choose a departure city&lt;/span&gt;
493
+ &lt;auro-menu&gt;
494
+ &lt;auro-menuoption value="SEA"&gt;Seattle (SEA)&lt;/auro-menuoption&gt;
495
+ &lt;auro-menuoption value="PDX"&gt;Portland (PDX)&lt;/auro-menuoption&gt;
496
+ &lt;auro-menuoption value="SFO"&gt;San Francisco (SFO)&lt;/auro-menuoption&gt;
497
+ &lt;auro-menuoption value="LAX"&gt;Los Angeles (LAX)&lt;/auro-menuoption&gt;
498
+ &lt;auro-menuoption value="ANC"&gt;Anchorage (ANC)&lt;/auro-menuoption&gt;
499
+ &lt;/auro-menu&gt;
500
+ &lt;/auro-select&gt;
501
+ &lt;auro-combobox required name="destination"&gt;
502
+ &lt;span slot="label"&gt;To&lt;/span&gt;
503
+ &lt;span slot="bib.fullscreen.headline"&gt;Search destinations&lt;/span&gt;
504
+ &lt;auro-menu&gt;
505
+ &lt;auro-menuoption value="HNL"&gt;Honolulu (HNL)&lt;/auro-menuoption&gt;
506
+ &lt;auro-menuoption value="OGG"&gt;Maui (OGG)&lt;/auro-menuoption&gt;
507
+ &lt;auro-menuoption value="JFK"&gt;New York (JFK)&lt;/auro-menuoption&gt;
508
+ &lt;auro-menuoption value="ORD"&gt;Chicago (ORD)&lt;/auro-menuoption&gt;
509
+ &lt;auro-menuoption value="DFW"&gt;Dallas–Fort Worth (DFW)&lt;/auro-menuoption&gt;
510
+ &lt;auro-menuoption static nomatch&gt;No matching destinations&lt;/auro-menuoption&gt;
511
+ &lt;/auro-menu&gt;
512
+ &lt;/auro-combobox&gt;
513
+ &lt;/div&gt;
514
+ &lt;/div&gt;
515
+ &lt;!-- When &amp; who — auro-datepicker (range) + auro-counter-group --&gt;
516
+ &lt;div class="form-section"&gt;
517
+ &lt;h4 class="section-heading"&gt;When and who?&lt;/h4&gt;
518
+ &lt;div class="field-row"&gt;
519
+ &lt;auro-datepicker required range name="travelDates"&gt;
520
+ &lt;span slot="fromLabel"&gt;Departure&lt;/span&gt;
521
+ &lt;span slot="toLabel"&gt;Return&lt;/span&gt;
522
+ &lt;span slot="bib.fullscreen.fromLabel"&gt;Departure&lt;/span&gt;
523
+ &lt;span slot="bib.fullscreen.toLabel"&gt;Return&lt;/span&gt;
524
+ &lt;/auro-datepicker&gt;
525
+ &lt;auro-counter-group isDropdown max="9" name="travelers"&gt;
526
+ &lt;div slot="label"&gt;Travelers&lt;/div&gt;
527
+ &lt;span slot="bib.fullscreen.headline"&gt;Travelers&lt;/span&gt;
528
+ &lt;span slot="ariaLabel.bib.close"&gt;Close&lt;/span&gt;
529
+ &lt;auro-counter name="adults" min="1" max="9" value="1"&gt;
530
+ Adults
531
+ &lt;span slot="description"&gt;Age 18+&lt;/span&gt;
532
+ &lt;/auro-counter&gt;
533
+ &lt;auro-counter name="children" min="0" max="8" value="0"&gt;
534
+ Children
535
+ &lt;span slot="description"&gt;Age 2–17&lt;/span&gt;
536
+ &lt;/auro-counter&gt;
537
+ &lt;auro-counter name="infants" min="0" max="4" value="0"&gt;
538
+ Lap infants
539
+ &lt;span slot="description"&gt;Under 2&lt;/span&gt;
540
+ &lt;/auro-counter&gt;
541
+ &lt;/auro-counter-group&gt;
542
+ &lt;/div&gt;
543
+ &lt;/div&gt;
544
+ &lt;!-- Lead traveler — auro-input --&gt;
545
+ &lt;div class="form-section"&gt;
546
+ &lt;h4 class="section-heading"&gt;Lead traveler&lt;/h4&gt;
547
+ &lt;div class="field-row"&gt;
548
+ &lt;auro-input id="first-name" name="firstName" required&gt;
549
+ &lt;span slot="label"&gt;First name&lt;/span&gt;
550
+ &lt;/auro-input&gt;
551
+ &lt;auro-input id="last-name" name="lastName" required&gt;
552
+ &lt;span slot="label"&gt;Last name&lt;/span&gt;
553
+ &lt;/auro-input&gt;
554
+ &lt;auro-input id="email" name="email" type="email" class="span-2" required&gt;
555
+ &lt;span slot="label"&gt;Email&lt;/span&gt;
556
+ &lt;span slot="helpText"&gt;We'll send your confirmation here.&lt;/span&gt;
557
+ &lt;/auro-input&gt;
558
+ &lt;/div&gt;
559
+ &lt;/div&gt;
560
+ &lt;!-- Extras — auro-checkbox-group --&gt;
561
+ &lt;div class="form-section"&gt;
562
+ &lt;auro-checkbox-group name="extras"&gt;
563
+ &lt;span slot="legend"&gt;Add to your trip (optional)&lt;/span&gt;
564
+ &lt;auro-checkbox id="extra-bags" value="bags"&gt;First checked bag&lt;/auro-checkbox&gt;
565
+ &lt;auro-checkbox id="extra-insurance" value="insurance"&gt;Travel insurance&lt;/auro-checkbox&gt;
566
+ &lt;auro-checkbox id="extra-lounge" value="lounge"&gt;Alaska Lounge+ day pass&lt;/auro-checkbox&gt;
567
+ &lt;/auro-checkbox-group&gt;
568
+ &lt;/div&gt;
569
+ &lt;div class="form-actions"&gt;
570
+ &lt;auro-button type="reset" variant="secondary"&gt;Reset&lt;/auro-button&gt;
571
+ &lt;auro-button type="submit"&gt;Search flights&lt;/auro-button&gt;
572
+ &lt;/div&gt;
573
+ &lt;/auro-form&gt;
574
+ &lt;output id="bookingFormOutput" aria-live="polite"&gt;Fill in the required fields and submit to see the collected form value. Notice the shapes each field contributes — &lt;code&gt;travelDates&lt;/code&gt; as a two-item &lt;code&gt;[departure, return]&lt;/code&gt; array, &lt;code&gt;travelers&lt;/code&gt; as an object keyed by counter name, &lt;code&gt;extras&lt;/code&gt; as an array, and &lt;code&gt;cabin&lt;/code&gt; as the selected value.&lt;/output&gt;
575
+ &lt;style&gt;
576
+ #bookingFormOutput {
577
+ display: block;
578
+ margin-top: 2rem;
579
+ padding: 1rem 1.25rem;
580
+ border-left: 4px solid #2a2a2a;
581
+ border-radius: 0.25rem;
582
+ background: #f5f5f5;
583
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
584
+ font-size: 0.875rem;
585
+ white-space: pre-wrap;
586
+ }
587
+
588
+ .trip-form {
589
+ display: block;
590
+ padding: 1.5rem;
591
+ border: 1px solid #2a2a2a;
592
+ border-radius: 1rem;
593
+ }
594
+
595
+ .trip-form .form-section {
596
+ margin-top: 1.5rem;
597
+ }
598
+
599
+ .trip-form .form-section:first-of-type {
600
+ margin-top: 0;
601
+ }
602
+
603
+ .trip-form .section-heading {
604
+ margin: 0 0 0.75rem;
605
+ }
606
+
607
+ .trip-form .field-row {
608
+ display: grid;
609
+ grid-template-columns: 1fr 1fr;
610
+ gap: 1rem;
611
+ align-items: start;
612
+ }
613
+
614
+ .trip-form .field-row + .field-row {
369
615
  margin-top: 1rem;
616
+ }
617
+
618
+ .trip-form .span-2 {
619
+ grid-column: span 2;
620
+ }
621
+
622
+ @media (max-width: 660px) {
623
+ .trip-form .field-row {
624
+ grid-template-columns: 1fr;
625
+ }
626
+
627
+ .trip-form .span-2 {
628
+ grid-column: span 1;
629
+ }
630
+ }
631
+
632
+ .trip-form .form-actions {
370
633
  display: flex;
371
634
  justify-content: flex-end;
372
635
  gap: 1rem;
636
+ margin-top: 2rem;
373
637
  }
374
- .datepickerBlock {
375
- margin-top: 1rem;
376
- }
377
- .complex-form {
378
- display: block;
379
- padding: 1rem;
380
- border: 1px solid #2a2a2a;
381
- border-radius: 1rem;
382
- }
383
- &lt;/style&gt;
384
- &lt;auro-form class="complex-form"&gt;
385
- &lt;auro-input id="first-name" name="firstName" required&gt;
386
- &lt;span slot="label"&gt;First Name&lt;/span&gt;
387
- &lt;/auro-input&gt;
388
- &lt;br /&gt;
389
- &lt;auro-input id="last-name" name="lastName" required&gt;
390
- &lt;span slot="label"&gt;Last Name&lt;/span&gt;
391
- &lt;/auro-input&gt;
392
- &lt;br /&gt;
393
- &lt;auro-input id="occupation" name="occupation" required&gt;
394
- &lt;span slot="label"&gt;Occupation&lt;/span&gt;
395
- &lt;/auro-input&gt;
396
- &lt;br /&gt;
397
- &lt;auro-input-two id="cool-fact" name="coolFact" required&gt;
398
- &lt;span slot="label"&gt;Cool Fact&lt;/span&gt;
399
- &lt;/auro-input-two&gt;
400
- &lt;div class="datepickerBlock"&gt;
401
- &lt;h4&gt;Pick a cool date&lt;/h4&gt;
402
- &lt;auro-datepicker id="date-example" name="dateExample" required&gt;
403
- &lt;span slot="fromLabel"&gt;Choose a date&lt;/span&gt;
404
- &lt;span slot="bib.fullscreen.fromLabel"&gt;Choose a date&lt;/span&gt;
405
- &lt;/auro-datepicker&gt;
406
- &lt;/div&gt;
407
- &lt;div class="datepickerBlock"&gt;
408
- &lt;h4&gt;Pick a date range&lt;/h4&gt;
409
- &lt;auro-datepicker id="date-range" name="dateRange" required range&gt;
410
- &lt;span slot="fromLabel"&gt;Start&lt;/span&gt;
411
- &lt;span slot="toLabel"&gt;End&lt;/span&gt;
412
- &lt;span slot="bib.fullscreen.fromLabel"&gt;Start&lt;/span&gt;
413
- &lt;span slot="bib.fullscreen.toLabel"&gt;End&lt;/span&gt;
414
- &lt;/auro-datepicker&gt;
415
- &lt;/div&gt;
416
- &lt;div class="submitBlock"&gt;
417
- &lt;auro-button type="reset"&gt;Reset&lt;/auro-button&gt;
418
- &lt;auro-button type="submit"&gt;Submit&lt;/auro-button&gt;
419
- &lt;/div&gt;
420
- &lt;/auro-form&gt;</code></pre>
638
+ &lt;/style&gt;</code></pre>
639
+ <!-- AURO-GENERATED-CONTENT:END -->
640
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/complex.js) -->
641
+ <!-- The below code snippet is automatically added from ./../apiExamples/complex.js -->
642
+ <pre class="language-js"><code class="language-js">/* eslint-disable jsdoc/require-jsdoc */
643
+
644
+ /**
645
+ * Displays the collected value of the complex booking form on submit, mirroring
646
+ * the Disabled Fields example. Every field in this form — including the cabin
647
+ * radio group — is collected into `form.value` automatically by `auro-form`; no
648
+ * per-field wiring is needed.
649
+ */
650
+ export async function complexExample() {
651
+ await customElements.whenDefined('auro-form');
652
+
653
+ const form = document.querySelector('#bookingForm');
654
+ if (!form) {
655
+ throw new Error('complexExample: #bookingForm not yet rendered');
656
+ }
657
+
658
+ const output = document.querySelector('#bookingFormOutput');
659
+ if (!output) {
660
+ throw new Error('complexExample: #bookingFormOutput not yet rendered');
661
+ }
662
+
663
+ await form.updateComplete;
664
+
665
+ form.addEventListener('submit', (event) =&gt; {
666
+ output.textContent = JSON.stringify(event.detail.value, null, 2);
667
+ });
668
+ }</code></pre>
421
669
  <!-- AURO-GENERATED-CONTENT:END -->
422
670
  </auro-accordion>
423
671
  </section>