@momentum-design/components 0.129.29 → 0.129.30

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.
@@ -153,8 +153,8 @@
153
153
  "attribute": "disabled",
154
154
  "reflects": true,
155
155
  "inheritedFrom": {
156
- "name": "AccordionButton",
157
- "module": "components/accordionbutton/accordionbutton.component.js"
156
+ "name": "DisabledMixin",
157
+ "module": "utils/mixins/DisabledMixin.js"
158
158
  }
159
159
  },
160
160
  {
@@ -412,8 +412,8 @@
412
412
  "default": "undefined",
413
413
  "fieldName": "disabled",
414
414
  "inheritedFrom": {
415
- "name": "AccordionButton",
416
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
415
+ "name": "DisabledMixin",
416
+ "module": "src/utils/mixins/DisabledMixin.ts"
417
417
  }
418
418
  },
419
419
  {
@@ -36915,102 +36915,8 @@
36915
36915
  "declarations": [
36916
36916
  {
36917
36917
  "kind": "class",
36918
- "description": "Radio allow users to select single options from a list or turn an item/feature on or off.\nThese are often used in forms, settings, and selection in lists.\n\nA radio component contains an optional label, optional info icon and an optional helper text.",
36918
+ "description": "The Radio component allows users to select a single option from a group of mutually exclusive choices.\nUnlike checkboxes which allow multiple selections, radio buttons ensure only one option can be selected\nat a time within the same group. These are commonly used in forms, surveys, and settings where users\nneed to make a single selection from multiple options.\n\nTo create a group of radio buttons, use the `mdc-radiogroup` component or ensure all radio buttons\nshare the same `name` attribute.\n\n**Note:** This component internally renders a native radio input element with custom styling.\n\n## When to use\nUse radio buttons when users must select exactly one option from a list of 2-5 choices. For longer lists,\nconsider using a dropdown menu instead.\n\n## Accessibility\n- Provide clear labels that describe each option\n- Use `data-aria-label` when a visual label is not present\n- Keyboard navigation: Arrow keys to move between options, Space to select, Tab to navigate groups, Enter to submit form\n- Group related radio buttons using the same `name` attribute or `mdc-radiogroup` component\n\n## Styling\nUse the `static-radio` part to apply custom styles to the radio visual element.\nThis part exposes the underlying [StaticRadio](?path=/docs/components-decorator-staticradio--docs) component for advanced styling.",
36919
36919
  "name": "Radio",
36920
- "cssProperties": [
36921
- {
36922
- "description": "size of the inner circle",
36923
- "name": "--mdc-radio-inner-circle-size"
36924
- },
36925
- {
36926
- "description": "size of the outer circle",
36927
- "name": "--mdc-radio-outer-circle-size"
36928
- },
36929
- {
36930
- "description": "background color of the inner circle",
36931
- "name": "--mdc-radio-inner-circle-background-color"
36932
- },
36933
- {
36934
- "description": "border color of the outer circle",
36935
- "name": "--mdc-radio-outer-circle-border-color"
36936
- },
36937
- {
36938
- "description": "background color of the outer circle",
36939
- "name": "--mdc-radio-outer-circle-background-color"
36940
- },
36941
- {
36942
- "description": "Font size for the label text.",
36943
- "name": "--mdc-label-font-size",
36944
- "inheritedFrom": {
36945
- "name": "FormfieldWrapper",
36946
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
36947
- }
36948
- },
36949
- {
36950
- "description": "Font weight for the label text.",
36951
- "name": "--mdc-label-font-weight",
36952
- "inheritedFrom": {
36953
- "name": "FormfieldWrapper",
36954
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
36955
- }
36956
- },
36957
- {
36958
- "description": "Line height for the label text.",
36959
- "name": "--mdc-label-line-height",
36960
- "inheritedFrom": {
36961
- "name": "FormfieldWrapper",
36962
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
36963
- }
36964
- },
36965
- {
36966
- "description": "Color for the label text.",
36967
- "name": "--mdc-label-color",
36968
- "inheritedFrom": {
36969
- "name": "FormfieldWrapper",
36970
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
36971
- }
36972
- },
36973
- {
36974
- "description": "Font size for the help text.",
36975
- "name": "--mdc-help-text-font-size",
36976
- "inheritedFrom": {
36977
- "name": "FormfieldWrapper",
36978
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
36979
- }
36980
- },
36981
- {
36982
- "description": "Font weight for the help text.",
36983
- "name": "--mdc-help-text-font-weight",
36984
- "inheritedFrom": {
36985
- "name": "FormfieldWrapper",
36986
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
36987
- }
36988
- },
36989
- {
36990
- "description": "Line height for the help text.",
36991
- "name": "--mdc-help-text-line-height",
36992
- "inheritedFrom": {
36993
- "name": "FormfieldWrapper",
36994
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
36995
- }
36996
- },
36997
- {
36998
- "description": "Color for the help text.",
36999
- "name": "--mdc-help-text-color",
37000
- "inheritedFrom": {
37001
- "name": "FormfieldWrapper",
37002
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37003
- }
37004
- },
37005
- {
37006
- "description": "Color for the required indicator text.",
37007
- "name": "--mdc-required-indicator-color",
37008
- "inheritedFrom": {
37009
- "name": "FormfieldWrapper",
37010
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37011
- }
37012
- }
37013
- ],
37014
36920
  "cssParts": [
37015
36921
  {
37016
36922
  "description": "The label element.",
@@ -37077,12 +36983,16 @@
37077
36983
  }
37078
36984
  },
37079
36985
  {
37080
- "description": "The native radio input element.",
36986
+ "description": "The native radio input element that provides the interactive functionality.",
37081
36987
  "name": "radio-input"
37082
36988
  },
37083
36989
  {
37084
36990
  "description": "The container for the label and helper text elements.",
37085
36991
  "name": "text-container"
36992
+ },
36993
+ {
36994
+ "description": "The staticradio that provides the visual radio appearance.",
36995
+ "name": "static-radio"
37086
36996
  }
37087
36997
  ],
37088
36998
  "members": [
@@ -37108,7 +37018,7 @@
37108
37018
  "text": "boolean"
37109
37019
  },
37110
37020
  "default": "false",
37111
- "description": "Determines whether the radio is selected or unselected.",
37021
+ "description": "Determines whether the radio is checked (selected) or unchecked.\nWithin a radio group, only one radio can be checked at a time.",
37112
37022
  "attribute": "checked",
37113
37023
  "reflects": true
37114
37024
  },
@@ -37155,47 +37065,6 @@
37155
37065
  "module": "components/formfieldwrapper/formfieldwrapper.component.js"
37156
37066
  }
