@aurodesignsystem-dev/auro-formkit 0.0.0-pr1594.2 → 0.0.0-pr1595.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 (83) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +11 -0
  2. package/components/bibtemplate/dist/index.js +13 -0
  3. package/components/bibtemplate/dist/registered.js +13 -0
  4. package/components/checkbox/demo/api.md +17 -11
  5. package/components/checkbox/demo/customize.min.js +23 -6
  6. package/components/checkbox/demo/getting-started.min.js +23 -6
  7. package/components/checkbox/demo/index.min.js +23 -6
  8. package/components/checkbox/dist/auro-checkbox-group.d.ts +8 -0
  9. package/components/checkbox/dist/auro-checkbox.d.ts +4 -0
  10. package/components/checkbox/dist/index.js +23 -6
  11. package/components/checkbox/dist/registered.js +23 -6
  12. package/components/combobox/demo/api.md +24 -16
  13. package/components/combobox/demo/customize.min.js +405 -121
  14. package/components/combobox/demo/getting-started.min.js +405 -121
  15. package/components/combobox/demo/index.min.js +405 -121
  16. package/components/combobox/dist/auro-combobox.d.ts +29 -0
  17. package/components/combobox/dist/index.js +320 -107
  18. package/components/combobox/dist/registered.js +320 -107
  19. package/components/counter/demo/api.md +33 -15
  20. package/components/counter/demo/customize.min.js +201 -64
  21. package/components/counter/demo/index.min.js +201 -64
  22. package/components/counter/dist/auro-counter-button.d.ts +4 -0
  23. package/components/counter/dist/auro-counter-group.d.ts +23 -0
  24. package/components/counter/dist/auro-counter.d.ts +7 -0
  25. package/components/counter/dist/index.js +201 -64
  26. package/components/counter/dist/registered.js +201 -64
  27. package/components/datepicker/demo/api.md +55 -49
  28. package/components/datepicker/demo/customize.min.js +483 -131
  29. package/components/datepicker/demo/index.min.js +483 -131
  30. package/components/datepicker/dist/auro-calendar-cell.d.ts +55 -0
  31. package/components/datepicker/dist/auro-calendar-month.d.ts +9 -1
  32. package/components/datepicker/dist/auro-calendar.d.ts +16 -0
  33. package/components/datepicker/dist/auro-datepicker.d.ts +63 -10
  34. package/components/datepicker/dist/index.js +483 -131
  35. package/components/datepicker/dist/registered.js +483 -131
  36. package/components/dropdown/demo/api.md +25 -22
  37. package/components/dropdown/demo/customize.min.js +106 -37
  38. package/components/dropdown/demo/getting-started.min.js +232 -79
  39. package/components/dropdown/demo/index.min.js +106 -37
  40. package/components/dropdown/dist/auro-dropdown.d.ts +33 -4
  41. package/components/dropdown/dist/auro-dropdownBib.d.ts +17 -5
  42. package/components/dropdown/dist/index.js +106 -37
  43. package/components/dropdown/dist/registered.js +106 -37
  44. package/components/form/demo/customize.min.js +1448 -455
  45. package/components/form/demo/getting-started.min.js +1448 -455
  46. package/components/form/demo/index.min.js +1448 -455
  47. package/components/form/demo/registerDemoDeps.min.js +1448 -455
  48. package/components/helptext/dist/auro-helptext.d.ts +8 -7
  49. package/components/helptext/dist/index.js +7 -2
  50. package/components/helptext/dist/registered.js +7 -2
  51. package/components/input/demo/api.md +30 -30
  52. package/components/input/demo/customize.min.js +126 -42
  53. package/components/input/demo/getting-started.min.js +126 -42
  54. package/components/input/demo/index.min.js +126 -42
  55. package/components/input/dist/base-input.d.ts +67 -22
  56. package/components/input/dist/index.js +126 -42
  57. package/components/input/dist/registered.js +126 -42
  58. package/components/layoutElement/dist/auroElement.d.ts +10 -17
  59. package/components/layoutElement/dist/index.js +20 -20
  60. package/components/layoutElement/dist/registered.js +20 -20
  61. package/components/menu/demo/api.md +30 -27
  62. package/components/menu/demo/index.min.js +105 -34
  63. package/components/menu/dist/auro-menu.d.ts +24 -13
  64. package/components/menu/dist/auro-menuoption.d.ts +26 -0
  65. package/components/menu/dist/index.js +105 -34
  66. package/components/menu/dist/registered.js +105 -34
  67. package/components/radio/demo/api.md +8 -7
  68. package/components/radio/demo/customize.min.js +20 -7
  69. package/components/radio/demo/getting-started.min.js +20 -7
  70. package/components/radio/demo/index.min.js +20 -7
  71. package/components/radio/dist/auro-radio-group.d.ts +7 -0
  72. package/components/radio/dist/auro-radio.d.ts +1 -0
  73. package/components/radio/dist/index.js +20 -7
  74. package/components/radio/dist/registered.js +20 -7
  75. package/components/select/demo/api.md +18 -15
  76. package/components/select/demo/customize.min.js +255 -78
  77. package/components/select/demo/getting-started.min.js +255 -78
  78. package/components/select/demo/index.min.js +255 -78
  79. package/components/select/dist/auro-select.d.ts +17 -0
  80. package/components/select/dist/index.js +170 -64
  81. package/components/select/dist/registered.js +170 -64
  82. package/custom-elements.json +2573 -2680
  83. package/package.json +1 -1
