@aurodesignsystem-dev/auro-formkit 0.0.0-pr1549.0 → 0.0.0-pr1550.0

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 (46) 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.md +0 -52
  7. package/components/combobox/demo/customize.min.js +4 -9
  8. package/components/combobox/demo/getting-started.min.js +4 -9
  9. package/components/combobox/demo/index.min.js +4 -9
  10. package/components/combobox/dist/index.js +4 -9
  11. package/components/combobox/dist/registered.js +4 -9
  12. package/components/counter/demo/customize.min.js +2 -2
  13. package/components/counter/demo/index.min.js +2 -2
  14. package/components/counter/dist/index.js +2 -2
  15. package/components/counter/dist/registered.js +2 -2
  16. package/components/datepicker/demo/customize.min.js +3 -3
  17. package/components/datepicker/demo/getting-started.md +118 -2
  18. package/components/datepicker/demo/index.min.js +3 -3
  19. package/components/datepicker/dist/index.js +3 -3
  20. package/components/datepicker/dist/registered.js +3 -3
  21. package/components/dropdown/demo/customize.min.js +1 -1
  22. package/components/dropdown/demo/getting-started.min.js +1 -1
  23. package/components/dropdown/demo/index.min.js +1 -1
  24. package/components/dropdown/dist/index.js +1 -1
  25. package/components/dropdown/dist/registered.js +1 -1
  26. package/components/form/demo/customize.min.js +14 -19
  27. package/components/form/demo/getting-started.min.js +14 -19
  28. package/components/form/demo/index.min.js +14 -19
  29. package/components/form/demo/registerDemoDeps.min.js +14 -19
  30. package/components/input/demo/customize.min.js +1 -1
  31. package/components/input/demo/getting-started.min.js +1 -1
  32. package/components/input/demo/index.min.js +1 -1
  33. package/components/input/dist/index.js +1 -1
  34. package/components/input/dist/registered.js +1 -1
  35. package/components/radio/demo/customize.min.js +1 -1
  36. package/components/radio/demo/getting-started.min.js +1 -1
  37. package/components/radio/demo/index.min.js +1 -1
  38. package/components/radio/dist/index.js +1 -1
  39. package/components/radio/dist/registered.js +1 -1
  40. package/components/select/demo/customize.min.js +2 -2
  41. package/components/select/demo/getting-started.min.js +2 -2
  42. package/components/select/demo/index.min.js +2 -2
  43. package/components/select/dist/index.js +2 -2
  44. package/components/select/dist/registered.js +2 -2
  45. package/custom-elements.json +1394 -1394
  46. package/package.json +1 -1
@@ -9344,174 +9344,168 @@
9344
9344
  },
9345
9345
  {
9346
9346
  "kind": "javascript-module",
9347
- "path": "components/dropdown/src/auro-dropdown.js",
9347
+ "path": "components/form/src/auro-form.js",
9348
9348
  "declarations": [
9349
9349
  {
9350
9350
  "kind": "class",
9351
- "description": "The `auro-dropdown` element provides a way to place content in a bib that can be toggled.",
9352
- "name": "AuroDropdown",
9353
- "cssParts": [
9354
- {
9355
- "description": "The trigger content container.",
9356
- "name": "trigger"
9357
- },
9358
- {
9359
- "description": "The collapsed/expanded state icon container.",
9360
- "name": "chevron"
9361
- },
9362
- {
9363
- "description": "The size of the dropdown bib. (height, width, maxHeight, maxWidth only)",
9364
- "name": "size"
9365
- },
9366
- {
9367
- "description": "The helpText content container.",
9368
- "name": "helpText"
9369
- }
9370
- ],
9351
+ "description": "The `auro-form` element provides users a way to create and manage forms in a consistent manner.",
9352
+ "name": "AuroForm",
9371
9353
  "slots": [
9372
9354
  {
9373
- "description": "Default slot for the dropdown bib content.",
9374
- "name": ""
9375
- },
9376
- {
9377
- "description": "Defines the content of the helpText.",
9378
- "name": "helpText"
9379
- },
9380
- {
9381
- "description": "Defines the content of the trigger.",
9382
- "name": "trigger"
9355
+ "description": "The default slot for form elements.",
9356
+ "name": "default"
9383
9357
  }
9384
9358
  ],
9385
9359
  "members": [
9386
9360
  {
9387
9361
  "kind": "field",
9388
- "name": "shadowRootOptions",
9362
+ "name": "formElementTags",
9389
9363
  "static": true,
9390
9364
  "readonly": true
9391
9365
  },
9392
9366
  {
9393
- "kind": "field",
9394
- "name": "commonWrapperClasses",
9395
- "privacy": "private",
9367
+ "kind": "method",
9368
+ "name": "_isElementTag",
9369
+ "parameters": [
9370
+ {
9371
+ "name": "elementTag",
9372
+ "description": "The HTML tag name like `auro-datepicker`.",
9373
+ "type": {
9374
+ "text": "string"
9375
+ }
9376
+ },
9377
+ {
9378
+ "name": "element",
9379
+ "description": "The actual HTML element to compare.",
9380
+ "type": {
9381
+ "text": "HTMLElement"
9382
+ }
9383
+ }
9384
+ ],
9385
+ "description": "Compare tag name with element to identify it (for API purposes).",
9396
9386
  "return": {
9397
9387
  "type": {
9398
- "text": "object"
9388
+ "text": "boolean"
9399
9389
  }
9400
9390
  },
9401
- "readonly": true
9391
+ "privacy": "private"
9402
9392
  },
9403
9393
  {
9404
9394
  "kind": "method",
9405
- "name": "_intializeDefaults",
9406
- "privacy": "private",
9407
- "return": {
9408
- "type": {
9409
- "text": "void"
9395
+ "name": "_isInElementCollection",
9396
+ "parameters": [
9397
+ {
9398
+ "name": "collection",
9399
+ "description": "The array to use for tag name search.",
9400
+ "type": {
9401
+ "text": "string[]"
9402
+ }
9403
+ },
9404
+ {
9405
+ "name": "element",
9406
+ "description": "The element to compare against the master list.",
9407
+ "type": {
9408
+ "text": "HTMLElement"
9409
+ }
9410
9410
  }
9411
- }
9412
- },
9413
- {
9414
- "kind": "method",
9415
- "name": "hide",
9416
- "description": "Public method to hide the dropdown.",
9411
+ ],
9412
+ "description": "Shared code for determining if an element is something we care about (submit, form element, etc.).",
9417
9413
  "return": {
9418
9414
  "type": {
9419
- "text": "void"
9415
+ "text": "boolean"
9420
9416
  }
9421
- }
9417
+ },
9418
+ "privacy": "private"
9422
9419
  },
9423
9420
  {
9424
9421
  "kind": "method",
9425
- "name": "show",
9426
- "description": "Public method to show the dropdown.",
9422
+ "name": "isFormElement",
9423
+ "parameters": [
9424
+ {
9425
+ "name": "element",
9426
+ "description": "The element to check (attr or tag name).",
9427
+ "type": {
9428
+ "text": "HTMLElement"
9429
+ }
9430
+ }
9431
+ ],
9432
+ "description": "Check if the tag name is a form element.",
9427
9433
  "return": {
9428
9434
  "type": {
9429
- "text": "void"
9435
+ "text": "boolean"
9430
9436
  }
9431
- }
9432
- },
9433
- {
9434
- "kind": "method",
9435
- "name": "focus",
9436
- "description": "When bib is open, focus on the first element inside of bib.\nIf not, trigger element will get focus."
9437
+ },
9438
+ "privacy": "private"
9437
9439
  },
9438
9440
  {
9439
9441
  "kind": "method",
9440
- "name": "setActiveDescendant",
9442
+ "name": "_isDisabled",
9441
9443
  "parameters": [
9442
9444
  {
9443
9445
  "name": "element",
9444
- "description": "The element to set as the active descendant, or null to clear.",
9446
+ "description": "The element to check.",
9445
9447
  "type": {
9446
- "text": "HTMLElement|null"
9448
+ "text": "HTMLElement | undefined | null"
9447
9449
  }
9448
9450
  }
9449
9451
  ],
9450
- "description": "Sets the active descendant element for accessibility.\nUses ariaActiveDescendantElement to cross shadow DOM boundaries.\nThis function is used in components that contain `auro-dropdown` to set the active descendant.",
9451
- "privacy": "private",
9452
+ "description": "Whether a given element is currently disabled. Disabled controls are excluded\nfrom submission, validity, and initial-state checks per the HTML spec\n(section 4.10.19.2 \"Enabling and disabling form controls\":\nhttps://www.w3.org/TR/2011/WD-html5-20110113/association-of-controls-and-forms.html).\n\nImplementation note: we deliberately read only the attribute. Every Auro\nform element in `formElementTags` declares `disabled` with `reflect: true`,\nso the attribute and property stay in sync. Reading the attribute also\nlets the MutationObserver in `connectedCallback` (which is filtered to\n`['disabled', 'name']`) be the single source of truth for re-renders.\nIf a future form-element type ships without attribute reflection, expand\nthis helper to also read `element.disabled`.",
9452
9453
  "return": {
9453
9454
  "type": {
9454
- "text": "void"
9455
+ "text": "boolean"
9455
9456
  }
9456
- }
9457
+ },
9458
+ "privacy": "private"
9457
9459
  },
9458
9460
  {
9459
9461
  "kind": "method",
9460
- "name": "register",
9461
- "static": true,
9462
+ "name": "_isNameDisabled",
9462
9463
  "parameters": [
9463
9464
  {
9464
9465
  "name": "name",
9465
- "default": "\"auro-dropdown\"",
9466
- "description": "The name of the element that you want to register.",
9467
- "optional": true,
9466
+ "description": "The `name` attribute used to register the element.",
9468
9467
  "type": {
9469
9468
  "text": "string"
9470
9469
  }
9471
9470
  }
9472
9471
  ],
9473
- "description": "This will register this element with the browser."
9474
- },
9475
- {
9476
- "kind": "field",
9477
- "name": "focusableEntityQuery",
9478
- "description": "Accessor for reusing the focusable entity query string.",
9479
- "privacy": "private",
9472
+ "description": "Whether the tracked form element registered under `name` is currently disabled.\nSee `_isDisabled` for the HTML-spec rationale behind excluding disabled\ncontrols from form state.\n\nReads a cached flag on `formState[name]` populated by `_addElementToState`\nat registration and refreshed by `_handleAttributeMutations` whenever the\nelement's `disabled` attribute toggles. The cache is fed by the same\n`hasAttribute('disabled')` read as `_isDisabled`, so the \"future form-element\ntype without attribute reflection\" caveat documented there applies here too.",
9480
9473
  "return": {
9481
9474
  "type": {
9482
- "text": "string"
9475
+ "text": "boolean"
9483
9476
  }
9484
9477
  },
9485
- "readonly": true
9478
+ "privacy": "private"
9486
9479
  },
9487
9480
  {
9488
9481
  "kind": "method",
9489
- "name": "handleDropdownToggle",
9482
+ "name": "_eventIsValidFormEvent",
9490
9483
  "parameters": [
9491
9484
  {
9492
9485
  "name": "event",
9493
- "description": "The custom event that contains the dropdown toggle information.",
9486
+ "description": "The event to validate.",
9494
9487
  "type": {
9495
- "text": "CustomEvent"
9488
+ "text": "Event"
9496
9489
  }
9497
9490
  }
9498
9491
  ],
9499
- "description": "Handles the custom event `auroDropdown-toggled` to update the visibility of the dropdown bib.",
9500
- "privacy": "private"
9501
- },
9502
- {
9503
- "kind": "method",
9504
- "name": "exposeCssParts",
9505
- "description": "Exposes CSS parts for styling from parent components.",
9492
+ "description": "Validates if an event is from a valid form element with a name.",
9506
9493
  "return": {
9507
9494
  "type": {
9508
- "text": "void"
9495
+ "text": "boolean"
9509
9496
  }
9510
- }
9497
+ },
9498
+ "privacy": "private"
9499
+ },
9500
+ {
9501
+ "kind": "field",
9502
+ "name": "buttonElementTags",
9503
+ "static": true,
9504
+ "readonly": true
9511
9505
  },
9512
9506
  {
9513
9507
  "kind": "method",
9514
- "name": "isCustomSlotContent",
9508
+ "name": "isButtonElement",
9515
9509
  "parameters": [
9516
9510
  {
9517
9511
  "name": "element",
@@ -9521,119 +9515,182 @@
9521
9515
  }
9522
9516
  }
9523
9517
  ],
9524
- "description": "Determines if content is within a custom slot.",
9525
- "privacy": "private",
9518
+ "description": "Check if the tag name is a button element.",
9526
9519
  "return": {
9527
9520
  "type": {
9528
- "text": "Boolean"
9521
+ "text": "boolean"
9529
9522
  }
9530
- }
9523
+ },
9524
+ "privacy": "private"
9531
9525
  },
9532
9526
  {
9533
- "kind": "method",
9534
- "name": "handleFocusin",
9535
- "description": "Function to support",
9536
- "privacy": "private",
9527
+ "kind": "field",
9528
+ "name": "value",
9529
+ "description": "Returns the current values of all named, enabled form elements as a key-value object, keyed by each element's `name` attribute. Each value is the child component's own `.value`, so the shape depends on the element type — see that component's documentation for its exact shape (for example, `auro-checkbox-group` yields an array, `auro-counter-group` yields an object keyed by counter name, and `auro-select` with `multiSelect` yields a JSON-encoded string). The one form-specific exception is a `range` `auro-datepicker`, whose `.values` array (`[start, end]`) is stored instead of its single `.value` string.",
9537
9530
  "return": {
9538
9531
  "type": {
9539
- "text": "void"
9532
+ "text": "Record<string, string | number | boolean | string[] | Record<string, number> | null>"
9540
9533
  }
9541
- }
9542
- },
9543
- {
9544
- "kind": "method",
9545
- "name": "updateFocusTrap",
9546
- "privacy": "private"
9534
+ },
9535
+ "readonly": true
9547
9536
  },
9548
9537
  {
9549
- "kind": "method",
9550
- "name": "_getActiveElements",
9551
- "description": "Returns the chain of active (focused) elements through shadow roots.",
9552
- "privacy": "private",
9538
+ "kind": "field",
9539
+ "name": "submitElements",
9540
+ "description": "Getter for internal _submitElements.",
9553
9541
  "return": {
9554
9542
  "type": {
9555
- "text": "Array<HTMLElement>"
9543
+ "text": "HTMLButtonElement[]"
9556
9544
  }
9557
- }
9545
+ },
9546
+ "privacy": "private",
9547
+ "readonly": true
9558
9548
  },
9559
9549
  {
9560
- "kind": "method",
9561
- "name": "_setPageInert",
9562
- "description": "Sets `inert` on sibling elements of the dropdown's top-level host\nso that content outside the dropdown is not interactive while the modal is open.\nWalks up through shadow DOM boundaries to find the outermost host element\nin the light DOM, then sets `inert` on siblings at each ancestor level\nto ensure all page content outside the host subtree is inert.",
9563
- "privacy": "private"
9550
+ "kind": "field",
9551
+ "name": "resetElements",
9552
+ "description": "Returns a collection of elements that will reset the form.",
9553
+ "return": {
9554
+ "type": {
9555
+ "text": "HTMLButtonElement[]"
9556
+ }
9557
+ },
9558
+ "privacy": "private",
9559
+ "readonly": true
9564
9560
  },
9565
9561
  {
9566
9562
  "kind": "method",
9567
- "name": "_clearPageInert",
9568
- "description": "Restores `inert` state on siblings that were tracked by `_setPageInert`.\nUses reference counting so inert is only cleared when the last modal\ndropdown releases a given element. Preserves the original inert state\nso externally-inerted elements are not inadvertently re-enabled.",
9563
+ "name": "_isFormValid",
9564
+ "description": "Raw constraint-validation check. Returns `true` when no enabled field\nhas a validity error. Unlike the public `validity` getter, this does\nNOT gate on `isInitialState` callers that need to make a decision\nbased on the actual constraint state (submit-button enablement, the\ninternal `submit()` gate) read this so a pre-filled valid form is\ncorrectly recognized as submittable at first render.",
9565
+ "return": {
9566
+ "type": {
9567
+ "text": "boolean"
9568
+ }
9569
+ },
9569
9570
  "privacy": "private"
9570
9571
  },
9571
9572
  {
9572
9573
  "kind": "method",
9573
- "name": "handleFocusout",
9574
- "description": "Function to support",
9575
- "privacy": "private",
9574
+ "name": "_hasResetableState",
9575
+ "description": "Whether the reset button should be enabled. True when the form has\ndiverged from its initial state (so the user can always return to\ndefaults — even if the dirty value lives behind a now-disabled field),\nOR when any non-disabled field has a current value or captured initial\nvalue (covers pre-filled forms and user-cleared-back-to-empty cases).",
9576
9576
  "return": {
9577
9577
  "type": {
9578
- "text": "void"
9578
+ "text": "boolean"
9579
9579
  }
9580
- }
9580
+ },
9581
+ "privacy": "private"
9581
9582
  },