37157
37067
  },
37158
- {
37159
- "kind": "method",
37160
- "name": "getAllRadiosWithinSameGroup",
37161
- "privacy": "private",
37162
- "return": {
37163
- "type": {
37164
- "text": "Radio[]"
37165
- }
37166
- },
37167
- "description": "Returns all radios within the same group (name)."
37168
- },
37169
- {
37170
- "kind": "method",
37171
- "name": "handleChange",
37172
- "privacy": "private",
37173
- "return": {
37174
- "type": {
37175
- "text": "void"
37176
- }
37177
- },
37178
- "description": "Handles the change event on the radio element.\nThis will toggle the state of the radio element.\nDispatches the change event."
37179
- },
37180
- {
37181
- "kind": "method",
37182
- "name": "handleKeyDown",
37183
- "privacy": "private",
37184
- "return": {
37185
- "type": {
37186
- "text": "void"
37187
- }
37188
- },
37189
- "parameters": [
37190
- {
37191
- "name": "event",
37192
- "type": {
37193
- "text": "KeyboardEvent"
37194
- }
37195
- }
37196
- ],
37197
- "description": "Handles the keydown event (Arrow Up/Down/Left/Right) on the radio element."
37198
- },
37199
37068
  {
37200
37069
  "kind": "field",
37201
37070
  "name": "helpText",
@@ -37343,11 +37212,6 @@
37343
37212
  "module": "components/formfieldwrapper/formfieldwrapper.component.js"
37344
37213
  }
37345
37214
  },
