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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) 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 +40 -0
  7. package/components/combobox/demo/customize.min.js +400 -62
  8. package/components/combobox/demo/getting-started.min.js +400 -62
  9. package/components/combobox/demo/index.html +1 -1
  10. package/components/combobox/demo/index.min.js +400 -62
  11. package/components/combobox/dist/index.js +78 -35
  12. package/components/combobox/dist/registered.js +78 -35
  13. package/components/counter/demo/customize.min.js +2 -2
  14. package/components/counter/demo/index.min.js +2 -2
  15. package/components/counter/dist/index.js +2 -2
  16. package/components/counter/dist/registered.js +2 -2
  17. package/components/datepicker/demo/customize.min.js +22 -9
  18. package/components/datepicker/demo/index.min.js +22 -9
  19. package/components/datepicker/dist/index.js +22 -9
  20. package/components/datepicker/dist/registered.js +22 -9
  21. package/components/dropdown/demo/customize.min.js +1 -1
  22. package/components/dropdown/demo/getting-started.min.js +21 -8
  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 +448 -84
  27. package/components/form/demo/getting-started.min.js +448 -84
  28. package/components/form/demo/index.min.js +448 -84
  29. package/components/form/demo/registerDemoDeps.min.js +448 -84
  30. package/components/input/demo/customize.min.js +20 -7
  31. package/components/input/demo/getting-started.min.js +20 -7
  32. package/components/input/demo/index.min.js +20 -7
  33. package/components/input/dist/auro-input.d.ts +8 -0
  34. package/components/input/dist/index.js +20 -7
  35. package/components/input/dist/registered.js +20 -7
  36. package/components/menu/demo/customize.md +50 -0
  37. package/components/menu/demo/index.min.js +322 -27
  38. package/components/menu/dist/auro-menu-utils.d.ts +30 -0
  39. package/components/menu/dist/auro-menu.d.ts +23 -0
  40. package/components/menu/dist/index.js +322 -27
  41. package/components/menu/dist/registered.js +322 -27
  42. package/components/radio/demo/customize.min.js +1 -1
  43. package/components/radio/demo/getting-started.min.js +1 -1
  44. package/components/radio/demo/index.min.js +1 -1
  45. package/components/radio/dist/index.js +1 -1
  46. package/components/radio/dist/registered.js +1 -1
  47. package/components/select/demo/customize.md +72 -0
  48. package/components/select/demo/customize.min.js +324 -29
  49. package/components/select/demo/getting-started.min.js +324 -29
  50. package/components/select/demo/index.min.js +324 -29
  51. package/components/select/dist/index.js +2 -2
  52. package/components/select/dist/registered.js +2 -2
  53. package/custom-elements.json +115 -0
  54. package/package.json +1 -1
@@ -12270,7 +12270,7 @@ class AuroHelpText extends i$3 {
12270
12270
  }
12271
12271
  }
12272
12272
 
12273
- var formkitVersion = '202608102106';
12273
+ var formkitVersion = '202608111845';
12274
12274
 
12275
12275
  /**
12276
12276
  * @license
@@ -12383,22 +12383,35 @@ class AuroInput extends BaseInput {
12383
12383
  * @private
12384
12384
  */