9582
9583
  {
9583
9584
  "kind": "method",
9584
- "name": "bindFocusEventToTrigger",
9585
+ "name": "_normalizeEmpty",
9585
9586
  "parameters": [
9586
9587
  {
9587
- "name": "event",
9588
- "description": "The original focus event.",
9589
- "type": {
9590
- "text": "Event"
9588
+ "name": "value",
9589
+ "description": "Value to normalize.",
9590
+ "type": {
9591
+ "text": "*"
9591
9592
  }
9592
9593
  }
9593
9594
  ],
9594
- "description": "Creates and dispatches a duplicate focus event on the trigger element.",
9595
+ "description": "Collapse empty representations to a single canonical `null`.\n\n`_addElementToState` captures `null` for a field that mounts without a\n`value` attribute (`element.value || element.getAttribute('value')` is\nfalsy → resolves to `null`), but `sharedInputListener` later stores the\nraw `event.target.value` which is `''` for a user-cleared text input.\nWithout this normalization, backspacing back to empty would taint the\nform forever (`'' !== null`) and Reset would stay enabled with nothing\nto actually reset.\n\n`''`, `undefined`, and `[]` all collapse to `null`. The empty-array case\ncovers checkbox-group, radio-group, and multiselect, where `[]` means\n\"no selection\" — semantically the same as `null`/`''`. Genuine values\n— including `0`, `false`, non-empty strings, and non-empty arrays —\npass through unchanged so number, boolean, and populated multi-value\nfields still compare correctly.",
9596
+ "return": {
9597
+ "type": {
9598
+ "text": "*"
9599
+ }
9600
+ },
9595
9601
  "privacy": "private"
9596
9602
  },
9597
9603
  {
9598
9604
  "kind": "method",
9599
- "name": "setupTriggerFocusEventBinding",
9600
- "description": "Sets up event listeners to deliver focus and blur events from nested Auro components within the trigger slot to trigger.\nThis ensures that focus/blur events originating from within these components are propagated to the trigger element itself.",
9605
+ "name": "_calculateValidity",
9606
+ "description": "Infer validity status based on current formState.\n\nValidity stays `null` while the form is in its initial state this is\nthe \"stay quiet until the user interacts\" UX contract that consumers\ndepend on to delay error indicators. Code that needs the raw\nconstraint-validation result regardless of interaction (e.g.,\nsubmit-button enablement) should call `_isFormValid()` directly.",
9601
9607
  "privacy": "private"
9602
9608
  },
9609
+ {
9610
+ "kind": "field",
9611
+ "name": "validity",
9612
+ "description": "Returns `'valid'` if all required and interacted-with form elements are valid, `'invalid'` if any are not, or `null` if the form has not been interacted with yet.",
9613
+ "return": {
9614
+ "type": {
9615
+ "text": "\"valid\" | \"invalid\" | null"
9616
+ }
9617
+ },
9618
+ "readonly": true
9619
+ },
9603
9620
  {
9604
9621
  "kind": "method",
9605
- "name": "clearTriggerFocusEventBinding",
9606
- "description": "Clears focus and blur event listeners from nested Auro components within the trigger slot.",
9607
- "privacy": "private",
9622
+ "name": "_setInitialState",
9623
+ "description": "Determines whether the form is in its initial (untouched) state.\n\nA field is tainted if either:\n - its value differs from the value captured on first render, OR\n - its validity is failing (anything other than `null` or `'valid'`).\n\nValidity acts as a backup signal: it catches users who interact with a\nfield without changing its value (e.g., focusing and blurring a required\nfield). We skip `null` (not yet validated) and `'valid'` (the default\nafter Auro's auto-validation on mount) because neither proves the user\ntouched anything.",
9608
9624
  "return": {
9609
9625
  "type": {
9610
9626
  "text": "void"
9611
9627
  }
9612
- }
9628
+ },
9629
+ "privacy": "private"
9630
+ },
9631
+ {
9632
+ "kind": "field",
9633
+ "name": "isInitialState",
9634
+ "description": "Returns `true` if no form element has been interacted with or had its value changed since the form was initialized or last reset.",
9635
+ "return": {
9636
+ "type": {
9637
+ "text": "boolean"
9638
+ }
9639
+ },
9640
+ "readonly": true
9613
9641
  },
9614
9642
  {
9615
9643
  "kind": "method",
9616
- "name": "clearTriggerA11yAttributes",
9617
- "parameters": [
9618
- {
9619
- "name": "triggerElement"
9644
+ "name": "setDisabledStateOnButtons",
9645
+ "description": "Enables or disables submit and reset buttons based on the current form state and validity.",
9646
+ "return": {
9647
+ "type": {
9648
+ "text": "void"
9620
9649
  }
9621
- ]
9650
+ },
9651
+ "privacy": "private"
9622
9652
  },
9623
9653
  {
9624
9654
  "kind": "method",
9625
- "name": "handleTriggerContentSlotChange",
9655
+ "name": "queryAuroElements",
9656
+ "description": "Construct the query strings from elements, append them together, execute, and return the NodeList.",
9657
+ "return": {
9658
+ "type": {
9659
+ "text": "NodeList"
9660
+ }
9661
+ },
9662
+ "privacy": "private"
9663
+ },
9664
+ {
9665
+ "kind": "method",
9666
+ "name": "_addElementToState",
9626
9667
  "parameters": [
9627
9668
  {
9628
- "name": "event",
9629
- "description": "Native slotchange event.",
9669
+ "name": "element",
9670
+ "description": "The element to add to our state.",
9630
9671
  "type": {
9631
- "text": "Event"
9672
+ "text": "HTMLElement"
9632
9673
  }
9633
9674
  }
9634
9675
  ],
9635
- "description": "Handles changes to the trigger content slot and updates related properties.\n\nIt first updates the floater settings\nThen, it retrieves the assigned nodes from the event target and checks if any of\nthe nodes contain non-empty text content, updating the `hasTriggerContent` property accordingly.",
9636
- "privacy": "private",
9676
+ "description": "Store an element in state and on the _elements array.",
9677
+ "privacy": "private"
9678
+ },
9679
+ {
9680
+ "kind": "method",
9681
+ "name": "initializeState",
9682
+ "description": "Initialize (or reinitialize) the form state.",
9683
+ "return": {
9684
+ "type": {
9685
+ "text": "void"
9686
+ }
9687
+ },
9688
+ "privacy": "private"
9689
+ },
9690
+ {
9691
+ "kind": "method",
9692
+ "name": "reset",
9693
+ "description": "Resets all form elements to their initial state and fires a `reset` event. The event's `detail.previousValue` contains the form values captured immediately before the reset.",
9637
9694
  "return": {
9638
9695
  "type": {
9639
9696
  "text": "void"
@@ -9642,1842 +9699,1785 @@
9642
9699
  },
9643
9700
  {
9644
9701
  "kind": "method",
9645
- "name": "handleDefaultSlot",
9646
- "description": "Handles the default slot change event and updates the content.\n\nThis method retrieves all nodes assigned to the default slot of the event target and appends them\nto the `bibContent` element. If a callback function `onSlotChange` is defined, it is invoked to\nnotify about the slot change.",
9702
+ "name": "submit",
9703
+ "description": "Validates all form elements. If all are valid, fires a `submit` event with `detail.value` containing the current form values. If any element is invalid, its error state is surfaced and the `submit` event is not fired.",
9704
+ "return": {
9705
+ "type": {
9706
+ "text": "Promise<void>"
9707
+ }
9708
+ }
9709
+ },
9710
+ {
9711
+ "kind": "method",
9712
+ "name": "register",
9713
+ "static": true,
9714
+ "parameters": [
9715
+ {
9716
+ "name": "name",
9717
+ "default": "\"auro-form\"",
9718
+ "description": "The custom element tag name to register.",
9719
+ "optional": true,
9720
+ "type": {
9721
+ "text": "string"
9722
+ }
9723
+ }
9724
+ ],
9725
+ "description": "Registers the `auro-form` custom element with the browser under a given tag name."
9726
+ },
9727
+ {
9728
+ "kind": "method",
9729
+ "name": "sharedInputListener",
9730
+ "parameters": [
9731
+ {
9732
+ "name": "event",
9733
+ "description": "The event that is fired from the form element.",
9734
+ "type": {
9735
+ "text": "Event"
9736
+ }
9737
+ }
9738
+ ],
9739
+ "description": "Shared input listener for all form elements.",
9647
9740
  "privacy": "private"
9648
9741
  },
9649
9742
  {
9650
9743
  "kind": "method",
9651
- "name": "renderBasicHtml",
9744
+ "name": "sharedValidationListener",
9652
9745
  "parameters": [
9653
9746
  {
9654
- "name": "helpTextClasses",
9655
- "description": "Classes to apply to the help text container.",
9747
+ "name": "event",
9748
+ "description": "The event that is fired from the form element.",
9656
9749
  "type": {
9657
- "text": "Object"
9750
+ "text": "Event"
9658
9751
  }
9659
9752
  }
9660
9753
  ],
9661
- "description": "Returns HTML for the common portion of the layouts.",
9662
- "privacy": "private",
9663
- "return": {
9664
- "type": {
9665
- "text": "html"
9754
+ "description": "Shared validation listener for all form elements.",
9755
+ "privacy": "private"
9756
+ },
9757
+ {
9758
+ "kind": "method",
9759
+ "name": "handleKeyDown",
9760
+ "parameters": [
9761
+ {
9762
+ "name": "event",
9763
+ "description": "The keyboard event.",
9764
+ "type": {
9765
+ "text": "KeyboardEvent"
9766
+ }
9666
9767
  }
9667
- }
9768
+ ],
9769
+ "description": "Handle Enter key press on form elements.",
9770
+ "privacy": "private"
9668
9771
  },
9669
9772
  {
9670
9773
  "kind": "method",
9671
- "name": "renderLayoutClassic",
9672
- "description": "Returns HTML for the classic layout. Does not support type=\"*\".",
9673
- "privacy": "private",
9774
+ "name": "_attachEventListeners",
9775
+ "description": "Attaches input, validation, and keydown listeners to all tracked form and button elements.\nRemoves existing listeners first to avoid duplicates on re-initialization.",
9674
9776
  "return": {
9675
9777
  "type": {
9676
- "text": "html"
9778
+ "text": "void"
9677
9779
  }
9678
- }
9780
+ },
9781
+ "privacy": "private"
9679
9782
  },
9680
9783
  {
9681
9784
  "kind": "method",
9682
- "name": "renderLayoutSnowflake",
9683
- "description": "Returns HTML for the snowflake layout. Does not support type=\"*\".",
9684
- "privacy": "private",
9785
+ "name": "_handleAttributeMutations",
9786
+ "parameters": [
9787
+ {
9788
+ "name": "mutations",
9789
+ "description": "The batched mutation records.",
9790
+ "type": {
9791
+ "text": "MutationRecord[]"
9792
+ }
9793
+ }
9794
+ ],
9795
+ "description": "Handle batched MutationObserver records for `disabled` and `name`\nattribute changes on tracked form elements. A `name` change invalidates\nthe formState keying — we resolve it by re-initializing state. A `disabled`\nchange simply needs a re-render (so `value` / `validity` getters re-evaluate)\nand a refresh of the submit/reset button enablement.",
9685
9796
  "return": {
9686
9797
  "type": {
9687
- "text": "html"
9798
+ "text": "void"
9688
9799
  }
9689
- }
9800
+ },
9801
+ "privacy": "private"
9690
9802
  },
9691
9803
  {
9692
9804
  "kind": "method",
9693
- "name": "renderLayoutEmphasized",
9694
- "description": "Returns HTML for the emphasized layout. Does not support type=\"*\".",
9695
- "privacy": "private",
9805
+ "name": "mutationEventListener",
9806
+ "description": "Mutation observer for form elements. Slot change does not trigger unless\nroot-level elements are added/removed. This is a workaround to ensure\nnested form elements are also observed.",
9696
9807
  "return": {
9697
9808
  "type": {
9698
- "text": "html"
9809
+ "text": "void"
9699
9810
  }
9700
- }
9811
+ },
9812
+ "privacy": "private"
9701
9813
  },
9702
9814
  {
9703
9815
  "kind": "method",
9704
- "name": "renderLayout",
9816
+ "name": "onSlotChange",
9705
9817
  "parameters": [
9706
9818
  {
9707
- "name": "ForcedLayout",
9708
- "description": "Used to force a specific layout, pass in the layout name to use.",
9709
- "optional": true,
9819
+ "name": "event",
9820
+ "description": "The slot change event.",
9710
9821
  "type": {
9711
- "text": "string"
9822
+ "text": "Event"
9712
9823
  }
9713
9824
  }
9714
9825
  ],
9715
- "description": "Logic to determine the layout of the component.",
9716
- "privacy": "private",
9826
+ "description": "Slot change event listener. This is the main entry point for the form element.",
9717
9827
  "return": {
9718
9828
  "type": {
9719
- "text": "HTMLCollection"
9829
+ "text": "void"
9720
9830
  }
9721
- }
9831
+ },
9832
+ "privacy": "private"
9722
9833
  },
9723
9834
  {
9724
9835
  "kind": "field",
9725
- "name": "isPopoverVisible",
9726
- "privacy": "public",
9836
+ "name": "formState",
9837
+ "privacy": "private",
9727
9838
  "type": {
9728
- "text": "boolean"
9839
+ "text": "FormState"
9729
9840
  },
9730
- "description": "If true, the dropdown bib is displayed.",
9731
- "default": "false",
9732
- "attribute": "open",
9733
- "reflects": true
9841
+ "default": "{}"
9734
9842
  },
9735
9843
  {
9736
9844
  "kind": "field",
9737
- "name": "isBibFullscreen",
9738
- "privacy": "public",
9845
+ "name": "_validity",
9846
+ "privacy": "private",
9739
9847
  "type": {
9740
- "text": "boolean"
9848
+ "text": "\"valid\" | \"invalid\" | null"
9741
9849
  },
9742
- "description": "If true, the dropdown bib is taking the fullscreen when it's open.",
9743
- "default": "false",
9744
- "attribute": "isBibFullscreen",
9745
- "reflects": true
9850
+ "default": "null"
9746
9851
  },
9747
9852
  {
9748
9853
  "kind": "field",
9749
- "name": "matchWidth",
9750
- "privacy": "public",
9854
+ "name": "_isInitialState",
9855
+ "privacy": "private",
9751
9856
  "type": {
9752
9857
  "text": "boolean"
9753
9858
  },
9754
- "description": "If declared, the popover and trigger will be set to the same width.",
9755
- "default": "false",
9756
- "attribute": "matchWidth",
9757
- "reflects": true
9859
+ "default": "true"
9758
9860
  },
9759
9861
  {
9760
9862
  "kind": "field",
9761
- "name": "noHideOnThisFocusLoss",
9762
- "privacy": "public",
9863
+ "name": "_elements",
9864
+ "privacy": "private",
9763
9865
  "type": {
9764
- "text": "boolean"
9866
+ "text": "(HTMLElement & {reset: () => void})[]"
9765
9867
  },
9766
- "description": "If declared, the dropdown will not hide when moving focus outside the element.",
9767
- "default": "false",
9768
- "attribute": "noHideOnThisFocusLoss",
9769
- "reflects": true
9868
+ "default": "[]"
9770
9869
  },
9771
9870
  {
9772
9871
  "kind": "field",
9773
- "name": "errorMessage",
9774
- "privacy": "public",
9872
+ "name": "_submitElements",
9873
+ "privacy": "private",
9775
9874
  "type": {
9776
- "text": "string"
9875
+ "text": "HTMLButtonElement[]"
9777
9876
  },
9778
- "description": "Contains the help text message for the current validity error.",
9779
- "default": "undefined",
9780
- "attribute": "errorMessage"
9877
+ "default": "[]"
9781
9878
  },
9782
9879
  {
9783
9880
  "kind": "field",
9784
- "name": "layout",
9785
- "privacy": "public",
9881
+ "name": "_resetElements",
9882
+ "privacy": "private",
9786
9883
  "type": {
9787
- "text": "string"
9884
+ "text": "HTMLButtonElement[]"
9788
9885
  },
9789
- "description": "Sets the layout of the dropdown.",
9790
- "default": "undefined",
9791
- "attribute": "layout",
9792
- "reflects": true,
9793
- "inheritedFrom": {
9794
- "name": "AuroElement",
9795
- "module": "components/layoutElement/src/auroElement.js"
9796
- }
9886
+ "default": "[]"
9797
9887
  },