37346
- {
37347
- "kind": "field",
37348
- "name": "renderLabelAndHelperText",
37349
- "privacy": "private"
37350
- },
37351
37215
  {
37352
37216
  "kind": "method",
37353
37217
  "name": "renderLabelElement",
@@ -37386,34 +37250,6 @@
37386
37250
  "module": "components/formfieldwrapper/formfieldwrapper.component.js"
37387
37251
  }
37388
37252
  },
37389
- {
37390
- "kind": "method",
37391
- "name": "setActualFormValue",
37392
- "privacy": "private",
37393
- "description": "Updates the form value to reflect the current state of the radio.\nIf checked, the value is set to the user-provided value.\nIf unchecked, the value is set to null."
37394
- },
37395
- {
37396
- "kind": "method",
37397
- "name": "setGroupValidity",
37398
- "privacy": "private",
37399
- "parameters": [
37400
- {
37401
- "name": "radios",
37402
- "type": {
37403
- "text": "Radio[]"
37404
- },
37405
- "description": "Array of radios of the same group"
37406
- },
37407
- {
37408
- "name": "isValid",
37409
- "type": {
37410
- "text": "boolean"
37411
- },
37412
- "description": "Boolean value to set the validity of the group"
37413
- }
37414
- ],
37415
- "description": "Sets the validity of the group of radios."
37416
- },
37417
37253
  {
37418
37254
  "kind": "method",
37419
37255
  "name": "setValidity",
@@ -37487,39 +37323,6 @@
37487
37323
  "module": "components/formfieldwrapper/formfieldwrapper.component.js"
37488
37324
  }
37489
37325
  },
37490
- {
37491
- "kind": "method",
37492
- "name": "updateRadio",
37493
- "privacy": "private",
37494
- "parameters": [
37495
- {
37496
- "name": "enabledRadios",
37497
- "type": {
37498
- "text": "Radio[]"
37499
- },
37500
- "description": "An array of enabled radio buttons within the same group."
37501
- },
37502
- {
37503
- "name": "index",
37504
- "type": {
37505
- "text": "number"
37506
- },
37507
- "description": "The index of the radio button to be updated within the enabled radios array."
37508
- }
37509
- ],
37510
- "description": "Updates the state of the radio button at the specified index within the enabled radios.\nFocuses the radio button and triggers the change event if the radio button is not read-only."
37511
- },
37512
- {
37513
- "kind": "method",
37514
- "name": "updateTabIndex",
37515
- "privacy": "private",
37516
- "return": {
37517
- "type": {
37518
- "text": "void"
37519
- }
37520
- },
37521
- "description": "Update tab index for all radios in the same group (name)\nIf any radio group is checked, it will have a tab index of 0\nIf no radio group is checked, the first enabled radio will have a tab index of 0"
37522
- },
37523
37326
  {
37524
37327
  "kind": "field",
37525
37328
  "name": "validationMessage",
@@ -37593,7 +37396,7 @@
37593
37396
  "text": "boolean"
37594
37397
  },
37595
37398
  "default": "false",
37596
- "description": "Determines whether the radio is selected or unselected.",
37399
+ "description": "Determines whether the radio is checked (selected) or unchecked.\nWithin a radio group, only one radio can be checked at a time.",
37597
37400
  "fieldName": "checked"
37598
37401
  },
37599
37402
  {
@@ -37819,7 +37622,7 @@
37819
37622
  "module": "/src/components/formfieldwrapper/formfieldwrapper.component"
37820
37623
  },
37821
37624
  "tagName": "mdc-radio",
