@telus-uds/components-base 1.6.1 → 1.8.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 (97) hide show
  1. package/.storybook/main.js +7 -0
  2. package/.turbo/turbo-build.log +3 -3
  3. package/.turbo/turbo-lint.log +3 -13
  4. package/CHANGELOG.json +112 -1
  5. package/CHANGELOG.md +41 -2
  6. package/__fixtures__/Accessible.js +1 -2
  7. package/__fixtures__/Accessible.native.js +1 -2
  8. package/__tests__/FlexGrid/Col.test.jsx +5 -0
  9. package/__tests__/InputLabel/InputLabel.test.jsx +28 -0
  10. package/__tests__/InputLabel/__snapshots__/InputLabel.test.jsx.snap +3 -0
  11. package/__tests__/InputSupports/InputSupports.test.jsx +10 -0
  12. package/component-docs.json +278 -40
  13. package/lib/Button/ButtonGroup.js +118 -45
  14. package/lib/Checkbox/CheckboxGroup.js +3 -3
  15. package/lib/ExpandCollapse/Panel.js +2 -1
  16. package/lib/Fieldset/Fieldset.js +7 -0
  17. package/lib/InputLabel/InputLabel.js +8 -1
  18. package/lib/InputSupports/InputSupports.js +7 -0
  19. package/lib/List/ListItem.js +22 -12
  20. package/lib/Notification/Notification.js +1 -1
  21. package/lib/Radio/RadioGroup.js +12 -5
  22. package/lib/RadioCard/RadioCardGroup.js +7 -0
  23. package/lib/Search/Search.js +28 -20
  24. package/lib/Skeleton/Skeleton.js +48 -2
  25. package/lib/TextInput/TextArea.js +1 -1
  26. package/lib/TextInput/TextInput.js +1 -1
  27. package/lib/TextInput/TextInputBase.js +1 -1
  28. package/lib/ToggleSwitch/ToggleSwitch.js +7 -0
  29. package/lib/ToggleSwitch/ToggleSwitchGroup.js +7 -0
  30. package/lib/Tooltip/Tooltip.js +1 -1
  31. package/lib/Typography/Typography.js +12 -10
  32. package/lib/index.js +22 -1
  33. package/lib/utils/animation/useVerticalExpandAnimation.js +26 -13
  34. package/lib/utils/input.js +5 -6
  35. package/lib/utils/props/index.js +18 -0
  36. package/lib/utils/props/inputSupportsProps.js +7 -0
  37. package/lib/utils/props/textInputProps.js +207 -0
  38. package/lib/utils/props/textProps.js +72 -0
  39. package/lib-module/Button/ButtonGroup.js +117 -45
  40. package/lib-module/Checkbox/CheckboxGroup.js +3 -3
  41. package/lib-module/ExpandCollapse/Panel.js +2 -1
  42. package/lib-module/Fieldset/Fieldset.js +7 -0
  43. package/lib-module/InputLabel/InputLabel.js +8 -1
  44. package/lib-module/InputSupports/InputSupports.js +7 -0
  45. package/lib-module/List/ListItem.js +22 -12
  46. package/lib-module/Notification/Notification.js +1 -1
  47. package/lib-module/Radio/RadioGroup.js +12 -5
  48. package/lib-module/RadioCard/RadioCardGroup.js +7 -0
  49. package/lib-module/Search/Search.js +30 -22
  50. package/lib-module/Skeleton/Skeleton.js +49 -3
  51. package/lib-module/TextInput/TextArea.js +2 -2
  52. package/lib-module/TextInput/TextInput.js +2 -2
  53. package/lib-module/TextInput/TextInputBase.js +2 -2
  54. package/lib-module/ToggleSwitch/ToggleSwitch.js +7 -0
  55. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +7 -0
  56. package/lib-module/Tooltip/Tooltip.js +1 -1
  57. package/lib-module/Typography/Typography.js +13 -11
  58. package/lib-module/index.js +1 -1
  59. package/lib-module/utils/animation/useVerticalExpandAnimation.js +26 -14
  60. package/lib-module/utils/input.js +6 -6
  61. package/lib-module/utils/props/index.js +2 -0
  62. package/lib-module/utils/props/inputSupportsProps.js +7 -0
  63. package/lib-module/utils/props/textInputProps.js +194 -0
  64. package/lib-module/utils/props/textProps.js +59 -0
  65. package/package.json +9 -4
  66. package/src/Button/ButtonGroup.jsx +106 -41
  67. package/src/Checkbox/Checkbox.jsx +7 -4
  68. package/src/Checkbox/CheckboxGroup.jsx +3 -3
  69. package/src/ExpandCollapse/Panel.jsx +3 -1
  70. package/src/Fieldset/Fieldset.jsx +6 -0
  71. package/src/InputLabel/InputLabel.jsx +17 -2
  72. package/src/InputSupports/InputSupports.jsx +9 -1
  73. package/src/List/ListItem.jsx +17 -9
  74. package/src/Notification/Notification.jsx +1 -1
  75. package/src/Radio/Radio.jsx +5 -1
  76. package/src/Radio/RadioGroup.jsx +11 -5
  77. package/src/RadioCard/RadioCard.jsx +5 -1
  78. package/src/RadioCard/RadioCardGroup.jsx +6 -0
  79. package/src/Search/Search.jsx +34 -22
  80. package/src/Skeleton/Skeleton.jsx +56 -3
  81. package/src/TextInput/TextArea.jsx +2 -0
  82. package/src/TextInput/TextInput.jsx +2 -0
  83. package/src/TextInput/TextInputBase.jsx +2 -0
  84. package/src/ToggleSwitch/ToggleSwitch.jsx +6 -0
  85. package/src/ToggleSwitch/ToggleSwitchGroup.jsx +6 -0
  86. package/src/Tooltip/Tooltip.jsx +1 -1
  87. package/src/Typography/Typography.jsx +13 -9
  88. package/src/index.js +4 -1
  89. package/src/utils/animation/useVerticalExpandAnimation.js +25 -12
  90. package/src/utils/input.js +5 -7
  91. package/src/utils/props/index.js +2 -0
  92. package/src/utils/props/inputSupportsProps.js +6 -1
  93. package/src/utils/props/textInputProps.js +178 -0
  94. package/src/utils/props/textProps.js +58 -0
  95. package/src/utils/props/tokens.js +21 -19
  96. package/stories/Search/Search.stories.jsx +49 -2
  97. package/stories/Tabs/Tabs.stories.jsx +4 -3