@@ -4529,37 +4529,37 @@ class AuroFormValidation {
4529
4529
  }
4530
4530
  }
4531
4531
 
4532
+ /**
4533
+ * AuroElement is the shared base class for layout-aware Auro form components.
4534
+ *
4535
+ * It defines the common `layout`, `shape`, `size`, and `ondark` reactive
4536
+ * properties and the architecture helpers (`renderLayout`, `resetShapeClasses`,
4537
+ * `resetLayoutClasses`) that subclasses use to render a chosen layout and apply
4538
+ * the matching `shape-*` / `layout-*` wrapper classes. Subclasses supply their
4539
+ * own default and valid value set for `layout`, `shape`, and `size`.
4540
+ */
4532
4541
  class AuroElement extends LitElement {
4533
4542
  static get properties() {
4534
4543
  return {
4535
4544
 
4536
4545
  /**
4537
- * Defines the language of an element.
4538
- * @default {'default'}
4546
+ * When true, renders the component styled for use on a dark background.
4539
4547
  */
4540
- layout: {
4541
- type: String,
4542
- attribute: "layout",
4543
- reflect: true
4544
- },
4545
-
4546
- shape: {
4547
- type: String,
4548
- attribute: "shape",
4549
- reflect: true
4550
- },
4551
-
4552
- size: {
4553
- type: String,
4554
- attribute: "size",
4555
- reflect: true
4556
- },
4557
-
4558
4548
  onDark: {
4559
4549
  type: Boolean,
4560
4550
  attribute: "ondark",
4561
4551
  reflect: true
4562
4552
  }
4553
+
4554
+ // NOTE: `layout`, `shape`, and `size` are intentionally NOT declared here.
4555
+ // Their valid value sets differ per component, and the CEM analyzer roots
4556
+ // an inherited property's `type` in the class that declares it — a base
4557
+ // declaration would force every subclass's `@type` to be discarded and
4558
+ // emitted as plain `string`. Each subclass declares its own `layout` /
4559
+ // `shape` / `size` with an exact `@type` union instead. AuroElement still
4560
+ // consumes `this.layout` / `this.shape` / `this.size` in its render and
4561
+ // architecture helpers below (subclasses guarantee the reactive props).
4562
+ // See AlaskaAirlines/discussions#653.
4563
4563
  };
4564
4564
  }
4565
4565
 
@@ -10526,6 +10526,7 @@ class DomHandler {
10526
10526
  * Base class for auro-input component that provides core input functionality.
10527
10527
  * @event input - Event fires when the value of an `auro-input` has been changed.
10528
10528
  * @event auroFormElement-validated - Notifies that the `validity` and `errorMessage` value has changed.
10529
+ * @event auroInput-validityChange - Notifies that the `validity` state of the input has changed.
10529
10530
  */
10530
10531
  class BaseInput extends AuroElement {
10531
10532
 
@@ -10565,6 +10566,8 @@ class BaseInput extends AuroElement {
10565
10566
  "credit-card",
10566
10567
  "tel"
10567
10568
  ];
10569
+
10570
+ /** @type {'default' | 'inverse'} */
10568
10571
  this.appearance = "default";
10569
10572
 
10570
10573
  /** @private */
@@ -10598,7 +10601,6 @@ class BaseInput extends AuroElement {
10598
10601
 
10599
10602
  /** @private */
10600
10603
  this.label = 'Input label is undefined';
10601
- this.layout = 'classic';
10602
10604
  this.locale = 'en-US';
10603
10605
  this._format = undefined;
10604
10606
 
@@ -10620,11 +10622,9 @@ class BaseInput extends AuroElement {
10620
10622
  "password",
10621
10623
  "email"
10622
10624
  ];
10623
- this.shape = 'classic';
10624
10625
 
10625
10626
  /** @private */
10626
10627
  this.showPassword = false;
10627
- this.size = 'lg';
10628
10628
  this.touched = false;
10629
10629
 
10630
10630
  /** @private */
@@ -10642,6 +10642,24 @@ class BaseInput extends AuroElement {
10642
10642
  /** @private */
10643
10643
  this.validationCCLength = undefined;
10644
10644
  this.value = undefined;
10645
+
10646
+ this.initializeArchitectureDefaults();
10647
+ }
10648
+
10649
+ /**
10650
+ * Sets the default `layout`, `shape`, and `size` values.
10651
+ *
10652
+ * These are assigned in a helper method rather than the constructor body so
10653
+ * the CEM analyzer keeps their `@type` string-literal unions (a literal
10654
+ * assignment in the constructor would make the analyzer infer `string` and
10655
+ * override the union — see AlaskaAirlines/discussions#653, gotcha 1).
10656
+ * @private
10657
+ * @returns {void}
10658
+ */
10659
+ initializeArchitectureDefaults() {
10660
+ this.layout = 'classic';
10661
+ this.shape = 'classic';
10662
+ this.size = 'lg';
10645
10663
  }
10646
10664
 
10647
10665
  // function to define props used within the scope of this component
@@ -10649,11 +10667,45 @@ class BaseInput extends AuroElement {
10649
10667
  return {
10650
10668
  ...super.properties,
10651
10669
 
10670
+ /**
10671
+ * Sets the layout variant of the input.
10672
+ * @type {'classic' | 'emphasized' | 'emphasized-left' | 'emphasized-right' | 'snowflake' | 'snowflake-left' | 'snowflake-right'}
10673
+ * @default 'classic'
10674
+ */
10675
+ layout: {
10676
+ type: String,
10677
+ attribute: "layout",
10678
+ reflect: true
10679
+ },
10680
+
10681
+ /**
10682
+ * Sets the shape of the input.
10683
+ * @type {'box' | 'classic' | 'pill' | 'pill-left' | 'pill-right' | 'rounded' | 'snowflake'}
10684
+ * @default 'classic'
10685
+ */
10686
+ shape: {
10687
+ type: String,
10688
+ attribute: "shape",
10689
+ reflect: true
10690
+ },
10691
+
10692
+ /**
10693
+ * Sets the size of the input.
10694
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
10695
+ * @default 'lg'
10696
+ */
10697
+ size: {
10698
+ type: String,
10699
+ attribute: "size",
10700
+ reflect: true
10701
+ },
10702
+
10652
10703
  /**
10653
10704
  * The value for the role attribute.
10654
10705
  */
10655
10706
  a11yRole: {
10656
10707
  type: String,
10708
+ attribute: 'a11yrole',
10657
10709
  reflect: true
10658
10710
  },
10659
10711
 
@@ -10662,6 +10714,7 @@ class BaseInput extends AuroElement {
10662
10714
  */
10663
10715
  a11yControls: {
10664
10716
  type: String,
10717
+ attribute: 'a11ycontrols',
10665
10718
  reflect: true
10666
10719
  },
10667
10720
 
@@ -10670,6 +10723,7 @@ class BaseInput extends AuroElement {
10670
10723
  */
10671
10724
  a11yExpanded: {
10672
10725
  type: Boolean,
10726
+ attribute: 'a11yexpanded',
10673
10727
  reflect: true
10674
10728
  },
10675
10729
 
@@ -10679,6 +10733,7 @@ class BaseInput extends AuroElement {
10679
10733
  */
10680
10734
  a11yActivedescendant: {
10681
10735
  type: String,
10736
+ attribute: 'a11yactivedescendant',
10682
10737
  reflect: true
10683
10738
  },
10684
10739
 
@@ -10689,6 +10744,7 @@ class BaseInput extends AuroElement {
10689
10744
  */
10690
10745
  activeLabel: {
10691
10746
  type: Boolean,
10747
+ attribute: 'activelabel',
10692
10748
  reflect: true
10693
10749
  },
10694
10750
 
@@ -10703,7 +10759,8 @@ class BaseInput extends AuroElement {
10703
10759
  },
10704
10760
 
10705
10761
  /**
10706
- * An enumerated attribute that controls whether and how text input is automatically capitalized as it is entered/edited by the user. [off/none, on/sentences, words, characters].
10762
+ * An enumerated attribute that controls whether and how text input is automatically capitalized as it is entered/edited by the user.
10763
+ * @type {'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'}
10707
10764
  */
10708
10765
  autocapitalize: {
10709
10766
  type: String,
@@ -10720,6 +10777,7 @@ class BaseInput extends AuroElement {
10720
10777
 
10721
10778
  /**
10722
10779
  * When set to `off`, stops iOS from auto-correcting words when typed into a text box.
10780
+ * @type {'on' | 'off'}
10723
10781
  */
10724
10782
  autocorrect: {
10725
10783
  type: String,
@@ -10730,7 +10788,8 @@ class BaseInput extends AuroElement {
10730
10788
  * Custom help text message for email type validity.
10731
10789
  */
10732
10790
  customValidityTypeEmail: {
10733
- type: String
10791
+ type: String,
10792
+ attribute: 'customvaliditytypeemail'
10734
10793
  },
10735
10794
 
10736
10795
  /**
@@ -10746,6 +10805,7 @@ class BaseInput extends AuroElement {
10746
10805
  */
10747
10806
  dvInputOnly: {
10748
10807
  type: Boolean,
10808
+ attribute: 'dvinputonly',
10749
10809
  reflect: true
10750
10810
  },
10751
10811
 
@@ -10761,7 +10821,8 @@ class BaseInput extends AuroElement {
10761
10821
  * Contains the help text message for the current validity error.
10762
10822
  */
10763
10823
  errorMessage: {
10764
- type: String
10824
+ type: String,
10825
+ attribute: 'errormessage'
10765
10826
  },
10766
10827
 
10767
10828
  /**
@@ -10797,6 +10858,7 @@ class BaseInput extends AuroElement {
10797
10858
  */
10798
10859
  hideLabelVisually: {
10799
10860
  type: Boolean,
10861
+ attribute: 'hidelabelvisually',
10800
10862
  reflect: true
10801
10863
  },
10802
10864
 
@@ -10863,6 +10925,7 @@ class BaseInput extends AuroElement {
10863
10925
  */
10864
10926
  maxLength: {
10865
10927
  type: Number,
10928
+ attribute: 'maxlength',
10866
10929
  reflect: true
10867
10930
  },
10868
10931
 
@@ -10878,6 +10941,7 @@ class BaseInput extends AuroElement {
10878
10941
  */
10879
10942
  minLength: {
10880
10943
  type: Number,
10944
+ attribute: 'minlength',
10881
10945
  reflect: true
10882
10946
  },
10883
10947
 
@@ -10903,6 +10967,7 @@ class BaseInput extends AuroElement {
10903
10967
  */
10904
10968
  noValidate: {
10905
10969
  type: Boolean,
10970
+ attribute: 'novalidate',
10906
10971
  reflect: true
10907
10972
  },
10908
10973
 
@@ -10911,6 +10976,7 @@ class BaseInput extends AuroElement {
10911
10976
  */
10912
10977
  onDark: {
10913
10978
  type: Boolean,
10979
+ attribute: 'ondark',
10914
10980
  reflect: true
10915
10981
  },
10916
10982
 
@@ -10950,77 +11016,88 @@ class BaseInput extends AuroElement {
10950
11016
  * Sets a custom help text message to display for all validityStates.
10951
11017
  */
10952
11018
  setCustomValidity: {
10953
- type: String
11019
+ type: String,
11020
+ attribute: 'setcustomvalidity'
10954
11021
  },
10955
11022
 
10956
11023
  /**
10957
11024
  * Custom help text message to display when validity = `badInput`.
10958
11025
  */
10959
11026
  setCustomValidityBadInput: {
10960
- type: String
11027
+ type: String,
11028
+ attribute: 'setcustomvaliditybadinput'
10961
11029
  },
10962
11030
 
10963
11031
  /**
10964
11032
  * Custom help text message to display when validity = `customError`.
10965
11033
  */
10966
11034
  setCustomValidityCustomError: {
10967
- type: String
11035
+ type: String,
11036
+ attribute: 'setcustomvaliditycustomerror'
10968
11037
  },
10969
11038
 
10970
11039
  /**
10971
11040
  * Custom help text message to display for the declared element `type` and type validity fails.
10972
11041
  */
10973
11042
  setCustomValidityForType: {
10974
- type: String
11043
+ type: String,
11044
+ attribute: 'setcustomvalidityfortype'
10975
11045
  },
10976
11046
 
10977
11047
  /**
10978
11048
  * Custom help text message to display when validity = `patternMismatch`.
10979
11049
  */
10980
11050
  setCustomValidityPatternMismatch: {
10981
- type: String
11051
+ type: String,
11052
+ attribute: 'setcustomvaliditypatternmismatch'
10982
11053
  },
10983
11054
 
10984
11055
  /**
10985
11056
  * Custom help text message to display when validity = `rangeOverflow`.
10986
11057
  */
10987
11058
  setCustomValidityRangeOverflow: {
10988
- type: String
11059
+ type: String,
11060
+ attribute: 'setcustomvalidityrangeoverflow'
10989
11061
  },
10990
11062
 
10991
11063
  /**
10992
11064
  * Custom help text message to display when validity = `rangeUnderflow`.
10993
11065
  */
10994
11066
  setCustomValidityRangeUnderflow: {
10995
- type: String
11067
+ type: String,
11068
+ attribute: 'setcustomvalidityrangeunderflow'
10996
11069
  },
10997
11070
 
10998
11071
  /**
10999
11072
  * Custom help text message to display when validity = `tooLong`.
11000
11073
  */
11001
11074
  setCustomValidityTooLong: {
11002
- type: String
11075
+ type: String,
11076
+ attribute: 'setcustomvaliditytoolong'
11003
11077
  },
11004
11078
 
11005
11079
  /**
11006
11080
  * Custom help text message to display when validity = `tooShort`.
11007
11081
  */
11008
11082
  setCustomValidityTooShort: {
11009
- type: String
11083
+ type: String,
11084
+ attribute: 'setcustomvaliditytooshort'
11010
11085
  },
11011
11086
 
11012
11087
  /**
11013
11088
  * Custom help text message to display when validity = `valueMissing`.
11014
11089
  */
11015
11090
  setCustomValidityValueMissing: {
11016
- type: String
11091
+ type: String,
11092
+ attribute: 'setcustomvalidityvaluemissing'
11017
11093
  },
11018
11094
 
11019
11095
  /**
11020
11096
  * @ignore
11021
11097
  */
11022
11098
  showPassword: {
11023
- state: true
11099
+ state: true,
11100
+ attribute: false
11024
11101
  },
11025
11102
 
11026
11103
  /**
@@ -11032,7 +11109,8 @@ class BaseInput extends AuroElement {
11032
11109
  },
11033
11110
 
11034
11111
  /**
11035
- * An enumerated attribute defines whether the element may be checked for spelling errors. [true, false]. When set to `false` the attribute `autocorrect` is set to `off` and `autocapitalize` is set to `none`.
11112
+ * An enumerated attribute defines whether the element may be checked for spelling errors. When set to `false` the attribute `autocorrect` is set to `off` and `autocapitalize` is set to `none`.
11113
+ * @type {'true' | 'false'}
11036
11114
  */
11037
11115
  spellcheck: {
11038
11116
  type: String,
@@ -11063,7 +11141,8 @@ class BaseInput extends AuroElement {
11063
11141
  * Sets validation mode to re-eval with each input.
11064
11142
  */
11065
11143
  validateOnInput: {
11066
- type: Boolean
11144
+ type: Boolean,
11145
+ attribute: 'validateoninput'
11067
11146
  },
11068
11147
 
11069
11148
  /**
@@ -12117,6 +12196,8 @@ class AuroHelpText extends LitElement {
12117
12196
  super();
12118
12197
 
12119
12198
  this.error = false;
12199
+
12200
+ /** @type {'default' | 'inverse'} */
12120
12201
  this.appearance = "default";
12121
12202
  this.onDark = false;
12122
12203
  this.hasTextContent = false;
@@ -12137,8 +12218,8 @@ class AuroHelpText extends LitElement {
12137
12218
  return {
12138
12219
 
12139
12220
  /**
12140
- * Defines whether the component will be on lighter or darker backgrounds.
12141
- * @property {'default', 'inverse'} - The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
12221
+ * The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
12222
+ * @type {'default' | 'inverse'}
12142
12223
  * @default 'default'
12143
12224
  */
12144
12225
  appearance: {
@@ -12151,6 +12232,7 @@ class AuroHelpText extends LitElement {
12151
12232
  */
12152
12233
  slotNodes: {
12153
12234
  type: Boolean,
12235
+ attribute: 'slotnodes',
12154
12236
  },
12155
12237
 
12156
12238
  /**
@@ -12158,6 +12240,7 @@ class AuroHelpText extends LitElement {
12158
12240
  */
12159
12241
  hasTextContent: {
12160
12242
  type: Boolean,
12243
+ attribute: 'hastextcontent',
12161
12244
  },
12162
12245
 
12163
12246
  /**
@@ -12173,6 +12256,7 @@ class AuroHelpText extends LitElement {
12173
12256
  */
12174
12257
  onDark: {
12175
12258
  type: Boolean,
12259
+ attribute: 'ondark',
12176
12260
  reflect: true
12177
12261
  }
12178
12262
  };
@@ -12243,7 +12327,7 @@ class AuroHelpText extends LitElement {
12243
12327
  }
12244
12328
  }
12245
12329
 
12246
- var formkitVersion = '202608261850';
12330
+ var formkitVersion = '202608291822';
12247
12331
 
12248
12332
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12249
12333
  // See LICENSE in the project root for license information.
@@ -1,24 +1,17 @@
1
+ /**
2
+ * AuroElement is the shared base class for layout-aware Auro form components.
3
+ *
4
+ * It defines the common `layout`, `shape`, `size`, and `ondark` reactive
5
+ * properties and the architecture helpers (`renderLayout`, `resetShapeClasses`,
6
+ * `resetLayoutClasses`) that subclasses use to render a chosen layout and apply
7
+ * the matching `shape-*` / `layout-*` wrapper classes. Subclasses supply their
8
+ * own default and valid value set for `layout`, `shape`, and `size`.
9
+ */
1
10
  export class AuroElement extends LitElement {
2
11
  static get properties(): {
3
12
  /**
4
- * Defines the language of an element.
5
- * @default {'default'}
13
+ * When true, renders the component styled for use on a dark background.
6
14
  */
7
- layout: {
8
- type: StringConstructor;
9
- attribute: string;
10
- reflect: boolean;
11
- };
12
- shape: {
13
- type: StringConstructor;
14
- attribute: string;
15
- reflect: boolean;
16
- };
17
- size: {
18
- type: StringConstructor;
19
- attribute: string;
20
- reflect: boolean;
21
- };
22
15
  onDark: {
23
16
  type: BooleanConstructor;
24
17
  attribute: string;
@@ -1,36 +1,36 @@
1
1
  import { LitElement } from 'lit';
2
2
 
3
+ /**
4
+ * AuroElement is the shared base class for layout-aware Auro form components.
5
+ *
6
+ * It defines the common `layout`, `shape`, `size`, and `ondark` reactive
7
+ * properties and the architecture helpers (`renderLayout`, `resetShapeClasses`,
8
+ * `resetLayoutClasses`) that subclasses use to render a chosen layout and apply
9
+ * the matching `shape-*` / `layout-*` wrapper classes. Subclasses supply their
10
+ * own default and valid value set for `layout`, `shape`, and `size`.
11
+ */
3
12
  class AuroElement extends LitElement {
4
13
  static get properties() {
5
14
  return {
6
15
 
7
16
  /**
8
- * Defines the language of an element.
9
- * @default {'default'}
17
+ * When true, renders the component styled for use on a dark background.
10
18
  */
11
- layout: {
12
- type: String,
13
- attribute: "layout",
14
- reflect: true
15
- },
16
-
17
- shape: {
18
- type: String,
19
- attribute: "shape",
20
- reflect: true
21
- },
22
-
23
- size: {
24
- type: String,
25
- attribute: "size",
26
- reflect: true
27
- },
28
-
29
19
  onDark: {
30
20
  type: Boolean,
31
21
  attribute: "ondark",
32
22
  reflect: true
33
23
  }
24
+
25
+ // NOTE: `layout`, `shape`, and `size` are intentionally NOT declared here.
26
+ // Their valid value sets differ per component, and the CEM analyzer roots
27
+ // an inherited property's `type` in the class that declares it — a base
28
+ // declaration would force every subclass's `@type` to be discarded and
29
+ // emitted as plain `string`. Each subclass declares its own `layout` /
30
+ // `shape` / `size` with an exact `@type` union instead. AuroElement still
31
+ // consumes `this.layout` / `this.shape` / `this.size` in its render and
32
+ // architecture helpers below (subclasses guarantee the reactive props).
33
+ // See AlaskaAirlines/discussions#653.
34
34
  };
35
35
  }
36
36
 
@@ -1,36 +1,36 @@
1
1
  import { LitElement } from 'lit';
2
2
 
3
+ /**
4
+ * AuroElement is the shared base class for layout-aware Auro form components.
5
+ *
6
+ * It defines the common `layout`, `shape`, `size`, and `ondark` reactive
7
+ * properties and the architecture helpers (`renderLayout`, `resetShapeClasses`,
8
+ * `resetLayoutClasses`) that subclasses use to render a chosen layout and apply
9
+ * the matching `shape-*` / `layout-*` wrapper classes. Subclasses supply their
10
+ * own default and valid value set for `layout`, `shape`, and `size`.
11
+ */
3
12
  class AuroElement extends LitElement {
4
13
  static get properties() {
5
14
  return {
6
15
 
7
16
  /**
8
- * Defines the language of an element.
9
- * @default {'default'}
17
+ * When true, renders the component styled for use on a dark background.
10
18
  */
11
- layout: {
12
- type: String,
13
- attribute: "layout",
14
- reflect: true
15
- },
16
-
17
- shape: {
18
- type: String,
19
- attribute: "shape",
20
- reflect: true
21
- },
22
-
23
- size: {
24
- type: String,
25
- attribute: "size",
26
- reflect: true
27
- },
28
-
29
19
  onDark: {
30
20
  type: Boolean,
31
21
  attribute: "ondark",
32
22
  reflect: true
33
23
  }
24
+
25
+ // NOTE: `layout`, `shape`, and `size` are intentionally NOT declared here.
26
+ // Their valid value sets differ per component, and the CEM analyzer roots
27
+ // an inherited property's `type` in the class that declares it — a base
28
+ // declaration would force every subclass's `@type` to be discarded and
29
+ // emitted as plain `string`. Each subclass declares its own `layout` /
30
+ // `shape` / `size` with an exact `@type` union instead. AuroElement still
31
+ // consumes `this.layout` / `this.shape` / `this.size` in its render and
32
+ // architecture helpers below (subclasses guarantee the reactive props).
33
+ // See AlaskaAirlines/discussions#653.
34
34
  };
35
35
  }
36
36