37822
- "jsDoc": "/**\n * Radio allow users to select single options from a list or turn an item/feature on or off.\n * These are often used in forms, settings, and selection in lists.\n *\n * A radio component contains an optional label, optional info icon and an optional helper text.\n *\n * @dependency mdc-button\n * @dependency mdc-icon\n * @dependency mdc-text\n * @dependency mdc-staticradio\n * @dependency mdc-toggletip\n *\n * @tagname mdc-radio\n *\n * @event change - (React: onChange) Event that gets dispatched when the radio state changes.\n * @event focus - (React: onFocus) Event that gets dispatched when the radio receives focus.\n *\n * @cssproperty --mdc-radio-inner-circle-size - size of the inner circle\n * @cssproperty --mdc-radio-outer-circle-size - size of the outer circle\n * @cssproperty --mdc-radio-inner-circle-background-color - background color of the inner circle\n * @cssproperty --mdc-radio-outer-circle-border-color - border color of the outer circle\n * @cssproperty --mdc-radio-outer-circle-background-color - background color of the outer circle\n *\n * @csspart label - The label element.\n * @csspart label-text - The container for the label and required indicator elements.\n * @csspart required-indicator - The required indicator element that is displayed next to the label when the `required` property is set to true.\n * @csspart info-icon-btn - The info icon button element that is displayed next to the label when the `toggletip-text` property is set.\n * @csspart label-toggletip - The toggletip element that is displayed when the info icon button is clicked.\n * @csspart help-text - The helper/validation text element.\n * @csspart helper-icon - The helper/validation icon element that is displayed next to the helper/validation text.\n * @csspart help-text-container - The container for the helper/validation icon and text elements.\n * @csspart radio-input - The native radio input element.\n * @csspart text-container - The container for the label and helper text elements.\n */",
37625
+ "jsDoc": "/**\n * The Radio component allows users to select a single option from a group of mutually exclusive choices.\n * Unlike checkboxes which allow multiple selections, radio buttons ensure only one option can be selected\n * at a time within the same group. These are commonly used in forms, surveys, and settings where users\n * need to make a single selection from multiple options.\n *\n * To create a group of radio buttons, use the `mdc-radiogroup` component or ensure all radio buttons\n * share the same `name` attribute.\n *\n * **Note:** This component internally renders a native radio input element with custom styling.\n *\n * ## When to use\n * Use radio buttons when users must select exactly one option from a list of 2-5 choices. For longer lists,\n * consider using a dropdown menu instead.\n *\n * ## Accessibility\n * - Provide clear labels that describe each option\n * - Use `data-aria-label` when a visual label is not present\n * - Keyboard navigation: Arrow keys to move between options, Space to select, Tab to navigate groups, Enter to submit form\n * - Group related radio buttons using the same `name` attribute or `mdc-radiogroup` component\n *\n * ## Styling\n * Use the `static-radio` part to apply custom styles to the radio visual element.\n * This part exposes the underlying [StaticRadio](?path=/docs/components-decorator-staticradio--docs) component for advanced styling.\n *\n * @dependency mdc-button\n * @dependency mdc-icon\n * @dependency mdc-text\n * @dependency mdc-staticradio\n * @dependency mdc-toggletip\n *\n * @tagname mdc-radio\n *\n * @event change - (React: onChange) Event that gets dispatched when the radio state changes.\n * @event focus - (React: onFocus) Event that gets dispatched when the radio receives focus.\n *\n * @csspart label - The label element.\n * @csspart label-text - The container for the label and required indicator elements.\n * @csspart required-indicator - The required indicator element that is displayed next to the label when the `required` property is set to true.\n * @csspart info-icon-btn - The info icon button element that is displayed next to the label when the `toggletip-text` property is set.\n * @csspart label-toggletip - The toggletip element that is displayed when the info icon button is clicked.\n * @csspart help-text - The helper/validation text element.\n * @csspart helper-icon - The helper/validation icon element that is displayed next to the helper/validation text.\n * @csspart help-text-container - The container for the helper/validation icon and text elements.\n * @csspart radio-input - The native radio input element that provides the interactive functionality.\n * @csspart text-container - The container for the label and helper text elements.\n * @csspart static-radio - The staticradio that provides the visual radio appearance.\n */",
37823
37626
  "customElement": true,
37824
37627
  "slots": [
37825
37628
  {
@@ -37854,6 +37657,80 @@
37854
37657
  "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37855
37658
  }
37856
37659
  }