9798
9888
  {
9799
9889
  "kind": "field",
9800
- "name": "shape",
9801
- "privacy": "public",
9890
+ "name": "mutationObservers",
9802
9891
  "type": {
9803
- "text": "string"
9892
+ "text": "MutationObserver[]"
9804
9893
  },
9805
- "attribute": "shape",
9806
- "reflects": true,
9807
- "default": "undefined",
9808
- "inheritedFrom": {
9809
- "name": "AuroElement",
9810
- "module": "components/layoutElement/src/auroElement.js"
9811
- }
9894
+ "privacy": "private",
9895
+ "default": "[]"
9812
9896
  },
9813
9897
  {
9814
9898
  "kind": "field",
9815
- "name": "size",
9816
- "privacy": "public",
9899
+ "name": "_initialValues",
9817
9900
  "type": {
9818
- "text": "string"
9901
+ "text": "Record<string, string | number | boolean | string[] | Record<string, number> | null | undefined>"
9819
9902
  },
9820
- "attribute": "size",
9821
- "reflects": true,
9822
- "default": "undefined",
9823
- "inheritedFrom": {
9824
- "name": "AuroElement",
9825
- "module": "components/layoutElement/src/auroElement.js"
9826
- }
9903
+ "description": "Captured initial (default) value per field `name`. Populated on first\nsight of each name in `_addElementToState` and preserved across\nsubsequent `initializeState` cycles (slot change, rename, reset) so\n`_setInitialState` can detect user edits as `current !== initial`,\nmatching HTML's `dirtyValueFlag` semantics.",
9904
+ "privacy": "private",
9905
+ "default": "{}"
9827
9906
  },