12385
12385
  get inputHidden() {
12386
- // When activeLabel is set, keep the input row visible so the label stays
12387
- // raised in the active position (classic/default layout) instead of
12388
- // collapsing to the centered placeholder position.
12389
- if (this.activeLabel) {
12390
- return false;
12391
- }
12386
+ // In the classic/default layout, activeLabel keeps the input row visible so
12387
+ // the label stays raised rather than collapsing to the centered placeholder
12388
+ // position. Emphasized/snowflake always render the label inside the field,
12389
+ // so activeLabel does not apply there. This only overrides the empty/
12390
+ // unfocused clause — the display-value clause (combobox/datepicker) is
12391
+ // preserved regardless.
12392
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
12392
12393
 
12393
12394
  return (
12394
12395
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
12395
12396
  (
12397
+ !activeLabelRaisesInput &&
12396
12398
  (!this.value || this.value.length === 0) &&
12397
12399
  !this.hasFocus &&
12398
12400
  (!this.placeholderStr || this.placeholderStr === '')
12399
12401
  );
12400
12402
  }
12401
12403
 
12404
+ /**
12405
+ * Whether the component is rendering the classic/default layout, meaning not
12406
+ * emphasized and not snowflake. Kept as a single source of truth so
12407
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
12408
+ * @returns {boolean} - True for the classic/default layout.
12409
+ * @private
12410
+ */
12411
+ get isClassicLayout() {
12412
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
12413
+ }
12414
+
12402
12415
  /**
12403
12416
  * Determines if the input should display in a state with no focus or value indication.
12404
12417
  * Returns true when the input has display content without focus and has a value,
@@ -12270,7 +12270,7 @@ class AuroHelpText extends i$3 {
12270
12270
  }
12271
12271
  }
12272
12272
 
12273
- var formkitVersion = '202608102106';
12273
+ var formkitVersion = '202608111845';
12274
12274
 
12275
12275
  /**
12276
12276
  * @license
@@ -12383,22 +12383,35 @@ class AuroInput extends BaseInput {
12383
12383
  * @private
12384
12384
  */
12385
12385
  get inputHidden() {
12386
- // When activeLabel is set, keep the input row visible so the label stays
12387
- // raised in the active position (classic/default layout) instead of
12388
- // collapsing to the centered placeholder position.
12389
- if (this.activeLabel) {
12390
- return false;
12391
- }
12386
+ // In the classic/default layout, activeLabel keeps the input row visible so
12387
+ // the label stays raised rather than collapsing to the centered placeholder
12388
+ // position. Emphasized/snowflake always render the label inside the field,
12389
+ // so activeLabel does not apply there. This only overrides the empty/
12390
+ // unfocused clause — the display-value clause (combobox/datepicker) is
12391
+ // preserved regardless.
12392
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
12392
12393
 
12393
12394
  return (
12394
12395
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
12395
12396
  (
12397
+ !activeLabelRaisesInput &&
12396
12398
  (!this.value || this.value.length === 0) &&
12397
12399
  !this.hasFocus &&
12398
12400
  (!this.placeholderStr || this.placeholderStr === '')
12399
12401
  );
12400
12402
  }
12401
12403
 
12404
+ /**
12405
+ * Whether the component is rendering the classic/default layout, meaning not
12406
+ * emphasized and not snowflake. Kept as a single source of truth so
12407
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
12408
+ * @returns {boolean} - True for the classic/default layout.
12409
+ * @private
12410
+ */
12411
+ get isClassicLayout() {
12412
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
12413
+ }
12414
+
12402
12415
  /**
12403
12416
  * Determines if the input should display in a state with no focus or value indication.
12404
12417
  * Returns true when the input has display content without focus and has a value,
@@ -12270,7 +12270,7 @@ class AuroHelpText extends i$3 {
12270
12270
  }
12271
12271
  }
12272
12272
 
12273
- var formkitVersion = '202608102106';
12273
+ var formkitVersion = '202608111845';
12274
12274
 
12275
12275
  /**
12276
12276
  * @license
@@ -12383,22 +12383,35 @@ class AuroInput extends BaseInput {
12383
12383
  * @private
12384
12384
  */
12385
12385
  get inputHidden() {
12386
- // When activeLabel is set, keep the input row visible so the label stays
12387
- // raised in the active position (classic/default layout) instead of
12388
- // collapsing to the centered placeholder position.
12389
- if (this.activeLabel) {
12390
- return false;
12391
- }
12386
+ // In the classic/default layout, activeLabel keeps the input row visible so
12387
+ // the label stays raised rather than collapsing to the centered placeholder
12388
+ // position. Emphasized/snowflake always render the label inside the field,
12389
+ // so activeLabel does not apply there. This only overrides the empty/
12390
+ // unfocused clause — the display-value clause (combobox/datepicker) is
12391
+ // preserved regardless.
12392
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
12392
12393
 
12393
12394
  return (
12394
12395
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
12395
12396
  (
12397
+ !activeLabelRaisesInput &&
12396
12398
  (!this.value || this.value.length === 0) &&
12397
12399
  !this.hasFocus &&
12398
12400
  (!this.placeholderStr || this.placeholderStr === '')
12399
12401
  );
12400
12402
  }
12401
12403
 
12404
+ /**
12405
+ * Whether the component is rendering the classic/default layout, meaning not
12406
+ * emphasized and not snowflake. Kept as a single source of truth so
12407
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
12408
+ * @returns {boolean} - True for the classic/default layout.
12409
+ * @private
12410
+ */
12411
+ get isClassicLayout() {
12412
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
12413
+ }
12414
+
12402
12415
  /**
12403
12416
  * Determines if the input should display in a state with no focus or value indication.
12404
12417
  * Returns true when the input has display content without focus and has a value,
@@ -66,6 +66,14 @@ export class AuroInput extends BaseInput {
66
66
  * @private
67
67
  */
68
68
  private get inputHidden();
69
+ /**
70
+ * Whether the component is rendering the classic/default layout, meaning not
71
+ * emphasized and not snowflake. Kept as a single source of truth so
72
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
73
+ * @returns {boolean} - True for the classic/default layout.
74
+ * @private
75
+ */
76
+ private get isClassicLayout();
69
77
  /**
70
78
  * Determines if the input should display in a state with no focus or value indication.
71
79
  * Returns true when the input has display content without focus and has a value,
@@ -12212,7 +12212,7 @@ class AuroHelpText extends LitElement {
12212
12212
  }
12213
12213
  }
12214
12214
 
12215
- var formkitVersion = '202608102106';
12215
+ var formkitVersion = '202608111845';
12216
12216
 
12217
12217
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12218
12218
  // See LICENSE in the project root for license information.
@@ -12313,22 +12313,35 @@ class AuroInput extends BaseInput {
12313
12313
  * @private
12314
12314
  */
12315
12315
  get inputHidden() {
12316
- // When activeLabel is set, keep the input row visible so the label stays
12317
- // raised in the active position (classic/default layout) instead of
12318
- // collapsing to the centered placeholder position.
12319
- if (this.activeLabel) {
12320
- return false;
12321
- }
12316
+ // In the classic/default layout, activeLabel keeps the input row visible so
12317
+ // the label stays raised rather than collapsing to the centered placeholder
12318
+ // position. Emphasized/snowflake always render the label inside the field,
12319
+ // so activeLabel does not apply there. This only overrides the empty/
12320
+ // unfocused clause — the display-value clause (combobox/datepicker) is
12321
+ // preserved regardless.
12322
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
12322
12323
 
12323
12324
  return (
12324
12325
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
12325
12326
  (
12327
+ !activeLabelRaisesInput &&
12326
12328
  (!this.value || this.value.length === 0) &&
12327
12329
  !this.hasFocus &&
12328
12330
  (!this.placeholderStr || this.placeholderStr === '')
12329
12331
  );
12330
12332
  }
12331
12333
 
12334
+ /**
12335
+ * Whether the component is rendering the classic/default layout, meaning not
12336
+ * emphasized and not snowflake. Kept as a single source of truth so
12337
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
12338
+ * @returns {boolean} - True for the classic/default layout.
12339
+ * @private
12340
+ */
12341
+ get isClassicLayout() {
12342
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
12343
+ }
12344
+
12332
12345
  /**
12333
12346
  * Determines if the input should display in a state with no focus or value indication.
12334
12347
  * Returns true when the input has display content without focus and has a value,
@@ -12212,7 +12212,7 @@ class AuroHelpText extends LitElement {
12212
12212
  }
12213
12213
  }
12214
12214
 
12215
- var formkitVersion = '202608102106';
12215
+ var formkitVersion = '202608111845';
12216
12216
 
12217
12217
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12218
12218
  // See LICENSE in the project root for license information.
@@ -12313,22 +12313,35 @@ class AuroInput extends BaseInput {
12313
12313
  * @private
12314
12314
  */
12315
12315
  get inputHidden() {
12316
- // When activeLabel is set, keep the input row visible so the label stays
12317
- // raised in the active position (classic/default layout) instead of
12318
- // collapsing to the centered placeholder position.
12319
- if (this.activeLabel) {
12320
- return false;
12321
- }
12316
+ // In the classic/default layout, activeLabel keeps the input row visible so
12317
+ // the label stays raised rather than collapsing to the centered placeholder
12318
+ // position. Emphasized/snowflake always render the label inside the field,
12319
+ // so activeLabel does not apply there. This only overrides the empty/
12320
+ // unfocused clause — the display-value clause (combobox/datepicker) is
12321
+ // preserved regardless.
12322
+ const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
12322
12323
 
12323
12324
  return (
12324
12325
  this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
12325
12326
  (
12327
+ !activeLabelRaisesInput &&
12326
12328
  (!this.value || this.value.length === 0) &&
12327
12329
  !this.hasFocus &&
12328
12330
  (!this.placeholderStr || this.placeholderStr === '')
12329
12331
  );
12330
12332
  }
12331
12333
 
12334
+ /**
12335
+ * Whether the component is rendering the classic/default layout, meaning not
12336
+ * emphasized and not snowflake. Kept as a single source of truth so
12337
+ * layout-scoped behavior such as activeLabel stays consistent across getters.
12338
+ * @returns {boolean} - True for the classic/default layout.
12339
+ * @private
12340
+ */
12341
+ get isClassicLayout() {
12342
+ return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
12343
+ }
12344
+
12332
12345
  /**
12333
12346
  * Determines if the input should display in a state with no focus or value indication.
12334
12347
  * Returns true when the input has display content without focus and has a value,
@@ -23,6 +23,7 @@
23
23
  <auro-anchorlink fluid href="#multiselect" class="level2 body-xs">Multi-Select</auro-anchorlink>
24
24
  <auro-anchorlink fluid href="#presetValue" class="level2 body-xs">Preset Value</auro-anchorlink>
25
25
  <auro-anchorlink fluid href="#presetValueMultiselect" class="level2 body-xs">Preset Value (Multi)</auro-anchorlink>
26
+ <auro-anchorlink fluid href="#nonUniqueValues" class="level2 body-xs">Non-Unique Option Values</auro-anchorlink>
26
27
  </auro-nav>
27
28
  </nav>
28
29
  <div class="mainContent">
@@ -863,6 +864,55 @@
863
864
  &lt;/auro-menu&gt;</code></pre>
864
865
  <!-- AURO-GENERATED-CONTENT:END -->
865
866
  </auro-accordion>
867
+ <auro-header level="3" id="nonUniqueValues">Non-Unique Option Values</auro-header>
868
+ <p>Two or more <code>auro-menuoption</code> elements may share the same <code>value</code>. This is common when the <code>value</code> represents a coarser grouping than the option label &mdash; for example, several airports that all serve the same city. The menu tracks the specific option a user selects rather than resolving by <code>value</code> alone, so selecting one of several options that share a <code>value</code> highlights exactly the option that was chosen.</p>
869
+ <div class="exampleWrapper">
870
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/duplicate-values.html) -->
871
+ <!-- The below content is automatically added from ./../apiExamples/duplicate-values.html -->
872
+ <auro-menu>
873
+ <auro-menuoption value="seattle">Seattle&ndash;Tacoma International (SEA)</auro-menuoption>
874
+ <auro-menuoption value="seattle">Seattle Paine Field (PAE)</auro-menuoption>
875
+ <auro-menuoption value="portland">Portland International (PDX)</auro-menuoption>
876
+ <auro-menuoption value="spokane">Spokane International (GEG)</auro-menuoption>
877
+ </auro-menu>
878
+ <!-- AURO-GENERATED-CONTENT:END -->
879
+ </div>
880
+ <auro-accordion alignRight>
881
+ <span slot="trigger">See code</span>
882
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/duplicate-values.html) -->
883
+ <!-- The below code snippet is automatically added from ./../apiExamples/duplicate-values.html -->
884
+ <pre class="language-html"><code class="language-html">&lt;auro-menu&gt;
885
+ &lt;auro-menuoption value="seattle"&gt;Seattle&amp;ndash;Tacoma International (SEA)&lt;/auro-menuoption&gt;
886
+ &lt;auro-menuoption value="seattle"&gt;Seattle Paine Field (PAE)&lt;/auro-menuoption&gt;
887
+ &lt;auro-menuoption value="portland"&gt;Portland International (PDX)&lt;/auro-menuoption&gt;
888
+ &lt;auro-menuoption value="spokane"&gt;Spokane International (GEG)&lt;/auro-menuoption&gt;
889
+ &lt;/auro-menu&gt;</code></pre>
890
+ <!-- AURO-GENERATED-CONTENT:END -->
891
+ </auro-accordion>
892
+ <p>In <code>multiselect</code> mode, options that share a <code>value</code> are tracked independently, so each can be selected and removed on its own. Selections are stored in DOM order regardless of the order in which they were chosen.</p>
893
+ <div class="exampleWrapper">
894
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/duplicate-values-multiselect.html) -->
895
+ <!-- The below content is automatically added from ./../apiExamples/duplicate-values-multiselect.html -->
896
+ <auro-menu multiselect>
897
+ <auro-menuoption value="seattle">Seattle&ndash;Tacoma International (SEA)</auro-menuoption>
898
+ <auro-menuoption value="seattle">Seattle Paine Field (PAE)</auro-menuoption>
899
+ <auro-menuoption value="portland">Portland International (PDX)</auro-menuoption>
900
+ <auro-menuoption value="spokane">Spokane International (GEG)</auro-menuoption>
901
+ </auro-menu>
902
+ <!-- AURO-GENERATED-CONTENT:END -->
903
+ </div>
904
+ <auro-accordion alignRight>
905
+ <span slot="trigger">See code</span>
906
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/duplicate-values-multiselect.html) -->
907
+ <!-- The below code snippet is automatically added from ./../apiExamples/duplicate-values-multiselect.html -->
908
+ <pre class="language-html"><code class="language-html">&lt;auro-menu multiselect&gt;
909
+ &lt;auro-menuoption value="seattle"&gt;Seattle&amp;ndash;Tacoma International (SEA)&lt;/auro-menuoption&gt;
910
+ &lt;auro-menuoption value="seattle"&gt;Seattle Paine Field (PAE)&lt;/auro-menuoption&gt;
911
+ &lt;auro-menuoption value="portland"&gt;Portland International (PDX)&lt;/auro-menuoption&gt;
912
+ &lt;auro-menuoption value="spokane"&gt;Spokane International (GEG)&lt;/auro-menuoption&gt;
913
+ &lt;/auro-menu&gt;</code></pre>
914
+ <!-- AURO-GENERATED-CONTENT:END -->
915
+ </auro-accordion>
866
916
  </section>
867
917
  </div>
868
918
  </div>