37660
+ ],
37661
+ "cssProperties": [
37662
+ {
37663
+ "description": "Font size for the label text.",
37664
+ "name": "--mdc-label-font-size",
37665
+ "inheritedFrom": {
37666
+ "name": "FormfieldWrapper",
37667
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37668
+ }
37669
+ },
37670
+ {
37671
+ "description": "Font weight for the label text.",
37672
+ "name": "--mdc-label-font-weight",
37673
+ "inheritedFrom": {
37674
+ "name": "FormfieldWrapper",
37675
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37676
+ }
37677
+ },
37678
+ {
37679
+ "description": "Line height for the label text.",
37680
+ "name": "--mdc-label-line-height",
37681
+ "inheritedFrom": {
37682
+ "name": "FormfieldWrapper",
37683
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37684
+ }
37685
+ },
37686
+ {
37687
+ "description": "Color for the label text.",
37688
+ "name": "--mdc-label-color",
37689
+ "inheritedFrom": {
37690
+ "name": "FormfieldWrapper",
37691
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37692
+ }
37693
+ },
37694
+ {
37695
+ "description": "Font size for the help text.",
37696
+ "name": "--mdc-help-text-font-size",
37697
+ "inheritedFrom": {
37698
+ "name": "FormfieldWrapper",
37699
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37700
+ }
37701
+ },
37702
+ {
37703
+ "description": "Font weight for the help text.",
37704
+ "name": "--mdc-help-text-font-weight",
37705
+ "inheritedFrom": {
37706
+ "name": "FormfieldWrapper",
37707
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37708
+ }
37709
+ },
37710
+ {
37711
+ "description": "Line height for the help text.",
37712
+ "name": "--mdc-help-text-line-height",
37713
+ "inheritedFrom": {
37714
+ "name": "FormfieldWrapper",
37715
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37716
+ }
37717
+ },
37718
+ {
37719
+ "description": "Color for the help text.",
37720
+ "name": "--mdc-help-text-color",
37721
+ "inheritedFrom": {
37722
+ "name": "FormfieldWrapper",
37723
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37724
+ }
37725
+ },
37726
+ {
37727
+ "description": "Color for the required indicator text.",
37728
+ "name": "--mdc-required-indicator-color",
37729
+ "inheritedFrom": {
37730
+ "name": "FormfieldWrapper",
37731
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
37732
+ }
37733
+ }
37857
37734
  ]
37858
37735
  }
37859
37736
  ],
@@ -44962,39 +44839,39 @@
44962
44839
  "declarations": [
44963
44840
  {
44964
44841
  "kind": "class",
44965
- "description": "This is a decorative component that is styled to look as a radio.\nIt has 4 properties - checked, disabled, readonly and soft-disabled.\n\nWe are using the same styling that has been created for the `mdc-radio` component.",
44842
+ "description": "StaticRadio is a decorative component styled as a radio button for visual presentation.\nUnlike the interactive `mdc-radio`, this component does not handle user interactions or form submissions.\nIt is used purely for displaying radio button states in read-only scenarios.\n\nThis component supports four display states: checked, disabled, readonly, and soft-disabled.",
44966
44843
  "name": "StaticRadio",
44967
44844
  "cssProperties": [
44968
44845
  {
44969
- "description": "size of the inner circle",
44970
- "name": "--mdc-radio-inner-circle-size"
44846
+ "description": "The size of the inner circle when checked.",
44847
+ "name": "--mdc-staticradio-inner-circle-size"
44971
44848
  },
44972
44849
  {
44973
- "description": "size of the outer circle",
44974
- "name": "--mdc-radio-outer-circle-size"
44850
+ "description": "The size of the outer circle border.",
44851
+ "name": "--mdc-staticradio-outer-circle-size"
44975
44852
  },
44976
44853
  {
44977
- "description": "background color of the inner circle",
44978
- "name": "--mdc-radio-inner-circle-background-color"
44854
+ "description": "The background color of the inner circle when checked.",
44855
+ "name": "--mdc-staticradio-inner-circle-background-color"
44979
44856
  },
44980
44857
  {
44981
- "description": "border color of the outer circle",
44982
- "name": "--mdc-radio-outer-circle-border-color"
44858
+ "description": "The border color of the outer circle.",
44859
+ "name": "--mdc-staticradio-outer-circle-border-color"
44983
44860
  },
44984
44861
  {
44985
- "description": "background color of the outer circle",
44986
- "name": "--mdc-radio-outer-circle-background-color"
44862
+ "description": "The background color of the outer circle.",
44863
+ "name": "--mdc-staticradio-outer-circle-background-color"
44987
44864
  }
44988
44865
  ],
44989
44866
  "cssParts": [
44990
44867
  {
44991
- "description": "The radio icon.",
44868
+ "description": "The radio icon element",
44992
44869
  "name": "radio-icon"
44993
44870
  }
44994
44871
  ],
44995
44872
  "slots": [
44996
44873
  {
44997
- "description": "Default slot for the label of the radio.",
44874
+ "description": "Default slot for the label of the radio",
44998
44875
  "name": ""
44999
44876
  }
45000
44877
  ],
@@ -45006,7 +44883,7 @@
45006
44883
  "text": "boolean"
45007
44884
  },
45008
44885
  "default": "false",
45009
- "description": "Determines whether the radio is selected or unselected.",
44886
+ "description": "Determines whether the radio appears checked (selected) or unchecked.",
45010
44887
  "attribute": "checked",
45011
44888
  "reflects": true
45012
44889
  },