9828
9907
  {
9829
9908
  "kind": "field",
9830
- "name": "parentBorder",
9831
- "privacy": "private",
9909
+ "name": "_attributeObserver",
9832
9910
  "type": {
9833
- "text": "boolean"
9911
+ "text": "MutationObserver | null"
9834
9912
  },
9835
- "description": "Defines if the trigger should size based on the parent element providing the border UI.",
9836
- "default": "false",
9837
- "attribute": "parentBorder",
9838
- "reflects": true
9839
- },
9840
- {
9841
- "kind": "field",
9842
- "name": "bibElement",
9843
- "privacy": "private"
9844
- },
9913
+ "privacy": "private",
9914
+ "default": "null"
9915
+ }
9916
+ ],
9917
+ "events": [
9845
9918
  {
9846
- "kind": "field",
9847
- "name": "a11yRole",
9848
- "privacy": "public",
9919
+ "name": "change",
9849
9920
  "type": {
9850
- "text": "string"
9921
+ "text": "Event"
9851
9922
  },
9852
- "description": "The value for the role attribute of the trigger element."
9923
+ "description": "Fires when a child form element's value changes or the form is initialized."
9853
9924
  },
9854
9925
  {
9855
- "kind": "field",
9856
- "name": "appearance",
9857
- "privacy": "public",
9926
+ "name": "reset",
9858
9927
  "type": {
9859
- "text": "'default' | 'inverse'"
9928
+ "text": "CustomEvent"
9860
9929
  },
9861
- "description": "Defines whether the component will be on lighter or darker backgrounds.",
9862
- "default": "'default'",
9863
- "attribute": "appearance",
9864
- "reflects": true
9930
+ "description": "Fires when the form is reset. The event detail contains the previous value of the form before reset."
9865
9931
  },
9866
9932
  {
9867
- "kind": "field",
9868
- "name": "autoPlacement",
9869
- "privacy": "public",
9933
+ "name": "submit",
9870
9934
  "type": {
9871
- "text": "boolean"
9935
+ "text": "CustomEvent"
9872
9936
  },
9873
- "description": "If declared, bib's position will be automatically calculated where to appear.",
9874
- "attribute": "autoPlacement",
9875
- "reflects": true
9937
+ "description": "Fires when the form is submitted. The event detail contains the current value of the form."
9876
9938
  },
9877
9939
  {
9878
- "kind": "field",
9879
- "name": "desktopModal",
9880
- "privacy": "public",
9881
- "type": {
9882
- "text": "boolean"
9883
- },
9884
- "description": "If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.",
9885
- "attribute": "desktopModal",
9886
- "reflects": true
9940
+ "description": "Fires when a child form element receives user input.",
9941
+ "name": "input"
9942
+ }
9943
+ ],
9944
+ "superclass": {
9945
+ "name": "LitElement",
9946
+ "package": "lit"
9947
+ },
9948
+ "tagName": "auro-form",
9949
+ "customElement": true
9950
+ }
9951
+ ],
9952
+ "exports": [
9953
+ {
9954
+ "kind": "js",
9955
+ "name": "AuroForm",
9956
+ "declaration": {
9957
+ "name": "AuroForm",
9958
+ "module": "components/form/src/auro-form.js"
9959
+ }
9960
+ }
9961
+ ]
9962
+ },
9963
+ {
9964
+ "kind": "javascript-module",
9965
+ "path": "components/form/src/index.js",
9966
+ "declarations": [],
9967
+ "exports": [
9968
+ {
9969
+ "kind": "js",
9970
+ "name": "AuroForm",
9971
+ "declaration": {
9972
+ "name": "AuroForm",
9973
+ "module": "components/form/src/index.js"
9974
+ }
9975
+ }
9976
+ ]
9977
+ },
9978
+ {
9979
+ "kind": "javascript-module",
9980
+ "path": "components/form/src/registered.js",
9981
+ "declarations": [],
9982
+ "exports": []
9983
+ },
9984
+ {
9985
+ "kind": "javascript-module",
9986
+ "path": "components/dropdown/src/auro-dropdown.js",
9987
+ "declarations": [
9988
+ {
9989
+ "kind": "class",
9990
+ "description": "The `auro-dropdown` element provides a way to place content in a bib that can be toggled.",
9991
+ "name": "AuroDropdown",
9992
+ "cssParts": [
9993
+ {
9994
+ "description": "The trigger content container.",
9995
+ "name": "trigger"
9887
9996
  },
9888
9997
  {
9889
- "kind": "field",
9890
- "name": "disableEventShow",
9891
- "privacy": "public",
9892
- "type": {
9893
- "text": "boolean"
9894
- },
9895
- "description": "If declared, the dropdown will only show by calling the API .show() public method.",
9896
- "attribute": "disableEventShow",
9897
- "reflects": true
9998
+ "description": "The collapsed/expanded state icon container.",
9999
+ "name": "chevron"
9898
10000
  },
9899
10001
  {
9900
- "kind": "field",
9901
- "name": "simple",
9902
- "privacy": "public",
9903
- "type": {
9904
- "text": "boolean"
9905
- },
9906
- "description": "If declared, applies a border around the trigger slot.",
9907
- "attribute": "simple",
9908
- "reflects": true
10002
+ "description": "The size of the dropdown bib. (height, width, maxHeight, maxWidth only)",
10003
+ "name": "size"
9909
10004
  },
9910
10005
  {
9911
- "kind": "field",
9912
- "name": "chevron",
9913
- "privacy": "public",
9914
- "type": {
9915
- "text": "boolean"
9916
- },
9917
- "description": "If declared, the dropdown displays a chevron on the right.",
9918
- "attribute": "chevron",
9919
- "reflects": true
10006
+ "description": "The helpText content container.",
10007
+ "name": "helpText"
10008
+ }
10009
+ ],
10010
+ "slots": [
10011
+ {
10012
+ "description": "Default slot for the dropdown bib content.",
10013
+ "name": ""
9920
10014
  },
9921
10015
  {
9922
- "kind": "field",
9923
- "name": "disabled",
9924
- "privacy": "public",
9925
- "type": {
9926
- "text": "boolean"
9927
- },
9928
- "description": "If declared, the dropdown is not interactive.",
9929
- "attribute": "disabled",
9930
- "reflects": true
10016
+ "description": "Defines the content of the helpText.",
10017
+ "name": "helpText"
9931
10018
  },
10019
+ {
10020
+ "description": "Defines the content of the trigger.",
10021
+ "name": "trigger"
10022
+ }
10023
+ ],
10024
+ "members": [
9932
10025
  {
9933
10026
  "kind": "field",
9934
- "name": "disableKeyboardHandling",
9935
- "privacy": "public",
9936
- "type": {
9937
- "text": "boolean"
9938
- },
9939
- "description": "If declared, the dropdown will not handle keyboard events and will require the consumer to manage this behavior.",
9940
- "attribute": "disableKeyboardHandling",
9941
- "reflects": true
10027
+ "name": "shadowRootOptions",
10028
+ "static": true,
10029
+ "readonly": true
9942
10030
  },
9943
10031
  {
9944
10032
  "kind": "field",
9945
- "name": "dropdownWidth",
10033
+ "name": "commonWrapperClasses",
9946
10034
  "privacy": "private",
9947
- "type": {
9948
- "text": "number"
10035
+ "return": {
10036
+ "type": {
10037
+ "text": "object"
10038
+ }
9949
10039
  },
9950
- "attribute": "dropdownWidth"
10040
+ "readonly": true
9951
10041
  },
9952
10042
  {
9953
- "kind": "field",
9954
- "name": "dropdownId",
10043
+ "kind": "method",
10044
+ "name": "_intializeDefaults",
9955
10045
  "privacy": "private",
9956
- "type": {
9957
- "text": "string"
9958
- },
9959
- "description": "The unique ID for the dropdown bib element."
10046
+ "return": {
10047
+ "type": {
10048
+ "text": "void"
10049
+ }
10050
+ }
9960
10051
  },
9961
10052
  {
9962
- "kind": "field",
9963
- "name": "error",
9964
- "privacy": "public",
9965
- "type": {
9966
- "text": "boolean"
9967
- },
9968
- "description": "If declared, will apply error UI to the dropdown.",
9969
- "attribute": "error",
9970
- "reflects": true
10053
+ "kind": "method",
10054
+ "name": "hide",
10055
+ "description": "Public method to hide the dropdown.",
10056
+ "return": {
10057
+ "type": {
10058
+ "text": "void"
10059
+ }
10060
+ }
9971
10061
  },
9972
10062
  {
9973
- "kind": "field",
9974
- "name": "focusShow",
9975
- "privacy": "public",
9976
- "type": {
9977
- "text": "boolean"
9978
- },
9979
- "description": "If declared, the bib will display when focus is applied to the trigger.",
9980
- "attribute": "focusShow",
9981
- "reflects": true
10063
+ "kind": "method",
10064
+ "name": "show",
10065
+ "description": "Public method to show the dropdown.",
10066
+ "return": {
10067
+ "type": {
10068
+ "text": "void"
10069
+ }
10070
+ }
9982
10071
  },
9983
10072
  {
9984
- "kind": "field",
9985
- "name": "hoverToggle",
9986
- "privacy": "public",
9987
- "type": {
9988
- "text": "boolean"
9989
- },
9990
- "description": "If declared, the trigger will toggle the dropdown on mouseover/mouseout.",
9991
- "attribute": "hoverToggle",
9992
- "reflects": true
10073
+ "kind": "method",
10074
+ "name": "focus",
10075
+ "description": "When bib is open, focus on the first element inside of bib.\nIf not, trigger element will get focus."
9993
10076
  },
9994
10077
  {
9995
- "kind": "field",
9996
- "name": "hasTriggerContent",
10078
+ "kind": "method",
10079
+ "name": "setActiveDescendant",
10080
+ "parameters": [
10081
+ {
10082
+ "name": "element",
10083
+ "description": "The element to set as the active descendant, or null to clear.",
10084
+ "type": {
10085
+ "text": "HTMLElement|null"
10086
+ }
10087
+ }
10088
+ ],
10089
+ "description": "Sets the active descendant element for accessibility.\nUses ariaActiveDescendantElement to cross shadow DOM boundaries.\nThis function is used in components that contain `auro-dropdown` to set the active descendant.",
9997
10090
  "privacy": "private",
9998
- "type": {
9999
- "text": "boolean"
10000
- },
10001
- "attribute": "hasTriggerContent"
10002
- },
10003
- {
10004
- "kind": "field",
10005
- "name": "fullscreenBreakpoint",
10006
- "privacy": "public",
10007
- "type": {
10008
- "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'disabled'"
10009
- },
10010
- "description": "Defines the screen size breakpoint at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.\n\nWhen expanded, the dropdown will automatically display in fullscreen mode\nif the screen size is equal to or smaller than the selected breakpoint.",
10011
- "default": "'sm'",
10012
- "attribute": "fullscreenBreakpoint",
10013
- "reflects": true
10014
- },
10015
- {
10016
- "kind": "field",
10017
- "name": "noFlip",
10018
- "privacy": "public",
10019
- "type": {
10020
- "text": "boolean"
10021
- },
10022
- "description": "If declared, the bib will NOT flip to an alternate position\nwhen there isn't enough space in the specified `placement`.",
10023
- "attribute": "noFlip",
10024
- "reflects": true
10091
+ "return": {
10092
+ "type": {
10093
+ "text": "void"
10094
+ }
10095
+ }
10025
10096
  },
10026
10097
  {
10027
- "kind": "field",
10028
- "name": "shift",
10029
- "privacy": "public",
10030
- "type": {
10031
- "text": "boolean"
10032
- },
10033
- "description": "If declared, the dropdown will shift its position to avoid being cut off by the viewport.",
10034
- "attribute": "shift",
10035
- "reflects": true
10098
+ "kind": "method",
10099
+ "name": "register",
10100
+ "static": true,
10101
+ "parameters": [
10102
+ {
10103
+ "name": "name",
10104
+ "default": "\"auro-dropdown\"",
10105
+ "description": "The name of the element that you want to register.",
10106
+ "optional": true,
10107
+ "type": {
10108
+ "text": "string"
10109
+ }
10110
+ }
10111
+ ],
10112
+ "description": "This will register this element with the browser."
10036
10113
  },
10037
10114
  {
10038
10115
  "kind": "field",
10039
- "name": "noToggle",
10040
- "privacy": "public",
10041
- "type": {
10042
- "text": "boolean"
10116
+ "name": "focusableEntityQuery",
10117
+ "description": "Accessor for reusing the focusable entity query string.",
10118
+ "privacy": "private",
10119
+ "return": {
10120
+ "type": {
10121
+ "text": "string"
10122
+ }
10043
10123
  },
10044
- "description": "If declared, the trigger will only show the dropdown bib.",
10045
- "attribute": "noToggle",
10046
- "reflects": true
10124
+ "readonly": true
10047
10125
  },
10048
10126
  {
10049
- "kind": "field",
10050
- "name": "offset",
10051
- "privacy": "public",
10052
- "type": {
10053
- "text": "number"
10054
- },
10055
- "description": "Gap between the trigger element and bib.",
10056
- "default": "0",
10057
- "attribute": "offset",
10058
- "reflects": true
10127
+ "kind": "method",
10128
+ "name": "handleDropdownToggle",
10129
+ "parameters": [
10130
+ {
10131
+ "name": "event",
10132
+ "description": "The custom event that contains the dropdown toggle information.",
10133
+ "type": {
10134
+ "text": "CustomEvent"
10135
+ }
10136
+ }
10137
+ ],
10138
+ "description": "Handles the custom event `auroDropdown-toggled` to update the visibility of the dropdown bib.",
10139
+ "privacy": "private"
10059
10140
  },
10060
10141
  {
10061
- "kind": "field",
10062
- "name": "onDark",
10063
- "privacy": "public",
10064
- "type": {
10065
- "text": "boolean"
10066
- },
10067
- "attribute": "onDark",
10068
- "reflects": true,
10069
- "description": "DEPRECATED - use `appearance=\"inverse\"` instead.",
10070
- "inheritedFrom": {
10071
- "name": "AuroElement",
10072
- "module": "components/layoutElement/src/auroElement.js"
10142
+ "kind": "method",
10143
+ "name": "exposeCssParts",
10144
+ "description": "Exposes CSS parts for styling from parent components.",
10145
+ "return": {
10146
+ "type": {
10147
+ "text": "void"
10148
+ }
10073
10149
  }
10074
10150
  },
10075
10151
  {
10076
- "kind": "field",
10077
- "name": "onSlotChange",
10078
- "privacy": "public",
10079
- "type": {
10080
- "text": "function"
10081
- },
10082
- "description": "If declared, and a function is set, that function will execute when the slot content is updated.",
10083
- "attribute": "onSlotChange"
10084
- },
10085
- {
10086
- "kind": "field",
10087
- "name": "placement",
10088
- "privacy": "public",
10089
- "type": {
10090
- "text": "'top' | 'right' | 'bottom' | 'left' | 'bottom-start' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-end' | 'left-start' | 'left-end'"
10091
- },
10092
- "description": "Position where the bib should appear relative to the trigger.",
10093
- "default": "'bottom-start'",
10094
- "attribute": "placement",
10095
- "reflects": true
10096
- },
10097
- {
10098
- "kind": "field",
10099
- "name": "tabIndex",
10100
- "privacy": "private",
10101
- "type": {
10102
- "text": "number"
10103
- },
10104
- "attribute": "tabIndex"
10105
- },
10106
- {
10107
- "kind": "field",
10108
- "name": "bibDialogLabel",
10152
+ "kind": "method",
10153
+ "name": "isCustomSlotContent",
10154
+ "parameters": [
10155
+ {
10156
+ "name": "element",
10157
+ "description": "The element to check.",
10158
+ "type": {
10159
+ "text": "HTMLElement"
10160
+ }
10161
+ }
10162
+ ],
10163
+ "description": "Determines if content is within a custom slot.",
10109
10164
  "privacy": "private",
10110
- "type": {
10111
- "text": "string"
10112
- },
10113
- "description": "Accessible label for the dropdown bib dialog element."
10165
+ "return": {
10166
+ "type": {
10167
+ "text": "Boolean"
10168
+ }
10169
+ }
10114
10170
  },
10115
10171
  {
10116
- "kind": "field",
10117
- "name": "componentHasFocus",
10118
- "description": "Returns true if the element has focus.",
10172
+ "kind": "method",
10173
+ "name": "handleFocusin",
10174
+ "description": "Function to support",
10119
10175
  "privacy": "private",
10120
10176
  "return": {
10121
10177
  "type": {
10122
- "text": "boolean"
10178
+ "text": "void"
10123
10179
  }
10124
- },
10125
- "readonly": true,
10126
- "inheritedFrom": {
10127
- "name": "AuroElement",
10128
- "module": "components/layoutElement/src/auroElement.js"
10129
10180
  }
10130
10181
  },
10131
10182
  {
10132
10183
  "kind": "method",
10133
- "name": "resetShapeClasses",
10134
- "inheritedFrom": {
10135
- "name": "AuroElement",
10136
- "module": "components/layoutElement/src/auroElement.js"
10137
- }
10184
+ "name": "updateFocusTrap",
10185
+ "privacy": "private"
10138
10186
  },
10139
10187
  {
10140
10188
  "kind": "method",
10141
- "name": "resetLayoutClasses",
10142
- "inheritedFrom": {
10143
- "name": "AuroElement",
10144
- "module": "components/layoutElement/src/auroElement.js"
10189
+ "name": "_getActiveElements",
10190
+ "description": "Returns the chain of active (focused) elements through shadow roots.",
10191
+ "privacy": "private",
10192
+ "return": {
10193
+ "type": {
10194
+ "text": "Array<HTMLElement>"
10195
+ }
10145
10196
  }
10146
10197
  },
10147
10198
  {
10148
10199
  "kind": "method",
10149
- "name": "updateComponentArchitecture",
10150
- "inheritedFrom": {
10151
- "name": "AuroElement",
10152
- "module": "components/layoutElement/src/auroElement.js"
10153
- }
10154
- }
10155
- ],
10156
- "events": [
10157
- {
10158
- "name": "auroDropdown-idAdded",
10159
- "type": {
10160
- "text": "Object<key"
10161
- },
10162
- "description": "Notifies consumers that the unique ID for the dropdown bib has been generated."
10200
+ "name": "_setPageInert",
10201
+ "description": "Sets `inert` on sibling elements of the dropdown's top-level host\nso that content outside the dropdown is not interactive while the modal is open.\nWalks up through shadow DOM boundaries to find the outermost host element\nin the light DOM, then sets `inert` on siblings at each ancestor level\nto ensure all page content outside the host subtree is inert.",
10202
+ "privacy": "private"
10163
10203
  },
10164
10204
  {
10165
- "name": "auroDropdown-triggerClick",
10166
- "type": {
10167
- "text": "CustomEvent"
10168
- },
10169
- "description": "Notifies that the trigger has been clicked."
10205
+ "kind": "method",
10206
+ "name": "_clearPageInert",
10207
+ "description": "Restores `inert` state on siblings that were tracked by `_setPageInert`.\nUses reference counting so inert is only cleared when the last modal\ndropdown releases a given element. Preserves the original inert state\nso externally-inerted elements are not inadvertently re-enabled.",
10208
+ "privacy": "private"
10170
10209
  },
10171
10210
  {
10172
- "description": "Notifies that the visibility of the dropdown bib has changed.",
10173
- "name": "auroDropdown-toggled"
10174
- }
10175
- ],
10176
- "attributes": [
10177
- {
10178
- "name": "appearance",
10179
- "type": {
10180
- "text": "'default' | 'inverse'"
10181
- },
10182
- "description": "Defines whether the component will be on lighter or darker backgrounds.",
10183
- "default": "'default'",
10184
- "fieldName": "appearance"
10211
+ "kind": "method",
10212
+ "name": "handleFocusout",
10213
+ "description": "Function to support",
10214
+ "privacy": "private",
10215
+ "return": {
10216
+ "type": {
10217
+ "text": "void"
10218
+ }
10219
+ }
10185
10220
  },
10186
10221
  {
10187
- "name": "autoPlacement",
10188
- "type": {
10189
- "text": "boolean"
10190
- },
10191
- "description": "If declared, bib's position will be automatically calculated where to appear.",
10192
- "fieldName": "autoPlacement"
10222
+ "kind": "method",
10223
+ "name": "bindFocusEventToTrigger",
10224
+ "parameters": [
10225
+ {
10226
+ "name": "event",
10227
+ "description": "The original focus event.",
10228
+ "type": {
10229
+ "text": "Event"
10230
+ }
10231
+ }
10232
+ ],
10233
+ "description": "Creates and dispatches a duplicate focus event on the trigger element.",
10234
+ "privacy": "private"
10193
10235
  },
10194
10236
  {
10195
- "name": "desktopModal",
10196
- "type": {
10197
- "text": "boolean"
10198
- },
10199
- "description": "If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.",
10200
- "fieldName": "desktopModal"
10237
+ "kind": "method",
10238
+ "name": "setupTriggerFocusEventBinding",
10239
+ "description": "Sets up event listeners to deliver focus and blur events from nested Auro components within the trigger slot to trigger.\nThis ensures that focus/blur events originating from within these components are propagated to the trigger element itself.",
10240
+ "privacy": "private"
10201
10241
  },
10202
10242
  {
10203
- "name": "disableEventShow",
10204
- "type": {
10205
- "text": "boolean"
10206
- },
10207
- "description": "If declared, the dropdown will only show by calling the API .show() public method.",
10208
- "fieldName": "disableEventShow"
10243
+ "kind": "method",
10244
+ "name": "clearTriggerFocusEventBinding",
10245
+ "description": "Clears focus and blur event listeners from nested Auro components within the trigger slot.",
10246
+ "privacy": "private",
10247
+ "return": {
10248
+ "type": {
10249
+ "text": "void"
10250
+ }
10251
+ }
10209
10252
  },
10210
10253
  {
10211
- "name": "simple",
10212
- "type": {
10213
- "text": "boolean"
10214
- },
10215
- "description": "If declared, applies a border around the trigger slot.",
10216
- "fieldName": "simple"
10254
+ "kind": "method",
10255
+ "name": "clearTriggerA11yAttributes",
10256
+ "parameters": [
10257
+ {
10258
+ "name": "triggerElement"
10259
+ }
10260
+ ]
10217
10261
  },
10218
10262
  {
10219
- "name": "chevron",
10220
- "type": {
10221
- "text": "boolean"
10222
- },
10223
- "description": "If declared, the dropdown displays a chevron on the right.",
10224
- "fieldName": "chevron"
10263
+ "kind": "method",
10264
+ "name": "handleTriggerContentSlotChange",
10265
+ "parameters": [
10266
+ {
10267
+ "name": "event",
10268
+ "description": "Native slotchange event.",
10269
+ "type": {
10270
+ "text": "Event"
10271
+ }
10272
+ }
10273
+ ],
10274
+ "description": "Handles changes to the trigger content slot and updates related properties.\n\nIt first updates the floater settings\nThen, it retrieves the assigned nodes from the event target and checks if any of\nthe nodes contain non-empty text content, updating the `hasTriggerContent` property accordingly.",
10275
+ "privacy": "private",
10276
+ "return": {
10277
+ "type": {
10278
+ "text": "void"
10279
+ }
10280
+ }
10225
10281
  },
10226
10282
  {
10227
- "name": "disabled",
10228
- "type": {
10229
- "text": "boolean"
10230
- },
10231
- "description": "If declared, the dropdown is not interactive.",
10232
- "fieldName": "disabled"
10283
+ "kind": "method",
10284
+ "name": "handleDefaultSlot",
10285
+ "description": "Handles the default slot change event and updates the content.\n\nThis method retrieves all nodes assigned to the default slot of the event target and appends them\nto the `bibContent` element. If a callback function `onSlotChange` is defined, it is invoked to\nnotify about the slot change.",
10286
+ "privacy": "private"
10233
10287
  },
10234
10288
  {
10235
- "name": "disableKeyboardHandling",
10236
- "type": {
10237
- "text": "boolean"
10238
- },
10239
- "description": "If declared, the dropdown will not handle keyboard events and will require the consumer to manage this behavior.",
10240
- "fieldName": "disableKeyboardHandling"
10289
+ "kind": "method",
10290
+ "name": "renderBasicHtml",
10291
+ "parameters": [
10292
+ {
10293
+ "name": "helpTextClasses",
10294
+ "description": "Classes to apply to the help text container.",
10295
+ "type": {
10296
+ "text": "Object"
10297
+ }
10298
+ }
10299
+ ],
10300
+ "description": "Returns HTML for the common portion of the layouts.",
10301
+ "privacy": "private",
10302
+ "return": {
10303
+ "type": {
10304
+ "text": "html"
10305
+ }
10306
+ }
10241
10307
  },
10242
10308
  {
10243
- "name": "dropdownWidth",
10244
- "type": {
10245
- "text": "number"
10246
- },
10247
- "fieldName": "dropdownWidth"
10309
+ "kind": "method",
10310
+ "name": "renderLayoutClassic",
10311
+ "description": "Returns HTML for the classic layout. Does not support type=\"*\".",
10312
+ "privacy": "private",
10313
+ "return": {
10314
+ "type": {
10315
+ "text": "html"
10316
+ }
10317
+ }
10248
10318
  },
10249
10319
  {
10250
- "name": "error",
10251
- "type": {
10252
- "text": "boolean"
10253
- },
10254
- "description": "If declared, will apply error UI to the dropdown.",
10255
- "fieldName": "error"
10320
+ "kind": "method",
10321
+ "name": "renderLayoutSnowflake",
10322
+ "description": "Returns HTML for the snowflake layout. Does not support type=\"*\".",
10323
+ "privacy": "private",
10324
+ "return": {
10325
+ "type": {
10326
+ "text": "html"
10327
+ }
10328
+ }
10256
10329
  },
10257
10330
  {
10258
- "name": "errorMessage",
10259
- "type": {
10260
- "text": "string"
10261
- },
10262
- "description": "Contains the help text message for the current validity error.",
10263
- "default": "undefined",
10264
- "fieldName": "errorMessage"
10331
+ "kind": "method",
10332
+ "name": "renderLayoutEmphasized",
10333
+ "description": "Returns HTML for the emphasized layout. Does not support type=\"*\".",
10334
+ "privacy": "private",
10335
+ "return": {
10336
+ "type": {
10337
+ "text": "html"
10338
+ }
10339
+ }
10265
10340
  },
10266
- {
10267
- "name": "focusShow",
10268
- "type": {
10269
- "text": "boolean"
10270
- },
10271
- "description": "If declared, the bib will display when focus is applied to the trigger.",
10272
- "fieldName": "focusShow"
10341
+ {
10342
+ "kind": "method",
10343
+ "name": "renderLayout",
10344
+ "parameters": [
10345
+ {
10346
+ "name": "ForcedLayout",
10347
+ "description": "Used to force a specific layout, pass in the layout name to use.",
10348
+ "optional": true,
10349
+ "type": {
10350
+ "text": "string"
10351
+ }
10352
+ }
10353
+ ],
10354
+ "description": "Logic to determine the layout of the component.",
10355
+ "privacy": "private",
10356
+ "return": {
10357
+ "type": {
10358
+ "text": "HTMLCollection"
10359
+ }
10360
+ }
10273
10361
  },
10274
10362
  {
10275
- "name": "open",
10363
+ "kind": "field",
10364
+ "name": "isPopoverVisible",
10365
+ "privacy": "public",
10276
10366
  "type": {
10277
10367
  "text": "boolean"
10278
10368
  },
10279
10369
  "description": "If true, the dropdown bib is displayed.",
10280
10370
  "default": "false",
10281
- "fieldName": "isPopoverVisible"
10371
+ "attribute": "open",
10372
+ "reflects": true
10282
10373
  },
10283
10374
  {
10375
+ "kind": "field",
10284
10376
  "name": "isBibFullscreen",
10377
+ "privacy": "public",
10285
10378
  "type": {
10286
10379
  "text": "boolean"
10287
10380
  },
10288
10381
  "description": "If true, the dropdown bib is taking the fullscreen when it's open.",
10289
10382
  "default": "false",
10290
- "fieldName": "isBibFullscreen"
10383
+ "attribute": "isBibFullscreen",
10384
+ "reflects": true
10291
10385
  },
10292
10386
  {
10293
- "name": "hoverToggle",
10387
+ "kind": "field",
10388
+ "name": "matchWidth",
10389
+ "privacy": "public",
10294
10390
  "type": {
10295
10391
  "text": "boolean"
10296
10392
  },
10297
- "description": "If declared, the trigger will toggle the dropdown on mouseover/mouseout.",
10298
- "fieldName": "hoverToggle"
10393
+ "description": "If declared, the popover and trigger will be set to the same width.",
10394
+ "default": "false",
10395
+ "attribute": "matchWidth",
10396
+ "reflects": true
10299
10397
  },
10300
10398
  {
10301
- "name": "hasTriggerContent",
10399
+ "kind": "field",
10400
+ "name": "noHideOnThisFocusLoss",
10401
+ "privacy": "public",
10302
10402
  "type": {
10303
10403
  "text": "boolean"
10304
10404
  },
10305
- "fieldName": "hasTriggerContent"
10405
+ "description": "If declared, the dropdown will not hide when moving focus outside the element.",
10406
+ "default": "false",
10407
+ "attribute": "noHideOnThisFocusLoss",
10408
+ "reflects": true
10306
10409
  },
10307
10410
  {
10308
- "name": "fullscreenBreakpoint",
10411
+ "kind": "field",
10412
+ "name": "errorMessage",
10413
+ "privacy": "public",
10309
10414
  "type": {
10310
- "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'disabled'"
10415
+ "text": "string"
10311
10416
  },
10312
- "description": "Defines the screen size breakpoint at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.\n\nWhen expanded, the dropdown will automatically display in fullscreen mode\nif the screen size is equal to or smaller than the selected breakpoint.",
10313
- "default": "'sm'",
10314
- "fieldName": "fullscreenBreakpoint"
10417
+ "description": "Contains the help text message for the current validity error.",
10418
+ "default": "undefined",
10419
+ "attribute": "errorMessage"
10315
10420
  },
10316
10421
  {
10422
+ "kind": "field",
10317
10423
  "name": "layout",
10424
+ "privacy": "public",
10318
10425
  "type": {
10319
10426
  "text": "string"
10320
10427
  },
10321
10428
  "description": "Sets the layout of the dropdown.",
10322
10429
  "default": "undefined",
10323
- "fieldName": "layout",
10430
+ "attribute": "layout",
10431
+ "reflects": true,
10324
10432
  "inheritedFrom": {
10325
10433
  "name": "AuroElement",
10326
10434
  "module": "components/layoutElement/src/auroElement.js"
10327
10435
  }
10328
10436
  },
10329
10437
  {
10330
- "name": "parentBorder",
10331
- "type": {
10332
- "text": "boolean"
10333
- },
10334
- "description": "Defines if the trigger should size based on the parent element providing the border UI.",
10335
- "default": "false",
10336
- "fieldName": "parentBorder"
10337
- },
10338
- {
10339
- "name": "matchWidth",
10340
- "type": {
10341
- "text": "boolean"
10342
- },
10343
- "description": "If declared, the popover and trigger will be set to the same width.",
10344
- "default": "false",
10345
- "fieldName": "matchWidth"
10346
- },
10347
- {
10348
- "name": "noFlip",
10438
+ "kind": "field",
10439
+ "name": "shape",
10440
+ "privacy": "public",
10349
10441
  "type": {
10350
- "text": "boolean"
10442
+ "text": "string"
10351
10443
  },
10352
- "description": "If declared, the bib will NOT flip to an alternate position\nwhen there isn't enough space in the specified `placement`.",
10353
- "fieldName": "noFlip"
10444
+ "attribute": "shape",
10445
+ "reflects": true,
10446
+ "default": "undefined",
10447
+ "inheritedFrom": {
10448
+ "name": "AuroElement",
10449
+ "module": "components/layoutElement/src/auroElement.js"
10450
+ }
10354
10451
  },
10355
10452
  {
10356
- "name": "shift",
10453
+ "kind": "field",
10454
+ "name": "size",
10455
+ "privacy": "public",
10357
10456
  "type": {
10358
- "text": "boolean"
10457
+ "text": "string"
10359
10458
  },
10360
- "description": "If declared, the dropdown will shift its position to avoid being cut off by the viewport.",
10361
- "fieldName": "shift"
10459
+ "attribute": "size",
10460
+ "reflects": true,
10461
+ "default": "undefined",
10462
+ "inheritedFrom": {
10463
+ "name": "AuroElement",
10464
+ "module": "components/layoutElement/src/auroElement.js"
10465
+ }
10362
10466
  },
10363
10467
  {
10364
- "name": "noHideOnThisFocusLoss",
10468
+ "kind": "field",
10469
+ "name": "parentBorder",
10470
+ "privacy": "private",
10365
10471
  "type": {
10366
10472
  "text": "boolean"
10367
10473
  },
10368
- "description": "If declared, the dropdown will not hide when moving focus outside the element.",
10474
+ "description": "Defines if the trigger should size based on the parent element providing the border UI.",
10369
10475
  "default": "false",
10370
- "fieldName": "noHideOnThisFocusLoss"
10371
- },
10372
- {
10373
- "name": "noToggle",
10374
- "type": {
10375
- "text": "boolean"
10376
- },
10377
- "description": "If declared, the trigger will only show the dropdown bib.",
10378
- "fieldName": "noToggle"
10379
- },
10380
- {
10381
- "name": "offset",
10382
- "type": {
10383
- "text": "number"
10384
- },
10385
- "description": "Gap between the trigger element and bib.",
10386
- "default": "0",
10387
- "fieldName": "offset"
10388
- },
10389
- {
10390
- "name": "onDark",
10391
- "type": {
10392
- "text": "boolean"
10393
- },
10394
- "description": "DEPRECATED - use `appearance=\"inverse\"` instead.",
10395
- "fieldName": "onDark"
10476
+ "attribute": "parentBorder",
10477
+ "reflects": true
10396
10478
  },
10397
10479
  {
10398
- "name": "onSlotChange",
10399
- "type": {
10400
- "text": "function"
10401
- },
10402
- "description": "If declared, and a function is set, that function will execute when the slot content is updated.",
10403
- "fieldName": "onSlotChange"
10480
+ "kind": "field",
10481
+ "name": "bibElement",
10482
+ "privacy": "private"
10404
10483
  },
10405
10484
  {
10406
- "name": "placement",
10485
+ "kind": "field",
10486
+ "name": "a11yRole",
10487
+ "privacy": "public",
10407
10488
  "type": {
10408
- "text": "'top' | 'right' | 'bottom' | 'left' | 'bottom-start' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-end' | 'left-start' | 'left-end'"
10489
+ "text": "string"
10409
10490
  },
10410
- "description": "Position where the bib should appear relative to the trigger.",
10411
- "default": "'bottom-start'",
10412
- "fieldName": "placement"
10491
+ "description": "The value for the role attribute of the trigger element."
10413
10492
  },
10414
10493
  {
10415
- "name": "tabIndex",
10494
+ "kind": "field",
10495
+ "name": "appearance",
10496
+ "privacy": "public",
10416
10497
  "type": {
10417
- "text": "number"
10498
+ "text": "'default' | 'inverse'"
10418
10499
  },
10419
- "fieldName": "tabIndex"
10500
+ "description": "Defines whether the component will be on lighter or darker backgrounds.",
10501
+ "default": "'default'",
10502
+ "attribute": "appearance",
10503
+ "reflects": true
10420
10504
  },
10421
10505
  {
10422
- "name": "shape",
10506
+ "kind": "field",
10507
+ "name": "autoPlacement",
10508
+ "privacy": "public",
10423
10509
  "type": {
10424
- "text": "string"
10510
+ "text": "boolean"
10425
10511
  },
10426
- "fieldName": "shape",
10427
- "inheritedFrom": {
10428
- "name": "AuroElement",
10429
- "module": "components/layoutElement/src/auroElement.js"
10430
- }
10512
+ "description": "If declared, bib's position will be automatically calculated where to appear.",
10513
+ "attribute": "autoPlacement",
10514
+ "reflects": true
10431
10515
  },
10432
10516
  {
10433
- "name": "size",
10517
+ "kind": "field",
10518
+ "name": "desktopModal",
10519
+ "privacy": "public",
10434
10520
  "type": {
10435
- "text": "string"
10521
+ "text": "boolean"
10436
10522
  },
10437
- "fieldName": "size",
10438
- "inheritedFrom": {
10439
- "name": "AuroElement",
10440
- "module": "components/layoutElement/src/auroElement.js"
10441
- }
10523
+ "description": "If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.",
10524
+ "attribute": "desktopModal",
10525
+ "reflects": true
10442
10526
  },
10443
10527
  {
10444
- "name": "ondark",
10528
+ "kind": "field",
10529
+ "name": "disableEventShow",
10530
+ "privacy": "public",
10445
10531
  "type": {
10446
10532
  "text": "boolean"
10447
10533
  },
10448
- "fieldName": "onDark",
10449
- "inheritedFrom": {
10450
- "name": "AuroElement",
10451
- "module": "components/layoutElement/src/auroElement.js"
10452
- }
10453
- }
10454
- ],
10455
- "superclass": {
10456
- "name": "AuroElement",
10457
- "module": "/components/layoutElement/src/auroElement.js"
10458
- },
10459
- "tagName": "auro-dropdown",
10460
- "customElement": true
10461
- }
10462
- ],
10463
- "exports": [
10464
- {
10465
- "kind": "js",
10466
- "name": "AuroDropdown",
10467
- "declaration": {
10468
- "name": "AuroDropdown",
10469
- "module": "components/dropdown/src/auro-dropdown.js"
10470
- }
10471
- }
10472
- ]
10473
- },
10474
- {
10475
- "kind": "javascript-module",
10476
- "path": "components/dropdown/src/auro-dropdownBib.js",
10477
- "declarations": [
10478
- {
10479
- "kind": "class",
10480
- "description": "",
10481
- "name": "AuroDropdownBib",
10482
- "cssParts": [
10483
- {
10484
- "description": "Apply css to the bib container.",
10485
- "name": "bibContainer"
10486
- }
10487
- ],
10488
- "members": [
10534
+ "description": "If declared, the dropdown will only show by calling the API .show() public method.",
10535
+ "attribute": "disableEventShow",
10536
+ "reflects": true
10537
+ },
10489
10538
  {
10490
10539
  "kind": "field",
10491
- "name": "mobileFullscreenBreakpoint"
10540
+ "name": "simple",
10541
+ "privacy": "public",
10542
+ "type": {
10543
+ "text": "boolean"
10544
+ },
10545
+ "description": "If declared, applies a border around the trigger slot.",
10546
+ "attribute": "simple",
10547
+ "reflects": true
10492
10548
  },
10493
10549
  {
10494
- "kind": "method",
10495
- "name": "_setupCancelHandler",
10496
- "parameters": [
10497
- {
10498
- "name": "dialog",
10499
- "description": "The dialog element to attach the cancel listener to.",
10500
- "type": {
10501
- "text": "HTMLDialogElement"
10502
- }
10503
- }
10504
- ],
10505
- "description": "Forwards the dialog's native `cancel` event (fired on ESC) as\nan `auro-bib-cancel` custom event so parent components can close.",
10506
- "privacy": "private"
10550
+ "kind": "field",
10551
+ "name": "chevron",
10552
+ "privacy": "public",
10553
+ "type": {
10554
+ "text": "boolean"
10555
+ },
10556
+ "description": "If declared, the dropdown displays a chevron on the right.",
10557
+ "attribute": "chevron",
10558
+ "reflects": true
10507
10559
  },
10508
10560
  {
10509
- "kind": "method",
10510
- "name": "_lockTouchScroll",
10511
- "description": "Blocks touch-driven page scroll while a fullscreen modal dialog is open.\n\nThe showModal() function places the dialog in the browser's **top layer**,\nwhich is a separate rendering layer above the normal DOM. On mobile, the\ncompositor processes visual-viewport panning before top-layer touch\nhandling. This means the entire viewport — including the top-layer dialog\n— can be panned by a touch gesture, causing the page behind the dialog to\nscroll into view. To prevent this, we add a touchmove listener that cancels\nthe event if the touch started outside the dialog or any scrollable child within it.",
10512
- "privacy": "private"
10561
+ "kind": "field",
10562
+ "name": "disabled",
10563
+ "privacy": "public",
10564
+ "type": {
10565
+ "text": "boolean"
10566
+ },
10567
+ "description": "If declared, the dropdown is not interactive.",
10568
+ "attribute": "disabled",
10569
+ "reflects": true
10513
10570
  },
10514
10571
  {
10515
- "kind": "method",
10516
- "name": "_unlockTouchScroll",
10517
- "description": "Removes the touchmove listener added by _lockTouchScroll().",
10518
- "privacy": "private"
10572
+ "kind": "field",
10573
+ "name": "disableKeyboardHandling",
10574
+ "privacy": "public",
10575
+ "type": {
10576
+ "text": "boolean"
10577
+ },
10578
+ "description": "If declared, the dropdown will not handle keyboard events and will require the consumer to manage this behavior.",
10579
+ "attribute": "disableKeyboardHandling",
10580
+ "reflects": true
10519
10581
  },
10520
10582
  {
10521
- "kind": "method",
10522
- "name": "open",
10523
- "parameters": [
10524
- {
10525
- "name": "modal",
10526
- "default": "true"
10527
- }
10528
- ]
10583
+ "kind": "field",
10584
+ "name": "dropdownWidth",
10585
+ "privacy": "private",
10586
+ "type": {
10587
+ "text": "number"
10588
+ },
10589
+ "attribute": "dropdownWidth"
10529
10590
  },
10530
10591
  {
10531
- "kind": "method",
10532
- "name": "close",
10533
- "description": "Closes the dialog."
10592
+ "kind": "field",
10593
+ "name": "dropdownId",
10594
+ "privacy": "private",
10595
+ "type": {
10596
+ "text": "string"
10597
+ },
10598
+ "description": "The unique ID for the dropdown bib element."
10534
10599
  },
10535
10600
  {
10536
10601
  "kind": "field",
10537
- "name": "_mobileBreakpointName",
10538
- "privacy": "private",
10539
- "default": "undefined"
10602
+ "name": "error",
10603
+ "privacy": "public",
10604
+ "type": {
10605
+ "text": "boolean"
10606
+ },
10607
+ "description": "If declared, will apply error UI to the dropdown.",
10608
+ "attribute": "error",
10609
+ "reflects": true
10540
10610
  },
10541
10611
  {
10542
10612
  "kind": "field",
10543
- "name": "shape",
10613
+ "name": "focusShow",
10544
10614
  "privacy": "public",
10545
10615
  "type": {
10546
- "text": "string"
10616
+ "text": "boolean"
10547
10617
  },
10548
- "default": "\"rounded\"",
10549
- "attribute": "shape",
10618
+ "description": "If declared, the bib will display when focus is applied to the trigger.",
10619
+ "attribute": "focusShow",
10550
10620
  "reflects": true
10551
10621
  },
10552
10622
  {
10553
10623
  "kind": "field",
10554
- "name": "matchWidth",
10555
- "privacy": "private",
10624
+ "name": "hoverToggle",
10625
+ "privacy": "public",
10556
10626
  "type": {
10557
10627
  "text": "boolean"
10558
10628
  },
10559
- "description": "If declared, the bib width will match the trigger width.",
10560
- "default": "false",
10561
- "attribute": "matchWidth",
10629
+ "description": "If declared, the trigger will toggle the dropdown on mouseover/mouseout.",
10630
+ "attribute": "hoverToggle",
10562
10631
  "reflects": true
10563
10632
  },
10564
10633
  {
10565
10634
  "kind": "field",
10566
- "name": "hasActiveDescendant",
10635
+ "name": "hasTriggerContent",
10567
10636
  "privacy": "private",
10568
10637
  "type": {
10569
10638
  "text": "boolean"
10570
10639
  },
10571
- "description": "Tracks whether a menu option is currently highlighted.",
10572
- "default": "false",
10573
- "attribute": "hasActiveDescendant"
10640
+ "attribute": "hasTriggerContent"
10574
10641
  },
10575
10642
  {
10643
+ "kind": "field",
10644
+ "name": "fullscreenBreakpoint",
10645
+ "privacy": "public",
10576
10646
  "type": {
10577
- "text": "String"
10647
+ "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'disabled'"
10578
10648
  },
10579
- "description": "Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.",
10580
- "name": "fullscreenBreakpoint",
10581
- "kind": "field"
10649
+ "description": "Defines the screen size breakpoint at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.\n\nWhen expanded, the dropdown will automatically display in fullscreen mode\nif the screen size is equal to or smaller than the selected breakpoint.",
10650
+ "default": "'sm'",
10651
+ "attribute": "fullscreenBreakpoint",
10652
+ "reflects": true
10582
10653
  },
10583
10654
  {
10584
10655
  "kind": "field",
10585
- "name": "isFullscreen",
10656
+ "name": "noFlip",
10586
10657
  "privacy": "public",
10587
10658
  "type": {
10588
10659
  "text": "boolean"
10589
10660
  },
10590
- "description": "If declared, will take the fullscreen when the bib is displayed.",
10591
- "attribute": "isFullscreen",
10661
+ "description": "If declared, the bib will NOT flip to an alternate position\nwhen there isn't enough space in the specified `placement`.",
10662
+ "attribute": "noFlip",
10592
10663
  "reflects": true
10593
10664
  },
10594
10665
  {
10595
10666
  "kind": "field",
10596
- "name": "common",
10667
+ "name": "shift",
10597
10668
  "privacy": "public",
10598
10669
  "type": {
10599
10670
  "text": "boolean"
10600
10671
  },
10601
- "description": "If declared, will apply all styles for the common theme.",
10602
- "attribute": "common",
10672
+ "description": "If declared, the dropdown will shift its position to avoid being cut off by the viewport.",
10673
+ "attribute": "shift",
10603
10674
  "reflects": true
10604
10675
  },
10605
10676
  {
10606
10677
  "kind": "field",
10607
- "name": "inset",
10678
+ "name": "noToggle",
10608
10679
  "privacy": "public",
10609
10680
  "type": {
10610
10681
  "text": "boolean"
10611
10682
  },
10612
- "description": "If declared, will apply extra padding to bib content.",
10613
- "attribute": "inset",
10683
+ "description": "If declared, the trigger will only show the dropdown bib.",
10684
+ "attribute": "noToggle",
10614
10685
  "reflects": true
10615
10686
  },
10616
10687
  {
10617
10688
  "kind": "field",
10618
- "name": "rounded",
10689
+ "name": "offset",
10619
10690
  "privacy": "public",
10620
10691
  "type": {
10621
- "text": "boolean"
10692
+ "text": "number"
10622
10693
  },
10623
- "description": "If declared, will apply border-radius to the bib.",
10624
- "attribute": "rounded",
10694
+ "description": "Gap between the trigger element and bib.",
10695
+ "default": "0",
10696
+ "attribute": "offset",
10625
10697
  "reflects": true
10626
10698
  },
10627
10699
  {
10628
10700
  "kind": "field",
10629
- "name": "bibTemplate",
10701
+ "name": "onDark",
10630
10702
  "privacy": "public",
10631
10703
  "type": {
10632
- "text": "object"
10704
+ "text": "boolean"
10633
10705
  },
10634
- "description": "A reference to the associated bib template element.",
10635
- "attribute": "bibTemplate"
10706
+ "attribute": "onDark",
10707
+ "reflects": true,
10708
+ "description": "DEPRECATED - use `appearance=\"inverse\"` instead.",
10709
+ "inheritedFrom": {
10710
+ "name": "AuroElement",
10711
+ "module": "components/layoutElement/src/auroElement.js"
10712
+ }
10636
10713
  },
10637
10714
  {
10638
10715
  "kind": "field",
10639
- "name": "dialogLabel",
10716
+ "name": "onSlotChange",
10717
+ "privacy": "public",
10718
+ "type": {
10719
+ "text": "function"
10720
+ },
10721
+ "description": "If declared, and a function is set, that function will execute when the slot content is updated.",
10722
+ "attribute": "onSlotChange"
10723
+ },
10724
+ {
10725
+ "kind": "field",
10726
+ "name": "placement",
10727
+ "privacy": "public",
10728
+ "type": {
10729
+ "text": "'top' | 'right' | 'bottom' | 'left' | 'bottom-start' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-end' | 'left-start' | 'left-end'"
10730
+ },
10731
+ "description": "Position where the bib should appear relative to the trigger.",
10732
+ "default": "'bottom-start'",
10733
+ "attribute": "placement",
10734
+ "reflects": true
10735
+ },
10736
+ {
10737
+ "kind": "field",
10738
+ "name": "tabIndex",
10640
10739
  "privacy": "private",
10641
10740
  "type": {
10642
- "text": "string"
10741
+ "text": "number"
10643
10742
  },
10644
- "description": "Accessible label for the dialog element, used when displayed as a modal.\nApplied via aria-labelledby on a visually hidden element rather than\naria-label because iOS VoiceOver does not reliably read aria-label\non <dialog> elements.",
10645
- "attribute": "dialogLabel"
10743
+ "attribute": "tabIndex"
10646
10744
  },
10647
10745
  {
10648
10746
  "kind": "field",
10649
- "name": "dialogRole",
10747
+ "name": "bibDialogLabel",
10650
10748
  "privacy": "private",
10651
10749
  "type": {
10652
10750
  "text": "string"
10653
10751
  },
10654
- "description": "Overrides the native role of the dialog element.\nFor example, set to `\"presentation\"` on desktop combobox to prevent\nVoiceOver from announcing \"listbox inside of a dialog\".\nWhen `undefined`, the dialog keeps its native role.",
10655
- "attribute": "dialogRole"
10656
- }
10657
- ],
10658
- "events": [
10752
+ "description": "Accessible label for the dropdown bib dialog element."
10753
+ },
10659
10754
  {
10660
- "name": "auro-dropdownbib-connected",
10661
- "type": {
10662
- "text": "CustomEvent"
10755
+ "kind": "field",
10756
+ "name": "componentHasFocus",
10757
+ "description": "Returns true if the element has focus.",
10758
+ "privacy": "private",
10759
+ "return": {
10760
+ "type": {
10761
+ "text": "boolean"
10762
+ }
10763
+ },
10764
+ "readonly": true,
10765
+ "inheritedFrom": {
10766
+ "name": "AuroElement",
10767
+ "module": "components/layoutElement/src/auroElement.js"
10663
10768
  }
10664
10769
  },
10665
10770
  {
10666
- "name": "auro-bib-cancel",
10667
- "type": {
10668
- "text": "CustomEvent"
10771
+ "kind": "method",
10772
+ "name": "resetShapeClasses",
10773
+ "inheritedFrom": {
10774
+ "name": "AuroElement",
10775
+ "module": "components/layoutElement/src/auroElement.js"
10776
+ }
10777
+ },
10778
+ {
10779
+ "kind": "method",
10780
+ "name": "resetLayoutClasses",
10781
+ "inheritedFrom": {
10782
+ "name": "AuroElement",
10783
+ "module": "components/layoutElement/src/auroElement.js"
10784
+ }
10785
+ },
10786
+ {
10787
+ "kind": "method",
10788
+ "name": "updateComponentArchitecture",
10789
+ "inheritedFrom": {
10790
+ "name": "AuroElement",
10791
+ "module": "components/layoutElement/src/auroElement.js"
10669
10792
  }
10670
10793
  }
10671
10794
  ],
10672
- "attributes": [
10795
+ "events": [
10673
10796
  {
10674
- "name": "isFullscreen",
10797
+ "name": "auroDropdown-idAdded",
10675
10798
  "type": {
10676
- "text": "boolean"
10799
+ "text": "Object<key"
10677
10800
  },
10678
- "description": "If declared, will take the fullscreen when the bib is displayed.",
10679
- "fieldName": "isFullscreen"
10801
+ "description": "Notifies consumers that the unique ID for the dropdown bib has been generated."
10680
10802
  },
10681
10803
  {
10682
- "name": "common",
10804
+ "name": "auroDropdown-triggerClick",
10683
10805
  "type": {
10684
- "text": "boolean"
10806
+ "text": "CustomEvent"
10685
10807
  },
10686
- "description": "If declared, will apply all styles for the common theme.",
10687
- "fieldName": "common"
10808
+ "description": "Notifies that the trigger has been clicked."
10688
10809
  },
10689
10810
  {
10690
- "name": "inset",
10811
+ "description": "Notifies that the visibility of the dropdown bib has changed.",
10812
+ "name": "auroDropdown-toggled"
10813
+ }
10814
+ ],
10815
+ "attributes": [
10816
+ {
10817
+ "name": "appearance",
10691
10818
  "type": {
10692
- "text": "boolean"
10819
+ "text": "'default' | 'inverse'"
10693
10820
  },
10694
- "description": "If declared, will apply extra padding to bib content.",
10695
- "fieldName": "inset"
10821
+ "description": "Defines whether the component will be on lighter or darker backgrounds.",
10822
+ "default": "'default'",
10823
+ "fieldName": "appearance"
10696
10824
  },
10697
10825
  {
10698
- "name": "matchWidth",
10826
+ "name": "autoPlacement",
10699
10827
  "type": {
10700
10828
  "text": "boolean"
10701
10829
  },
10702
- "description": "If declared, the bib width will match the trigger width.",
10703
- "default": "false",
10704
- "fieldName": "matchWidth"
10830
+ "description": "If declared, bib's position will be automatically calculated where to appear.",
10831
+ "fieldName": "autoPlacement"
10705
10832
  },
10706
10833
  {
10707
- "name": "rounded",
10834
+ "name": "desktopModal",
10708
10835
  "type": {
10709
10836
  "text": "boolean"
10710
10837
  },
10711
- "description": "If declared, will apply border-radius to the bib.",
10712
- "fieldName": "rounded"
10838
+ "description": "If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.",
10839
+ "fieldName": "desktopModal"
10713
10840
  },
10714
10841
  {
10715
- "name": "bibTemplate",
10842
+ "name": "disableEventShow",
10716
10843
  "type": {
10717
- "text": "object"
10844
+ "text": "boolean"
10718
10845
  },
10719
- "description": "A reference to the associated bib template element.",
10720
- "fieldName": "bibTemplate"
10846
+ "description": "If declared, the dropdown will only show by calling the API .show() public method.",
10847
+ "fieldName": "disableEventShow"
10721
10848
  },
10722
10849
  {
10723
- "name": "shape",
10850
+ "name": "simple",
10724
10851
  "type": {
10725
- "text": "string"
10852
+ "text": "boolean"
10726
10853
  },
10727
- "default": "\"rounded\"",
10728
- "fieldName": "shape"
10854
+ "description": "If declared, applies a border around the trigger slot.",
10855
+ "fieldName": "simple"
10729
10856
  },
10730
10857
  {
10731
- "name": "dialogLabel",
10858
+ "name": "chevron",
10732
10859
  "type": {
10733
- "text": "string"
10860
+ "text": "boolean"
10734
10861
  },
10735
- "description": "Accessible label for the dialog element, used when displayed as a modal.\nApplied via aria-labelledby on a visually hidden element rather than\naria-label because iOS VoiceOver does not reliably read aria-label\non <dialog> elements.",
10736
- "fieldName": "dialogLabel"
10862
+ "description": "If declared, the dropdown displays a chevron on the right.",
10863
+ "fieldName": "chevron"
10737
10864
  },
10738
10865
  {
10739
- "name": "dialogRole",
10866
+ "name": "disabled",
10740
10867
  "type": {
10741
- "text": "string"
10868
+ "text": "boolean"
10742
10869
  },
10743
- "description": "Overrides the native role of the dialog element.\nFor example, set to `\"presentation\"` on desktop combobox to prevent\nVoiceOver from announcing \"listbox inside of a dialog\".\nWhen `undefined`, the dialog keeps its native role.",
10744
- "fieldName": "dialogRole"
10870
+ "description": "If declared, the dropdown is not interactive.",
10871
+ "fieldName": "disabled"
10745
10872
  },
10746
10873
  {
10747
- "name": "hasActiveDescendant",
10874
+ "name": "disableKeyboardHandling",
10748
10875
  "type": {
10749
10876
  "text": "boolean"
10750
10877
  },
10751
- "description": "Tracks whether a menu option is currently highlighted.",
10752
- "default": "false",
10753
- "fieldName": "hasActiveDescendant"
10754
- }
10755
- ],
10756
- "superclass": {
10757
- "name": "LitElement",
10758
- "package": "lit"
10759
- },
10760
- "customElement": true
10761
- }
10762
- ],
10763
- "exports": [
10764
- {
10765
- "kind": "js",
10766
- "name": "AuroDropdownBib",
10767
- "declaration": {
10768
- "name": "AuroDropdownBib",
10769
- "module": "components/dropdown/src/auro-dropdownBib.js"
10770
- }
10771
- }
10772
- ]
10773
- },
10774
- {
10775
- "kind": "javascript-module",
10776
- "path": "components/dropdown/src/dropdownBibKeyboardStrategy.js",
10777
- "declarations": [
10778
- {
10779
- "kind": "function",
10780
- "name": "createDropdownBibKeyboardStrategy",
10781
- "parameters": [
10782
- {
10783
- "name": "bib",
10784
- "description": "The dropdown bib element.",
10785
- "type": {
10786
- "text": "HTMLElement"
10787
- }
10788
- }
10789
- ],
10790
- "description": "Creates a keyboard strategy for dialog-specific key handling.\nAll other keydown behavior is left to the browser's native bubbling path.",
10791
- "return": {
10792
- "type": {
10793
- "text": "Object"
10794
- }
10795
- }
10796
- }
10797
- ],
10798
- "exports": [
10799
- {
10800
- "kind": "js",
10801
- "name": "createDropdownBibKeyboardStrategy",
10802
- "declaration": {
10803
- "name": "createDropdownBibKeyboardStrategy",
10804
- "module": "components/dropdown/src/dropdownBibKeyboardStrategy.js"
10805
- }
10806
- }
10807
- ]
10808
- },
10809
- {
10810
- "kind": "javascript-module",
10811
- "path": "components/dropdown/src/iconVersion.js",
10812
- "declarations": [],
10813
- "exports": [
10814
- {
10815
- "kind": "js",
10816
- "name": "default",
10817
- "declaration": {
10818
- "name": "9.2.0",
10819
- "module": "components/dropdown/src/iconVersion.js"
10820
- }
10821
- }
10822
- ]
10823
- },
10824
- {
10825
- "kind": "javascript-module",
10826
- "path": "components/dropdown/src/index.js",
10827
- "declarations": [],
10828
- "exports": [
10829
- {
10830
- "kind": "js",
10831
- "name": "AuroDropdown",
10832
- "declaration": {
10833
- "name": "AuroDropdown",
10834
- "module": "components/dropdown/src/index.js"
10835
- }
10836
- }
10837
- ]
10838
- },
10839
- {
10840
- "kind": "javascript-module",
10841
- "path": "components/dropdown/src/registered.js",
10842
- "declarations": [],
10843
- "exports": []
10844
- },
10845
- {
10846
- "kind": "javascript-module",
10847
- "path": "components/form/src/auro-form.js",
10848
- "declarations": [
10849
- {
10850
- "kind": "class",
10851
- "description": "The `auro-form` element provides users a way to create and manage forms in a consistent manner.",
10852
- "name": "AuroForm",
10853
- "slots": [
10854
- {
10855
- "description": "The default slot for form elements.",
10856
- "name": "default"
10857
- }
10858
- ],
10859
- "members": [
10860
- {
10861
- "kind": "field",
10862
- "name": "formElementTags",
10863
- "static": true,
10864
- "readonly": true
10865
- },
10866
- {
10867
- "kind": "method",
10868
- "name": "_isElementTag",
10869
- "parameters": [
10870
- {
10871
- "name": "elementTag",
10872
- "description": "The HTML tag name like `auro-datepicker`.",
10873
- "type": {
10874
- "text": "string"
10875
- }
10876
- },
10877
- {
10878
- "name": "element",
10879
- "description": "The actual HTML element to compare.",
10880
- "type": {
10881
- "text": "HTMLElement"
10882
- }
10883
- }
10884
- ],
10885
- "description": "Compare tag name with element to identify it (for API purposes).",
10886
- "return": {
10887
- "type": {
10888
- "text": "boolean"
10889
- }
10890
- },
10891
- "privacy": "private"
10892
- },
10893
- {
10894
- "kind": "method",
10895
- "name": "_isInElementCollection",
10896
- "parameters": [
10897
- {
10898
- "name": "collection",
10899
- "description": "The array to use for tag name search.",
10900
- "type": {
10901
- "text": "string[]"
10902
- }
10903
- },
10904
- {
10905
- "name": "element",
10906
- "description": "The element to compare against the master list.",
10907
- "type": {
10908
- "text": "HTMLElement"
10909
- }
10910
- }
10911
- ],
10912
- "description": "Shared code for determining if an element is something we care about (submit, form element, etc.).",
10913
- "return": {
10914
- "type": {
10915
- "text": "boolean"
10916
- }
10917
- },
10918
- "privacy": "private"
10878
+ "description": "If declared, the dropdown will not handle keyboard events and will require the consumer to manage this behavior.",
10879
+ "fieldName": "disableKeyboardHandling"
10919
10880
  },
10920
- {
10921
- "kind": "method",
10922
- "name": "isFormElement",
10923
- "parameters": [
10924
- {
10925
- "name": "element",
10926
- "description": "The element to check (attr or tag name).",
10927
- "type": {
10928
- "text": "HTMLElement"
10929
- }
10930
- }
10931
- ],
10932
- "description": "Check if the tag name is a form element.",
10933
- "return": {
10934
- "type": {
10935
- "text": "boolean"
10936
- }
10881
+ {
10882
+ "name": "dropdownWidth",
10883
+ "type": {
10884
+ "text": "number"
10937
10885
  },
10938
- "privacy": "private"
10886
+ "fieldName": "dropdownWidth"
10939
10887
  },
10940
10888
  {
10941
- "kind": "method",
10942
- "name": "_isDisabled",
10943
- "parameters": [
10944
- {
10945
- "name": "element",
10946
- "description": "The element to check.",
10947
- "type": {
10948
- "text": "HTMLElement | undefined | null"
10949
- }
10950
- }
10951
- ],
10952
- "description": "Whether a given element is currently disabled. Disabled controls are excluded\nfrom submission, validity, and initial-state checks per the HTML spec\n(section 4.10.19.2 \"Enabling and disabling form controls\":\nhttps://www.w3.org/TR/2011/WD-html5-20110113/association-of-controls-and-forms.html).\n\nImplementation note: we deliberately read only the attribute. Every Auro\nform element in `formElementTags` declares `disabled` with `reflect: true`,\nso the attribute and property stay in sync. Reading the attribute also\nlets the MutationObserver in `connectedCallback` (which is filtered to\n`['disabled', 'name']`) be the single source of truth for re-renders.\nIf a future form-element type ships without attribute reflection, expand\nthis helper to also read `element.disabled`.",
10953
- "return": {
10954
- "type": {
10955
- "text": "boolean"
10956
- }
10889
+ "name": "error",
10890
+ "type": {
10891
+ "text": "boolean"
10957
10892
  },
10958
- "privacy": "private"
10893
+ "description": "If declared, will apply error UI to the dropdown.",
10894
+ "fieldName": "error"
10959
10895
  },
10960
10896
  {
10961
- "kind": "method",
10962
- "name": "_isNameDisabled",
10963
- "parameters": [
10964
- {
10965
- "name": "name",
10966
- "description": "The `name` attribute used to register the element.",
10967
- "type": {
10968
- "text": "string"
10969
- }
10970
- }
10971
- ],
10972
- "description": "Whether the tracked form element registered under `name` is currently disabled.\nSee `_isDisabled` for the HTML-spec rationale behind excluding disabled\ncontrols from form state.\n\nReads a cached flag on `formState[name]` populated by `_addElementToState`\nat registration and refreshed by `_handleAttributeMutations` whenever the\nelement's `disabled` attribute toggles. The cache is fed by the same\n`hasAttribute('disabled')` read as `_isDisabled`, so the \"future form-element\ntype without attribute reflection\" caveat documented there applies here too.",
10973
- "return": {
10974
- "type": {
10975
- "text": "boolean"
10976
- }
10897
+ "name": "errorMessage",
10898
+ "type": {
10899
+ "text": "string"
10977
10900
  },
10978
- "privacy": "private"
10901
+ "description": "Contains the help text message for the current validity error.",
10902
+ "default": "undefined",
10903
+ "fieldName": "errorMessage"
10979
10904
  },
10980
10905
  {
10981
- "kind": "method",
10982
- "name": "_eventIsValidFormEvent",
10983
- "parameters": [
10984
- {
10985
- "name": "event",
10986
- "description": "The event to validate.",
10987
- "type": {
10988
- "text": "Event"
10989
- }
10990
- }
10991
- ],
10992
- "description": "Validates if an event is from a valid form element with a name.",
10993
- "return": {
10994
- "type": {
10995
- "text": "boolean"
10996
- }
10906
+ "name": "focusShow",
10907
+ "type": {
10908
+ "text": "boolean"
10997
10909
  },
10998
- "privacy": "private"
10910
+ "description": "If declared, the bib will display when focus is applied to the trigger.",
10911
+ "fieldName": "focusShow"
10999
10912
  },
11000
10913
  {
11001
- "kind": "field",
11002
- "name": "buttonElementTags",
11003
- "static": true,
11004
- "readonly": true
10914
+ "name": "open",
10915
+ "type": {
10916
+ "text": "boolean"
10917
+ },
10918
+ "description": "If true, the dropdown bib is displayed.",
10919
+ "default": "false",
10920
+ "fieldName": "isPopoverVisible"
11005
10921
  },
11006
10922
  {
11007
- "kind": "method",
11008
- "name": "isButtonElement",
11009
- "parameters": [
11010
- {
11011
- "name": "element",
11012
- "description": "The element to check.",
11013
- "type": {
11014
- "text": "HTMLElement"
11015
- }
11016
- }
11017
- ],
11018
- "description": "Check if the tag name is a button element.",
11019
- "return": {
11020
- "type": {
11021
- "text": "boolean"
11022
- }
10923
+ "name": "isBibFullscreen",
10924
+ "type": {
10925
+ "text": "boolean"
11023
10926
  },
11024
- "privacy": "private"
10927
+ "description": "If true, the dropdown bib is taking the fullscreen when it's open.",
10928
+ "default": "false",
10929
+ "fieldName": "isBibFullscreen"
11025
10930
  },
11026
10931
  {
11027
- "kind": "field",
11028
- "name": "value",
11029
- "description": "Returns the current values of all named, enabled form elements as a key-value object, keyed by each element's `name` attribute. Each value is the child component's own `.value`, so the shape depends on the element type — see that component's documentation for its exact shape (for example, `auro-checkbox-group` yields an array, `auro-counter-group` yields an object keyed by counter name, and `auro-select` with `multiSelect` yields a JSON-encoded string). The one form-specific exception is a `range` `auro-datepicker`, whose `.values` array (`[start, end]`) is stored instead of its single `.value` string.",
11030
- "return": {
11031
- "type": {
11032
- "text": "Record<string, string | number | boolean | string[] | Record<string, number> | null>"
11033
- }
10932
+ "name": "hoverToggle",
10933
+ "type": {
10934
+ "text": "boolean"
11034
10935
  },
11035
- "readonly": true
10936
+ "description": "If declared, the trigger will toggle the dropdown on mouseover/mouseout.",
10937
+ "fieldName": "hoverToggle"
11036
10938
  },
11037
10939
  {
11038
- "kind": "field",
11039
- "name": "submitElements",
11040
- "description": "Getter for internal _submitElements.",
11041
- "return": {
11042
- "type": {
11043
- "text": "HTMLButtonElement[]"
11044
- }
10940
+ "name": "hasTriggerContent",
10941
+ "type": {
10942
+ "text": "boolean"
11045
10943
  },
11046
- "privacy": "private",
11047
- "readonly": true
10944
+ "fieldName": "hasTriggerContent"
11048
10945
  },
11049
10946
  {
11050
- "kind": "field",
11051
- "name": "resetElements",
11052
- "description": "Returns a collection of elements that will reset the form.",
11053
- "return": {
11054
- "type": {
11055
- "text": "HTMLButtonElement[]"
11056
- }
10947
+ "name": "fullscreenBreakpoint",
10948
+ "type": {
10949
+ "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'disabled'"
11057
10950
  },
11058
- "privacy": "private",
11059
- "readonly": true
10951
+ "description": "Defines the screen size breakpoint at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.\n\nWhen expanded, the dropdown will automatically display in fullscreen mode\nif the screen size is equal to or smaller than the selected breakpoint.",
10952
+ "default": "'sm'",
10953
+ "fieldName": "fullscreenBreakpoint"
11060
10954
  },
11061
10955
  {
11062
- "kind": "method",
11063
- "name": "_isFormValid",
11064
- "description": "Raw constraint-validation check. Returns `true` when no enabled field\nhas a validity error. Unlike the public `validity` getter, this does\nNOT gate on `isInitialState` — callers that need to make a decision\nbased on the actual constraint state (submit-button enablement, the\ninternal `submit()` gate) read this so a pre-filled valid form is\ncorrectly recognized as submittable at first render.",
11065
- "return": {
11066
- "type": {
11067
- "text": "boolean"
11068
- }
10956
+ "name": "layout",
10957
+ "type": {
10958
+ "text": "string"
11069
10959
  },
11070
- "privacy": "private"
10960
+ "description": "Sets the layout of the dropdown.",
10961
+ "default": "undefined",
10962
+ "fieldName": "layout",
10963
+ "inheritedFrom": {
10964
+ "name": "AuroElement",
10965
+ "module": "components/layoutElement/src/auroElement.js"
10966
+ }
11071
10967
  },
11072
10968
  {
11073
- "kind": "method",
11074
- "name": "_hasResetableState",
11075
- "description": "Whether the reset button should be enabled. True when the form has\ndiverged from its initial state (so the user can always return to\ndefaults — even if the dirty value lives behind a now-disabled field),\nOR when any non-disabled field has a current value or captured initial\nvalue (covers pre-filled forms and user-cleared-back-to-empty cases).",
11076
- "return": {
11077
- "type": {
11078
- "text": "boolean"
11079
- }
10969
+ "name": "parentBorder",
10970
+ "type": {
10971
+ "text": "boolean"
11080
10972
  },
11081
- "privacy": "private"
10973
+ "description": "Defines if the trigger should size based on the parent element providing the border UI.",
10974
+ "default": "false",
10975
+ "fieldName": "parentBorder"
11082
10976
  },
11083
10977
  {
11084
- "kind": "method",
11085
- "name": "_normalizeEmpty",
11086
- "parameters": [
11087
- {
11088
- "name": "value",
11089
- "description": "Value to normalize.",
11090
- "type": {
11091
- "text": "*"
11092
- }
11093
- }
11094
- ],
11095
- "description": "Collapse empty representations to a single canonical `null`.\n\n`_addElementToState` captures `null` for a field that mounts without a\n`value` attribute (`element.value || element.getAttribute('value')` is\nfalsy → resolves to `null`), but `sharedInputListener` later stores the\nraw `event.target.value` — which is `''` for a user-cleared text input.\nWithout this normalization, backspacing back to empty would taint the\nform forever (`'' !== null`) and Reset would stay enabled with nothing\nto actually reset.\n\n`''`, `undefined`, and `[]` all collapse to `null`. The empty-array case\ncovers checkbox-group, radio-group, and multiselect, where `[]` means\n\"no selection\" — semantically the same as `null`/`''`. Genuine values\n— including `0`, `false`, non-empty strings, and non-empty arrays —\npass through unchanged so number, boolean, and populated multi-value\nfields still compare correctly.",
11096
- "return": {
11097
- "type": {
11098
- "text": "*"
11099
- }
10978
+ "name": "matchWidth",
10979
+ "type": {
10980
+ "text": "boolean"
11100
10981
  },
11101
- "privacy": "private"
10982
+ "description": "If declared, the popover and trigger will be set to the same width.",
10983
+ "default": "false",
10984
+ "fieldName": "matchWidth"
11102
10985
  },
11103
10986
  {
11104
- "kind": "method",
11105
- "name": "_calculateValidity",
11106
- "description": "Infer validity status based on current formState.\n\nValidity stays `null` while the form is in its initial state — this is\nthe \"stay quiet until the user interacts\" UX contract that consumers\ndepend on to delay error indicators. Code that needs the raw\nconstraint-validation result regardless of interaction (e.g.,\nsubmit-button enablement) should call `_isFormValid()` directly.",
11107
- "privacy": "private"
10987
+ "name": "noFlip",
10988
+ "type": {
10989
+ "text": "boolean"
10990
+ },
10991
+ "description": "If declared, the bib will NOT flip to an alternate position\nwhen there isn't enough space in the specified `placement`.",
10992
+ "fieldName": "noFlip"
11108
10993
  },
11109
10994
  {
11110
- "kind": "field",
11111
- "name": "validity",
11112
- "description": "Returns `'valid'` if all required and interacted-with form elements are valid, `'invalid'` if any are not, or `null` if the form has not been interacted with yet.",
11113
- "return": {
11114
- "type": {
11115
- "text": "\"valid\" | \"invalid\" | null"
11116
- }
10995
+ "name": "shift",
10996
+ "type": {
10997
+ "text": "boolean"
11117
10998
  },
11118
- "readonly": true
10999
+ "description": "If declared, the dropdown will shift its position to avoid being cut off by the viewport.",
11000
+ "fieldName": "shift"
11119
11001
  },
11120
11002
  {
11121
- "kind": "method",
11122
- "name": "_setInitialState",
11123
- "description": "Determines whether the form is in its initial (untouched) state.\n\nA field is tainted if either:\n - its value differs from the value captured on first render, OR\n - its validity is failing (anything other than `null` or `'valid'`).\n\nValidity acts as a backup signal: it catches users who interact with a\nfield without changing its value (e.g., focusing and blurring a required\nfield). We skip `null` (not yet validated) and `'valid'` (the default\nafter Auro's auto-validation on mount) because neither proves the user\ntouched anything.",
11124
- "return": {
11125
- "type": {
11126
- "text": "void"
11127
- }
11003
+ "name": "noHideOnThisFocusLoss",
11004
+ "type": {
11005
+ "text": "boolean"
11128
11006
  },
11129
- "privacy": "private"
11007
+ "description": "If declared, the dropdown will not hide when moving focus outside the element.",
11008
+ "default": "false",
11009
+ "fieldName": "noHideOnThisFocusLoss"
11130
11010
  },
11131
11011
  {
11132
- "kind": "field",
11133
- "name": "isInitialState",
11134
- "description": "Returns `true` if no form element has been interacted with or had its value changed since the form was initialized or last reset.",
11135
- "return": {
11136
- "type": {
11137
- "text": "boolean"
11138
- }
11012
+ "name": "noToggle",
11013
+ "type": {
11014
+ "text": "boolean"
11015
+ },
11016
+ "description": "If declared, the trigger will only show the dropdown bib.",
11017
+ "fieldName": "noToggle"
11018
+ },
11019
+ {
11020
+ "name": "offset",
11021
+ "type": {
11022
+ "text": "number"
11139
11023
  },
11140
- "readonly": true
11024
+ "description": "Gap between the trigger element and bib.",
11025
+ "default": "0",
11026
+ "fieldName": "offset"
11141
11027
  },
11142
11028
  {
11143
- "kind": "method",
11144
- "name": "setDisabledStateOnButtons",
11145
- "description": "Enables or disables submit and reset buttons based on the current form state and validity.",
11146
- "return": {
11147
- "type": {
11148
- "text": "void"
11149
- }
11029
+ "name": "onDark",
11030
+ "type": {
11031
+ "text": "boolean"
11150
11032
  },
11151
- "privacy": "private"
11033
+ "description": "DEPRECATED - use `appearance=\"inverse\"` instead.",
11034
+ "fieldName": "onDark"
11152
11035
  },
11153
11036
  {
11154
- "kind": "method",
11155
- "name": "queryAuroElements",
11156
- "description": "Construct the query strings from elements, append them together, execute, and return the NodeList.",
11157
- "return": {
11158
- "type": {
11159
- "text": "NodeList"
11160
- }
11037
+ "name": "onSlotChange",
11038
+ "type": {
11039
+ "text": "function"
11161
11040
  },
11162
- "privacy": "private"
11041
+ "description": "If declared, and a function is set, that function will execute when the slot content is updated.",
11042
+ "fieldName": "onSlotChange"
11163
11043
  },
11164
11044
  {
11165
- "kind": "method",
11166
- "name": "_addElementToState",
11167
- "parameters": [
11168
- {
11169
- "name": "element",
11170
- "description": "The element to add to our state.",
11171
- "type": {
11172
- "text": "HTMLElement"
11173
- }
11174
- }
11175
- ],
11176
- "description": "Store an element in state and on the _elements array.",
11177
- "privacy": "private"
11045
+ "name": "placement",
11046
+ "type": {
11047
+ "text": "'top' | 'right' | 'bottom' | 'left' | 'bottom-start' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-end' | 'left-start' | 'left-end'"
11048
+ },
11049
+ "description": "Position where the bib should appear relative to the trigger.",
11050
+ "default": "'bottom-start'",
11051
+ "fieldName": "placement"
11178
11052
  },
11179
11053
  {
11180
- "kind": "method",
11181
- "name": "initializeState",
11182
- "description": "Initialize (or reinitialize) the form state.",
11183
- "return": {
11184
- "type": {
11185
- "text": "void"
11186
- }
11054
+ "name": "tabIndex",
11055
+ "type": {
11056
+ "text": "number"
11187
11057
  },
11188
- "privacy": "private"
11058
+ "fieldName": "tabIndex"
11189
11059
  },
11190
11060
  {
11191
- "kind": "method",
11192
- "name": "reset",
11193
- "description": "Resets all form elements to their initial state and fires a `reset` event. The event's `detail.previousValue` contains the form values captured immediately before the reset.",
11194
- "return": {
11195
- "type": {
11196
- "text": "void"
11197
- }
11061
+ "name": "shape",
11062
+ "type": {
11063
+ "text": "string"
11064
+ },
11065
+ "fieldName": "shape",
11066
+ "inheritedFrom": {
11067
+ "name": "AuroElement",
11068
+ "module": "components/layoutElement/src/auroElement.js"
11198
11069
  }
11199
11070
  },
11200
11071
  {
11201
- "kind": "method",
11202
- "name": "submit",
11203
- "description": "Validates all form elements. If all are valid, fires a `submit` event with `detail.value` containing the current form values. If any element is invalid, its error state is surfaced and the `submit` event is not fired.",
11204
- "return": {
11205
- "type": {
11206
- "text": "Promise<void>"
11207
- }
11072
+ "name": "size",
11073
+ "type": {
11074
+ "text": "string"
11075
+ },
11076
+ "fieldName": "size",
11077
+ "inheritedFrom": {
11078
+ "name": "AuroElement",
11079
+ "module": "components/layoutElement/src/auroElement.js"
11208
11080
  }
11209
11081
  },
11210
11082
  {
11211
- "kind": "method",
11212
- "name": "register",
11213
- "static": true,
11214
- "parameters": [
11215
- {
11216
- "name": "name",
11217
- "default": "\"auro-form\"",
11218
- "description": "The custom element tag name to register.",
11219
- "optional": true,
11220
- "type": {
11221
- "text": "string"
11222
- }
11223
- }
11224
- ],
11225
- "description": "Registers the `auro-form` custom element with the browser under a given tag name."
11226
- },
11083
+ "name": "ondark",
11084
+ "type": {
11085
+ "text": "boolean"
11086
+ },
11087
+ "fieldName": "onDark",
11088
+ "inheritedFrom": {
11089
+ "name": "AuroElement",
11090
+ "module": "components/layoutElement/src/auroElement.js"
11091
+ }
11092
+ }
11093
+ ],
11094
+ "superclass": {
11095
+ "name": "AuroElement",
11096
+ "module": "/components/layoutElement/src/auroElement.js"
11097
+ },
11098
+ "tagName": "auro-dropdown",
11099
+ "customElement": true
11100
+ }
11101
+ ],
11102
+ "exports": [
11103
+ {
11104
+ "kind": "js",
11105
+ "name": "AuroDropdown",
11106
+ "declaration": {
11107
+ "name": "AuroDropdown",
11108
+ "module": "components/dropdown/src/auro-dropdown.js"
11109
+ }
11110
+ }
11111
+ ]
11112
+ },
11113
+ {
11114
+ "kind": "javascript-module",
11115
+ "path": "components/dropdown/src/auro-dropdownBib.js",
11116
+ "declarations": [
11117
+ {
11118
+ "kind": "class",
11119
+ "description": "",
11120
+ "name": "AuroDropdownBib",
11121
+ "cssParts": [
11227
11122
  {
11228
- "kind": "method",
11229
- "name": "sharedInputListener",
11230
- "parameters": [
11231
- {
11232
- "name": "event",
11233
- "description": "The event that is fired from the form element.",
11234
- "type": {
11235
- "text": "Event"
11236
- }
11237
- }
11238
- ],
11239
- "description": "Shared input listener for all form elements.",
11240
- "privacy": "private"
11123
+ "description": "Apply css to the bib container.",
11124
+ "name": "bibContainer"
11125
+ }
11126
+ ],
11127
+ "members": [
11128
+ {
11129
+ "kind": "field",
11130
+ "name": "mobileFullscreenBreakpoint"
11241
11131
  },
11242
11132
  {
11243
11133
  "kind": "method",
11244
- "name": "sharedValidationListener",
11134
+ "name": "_setupCancelHandler",
11245
11135
  "parameters": [
11246
11136
  {
11247
- "name": "event",
11248
- "description": "The event that is fired from the form element.",
11137
+ "name": "dialog",
11138
+ "description": "The dialog element to attach the cancel listener to.",
11249
11139
  "type": {
11250
- "text": "Event"
11140
+ "text": "HTMLDialogElement"
11251
11141
  }
11252
11142
  }
11253
11143
  ],
11254
- "description": "Shared validation listener for all form elements.",
11144
+ "description": "Forwards the dialog's native `cancel` event (fired on ESC) as\nan `auro-bib-cancel` custom event so parent components can close.",
11255
11145
  "privacy": "private"
11256
11146
  },
11257
11147
  {
11258
11148
  "kind": "method",
11259
- "name": "handleKeyDown",
11260
- "parameters": [
11261
- {
11262
- "name": "event",
11263
- "description": "The keyboard event.",
11264
- "type": {
11265
- "text": "KeyboardEvent"
11266
- }
11267
- }
11268
- ],
11269
- "description": "Handle Enter key press on form elements.",
11149
+ "name": "_lockTouchScroll",
11150
+ "description": "Blocks touch-driven page scroll while a fullscreen modal dialog is open.\n\nThe showModal() function places the dialog in the browser's **top layer**,\nwhich is a separate rendering layer above the normal DOM. On mobile, the\ncompositor processes visual-viewport panning before top-layer touch\nhandling. This means the entire viewport — including the top-layer dialog\n— can be panned by a touch gesture, causing the page behind the dialog to\nscroll into view. To prevent this, we add a touchmove listener that cancels\nthe event if the touch started outside the dialog or any scrollable child within it.",
11270
11151
  "privacy": "private"
11271
11152
  },
11272
11153
  {
11273
11154
  "kind": "method",
11274
- "name": "_attachEventListeners",
11275
- "description": "Attaches input, validation, and keydown listeners to all tracked form and button elements.\nRemoves existing listeners first to avoid duplicates on re-initialization.",
11276
- "return": {
11277
- "type": {
11278
- "text": "void"
11279
- }
11280
- },
11155
+ "name": "_unlockTouchScroll",
11156
+ "description": "Removes the touchmove listener added by _lockTouchScroll().",
11281
11157
  "privacy": "private"
11282
11158
  },
11283
11159
  {
11284
11160
  "kind": "method",
11285
- "name": "_handleAttributeMutations",
11161
+ "name": "open",
11286
11162
  "parameters": [
11287
11163
  {
11288
- "name": "mutations",
11289
- "description": "The batched mutation records.",
11290
- "type": {
11291
- "text": "MutationRecord[]"
11292
- }
11293
- }
11294
- ],
11295
- "description": "Handle batched MutationObserver records for `disabled` and `name`\nattribute changes on tracked form elements. A `name` change invalidates\nthe formState keying — we resolve it by re-initializing state. A `disabled`\nchange simply needs a re-render (so `value` / `validity` getters re-evaluate)\nand a refresh of the submit/reset button enablement.",
11296
- "return": {
11297
- "type": {
11298
- "text": "void"
11164
+ "name": "modal",
11165
+ "default": "true"
11299
11166
  }
11300
- },
11301
- "privacy": "private"
11167
+ ]
11302
11168
  },
11303
11169
  {
11304
11170
  "kind": "method",
11305
- "name": "mutationEventListener",
11306
- "description": "Mutation observer for form elements. Slot change does not trigger unless\nroot-level elements are added/removed. This is a workaround to ensure\nnested form elements are also observed.",
11307
- "return": {
11308
- "type": {
11309
- "text": "void"
11310
- }
11311
- },
11312
- "privacy": "private"
11171
+ "name": "close",
11172
+ "description": "Closes the dialog."
11313
11173
  },
11314
11174
  {
11315
- "kind": "method",
11316
- "name": "onSlotChange",
11317
- "parameters": [
11318
- {
11319
- "name": "event",
11320
- "description": "The slot change event.",
11321
- "type": {
11322
- "text": "Event"
11323
- }
11324
- }
11325
- ],
11326
- "description": "Slot change event listener. This is the main entry point for the form element.",
11327
- "return": {
11328
- "type": {
11329
- "text": "void"
11330
- }
11175
+ "kind": "field",
11176
+ "name": "_mobileBreakpointName",
11177
+ "privacy": "private",
11178
+ "default": "undefined"
11179
+ },
11180
+ {
11181
+ "kind": "field",
11182
+ "name": "shape",
11183
+ "privacy": "public",
11184
+ "type": {
11185
+ "text": "string"
11331
11186
  },
11332
- "privacy": "private"
11187
+ "default": "\"rounded\"",
11188
+ "attribute": "shape",
11189
+ "reflects": true
11333
11190
  },
11334
11191
  {
11335
11192
  "kind": "field",
11336
- "name": "formState",
11193
+ "name": "matchWidth",
11337
11194
  "privacy": "private",
11338
11195
  "type": {
11339
- "text": "FormState"
11196
+ "text": "boolean"
11340
11197
  },
11341
- "default": "{}"
11198
+ "description": "If declared, the bib width will match the trigger width.",
11199
+ "default": "false",
11200
+ "attribute": "matchWidth",
11201
+ "reflects": true
11342
11202
  },
11343
11203
  {
11344
11204
  "kind": "field",
11345
- "name": "_validity",
11205
+ "name": "hasActiveDescendant",
11346
11206
  "privacy": "private",
11347
11207
  "type": {
11348
- "text": "\"valid\" | \"invalid\" | null"
11208
+ "text": "boolean"
11349
11209
  },
11350
- "default": "null"
11210
+ "description": "Tracks whether a menu option is currently highlighted.",
11211
+ "default": "false",
11212
+ "attribute": "hasActiveDescendant"
11213
+ },
11214
+ {
11215
+ "type": {
11216
+ "text": "String"
11217
+ },
11218
+ "description": "Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.",
11219
+ "name": "fullscreenBreakpoint",
11220
+ "kind": "field"
11351
11221
  },
11352
11222
  {
11353
11223
  "kind": "field",
11354
- "name": "_isInitialState",
11355
- "privacy": "private",
11224
+ "name": "isFullscreen",
11225
+ "privacy": "public",
11356
11226
  "type": {
11357
11227
  "text": "boolean"
11358
11228
  },
11359
- "default": "true"
11229
+ "description": "If declared, will take the fullscreen when the bib is displayed.",
11230
+ "attribute": "isFullscreen",
11231
+ "reflects": true
11360
11232
  },
11361
11233
  {
11362
11234
  "kind": "field",
11363
- "name": "_elements",
11364
- "privacy": "private",
11235
+ "name": "common",
11236
+ "privacy": "public",
11365
11237
  "type": {
11366
- "text": "(HTMLElement & {reset: () => void})[]"
11238
+ "text": "boolean"
11367
11239
  },
11368
- "default": "[]"
11240
+ "description": "If declared, will apply all styles for the common theme.",
11241
+ "attribute": "common",
11242
+ "reflects": true
11369
11243
  },
11370
11244
  {
11371
11245
  "kind": "field",
11372
- "name": "_submitElements",
11373
- "privacy": "private",
11246
+ "name": "inset",
11247
+ "privacy": "public",
11374
11248
  "type": {
11375
- "text": "HTMLButtonElement[]"
11249
+ "text": "boolean"
11376
11250
  },
11377
- "default": "[]"
11251
+ "description": "If declared, will apply extra padding to bib content.",
11252
+ "attribute": "inset",
11253
+ "reflects": true
11378
11254
  },
11379
11255
  {
11380
11256
  "kind": "field",
11381
- "name": "_resetElements",
11382
- "privacy": "private",
11257
+ "name": "rounded",
11258
+ "privacy": "public",
11383
11259
  "type": {
11384
- "text": "HTMLButtonElement[]"
11260
+ "text": "boolean"
11385
11261
  },
11386
- "default": "[]"
11262
+ "description": "If declared, will apply border-radius to the bib.",
11263
+ "attribute": "rounded",
11264
+ "reflects": true
11387
11265
  },
11388
11266
  {
11389
11267
  "kind": "field",
11390
- "name": "mutationObservers",
11268
+ "name": "bibTemplate",
11269
+ "privacy": "public",
11391
11270
  "type": {
11392
- "text": "MutationObserver[]"
11271
+ "text": "object"
11393
11272
  },
11394
- "privacy": "private",
11395
- "default": "[]"
11273
+ "description": "A reference to the associated bib template element.",
11274
+ "attribute": "bibTemplate"
11396
11275
  },
11397
11276
  {
11398
11277
  "kind": "field",
11399
- "name": "_initialValues",
11278
+ "name": "dialogLabel",
11279
+ "privacy": "private",
11400
11280
  "type": {
11401
- "text": "Record<string, string | number | boolean | string[] | Record<string, number> | null | undefined>"
11281
+ "text": "string"
11402
11282
  },
11403
- "description": "Captured initial (default) value per field `name`. Populated on first\nsight of each name in `_addElementToState` and preserved across\nsubsequent `initializeState` cycles (slot change, rename, reset) so\n`_setInitialState` can detect user edits as `current !== initial`,\nmatching HTML's `dirtyValueFlag` semantics.",
11404
- "privacy": "private",
11405
- "default": "{}"
11283
+ "description": "Accessible label for the dialog element, used when displayed as a modal.\nApplied via aria-labelledby on a visually hidden element rather than\naria-label because iOS VoiceOver does not reliably read aria-label\non <dialog> elements.",
11284
+ "attribute": "dialogLabel"
11406
11285
  },
11407
11286
  {
11408
11287
  "kind": "field",
11409
- "name": "_attributeObserver",
11288
+ "name": "dialogRole",
11289
+ "privacy": "private",
11410
11290
  "type": {
11411
- "text": "MutationObserver | null"
11291
+ "text": "string"
11412
11292
  },
11413
- "privacy": "private",
11414
- "default": "null"
11293
+ "description": "Overrides the native role of the dialog element.\nFor example, set to `\"presentation\"` on desktop combobox to prevent\nVoiceOver from announcing \"listbox inside of a dialog\".\nWhen `undefined`, the dialog keeps its native role.",
11294
+ "attribute": "dialogRole"
11415
11295
  }
11416
11296
  ],
11417
11297
  "events": [
11418
11298
  {
11419
- "name": "change",
11299
+ "name": "auro-dropdownbib-connected",
11420
11300
  "type": {
11421
- "text": "Event"
11422
- },
11423
- "description": "Fires when a child form element's value changes or the form is initialized."
11301
+ "text": "CustomEvent"
11302
+ }
11424
11303
  },
11425
11304
  {
11426
- "name": "reset",
11305
+ "name": "auro-bib-cancel",
11427
11306
  "type": {
11428
11307
  "text": "CustomEvent"
11308
+ }
11309
+ }
11310
+ ],
11311
+ "attributes": [
11312
+ {
11313
+ "name": "isFullscreen",
11314
+ "type": {
11315
+ "text": "boolean"
11429
11316
  },
11430
- "description": "Fires when the form is reset. The event detail contains the previous value of the form before reset."
11317
+ "description": "If declared, will take the fullscreen when the bib is displayed.",
11318
+ "fieldName": "isFullscreen"
11431
11319
  },
11432
11320
  {
11433
- "name": "submit",
11321
+ "name": "common",
11434
11322
  "type": {
11435
- "text": "CustomEvent"
11323
+ "text": "boolean"
11436
11324
  },
11437
- "description": "Fires when the form is submitted. The event detail contains the current value of the form."
11325
+ "description": "If declared, will apply all styles for the common theme.",
11326
+ "fieldName": "common"
11438
11327
  },
11439
11328
  {
11440
- "description": "Fires when a child form element receives user input.",
11441
- "name": "input"
11329
+ "name": "inset",
11330
+ "type": {
11331
+ "text": "boolean"
11332
+ },
11333
+ "description": "If declared, will apply extra padding to bib content.",
11334
+ "fieldName": "inset"
11335
+ },
11336
+ {
11337
+ "name": "matchWidth",
11338
+ "type": {
11339
+ "text": "boolean"
11340
+ },
11341
+ "description": "If declared, the bib width will match the trigger width.",
11342
+ "default": "false",
11343
+ "fieldName": "matchWidth"
11344
+ },
11345
+ {
11346
+ "name": "rounded",
11347
+ "type": {
11348
+ "text": "boolean"
11349
+ },
11350
+ "description": "If declared, will apply border-radius to the bib.",
11351
+ "fieldName": "rounded"
11352
+ },
11353
+ {
11354
+ "name": "bibTemplate",
11355
+ "type": {
11356
+ "text": "object"
11357
+ },
11358
+ "description": "A reference to the associated bib template element.",
11359
+ "fieldName": "bibTemplate"
11360
+ },
11361
+ {
11362
+ "name": "shape",
11363
+ "type": {
11364
+ "text": "string"
11365
+ },
11366
+ "default": "\"rounded\"",
11367
+ "fieldName": "shape"
11368
+ },
11369
+ {
11370
+ "name": "dialogLabel",
11371
+ "type": {
11372
+ "text": "string"
11373
+ },
11374
+ "description": "Accessible label for the dialog element, used when displayed as a modal.\nApplied via aria-labelledby on a visually hidden element rather than\naria-label because iOS VoiceOver does not reliably read aria-label\non <dialog> elements.",
11375
+ "fieldName": "dialogLabel"
11376
+ },
11377
+ {
11378
+ "name": "dialogRole",
11379
+ "type": {
11380
+ "text": "string"
11381
+ },
11382
+ "description": "Overrides the native role of the dialog element.\nFor example, set to `\"presentation\"` on desktop combobox to prevent\nVoiceOver from announcing \"listbox inside of a dialog\".\nWhen `undefined`, the dialog keeps its native role.",
11383
+ "fieldName": "dialogRole"
11384
+ },
11385
+ {
11386
+ "name": "hasActiveDescendant",
11387
+ "type": {
11388
+ "text": "boolean"
11389
+ },
11390
+ "description": "Tracks whether a menu option is currently highlighted.",
11391
+ "default": "false",
11392
+ "fieldName": "hasActiveDescendant"
11442
11393
  }
11443
11394
  ],
11444
11395
  "superclass": {
11445
11396
  "name": "LitElement",
11446
11397
  "package": "lit"
11447
11398
  },
11448
- "tagName": "auro-form",
11449
11399
  "customElement": true
11450
11400
  }
11451
11401
  ],
11452
11402
  "exports": [
11453
11403
  {
11454
11404
  "kind": "js",
11455
- "name": "AuroForm",
11405
+ "name": "AuroDropdownBib",
11456
11406
  "declaration": {
11457
- "name": "AuroForm",
11458
- "module": "components/form/src/auro-form.js"
11407
+ "name": "AuroDropdownBib",
11408
+ "module": "components/dropdown/src/auro-dropdownBib.js"
11459
11409
  }
11460
11410
  }
11461
11411
  ]
11462
11412
  },
11463
11413
  {
11464
11414
  "kind": "javascript-module",
11465
- "path": "components/form/src/index.js",
11415
+ "path": "components/dropdown/src/dropdownBibKeyboardStrategy.js",
11416
+ "declarations": [
11417
+ {
11418
+ "kind": "function",
11419
+ "name": "createDropdownBibKeyboardStrategy",
11420
+ "parameters": [
11421
+ {
11422
+ "name": "bib",
11423
+ "description": "The dropdown bib element.",
11424
+ "type": {
11425
+ "text": "HTMLElement"
11426
+ }
11427
+ }
11428
+ ],
11429
+ "description": "Creates a keyboard strategy for dialog-specific key handling.\nAll other keydown behavior is left to the browser's native bubbling path.",
11430
+ "return": {
11431
+ "type": {
11432
+ "text": "Object"
11433
+ }
11434
+ }
11435
+ }
11436
+ ],
11437
+ "exports": [
11438
+ {
11439
+ "kind": "js",
11440
+ "name": "createDropdownBibKeyboardStrategy",
11441
+ "declaration": {
11442
+ "name": "createDropdownBibKeyboardStrategy",
11443
+ "module": "components/dropdown/src/dropdownBibKeyboardStrategy.js"
11444
+ }
11445
+ }
11446
+ ]
11447
+ },
11448
+ {
11449
+ "kind": "javascript-module",
11450
+ "path": "components/dropdown/src/iconVersion.js",
11466
11451
  "declarations": [],
11467
11452
  "exports": [
11468
11453
  {
11469
11454
  "kind": "js",
11470
- "name": "AuroForm",
11455
+ "name": "default",
11471
11456
  "declaration": {
11472
- "name": "AuroForm",
11473
- "module": "components/form/src/index.js"
11457
+ "name": "9.2.0",
11458
+ "module": "components/dropdown/src/iconVersion.js"
11474
11459
  }
11475
11460
  }
11476
11461
  ]
11477
11462
  },
11478
11463
  {
11479
11464
  "kind": "javascript-module",
11480
- "path": "components/form/src/registered.js",
11465
+ "path": "components/dropdown/src/index.js",
11466
+ "declarations": [],
11467
+ "exports": [
11468
+ {
11469
+ "kind": "js",
11470
+ "name": "AuroDropdown",
11471
+ "declaration": {
11472
+ "name": "AuroDropdown",
11473
+ "module": "components/dropdown/src/index.js"
11474
+ }
11475
+ }
11476
+ ]
11477
+ },
11478
+ {
11479
+ "kind": "javascript-module",
11480
+ "path": "components/dropdown/src/registered.js",
11481
11481
  "declarations": [],
11482
11482
  "exports": []
11483
11483
  },