@@ -36,6 +36,7 @@
36
36
  },
37
37
  "ButtonGroup": {
38
38
  "space": "integer",
39
+ "fieldSpace": "integer",
39
40
  "direction": "direction",
40
41
  "alignItems": "flexAlign",
41
42
  "justifyContent": "flexJustifyContent",
@@ -748,6 +749,7 @@
748
749
  },
749
750
  "ToggleSwitchGroup": {
750
751
  "space": "integer",
752
+ "fieldSpace": "integer",
751
753
  "direction": "direction",
752
754
  "alignItems": "flexAlign",
753
755
  "justifyContent": "flexJustifyContent",
@@ -2824,6 +2826,27 @@
2824
2826
  "docs": {
2825
2827
  "description": "An alternative to InputSupports for groups of input elements that, on web, are to be\nwrapped in a `<fieldset>` tag, with label content displated in a `<legend>` tag.\n\nFollows the same theming and most of the same props as InputSupports.",
2826
2828
  "props": {
2829
+ "copy": {
2830
+ "defaultValue": {
2831
+ "value": "'en'",
2832
+ "computed": false
2833
+ },
2834
+ "type": {
2835
+ "name": "enum",
2836
+ "value": [
2837
+ {
2838
+ "value": "'en'",
2839
+ "computed": false
2840
+ },
2841
+ {
2842
+ "value": "'fr'",
2843
+ "computed": false
2844
+ }
2845
+ ]
2846
+ },
2847
+ "required": false,
2848
+ "description": "Whether the English or French copy will be used (e.g. for accessibility labels)."
2849
+ },
2827
2850
  "feedbackPosition": {
2828
2851
  "defaultValue": {
2829
2852
  "value": "'top'",
@@ -4182,6 +4205,27 @@
4182
4205
  "docs": {
4183
4206
  "description": "",
4184
4207
  "props": {
4208
+ "copy": {
4209
+ "defaultValue": {
4210
+ "value": "'en'",
4211
+ "computed": false
4212
+ },
4213
+ "type": {
4214
+ "name": "enum",
4215
+ "value": [
4216
+ {
4217
+ "value": "'en'",
4218
+ "computed": false
4219
+ },
4220
+ {
4221
+ "value": "'fr'",
4222
+ "computed": false
4223
+ }
4224
+ ]
4225
+ },
4226
+ "required": false,
4227
+ "description": "Whether the English or French copy will be used (e.g. for accessibility labels)."
4228
+ },
4185
4229
  "hintPosition": {
4186
4230
  "defaultValue": {
4187
4231
  "value": "'inline'",
@@ -4843,7 +4887,7 @@
4843
4887
  ]
4844
4888
  },
4845
4889
  "required": false,
4846
- "description": "Select english or french copy for the accessible label of the dismiss button."
4890
+ "description": "Select English or French copy for the accessible label of the dismiss button."
4847
4891
  },
4848
4892
  "children": {
4849
4893
  "type": {
@@ -5701,28 +5745,6 @@
5701
5745
  "docs": {
5702
5746
  "description": "The `Search` component is a combination of a `TextInput` and 2 different kinds of custom buttons.\nUse `Search` to feature autocomplete interactions.\n\nThis component includes a clear button, which will appear as text is entered and pressing it will\ncause the input's internal state value to be set to an empty string.\n\nThis component may only be used as uncontrolled, as the search value is managed within an internal state.\nYou can use the `onChange` prop to react to value changes and the `onSubmit` prop to react on search submission.\n\nUse the following props to supply additional accessibility labels for the input - `accessibilityLabel`,\nclear button - `clearButtonAccessibilityLabel`, and submit button - `submitButtonAccessibilityLabel`.",
5703
5747
  "props": {
5704
- "initialValue": {
5705
- "defaultValue": {
5706
- "value": "''",
5707
- "computed": false
5708
- },
5709
- "type": {
5710
- "name": "string"
5711
- },
5712
- "required": false,
5713
- "description": "Use this to set the initial value of the search input.\nUpdating `initialValue` will **not** update the actual value."
5714
- },
5715
- "placeholder": {
5716
- "defaultValue": {
5717
- "value": "'Search'",
5718
- "computed": false
5719
- },
5720
- "type": {
5721
- "name": "string"
5722
- },
5723
- "required": false,
5724
- "description": "Label rendered in the search input when it has no value."
5725
- },
5726
5748
  "copy": {
5727
5749
  "defaultValue": {
5728
5750
  "value": "'en'",
@@ -5764,7 +5786,21 @@
5764
5786
  ]
5765
5787
  },
5766
5788
  "required": false,
5767
- "description": "Select english or french copy for the accessible labels.\nYou may also pass in a custom dictionary object."
5789
+ "description": "Select English or French copy for the accessible labels.\nYou may also pass in a custom dictionary object."
5790
+ },
5791
+ "initialValue": {
5792
+ "type": {
5793
+ "name": "string"
5794
+ },
5795
+ "required": false,
5796
+ "description": "Use this to set the initial value of the search input.\nUpdating `initialValue` will **not** update the actual value."
5797
+ },
5798
+ "placeholder": {
5799
+ "type": {
5800
+ "name": "string"
5801
+ },
5802
+ "required": false,
5803
+ "description": "Label rendered in the search input when it has no value."
5768
5804
  },
5769
5805
  "inactive": {
5770
5806
  "type": {
@@ -6365,6 +6401,27 @@
6365
6401
  "docs": {
6366
6402
  "description": "",
6367
6403
  "props": {
6404
+ "sizeIndex": {
6405
+ "defaultValue": {
6406
+ "value": "size",
6407
+ "computed": true
6408
+ },
6409
+ "type": {
6410
+ "name": "union",
6411
+ "value": [
6412
+ {
6413
+ "name": "custom",
6414
+ "raw": "spacingIndexPropType"
6415
+ },
6416
+ {
6417
+ "name": "custom",
6418
+ "raw": "spacingObjectPropType"
6419
+ }
6420
+ ]
6421
+ },
6422
+ "required": false,
6423
+ "description": "Sets the size of Skeleton lines or shape according to the theme's spacing scale. For example, size={1} gives the smallest non-zero theme-defined spacing size.\n\nMay also accept an object with responsive viewport keys or spacing scale options - see `useSpacingScale` for details."
6424
+ },
6368
6425
  "shape": {
6369
6426
  "defaultValue": {
6370
6427
  "value": "'line'",
@@ -6388,7 +6445,7 @@
6388
6445
  ]
6389
6446
  },
6390
6447
  "required": false,
6391
- "description": ""
6448
+ "description": "Determines if the skeleton should resemble lines of text (default), a circle, or a square box with themed rounded corners."
6392
6449
  },
6393
6450
  "tokens": {
6394
6451
  "type": {
@@ -6429,24 +6486,42 @@
6429
6486
  },
6430
6487
  "size": {
6431
6488
  "type": {
6432
- "name": "number"
6489
+ "name": "union",
6490
+ "value": [
6491
+ {
6492
+ "name": "custom",
6493
+ "raw": "spacingIndexPropType"
6494
+ },
6495
+ {
6496
+ "name": "custom",
6497
+ "raw": "spacingObjectPropType"
6498
+ }
6499
+ ]
6433
6500
  },
6434
6501
  "required": false,
6435
- "description": ""
6502
+ "description": "@deprecated alias for `sizeIndex`"
6503
+ },
6504
+ "sizePixels": {
6505
+ "type": {
6506
+ "name": "custom",
6507
+ "raw": "responsiveProps.getTypeOptionallyByViewport(propTypes.number)"
6508
+ },
6509
+ "required": false,
6510
+ "description": "Sets the size of Skeleton lines or shape to an exact number of pixels. Use when it's necessary to exactly match sizes of images or other boxes.\n\nAccepts a number or an object with responsive viewport keys, e.g. { xs: 32, lg: 64 } would be 32px at xs, sm and md and 64 at lg and xl viewports."
6436
6511
  },
6437
6512
  "characters": {
6438
6513
  "type": {
6439
6514
  "name": "number"
6440
6515
  },
6441
6516
  "required": false,
6442
- "description": ""
6517
+ "description": "Determines the width of simulated lines of text if the Skeleton's shape is 'line' (the default shape).\n\nOnly has any affect if shape is line (the default). If unset, takes a default value from the theme."
6443
6518
  },
6444
6519
  "lines": {
6445
6520
  "type": {
6446
6521
  "name": "number"
6447
6522
  },
6448
6523
  "required": false,
6449
- "description": ""
6524
+ "description": "Determines how many Skeleton items are rendered (default 1).\n\nRecommended usage is to simulate paragraphs of text when Skeleton's shape is 'line' (the default shape).\n\nThe amount of spacing between multiple lines is controlled by theme tokens."
6450
6525
  }
6451
6526
  },
6452
6527
  "attributes": {
@@ -7231,7 +7306,7 @@
7231
7306
  ]
7232
7307
  },
7233
7308
  "required": false,
7234
- "description": "Select english or french copy for the accessible label."
7309
+ "description": "Select English or French copy for the accessible label."
7235
7310
  },
7236
7311
  "children": {
7237
7312
  "type": {
@@ -7992,14 +8067,22 @@
7992
8067
  "value": "false",
7993
8068
  "computed": false
7994
8069
  },
7995
- "required": false
8070
+ "type": {
8071
+ "name": "bool"
8072
+ },
8073
+ "required": false,
8074
+ "description": "If true, the buttons cannot be selected by the user and simply show their current state."
7996
8075
  },
7997
8076
  "inactive": {
7998
8077
  "defaultValue": {
7999
8078
  "value": "false",
8000
8079
  "computed": false
8001
8080
  },
8002
- "required": false
8081
+ "type": {
8082
+ "name": "bool"
8083
+ },
8084
+ "required": false,
8085
+ "description": "If true, the buttons cannot be interacted with, elements are set as `disabled` and if the\ntheme supports `inactive` appearances rules, these are applied."
8003
8086
  },
8004
8087
  "accessibilityRole": {
8005
8088
  "defaultValue": {
@@ -8013,6 +8096,7 @@
8013
8096
  "name": "custom",
8014
8097
  "raw": {
8015
8098
  "space": "integer",
8099
+ "fieldSpace": "integer",
8016
8100
  "direction": "direction",
8017
8101
  "alignItems": "flexAlign",
8018
8102
  "justifyContent": "flexJustifyContent",
@@ -8070,6 +8154,75 @@
8070
8154
  },
8071
8155
  "required": false,
8072
8156
  "description": "If `values` is not passed, making the ButtonGroup an \"uncontrolled\" component\nmanaging its own selected state, a default set of selections may be provided.\nChanging the `initialValues` does not change the user's selections."
8157
+ },
8158
+ "legend": {
8159
+ "type": {
8160
+ "name": "string"
8161
+ },
8162
+ "required": false,
8163
+ "description": "Main text used to describe this group, used in Fieldset's Legend element."
8164
+ },
8165
+ "hint": {
8166
+ "type": {
8167
+ "name": "string"
8168
+ },
8169
+ "required": false,
8170
+ "description": "Optional additional text giving more detail to help a user make a choice."
8171
+ },
8172
+ "tooltip": {
8173
+ "type": {
8174
+ "name": "string"
8175
+ },
8176
+ "required": false,
8177
+ "description": "Optional tooltip text content to include alongside the legend and hint."
8178
+ },
8179
+ "validation": {
8180
+ "type": {
8181
+ "name": "enum",
8182
+ "value": [
8183
+ {
8184
+ "value": "'error'",
8185
+ "computed": false
8186
+ },
8187
+ {
8188
+ "value": "'success'",
8189
+ "computed": false
8190
+ }
8191
+ ]
8192
+ },
8193
+ "required": false,
8194
+ "description": "Current validation status of the group, passed to the feedback element if there is one."
8195
+ },
8196
+ "feedback": {
8197
+ "type": {
8198
+ "name": "string"
8199
+ },
8200
+ "required": false,
8201
+ "description": "If provided, a Feedback element is rendered containing this text."
8202
+ },
8203
+ "name": {
8204
+ "type": {
8205
+ "name": "string"
8206
+ },
8207
+ "required": false,
8208
+ "description": "On Web, this is passed to the `name` attribute of the fieldset."
8209
+ },
8210
+ "copy": {
8211
+ "type": {
8212
+ "name": "enum",
8213
+ "value": [
8214
+ {
8215
+ "value": "'en'",
8216
+ "computed": false
8217
+ },
8218
+ {
8219
+ "value": "'fr'",
8220
+ "computed": false
8221
+ }
8222
+ ]
8223
+ },
8224
+ "required": false,
8225
+ "description": "Sets the language of microcopy in subcomponents (e.g. Tooltip's default accessibility label)."
8073
8226
  }
8074
8227
  },
8075
8228
  "attributes": {
@@ -8255,21 +8408,21 @@
8255
8408
  "name": "bool"
8256
8409
  },
8257
8410
  "required": false,
8258
- "description": "If true, the radio cards cannot be selected by the user and simply show their current state."
8411
+ "description": "If true, the checkboxes cannot be selected by the user and simply show their current state."
8259
8412
  },
8260
8413
  "inactive": {
8261
8414
  "type": {
8262
8415
  "name": "bool"
8263
8416
  },
8264
8417
  "required": false,
8265
- "description": "If true, the checkbox cannot be interacted with, elements are set as `disabled` and if the\ntheme supports `inactive` appearances rules, these are applied."
8418
+ "description": "If true, the checkboxes cannot be interacted with, elements are set as `disabled` and if the\ntheme supports `inactive` appearances rules, these are applied."
8266
8419
  },
8267
8420
  "name": {
8268
8421
  "type": {
8269
8422
  "name": "string"
8270
8423
  },
8271
8424
  "required": false,
8272
- "description": "On Web, this is passed to the `name` attribute of the fieldset and each radio input."
8425
+ "description": "On Web, this is passed to the `name` attribute of the fieldset and each checkbox input."
8273
8426
  }
8274
8427
  },
8275
8428
  "attributes": {
@@ -8757,8 +8910,29 @@
8757
8910
  },
8758
8911
  "RadioGroup": {
8759
8912
  "docs": {
8760
- "description": "A group of Radios that behave as a radio group. Use when users select a single choice from mutually\nexclusive options.\n\n## Component API\n\nUse the `items` prop to pass an array of objects describing each Radio in the group:\n\n - `label`: main text passed to Radio's `label` prop\n - `id`: identifier used to store which Radio is selected (uses `label` if undefinded)\n - `onChange`: optional function called on selection, in addition to updating the group's selection state\n\n### Controlled version\n\nIf the selection state is controlled from outside, it needs to receive `checkedId` and `onChange` props.\n\n### Uncontrolled version\n\nIf the RadioGroup manages its own state, you can use `initialCheckedId` prop to provide the initial value.\nWhenever the radio card gets toggled, it calls the `onChange` callback with the new value (string).\n\n### Use in forms\n\nFor web forms, the `name` prop may be used to define the name of the group's `fieldset` and input elements.\n\n### Validation\n\nValidation state may be set by passing 'error' or 'success' to the `validation` prop.\n\n## A11y guidelines\n\nRadioGroup accepts all the common accessibility props, but also sets accessibility role `'radiogroup'`\nand controls the accessibility state of children like Radio and Feedback based on current state.\n\n@example\n```jsx\n<RadioGroup\n initialCheckedId=\"radio1\"\n items={[\n { label: 'Radio 1', id: 'radio1' },\n { label: 'Radio 2', id: 'radio2' },\n { label: 'Radio 3', id: 'radio3' }\n ]}\n legend=\"Radios\"\n hint=\"Choose one option\"\n/>\n```",
8913
+ "description": "A group of Radios that behave as a radio group. Use when users select a single choice from mutually\nexclusive options.\n\n## Component API\n\nUse the `items` prop to pass an array of objects describing each Radio in the group:\n\n - `label`: main text passed to Radio's `label` prop\n - `id`: identifier used to store which Radio is selected (uses `label` if undefinded)\n - `onChange`: optional function called on selection, in addition to updating the group's selection state\n\n### Controlled version\n\nIf the selection state is controlled from outside, it needs to receive `checkedId` and `onChange` props.\n\n### Uncontrolled version\n\nIf the RadioGroup manages its own state, you can use `initialCheckedId` prop to provide the initial value.\nWhenever the radio gets toggled, it calls the `onChange` callback with the new value (string).\n\n### Use in forms\n\nFor web forms, the `name` prop may be used to define the name of the group's `fieldset` and input elements.\n\n### Validation\n\nValidation state may be set by passing 'error' or 'success' to the `validation` prop.\n\n## A11y guidelines\n\nRadioGroup accepts all the common accessibility props, but also sets accessibility role `'radiogroup'`\nand controls the accessibility state of children like Radio and Feedback based on current state.\n\n@example\n```jsx\n<RadioGroup\n initialCheckedId=\"radio1\"\n items={[\n { label: 'Radio 1', id: 'radio1' },\n { label: 'Radio 2', id: 'radio2' },\n { label: 'Radio 3', id: 'radio3' }\n ]}\n legend=\"Radios\"\n hint=\"Choose one option\"\n/>\n```",
8761
8914
  "props": {
8915
+ "copy": {
8916
+ "defaultValue": {
8917
+ "value": "'en'",
8918
+ "computed": false
8919
+ },
8920
+ "type": {
8921
+ "name": "enum",
8922
+ "value": [
8923
+ {
8924
+ "value": "'en'",
8925
+ "computed": false
8926
+ },
8927
+ {
8928
+ "value": "'fr'",
8929
+ "computed": false
8930
+ }
8931
+ ]
8932
+ },
8933
+ "required": false,
8934
+ "description": "Whether the English or French copy will be used (e.g. for accessibility labels)."
8935
+ },
8762
8936
  "items": {
8763
8937
  "defaultValue": {
8764
8938
  "value": "[]",
@@ -8911,14 +9085,14 @@
8911
9085
  "name": "string"
8912
9086
  },
8913
9087
  "required": false,
8914
- "description": "If provided, the radio card with this id is selected on first render."
9088
+ "description": "If provided, the radio with this id is selected on first render."
8915
9089
  },
8916
9090
  "checkedId": {
8917
9091
  "type": {
8918
9092
  "name": "string"
8919
9093
  },
8920
9094
  "required": false,
8921
- "description": "If not undefined, the radio card with this id is selected (or none is selected if `null`), and the\nelement's selection state will be controlled by its parent using the `onChange` function."
9095
+ "description": "If not undefined, the radio with this id is selected (or none is selected if `null`), and the\nelement's selection state will be controlled by its parent using the `onChange` function."
8922
9096
  },
8923
9097
  "onChange": {
8924
9098
  "type": {
@@ -8932,14 +9106,14 @@
8932
9106
  "name": "bool"
8933
9107
  },
8934
9108
  "required": false,
8935
- "description": "If true, the radio cards cannot be selected by the user and simply show their current state."
9109
+ "description": "If true, the radios cannot be selected by the user and simply show their current state."
8936
9110
  },
8937
9111
  "inactive": {
8938
9112
  "type": {
8939
9113
  "name": "bool"
8940
9114
  },
8941
9115
  "required": false,
8942
- "description": "If true, the radio card cannot be interacted with, elements are set as `disabled` and if the\ntheme supports `inactive` appearances rules, these are applied."
9116
+ "description": "If true, the radios cannot be interacted with, elements are set as `disabled` and if the\ntheme supports `inactive` appearances rules, these are applied."
8943
9117
  },
8944
9118
  "name": {
8945
9119
  "type": {
@@ -8958,6 +9132,27 @@
8958
9132
  "docs": {
8959
9133
  "description": "A group of Cards that behave as a radio button group. Use when users select a single choice from mutually\nexclusive options with need to show additional information for each option. The whole cards are each\ninteractive as one item.\n\n## Component API\n\nUse the `items` prop to pass an array of objects describing each RadioCard in the group:\n\n - `title`: main text passed to RadioCard's `title` prop\n - `content`: React content passed to RadioCard's `children` prop\n - `id`: identifier used to store which RadioCard is selected (uses `title` if undefinded)\n - `onChange`: optional function called on selection, in addition to updating the group's selection state\n\n### Controlled version\n\nIf the selection state is controlled from outside, it needs to receive `checkedId` and `onChange` props.\n\n### Uncontrolled version\n\nIf the RadioCardGroup manages its own state, you can use `initialCheckedId` prop to provide the initial value.\nWhenever the radio card gets toggled, it calls the `onChange` callback with the new value (string).\n\n### Use in forms\n\nFor web forms, the `name` prop may be used to define the name of the group's `fieldset` and input elements.\n\n### Validation\n\nValidation state may be set by passing 'error' or 'success' to the `validation` prop.\n\n## A11y guidelines\n\nRadioCardGroup accepts all the common accessibility props, but also sets accessibility role `'radiogroup'`\nand controls the accessibility state of children like RadioCard and Feedback based on current state.\n\n@example\n```jsx\n<RadioCardGroup\n initialCheckedId=\"card1\"\n items={[\n { title: 'Card 1', id: 'card1', content: <Typography>More info</Typography> },\n { title: 'Card 2', id: 'card2', content: <Typography>Extra content</Typography> },\n { title: 'Card 3', id: 'card3', content: <Typography>More content</Typography> }\n ]}\n legend=\"Cards\"\n hint=\"Choose a card to select\"\n/>\n```",
8960
9134
  "props": {
9135
+ "copy": {
9136
+ "defaultValue": {
9137
+ "value": "'en'",
9138
+ "computed": false
9139
+ },
9140
+ "type": {
9141
+ "name": "enum",
9142
+ "value": [
9143
+ {
9144
+ "value": "'en'",
9145
+ "computed": false
9146
+ },
9147
+ {
9148
+ "value": "'fr'",
9149
+ "computed": false
9150
+ }
9151
+ ]
9152
+ },
9153
+ "required": false,
9154
+ "description": "Whether the English or French copy will be used (e.g. for accessibility labels)."
9155
+ },
8961
9156
  "items": {
8962
9157
  "defaultValue": {
8963
9158
  "value": "[]",
@@ -9518,6 +9713,27 @@
9518
9713
  "docs": {
9519
9714
  "description": "",
9520
9715
  "props": {
9716
+ "copy": {
9717
+ "defaultValue": {
9718
+ "value": "'en'",
9719
+ "computed": false
9720
+ },
9721
+ "type": {
9722
+ "name": "enum",
9723
+ "value": [
9724
+ {
9725
+ "value": "'en'",
9726
+ "computed": false
9727
+ },
9728
+ {
9729
+ "value": "'fr'",
9730
+ "computed": false
9731
+ }
9732
+ ]
9733
+ },
9734
+ "required": false,
9735
+ "description": "Whether the English or French copy will be used (e.g. for accessibility labels)."
9736
+ },
9521
9737
  "accessibilityRole": {
9522
9738
  "defaultValue": {
9523
9739
  "value": "'switch'",
@@ -9655,6 +9871,27 @@
9655
9871
  "docs": {
9656
9872
  "description": "",
9657
9873
  "props": {
9874
+ "copy": {
9875
+ "defaultValue": {
9876
+ "value": "'en'",
9877
+ "computed": false
9878
+ },
9879
+ "type": {
9880
+ "name": "enum",
9881
+ "value": [
9882
+ {
9883
+ "value": "'en'",
9884
+ "computed": false
9885
+ },
9886
+ {
9887
+ "value": "'fr'",
9888
+ "computed": false
9889
+ }
9890
+ ]
9891
+ },
9892
+ "required": false,
9893
+ "description": "Whether the English or French copy will be used (e.g. for accessibility labels)."
9894
+ },
9658
9895
  "items": {
9659
9896
  "defaultValue": {
9660
9897
  "value": "[]",
@@ -9729,6 +9966,7 @@
9729
9966
  "name": "custom",
9730
9967
  "raw": {
9731
9968
  "space": "integer",
9969
+ "fieldSpace": "integer",
9732
9970
  "direction": "direction",
9733
9971
  "alignItems": "flexAlign",
9734
9972
  "justifyContent": "flexJustifyContent",