@@ -45032,7 +44909,7 @@
45032
44909
  "text": "boolean"
45033
44910
  },
45034
44911
  "default": "false",
45035
- "description": "Determines whether the radio is read-only.",
44912
+ "description": "Determines whether the radio appears in a read-only state.\nNote: This is purely visual as StaticRadio is non-interactive by design.",
45036
44913
  "attribute": "readonly",
45037
44914
  "reflects": true
45038
44915
  },
@@ -45043,7 +44920,7 @@
45043
44920
  "text": "boolean"
45044
44921
  },
45045
44922
  "default": "false",
45046
- "description": "Determines whether the radio is soft-disabled.",
44923
+ "description": "Determines whether the radio appears in a soft-disabled state.\nSoft-disabled provides a less prominent disabled appearance than the standard disabled state.\nNote: This is purely visual as StaticRadio is non-interactive by design.",
45047
44924
  "attribute": "soft-disabled",
45048
44925
  "reflects": true
45049
44926
  }
@@ -45055,7 +44932,7 @@
45055
44932
  "text": "boolean"
45056
44933
  },
45057
44934
  "default": "false",
45058
- "description": "Determines whether the radio is selected or unselected.",
44935
+ "description": "Determines whether the radio appears checked (selected) or unchecked.",
45059
44936
  "fieldName": "checked"
45060
44937
  },
45061
44938
  {
@@ -45064,7 +44941,7 @@
45064
44941
  "text": "boolean"
45065
44942
  },
45066
44943
  "default": "false",
45067
- "description": "Determines whether the radio is read-only.",
44944
+ "description": "Determines whether the radio appears in a read-only state.\nNote: This is purely visual as StaticRadio is non-interactive by design.",
45068
44945
  "fieldName": "readonly"
45069
44946
  },
45070
44947
  {
@@ -45073,7 +44950,7 @@
45073
44950
  "text": "boolean"
45074
44951
  },
45075
44952
  "default": "false",
45076
- "description": "Determines whether the radio is soft-disabled.",
44953
+ "description": "Determines whether the radio appears in a soft-disabled state.\nSoft-disabled provides a less prominent disabled appearance than the standard disabled state.\nNote: This is purely visual as StaticRadio is non-interactive by design.",
45077
44954
  "fieldName": "softDisabled"
45078
44955
  },
45079
44956
  {
@@ -45101,7 +44978,7 @@
45101
44978
  "module": "/src/models"
45102
44979
  },
45103
44980
  "tagName": "mdc-staticradio",
45104
- "jsDoc": "/**\n * This is a decorative component that is styled to look as a radio.\n * It has 4 properties - checked, disabled, readonly and soft-disabled.\n *\n * We are using the same styling that has been created for the `mdc-radio` component.\n *\n * @tagname mdc-staticradio\n *\n * @cssproperty --mdc-radio-inner-circle-size - size of the inner circle\n * @cssproperty --mdc-radio-outer-circle-size - size of the outer circle\n * @cssproperty --mdc-radio-inner-circle-background-color - background color of the inner circle\n * @cssproperty --mdc-radio-outer-circle-border-color - border color of the outer circle\n * @cssproperty --mdc-radio-outer-circle-background-color - background color of the outer circle\n *\n * @csspart radio-icon - The radio icon.\n *\n * @slot - Default slot for the label of the radio.\n */",
44981
+ "jsDoc": "/**\n * StaticRadio is a decorative component styled as a radio button for visual presentation.\n * Unlike the interactive `mdc-radio`, this component does not handle user interactions or form submissions.\n * It is used purely for displaying radio button states in read-only scenarios.\n *\n * This component supports four display states: checked, disabled, readonly, and soft-disabled.\n *\n * @tagname mdc-staticradio\n *\n * @cssproperty --mdc-staticradio-inner-circle-size - The size of the inner circle when checked.\n * @cssproperty --mdc-staticradio-outer-circle-size - The size of the outer circle border.\n * @cssproperty --mdc-staticradio-inner-circle-background-color - The background color of the inner circle when checked.\n * @cssproperty --mdc-staticradio-outer-circle-border-color - The border color of the outer circle.\n * @cssproperty --mdc-staticradio-outer-circle-background-color - The background color of the outer circle.\n *\n * @csspart radio-icon - The radio icon element\n *\n * @slot - Default slot for the label of the radio\n */",
45105
44982
  "customElement": true
45106
44983
  }
45107
44984
  ],
@@ -2,10 +2,29 @@ import { type EventName } from '@lit/react';
2
2
  import Component from '../../components/radio';
3
3
  import type { Events } from '../../components/radio/radio.types';
4
4
  /**
5
- * Radio allow users to select single options from a list or turn an item/feature on or off.
6
- * These are often used in forms, settings, and selection in lists.
5
+ * The Radio component allows users to select a single option from a group of mutually exclusive choices.
6
+ * Unlike checkboxes which allow multiple selections, radio buttons ensure only one option can be selected
7
+ * at a time within the same group. These are commonly used in forms, surveys, and settings where users
8
+ * need to make a single selection from multiple options.
7
9
  *
8
- * A radio component contains an optional label, optional info icon and an optional helper text.
10
+ * To create a group of radio buttons, use the `mdc-radiogroup` component or ensure all radio buttons
11
+ * share the same `name` attribute.
12
+ *
13
+ * **Note:** This component internally renders a native radio input element with custom styling.
14
+ *
15
+ * ## When to use
16
+ * Use radio buttons when users must select exactly one option from a list of 2-5 choices. For longer lists,
17
+ * consider using a dropdown menu instead.
18
+ *
19
+ * ## Accessibility
20
+ * - Provide clear labels that describe each option
21
+ * - Use `data-aria-label` when a visual label is not present
22
+ * - Keyboard navigation: Arrow keys to move between options, Space to select, Tab to navigate groups, Enter to submit form
23
+ * - Group related radio buttons using the same `name` attribute or `mdc-radiogroup` component
24
+ *
25
+ * ## Styling
26
+ * Use the `static-radio` part to apply custom styles to the radio visual element.
27
+ * This part exposes the underlying [StaticRadio](?path=/docs/components-decorator-staticradio--docs) component for advanced styling.
9
28
  *
10
29
  * @dependency mdc-button
11
30
  * @dependency mdc-icon
@@ -18,12 +37,6 @@ import type { Events } from '../../components/radio/radio.types';
18
37
  * @event change - (React: onChange) Event that gets dispatched when the radio state changes.
19
38
  * @event focus - (React: onFocus) Event that gets dispatched when the radio receives focus.
20
39
  *
21
- * @cssproperty --mdc-radio-inner-circle-size - size of the inner circle
22
- * @cssproperty --mdc-radio-outer-circle-size - size of the outer circle
23
- * @cssproperty --mdc-radio-inner-circle-background-color - background color of the inner circle
24
- * @cssproperty --mdc-radio-outer-circle-border-color - border color of the outer circle
25
- * @cssproperty --mdc-radio-outer-circle-background-color - background color of the outer circle
26
- *
27
40
  * @csspart label - The label element.
28
41
  * @csspart label-text - The container for the label and required indicator elements.
29
42
  * @csspart required-indicator - The required indicator element that is displayed next to the label when the `required` property is set to true.
@@ -32,8 +45,9 @@ import type { Events } from '../../components/radio/radio.types';
32
45
  * @csspart help-text - The helper/validation text element.
33
46
  * @csspart helper-icon - The helper/validation icon element that is displayed next to the helper/validation text.
34
47
  * @csspart help-text-container - The container for the helper/validation icon and text elements.
35
- * @csspart radio-input - The native radio input element.
48
+ * @csspart radio-input - The native radio input element that provides the interactive functionality.
36
49
  * @csspart text-container - The container for the label and helper text elements.
50
+ * @csspart static-radio - The staticradio that provides the visual radio appearance.
37
51
  */
38
52
  declare const reactWrapper: import("@lit/react").ReactWebComponent<Component, {
39
53
  onChange: EventName<Events["onChangeEvent"]>;
@@ -3,10 +3,29 @@ import { createComponent } from '@lit/react';
3
3
  import Component from '../../components/radio';
4
4
  import { TAG_NAME } from '../../components/radio/radio.constants';
5
5
  /**
6
- * Radio allow users to select single options from a list or turn an item/feature on or off.
7
- * These are often used in forms, settings, and selection in lists.
6
+ * The Radio component allows users to select a single option from a group of mutually exclusive choices.
7
+ * Unlike checkboxes which allow multiple selections, radio buttons ensure only one option can be selected
8
+ * at a time within the same group. These are commonly used in forms, surveys, and settings where users
9
+ * need to make a single selection from multiple options.
8
10
  *
9
- * A radio component contains an optional label, optional info icon and an optional helper text.
11
+ * To create a group of radio buttons, use the `mdc-radiogroup` component or ensure all radio buttons
12
+ * share the same `name` attribute.
13
+ *
14
+ * **Note:** This component internally renders a native radio input element with custom styling.
15
+ *
16
+ * ## When to use
17
+ * Use radio buttons when users must select exactly one option from a list of 2-5 choices. For longer lists,
18
+ * consider using a dropdown menu instead.
19
+ *
20
+ * ## Accessibility
21
+ * - Provide clear labels that describe each option
22
+ * - Use `data-aria-label` when a visual label is not present
23
+ * - Keyboard navigation: Arrow keys to move between options, Space to select, Tab to navigate groups, Enter to submit form
24
+ * - Group related radio buttons using the same `name` attribute or `mdc-radiogroup` component
25
+ *
26
+ * ## Styling
27
+ * Use the `static-radio` part to apply custom styles to the radio visual element.
28
+ * This part exposes the underlying [StaticRadio](?path=/docs/components-decorator-staticradio--docs) component for advanced styling.
10
29
  *
11
30
  * @dependency mdc-button
12
31
  * @dependency mdc-icon
@@ -19,12 +38,6 @@ import { TAG_NAME } from '../../components/radio/radio.constants';
19
38
  * @event change - (React: onChange) Event that gets dispatched when the radio state changes.
20
39
  * @event focus - (React: onFocus) Event that gets dispatched when the radio receives focus.
21
40
  *
22
- * @cssproperty --mdc-radio-inner-circle-size - size of the inner circle
23
- * @cssproperty --mdc-radio-outer-circle-size - size of the outer circle
24
- * @cssproperty --mdc-radio-inner-circle-background-color - background color of the inner circle
25
- * @cssproperty --mdc-radio-outer-circle-border-color - border color of the outer circle
26
- * @cssproperty --mdc-radio-outer-circle-background-color - background color of the outer circle
27
- *
28
41
  * @csspart label - The label element.
29
42
  * @csspart label-text - The container for the label and required indicator elements.
30
43
  * @csspart required-indicator - The required indicator element that is displayed next to the label when the `required` property is set to true.
@@ -33,8 +46,9 @@ import { TAG_NAME } from '../../components/radio/radio.constants';
33
46
  * @csspart help-text - The helper/validation text element.
34
47
  * @csspart helper-icon - The helper/validation icon element that is displayed next to the helper/validation text.
35
48
  * @csspart help-text-container - The container for the helper/validation icon and text elements.
36
- * @csspart radio-input - The native radio input element.
49
+ * @csspart radio-input - The native radio input element that provides the interactive functionality.
37
50
  * @csspart text-container - The container for the label and helper text elements.
51
+ * @csspart static-radio - The staticradio that provides the visual radio appearance.
38
52
  */
39
53
  const reactWrapper = createComponent({
40
54
  tagName: TAG_NAME,