@telus-uds/components-base 1.19.0 → 1.21.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/CHANGELOG.md +34 -2
  2. package/__tests17__/ThemeProvider/ThemeProvider.test.jsx +3 -1
  3. package/component-docs.json +838 -125
  4. package/lib/BaseProvider/index.js +2 -1
  5. package/lib/Box/Box.js +14 -1
  6. package/lib/Button/ButtonDropdown.js +207 -0
  7. package/lib/Button/index.js +8 -0
  8. package/lib/Carousel/Carousel.js +2 -2
  9. package/lib/Carousel/CarouselItem/CarouselItem.js +7 -1
  10. package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +21 -4
  11. package/lib/FlexGrid/Col/Col.js +1 -3
  12. package/lib/FlexGrid/FlexGrid.js +3 -5
  13. package/lib/FlexGrid/Row/Row.js +3 -3
  14. package/lib/IconButton/IconButton.js +12 -4
  15. package/lib/MultiSelectFilter/MultiSelectFilter.js +276 -0
  16. package/lib/MultiSelectFilter/dictionary.js +19 -0
  17. package/lib/MultiSelectFilter/index.js +13 -0
  18. package/lib/Search/Search.js +4 -1
  19. package/lib/Select/Picker.native.js +16 -13
  20. package/lib/Select/Select.js +7 -1
  21. package/lib/Select/constants.js +15 -0
  22. package/lib/StepTracker/Step.js +2 -1
  23. package/lib/TextInput/TextInput.js +9 -2
  24. package/lib/TextInput/TextInputBase.js +52 -8
  25. package/lib/TextInput/dictionary.js +15 -0
  26. package/lib/ThemeProvider/ThemeProvider.js +24 -7
  27. package/lib/ThemeProvider/utils/styles.js +3 -1
  28. package/lib/index.js +18 -0
  29. package/lib/utils/BaseView/BaseView.js +64 -0
  30. package/lib/utils/BaseView/BaseView.native.js +16 -0
  31. package/lib/utils/BaseView/index.js +13 -0
  32. package/lib/utils/index.js +10 -1
  33. package/lib/utils/input.js +11 -3
  34. package/lib/utils/props/handlerProps.js +5 -0
  35. package/lib-module/BaseProvider/index.js +2 -1
  36. package/lib-module/Box/Box.js +14 -1
  37. package/lib-module/Button/ButtonDropdown.js +181 -0
  38. package/lib-module/Button/index.js +2 -1
  39. package/lib-module/Carousel/Carousel.js +2 -2
  40. package/lib-module/Carousel/CarouselItem/CarouselItem.js +8 -2
  41. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +23 -6
  42. package/lib-module/FlexGrid/Col/Col.js +2 -3
  43. package/lib-module/FlexGrid/FlexGrid.js +2 -3
  44. package/lib-module/FlexGrid/Row/Row.js +2 -2
  45. package/lib-module/IconButton/IconButton.js +14 -4
  46. package/lib-module/MultiSelectFilter/MultiSelectFilter.js +248 -0
  47. package/lib-module/MultiSelectFilter/dictionary.js +12 -0
  48. package/lib-module/MultiSelectFilter/index.js +2 -0
  49. package/lib-module/Search/Search.js +4 -1
  50. package/lib-module/Select/Picker.native.js +15 -13
  51. package/lib-module/Select/Select.js +6 -1
  52. package/lib-module/Select/constants.js +5 -0
  53. package/lib-module/StepTracker/Step.js +2 -1
  54. package/lib-module/TextInput/TextInput.js +6 -0
  55. package/lib-module/TextInput/TextInputBase.js +52 -10
  56. package/lib-module/TextInput/dictionary.js +8 -0
  57. package/lib-module/ThemeProvider/ThemeProvider.js +24 -7
  58. package/lib-module/ThemeProvider/utils/styles.js +3 -1
  59. package/lib-module/index.js +2 -0
  60. package/lib-module/utils/BaseView/BaseView.js +43 -0
  61. package/lib-module/utils/BaseView/BaseView.native.js +6 -0
  62. package/lib-module/utils/BaseView/index.js +2 -0
  63. package/lib-module/utils/index.js +2 -1
  64. package/lib-module/utils/input.js +11 -3
  65. package/lib-module/utils/props/handlerProps.js +5 -0
  66. package/package.json +3 -3
  67. package/src/BaseProvider/index.jsx +4 -1
  68. package/src/Box/Box.jsx +14 -1
  69. package/src/Button/ButtonDropdown.jsx +179 -0
  70. package/src/Button/index.js +2 -1
  71. package/src/Carousel/Carousel.jsx +6 -3
  72. package/src/Carousel/CarouselItem/CarouselItem.jsx +9 -2
  73. package/src/Carousel/CarouselTabs/CarouselTabsPanel.jsx +19 -5
  74. package/src/FlexGrid/Col/Col.jsx +4 -4
  75. package/src/FlexGrid/FlexGrid.jsx +11 -10
  76. package/src/FlexGrid/Row/Row.jsx +4 -3
  77. package/src/IconButton/IconButton.jsx +3 -1
  78. package/src/MultiSelectFilter/MultiSelectFilter.jsx +227 -0
  79. package/src/MultiSelectFilter/dictionary.js +12 -0
  80. package/src/MultiSelectFilter/index.js +3 -0
  81. package/src/Search/Search.jsx +2 -1
  82. package/src/Select/Picker.native.jsx +29 -14
  83. package/src/Select/Select.jsx +7 -1
  84. package/src/Select/constants.js +5 -0
  85. package/src/StepTracker/Step.jsx +5 -1
  86. package/src/TextInput/TextInput.jsx +5 -0
  87. package/src/TextInput/TextInputBase.jsx +43 -8
  88. package/src/TextInput/dictionary.js +8 -0
  89. package/src/ThemeProvider/ThemeProvider.jsx +23 -6
  90. package/src/ThemeProvider/utils/styles.js +3 -1
  91. package/src/index.js +2 -0
  92. package/src/utils/BaseView/BaseView.jsx +38 -0
  93. package/src/utils/BaseView/BaseView.native.jsx +6 -0
  94. package/src/utils/BaseView/index.js +3 -0
  95. package/src/utils/index.js +1 -0
  96. package/src/utils/input.js +9 -4
  97. package/src/utils/props/handlerProps.js +4 -0
@@ -7,7 +7,8 @@
7
7
  "color": "color"
8
8
  },
9
9
  "Box": {
10
- "backgroundColor": "color"
10
+ "backgroundColor": "color",
11
+ "gradient": "gradient"
11
12
  },
12
13
  "Button": {
13
14
  "borderColor": "color",
@@ -39,6 +40,42 @@
39
40
  "textLine": "textLine",
40
41
  "textLineStyle": "textLineStyle"
41
42
  },
43
+ "ButtonDropdown": {
44
+ "icon": "icon",
45
+ "iconPosition": "position",
46
+ "iconSpace": "integer",
47
+ "iconSize": "size",
48
+ "iconColor": "color",
49
+ "iconPadding": "size",
50
+ "iconAlignSelf": "flexAlign",
51
+ "iconTranslateX": "size",
52
+ "iconTranslateY": "size",
53
+ "iconBackground": "color",
54
+ "iconBorderRadius": "radius",
55
+ "borderColor": "color",
56
+ "borderWidth": "border",
57
+ "borderRadius": "radius",
58
+ "shadow": "shadow",
59
+ "fontSize": "fontSize",
60
+ "color": "color",
61
+ "lineHeight": "lineHeight",
62
+ "textAlign": "flexJustifyContent",
63
+ "alignSelf": "flexAlign",
64
+ "fontName": "fontName",
65
+ "fontWeight": "fontWeight",
66
+ "backgroundColor": "color",
67
+ "opacity": "opacity",
68
+ "paddingLeft": "size",
69
+ "paddingRight": "size",
70
+ "paddingTop": "size",
71
+ "paddingBottom": "size",
72
+ "width": "size",
73
+ "minWidth": "size",
74
+ "outerBorderColor": "color",
75
+ "outerBorderWidth": "border",
76
+ "outerBorderGap": "size",
77
+ "outerBackgroundColor": "color"
78
+ },
42
79
  "ButtonGroup": {
43
80
  "space": "integer",
44
81
  "fieldSpace": "integer",
@@ -87,6 +124,7 @@
87
124
  "shadow": "shadow"
88
125
  },
89
126
  "Carousel": {
127
+ "backgroundColor": "color",
90
128
  "nextIcon": "icon",
91
129
  "previousIcon": "icon",
92
130
  "showPreviousNextNavigation": "show",
@@ -827,6 +865,7 @@
827
865
  "buttonSize": "size",
828
866
  "buttonsGap": "size",
829
867
  "buttonsPaddingRight": "size",
868
+ "clearButtonIcon": "icon",
830
869
  "paddingTop": "size",
831
870
  "paddingBottom": "size",
832
871
  "paddingLeft": "size",
@@ -973,14 +1012,63 @@
973
1012
  "values": [
974
1013
  true
975
1014
  ],
976
- "type": "state"
1015
+ "type": "state",
1016
+ "platforms": [
1017
+ "rn"
1018
+ ]
977
1019
  },
978
1020
  "hover": {
979
1021
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
980
1022
  "values": [
981
1023
  true
982
1024
  ],
1025
+ "type": "state",
1026
+ "platforms": [
1027
+ "rn"
1028
+ ]
1029
+ },
1030
+ "pressed": {
1031
+ "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
1032
+ "values": [
1033
+ true
1034
+ ],
1035
+ "type": "state"
1036
+ },
1037
+ "inactive": {
1038
+ "description": "Prevents an interactive component from being interacted with and applies accessibility attributes to indicate to the user that this component cannot be used.",
1039
+ "values": [
1040
+ true
1041
+ ],
1042
+ "type": "state"
1043
+ },
1044
+ "selected": {
1045
+ "description": "Applies while an interactive component is the currently selected one in a set of states or components, for example a button in a `ButtonGroup`.",
1046
+ "values": [
1047
+ true
1048
+ ],
983
1049
  "type": "state"
1050
+ }
1051
+ },
1052
+ "ButtonDropdown": {
1053
+ "focus": {
1054
+ "description": "Currently only web has good support for this. Applies when an interactive component's focus handler is triggered, such as keyboard tabbing or selection.",
1055
+ "values": [
1056
+ true
1057
+ ],
1058
+ "type": "state",
1059
+ "platforms": [
1060
+ "rn"
1061
+ ]
1062
+ },
1063
+ "hover": {
1064
+ "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1065
+ "values": [
1066
+ true
1067
+ ],
1068
+ "type": "state",
1069
+ "platforms": [
1070
+ "rn"
1071
+ ]
984
1072
  },
985
1073
  "pressed": {
986
1074
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1002,6 +1090,13 @@
1002
1090
  true
1003
1091
  ],
1004
1092
  "type": "state"
1093
+ },
1094
+ "open": {
1095
+ "description": "Applies when a ButtonDropdown is open.",
1096
+ "values": [
1097
+ true
1098
+ ],
1099
+ "type": "state"
1005
1100
  }
1006
1101
  },
1007
1102
  "ButtonGroupItem": {
@@ -1010,14 +1105,20 @@
1010
1105
  "values": [
1011
1106
  true
1012
1107
  ],
1013
- "type": "state"
1108
+ "type": "state",
1109
+ "platforms": [
1110
+ "rn"
1111
+ ]
1014
1112
  },
1015
1113
  "hover": {
1016
1114
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1017
1115
  "values": [
1018
1116
  true
1019
1117
  ],
1020
- "type": "state"
1118
+ "type": "state",
1119
+ "platforms": [
1120
+ "rn"
1121
+ ]
1021
1122
  },
1022
1123
  "pressed": {
1023
1124
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1047,14 +1148,20 @@
1047
1148
  "values": [
1048
1149
  true
1049
1150
  ],
1050
- "type": "state"
1151
+ "type": "state",
1152
+ "platforms": [
1153
+ "rn"
1154
+ ]
1051
1155
  },
1052
1156
  "hover": {
1053
1157
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1054
1158
  "values": [
1055
1159
  true
1056
1160
  ],
1057
- "type": "state"
1161
+ "type": "state",
1162
+ "platforms": [
1163
+ "rn"
1164
+ ]
1058
1165
  },
1059
1166
  "pressed": {
1060
1167
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1097,14 +1204,20 @@
1097
1204
  "values": [
1098
1205
  true
1099
1206
  ],
1100
- "type": "state"
1207
+ "type": "state",
1208
+ "platforms": [
1209
+ "rn"
1210
+ ]
1101
1211
  },
1102
1212
  "hover": {
1103
1213
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1104
1214
  "values": [
1105
1215
  true
1106
1216
  ],
1107
- "type": "state"
1217
+ "type": "state",
1218
+ "platforms": [
1219
+ "rn"
1220
+ ]
1108
1221
  },
1109
1222
  "inactive": {
1110
1223
  "description": "Prevents an interactive component from being interacted with and applies accessibility attributes to indicate to the user that this component cannot be used.",
@@ -1120,7 +1233,10 @@
1120
1233
  "values": [
1121
1234
  true
1122
1235
  ],
1123
- "type": "state"
1236
+ "type": "state",
1237
+ "platforms": [
1238
+ "rn"
1239
+ ]
1124
1240
  }
1125
1241
  },
1126
1242
  "ExpandCollapseControl": {
@@ -1136,14 +1252,20 @@
1136
1252
  "values": [
1137
1253
  true
1138
1254
  ],
1139
- "type": "state"
1255
+ "type": "state",
1256
+ "platforms": [
1257
+ "rn"
1258
+ ]
1140
1259
  },
1141
1260
  "focus": {
1142
1261
  "description": "Currently only web has good support for this. Applies when an interactive component's focus handler is triggered, such as keyboard tabbing or selection.",
1143
1262
  "values": [
1144
1263
  true
1145
1264
  ],
1146
- "type": "state"
1265
+ "type": "state",
1266
+ "platforms": [
1267
+ "rn"
1268
+ ]
1147
1269
  },
1148
1270
  "expanded": {
1149
1271
  "description": "Applies when an ExpandCollapse panel is open and the content inside is visible",
@@ -1178,14 +1300,20 @@
1178
1300
  "values": [
1179
1301
  true
1180
1302
  ],
1181
- "type": "state"
1303
+ "type": "state",
1304
+ "platforms": [
1305
+ "rn"
1306
+ ]
1182
1307
  },
1183
1308
  "hover": {
1184
1309
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1185
1310
  "values": [
1186
1311
  true
1187
1312
  ],
1188
- "type": "state"
1313
+ "type": "state",
1314
+ "platforms": [
1315
+ "rn"
1316
+ ]
1189
1317
  },
1190
1318
  "pressed": {
1191
1319
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1201,14 +1329,20 @@
1201
1329
  "values": [
1202
1330
  true
1203
1331
  ],
1204
- "type": "state"
1332
+ "type": "state",
1333
+ "platforms": [
1334
+ "rn"
1335
+ ]
1205
1336
  },
1206
1337
  "hover": {
1207
1338
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1208
1339
  "values": [
1209
1340
  true
1210
1341
  ],
1211
- "type": "state"
1342
+ "type": "state",
1343
+ "platforms": [
1344
+ "rn"
1345
+ ]
1212
1346
  },
1213
1347
  "pressed": {
1214
1348
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1224,14 +1358,20 @@
1224
1358
  "values": [
1225
1359
  true
1226
1360
  ],
1227
- "type": "state"
1361
+ "type": "state",
1362
+ "platforms": [
1363
+ "rn"
1364
+ ]
1228
1365
  },
1229
1366
  "hover": {
1230
1367
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1231
1368
  "values": [
1232
1369
  true
1233
1370
  ],
1234
- "type": "state"
1371
+ "type": "state",
1372
+ "platforms": [
1373
+ "rn"
1374
+ ]
1235
1375
  },
1236
1376
  "pressed": {
1237
1377
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1290,14 +1430,20 @@
1290
1430
  "values": [
1291
1431
  true
1292
1432
  ],
1293
- "type": "state"
1433
+ "type": "state",
1434
+ "platforms": [
1435
+ "rn"
1436
+ ]
1294
1437
  },
1295
1438
  "hover": {
1296
1439
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1297
1440
  "values": [
1298
1441
  true
1299
1442
  ],
1300
- "type": "state"
1443
+ "type": "state",
1444
+ "platforms": [
1445
+ "rn"
1446
+ ]
1301
1447
  },
1302
1448
  "pressed": {
1303
1449
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1320,14 +1466,20 @@
1320
1466
  "values": [
1321
1467
  true
1322
1468
  ],
1323
- "type": "state"
1469
+ "type": "state",
1470
+ "platforms": [
1471
+ "rn"
1472
+ ]
1324
1473
  },
1325
1474
  "hover": {
1326
1475
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1327
1476
  "values": [
1328
1477
  true
1329
1478
  ],
1330
- "type": "state"
1479
+ "type": "state",
1480
+ "platforms": [
1481
+ "rn"
1482
+ ]
1331
1483
  },
1332
1484
  "pressed": {
1333
1485
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1374,14 +1526,20 @@
1374
1526
  "values": [
1375
1527
  true
1376
1528
  ],
1377
- "type": "state"
1529
+ "type": "state",
1530
+ "platforms": [
1531
+ "rn"
1532
+ ]
1378
1533
  },
1379
1534
  "focus": {
1380
1535
  "description": "Currently only web has good support for this. Applies when an interactive component's focus handler is triggered, such as keyboard tabbing or selection.",
1381
1536
  "values": [
1382
1537
  true
1383
1538
  ],
1384
- "type": "state"
1539
+ "type": "state",
1540
+ "platforms": [
1541
+ "rn"
1542
+ ]
1385
1543
  },
1386
1544
  "pressed": {
1387
1545
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1410,14 +1568,20 @@
1410
1568
  "values": [
1411
1569
  true
1412
1570
  ],
1413
- "type": "state"
1571
+ "type": "state",
1572
+ "platforms": [
1573
+ "rn"
1574
+ ]
1414
1575
  },
1415
1576
  "hover": {
1416
1577
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1417
1578
  "values": [
1418
1579
  true
1419
1580
  ],
1420
- "type": "state"
1581
+ "type": "state",
1582
+ "platforms": [
1583
+ "rn"
1584
+ ]
1421
1585
  },
1422
1586
  "inactive": {
1423
1587
  "description": "Prevents an interactive component from being interacted with and applies accessibility attributes to indicate to the user that this component cannot be used.",
@@ -1453,14 +1617,20 @@
1453
1617
  "values": [
1454
1618
  true
1455
1619
  ],
1456
- "type": "state"
1620
+ "type": "state",
1621
+ "platforms": [
1622
+ "rn"
1623
+ ]
1457
1624
  },
1458
1625
  "hover": {
1459
1626
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1460
1627
  "values": [
1461
1628
  true
1462
1629
  ],
1463
- "type": "state"
1630
+ "type": "state",
1631
+ "platforms": [
1632
+ "rn"
1633
+ ]
1464
1634
  },
1465
1635
  "inactive": {
1466
1636
  "description": "Prevents an interactive component from being interacted with and applies accessibility attributes to indicate to the user that this component cannot be used.",
@@ -1476,10 +1646,13 @@
1476
1646
  "values": [
1477
1647
  true
1478
1648
  ],
1479
- "type": "state"
1649
+ "type": "state",
1650
+ "platforms": [
1651
+ "rn"
1652
+ ]
1480
1653
  },
1481
1654
  "focus": {
1482
- "description": "Currently only web has good support for this. Applies when an interactive component's focus handler is triggered, such as keyboard tabbing or selection.",
1655
+ "description": "Focus states for some input elements are well supported across web, RN, ios and android",
1483
1656
  "values": [
1484
1657
  true
1485
1658
  ],
@@ -1499,14 +1672,20 @@
1499
1672
  "values": [
1500
1673
  true
1501
1674
  ],
1502
- "type": "state"
1675
+ "type": "state",
1676
+ "platforms": [
1677
+ "rn"
1678
+ ]
1503
1679
  },
1504
1680
  "focus": {
1505
1681
  "description": "Currently only web has good support for this. Applies when an interactive component's focus handler is triggered, such as keyboard tabbing or selection.",
1506
1682
  "values": [
1507
1683
  true
1508
1684
  ],
1509
- "type": "state"
1685
+ "type": "state",
1686
+ "platforms": [
1687
+ "rn"
1688
+ ]
1510
1689
  },
1511
1690
  "pressed": {
1512
1691
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1537,10 +1716,13 @@
1537
1716
  "values": [
1538
1717
  true
1539
1718
  ],
1540
- "type": "state"
1719
+ "type": "state",
1720
+ "platforms": [
1721
+ "rn"
1722
+ ]
1541
1723
  },
1542
1724
  "focus": {
1543
- "description": "Currently only web has good support for this. Applies when an interactive component's focus handler is triggered, such as keyboard tabbing or selection.",
1725
+ "description": "Focus states for some input elements are well supported across web, RN, ios and android",
1544
1726
  "values": [
1545
1727
  true
1546
1728
  ],
@@ -1583,7 +1765,10 @@
1583
1765
  "values": [
1584
1766
  true
1585
1767
  ],
1586
- "type": "state"
1768
+ "type": "state",
1769
+ "platforms": [
1770
+ "rn"
1771
+ ]
1587
1772
  }
1588
1773
  },
1589
1774
  "SideNavItemGroup": {
@@ -1621,14 +1806,20 @@
1621
1806
  "values": [
1622
1807
  true
1623
1808
  ],
1624
- "type": "state"
1809
+ "type": "state",
1810
+ "platforms": [
1811
+ "rn"
1812
+ ]
1625
1813
  },
1626
1814
  "hover": {
1627
1815
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1628
1816
  "values": [
1629
1817
  true
1630
1818
  ],
1631
- "type": "state"
1819
+ "type": "state",
1820
+ "platforms": [
1821
+ "rn"
1822
+ ]
1632
1823
  },
1633
1824
  "pressed": {
1634
1825
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1651,14 +1842,20 @@
1651
1842
  "values": [
1652
1843
  true
1653
1844
  ],
1654
- "type": "state"
1845
+ "type": "state",
1846
+ "platforms": [
1847
+ "rn"
1848
+ ]
1655
1849
  },
1656
1850
  "hover": {
1657
1851
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1658
1852
  "values": [
1659
1853
  true
1660
1854
  ],
1661
- "type": "state"
1855
+ "type": "state",
1856
+ "platforms": [
1857
+ "rn"
1858
+ ]
1662
1859
  },
1663
1860
  "pressed": {
1664
1861
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1696,17 +1893,20 @@
1696
1893
  "values": [
1697
1894
  true
1698
1895
  ],
1699
- "type": "state"
1896
+ "type": "state",
1897
+ "platforms": [
1898
+ "rn"
1899
+ ]
1700
1900
  },
1701
- "focus": {
1702
- "description": "Currently only web has good support for this. Applies when an interactive component's focus handler is triggered, such as keyboard tabbing or selection.",
1901
+ "inactive": {
1902
+ "description": "Prevents an interactive component from being interacted with and applies accessibility attributes to indicate to the user that this component cannot be used.",
1703
1903
  "values": [
1704
1904
  true
1705
1905
  ],
1706
1906
  "type": "state"
1707
1907
  },
1708
- "inactive": {
1709
- "description": "Prevents an interactive component from being interacted with and applies accessibility attributes to indicate to the user that this component cannot be used.",
1908
+ "focus": {
1909
+ "description": "Focus states for some input elements are well supported across web, RN, ios and android",
1710
1910
  "values": [
1711
1911
  true
1712
1912
  ],
@@ -1719,14 +1919,20 @@
1719
1919
  "values": [
1720
1920
  true
1721
1921
  ],
1722
- "type": "state"
1922
+ "type": "state",
1923
+ "platforms": [
1924
+ "rn"
1925
+ ]
1723
1926
  },
1724
1927
  "hover": {
1725
1928
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1726
1929
  "values": [
1727
1930
  true
1728
1931
  ],
1729
- "type": "state"
1932
+ "type": "state",
1933
+ "platforms": [
1934
+ "rn"
1935
+ ]
1730
1936
  },
1731
1937
  "pressed": {
1732
1938
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1756,14 +1962,20 @@
1756
1962
  "values": [
1757
1963
  true
1758
1964
  ],
1759
- "type": "state"
1965
+ "type": "state",
1966
+ "platforms": [
1967
+ "rn"
1968
+ ]
1760
1969
  },
1761
1970
  "hover": {
1762
1971
  "description": "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1763
1972
  "values": [
1764
1973
  true
1765
1974
  ],
1766
- "type": "state"
1975
+ "type": "state",
1976
+ "platforms": [
1977
+ "rn"
1978
+ ]
1767
1979
  },
1768
1980
  "pressed": {
1769
1981
  "description": "Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.",
@@ -1779,7 +1991,10 @@
1779
1991
  "values": [
1780
1992
  true
1781
1993
  ],
1782
- "type": "state"
1994
+ "type": "state",
1995
+ "platforms": [
1996
+ "rn"
1997
+ ]
1783
1998
  }
1784
1999
  }
1785
2000
  }
@@ -2137,6 +2352,10 @@
2137
2352
  "forceAbsoluteFontSizing": {
2138
2353
  "name": "bool",
2139
2354
  "required": false
2355
+ },
2356
+ "forceZIndex": {
2357
+ "name": "bool",
2358
+ "required": false
2140
2359
  }
2141
2360
  }
2142
2361
  },
@@ -2304,7 +2523,8 @@
2304
2523
  "type": {
2305
2524
  "name": "custom",
2306
2525
  "raw": {
2307
- "backgroundColor": "color"
2526
+ "backgroundColor": "color",
2527
+ "gradient": "gradient"
2308
2528
  }
2309
2529
  },
2310
2530
  "required": false,
@@ -5250,111 +5470,317 @@
5250
5470
  }
5251
5471
  }
5252
5472
  },
5253
- "Notification": {
5473
+ "MultiSelectFilter": {
5254
5474
  "docs": {
5255
- "description": "A banner that highlights important messages:\n- Status message to show there is an error or outage of services\n- Confirmation message in response to user action\n- Account information letting the user know they have almost used all their data\n\n## Usage criteria\n- Use simple text content only, such as bold test or links. Don’t use other complex components or paragraphs\n- Show notifications before the content that the message is related to, otherwise show at the top of the main content\n- Show system notifications at the top of the page, below the navigation, and expands the full-width of the viewport\n- When showing multiple notifications, show them in order of importance from top to bottom\n- Use variants to visually show the type of message contained within the Notification.\n- The icon and colour will indicate meaning and importance\n\n### Variants\n- Use `variant.style` to set the visual style of the notification\n- Use `dismissible` prop to enable dismissible functionality\n- Use `system` prop to set the visual style of the notification and denote an announcement from the system or application\n\n### When to use the system prop?\n- Use `system` to show system-based messages coming from the application\n- Don’t use `system` when the message is in response to user action\n\n## Variants\n\n#### Success\nUse the success variant to provide feedback of a successful operation. The message will include an icon to indicate meaning and importance.\n\n#### Warning\nUse the warning variant to provide feedback of a warning; users would still be able to proceed forward.\nThe message will include an icon to indicate meaning and importance.\n\n#### Error\nUse the error variant to provide feedback of a failed operation. The message will include an icon to indicate meaning and importance.\n\n#### Dismissible\nDismissible notifications should only be used for default or success notifications where there is no action needed from the user.\nIf the information is passive then it should be dismissible as indicated by an interactive close button on the far right.\nIf the notification requires an action then make the option(s) clear with a `ChevronLink` or `Link`.\n\nUse the `dismissible` prop to allow users to dismiss the Notification at any time. Once dismissed, the Notification is removed from the DOM.\n\nPlease note:\n\n- Default and Success variants are dismissible\n- Error and Warning variants are not dismissible\n\n#### System message\nUse full-width `Notifications` to show system-based messages coming from the application, not in response to user action.\nShow system notifications at the top of the page, below the navigation, and expands the full-width of the viewport",
5475
+ "description": "",
5256
5476
  "props": {
5257
- "copy": {
5477
+ "id": {
5258
5478
  "defaultValue": {
5259
- "value": "'en'",
5479
+ "value": "label",
5480
+ "computed": true
5481
+ },
5482
+ "type": {
5483
+ "name": "string"
5484
+ },
5485
+ "required": false,
5486
+ "description": "An optional unique string may be provided to identify the ButtonDropdown.\nIf not provided, the label is used."
5487
+ },
5488
+ "items": {
5489
+ "defaultValue": {
5490
+ "value": "[]",
5260
5491
  "computed": false
5261
5492
  },
5262
5493
  "type": {
5263
- "name": "union",
5264
- "value": [
5265
- {
5266
- "name": "enum",
5267
- "value": [
5268
- {
5269
- "value": "'en'",
5270
- "computed": false
5271
- },
5272
- {
5273
- "value": "'fr'",
5274
- "computed": false
5275
- }
5276
- ]
5277
- },
5278
- {
5279
- "name": "shape",
5280
- "value": {
5281
- "dismiss": {
5282
- "name": "string",
5283
- "required": false
5284
- }
5494
+ "name": "arrayOf",
5495
+ "value": {
5496
+ "name": "shape",
5497
+ "value": {
5498
+ "label": {
5499
+ "name": "string",
5500
+ "description": "The text displayed to the user with a checkbox, describing this option.",
5501
+ "required": true
5502
+ },
5503
+ "id": {
5504
+ "name": "string",
5505
+ "description": "An optional unique string may be provided to identify this option.\nIf not provided, the label is used.",
5506
+ "required": false
5285
5507
  }
5286
5508
  }
5287
- ]
5509
+ }
5288
5510
  },
5289
5511
  "required": false,
5290
- "description": "Select English or French copy for the accessible label of the dismiss button."
5512
+ "description": "The options a user may select."
5291
5513
  },
5292
- "children": {
5514
+ "copy": {
5515
+ "defaultValue": {
5516
+ "value": "'en'",
5517
+ "computed": false
5518
+ },
5293
5519
  "type": {
5294
- "name": "union",
5520
+ "name": "enum",
5295
5521
  "value": [
5296
5522
  {
5297
- "name": "string"
5298
- },
5299
- {
5300
- "name": "node"
5523
+ "value": "'en'",
5524
+ "computed": false
5301
5525
  },
5302
5526
  {
5303
- "name": "func"
5527
+ "value": "'fr'",
5528
+ "computed": false
5304
5529
  }
5305
5530
  ]
5306
5531
  },
5307
5532
  "required": false,
5308
- "description": "Content of the `Notification`."
5533
+ "description": "Select English or French copy for the accessible label."
5309
5534
  },
5310
- "system": {
5535
+ "readOnly": {
5536
+ "defaultValue": {
5537
+ "value": "false",
5538
+ "computed": false
5539
+ },
5311
5540
  "type": {
5312
- "name": "bool"
5541
+ "name": "string"
5313
5542
  },
5314
5543
  "required": false,
5315
- "description": "Use `system` prop to set the visual style of the notification and denote an announcement from the system or application"
5544
+ "description": "If true, the ButtonDropdown cannot be selected by the user and simply show their current state."
5316
5545
  },
5317
- "dismissible": {
5546
+ "inactive": {
5547
+ "defaultValue": {
5548
+ "value": "false",
5549
+ "computed": false
5550
+ },
5318
5551
  "type": {
5319
- "name": "bool"
5552
+ "name": "string"
5320
5553
  },
5321
5554
  "required": false,
5322
- "description": "Use the `dismissible` prop to allow users to dismiss the Notification at any time."
5555
+ "description": "If true, the MultiSelectFilter cannot be interacted with, ButtonDropdown is\nset as `disabled` and if the theme supports `inactive` appearances rules, these\nare applied."
5323
5556
  },
5324
- "tokens": {
5557
+ "rowLimit": {
5558
+ "defaultValue": {
5559
+ "value": "12",
5560
+ "computed": false
5561
+ },
5325
5562
  "type": {
5326
- "name": "custom",
5327
- "raw": {
5328
- "backgroundColor": "color",
5329
- "borderBottomWidth": "border",
5330
- "borderTopWidth": "border",
5331
- "borderLeftWidth": "border",
5332
- "borderRightWidth": "border",
5333
- "borderColor": "color",
5334
- "borderRadius": "radius",
5335
- "paddingTop": "size",
5336
- "paddingBottom": "size",
5337
- "paddingLeft": "size",
5338
- "paddingRight": "size",
5339
- "color": "color",
5340
- "fontSize": "fontSize",
5341
- "lineHeight": "lineHeight",
5342
- "fontName": "fontName",
5343
- "fontWeight": "fontWeight",
5344
- "icon": "icon",
5345
- "iconColor": "color",
5346
- "iconSize": "size",
5347
- "iconGap": "size",
5348
- "dismissIcon": "icon",
5349
- "dismissIconColor": "color",
5350
- "dismissIconSize": "size",
5351
- "dismissButtonGap": "size"
5352
- }
5563
+ "name": "number"
5353
5564
  },
5354
5565
  "required": false,
5355
- "description": ""
5566
+ "description": "Sets the maximum number of items in one column. If number of items are more\nthan the `rowLimit`, they will be rendered in 2 columns."
5356
5567
  },
5357
- "variant": {
5568
+ "label": {
5569
+ "type": {
5570
+ "name": "string"
5571
+ },
5572
+ "required": true,
5573
+ "description": "The text displayed to the user in a ButtonDropdown."
5574
+ },
5575
+ "variant": {
5576
+ "type": {
5577
+ "name": "objectOf",
5578
+ "value": {
5579
+ "name": "union",
5580
+ "value": [
5581
+ {
5582
+ "name": "string"
5583
+ },
5584
+ {
5585
+ "name": "number"
5586
+ },
5587
+ {
5588
+ "name": "bool"
5589
+ }
5590
+ ]
5591
+ }
5592
+ },
5593
+ "required": false,
5594
+ "description": "Sets the variant for ButtonDropdown element."
5595
+ },
5596
+ "tokens": {
5597
+ "type": {
5598
+ "name": "custom",
5599
+ "raw": {
5600
+ "icon": "icon",
5601
+ "iconPosition": "position",
5602
+ "iconSpace": "integer",
5603
+ "iconSize": "size",
5604
+ "iconColor": "color",
5605
+ "iconPadding": "size",
5606
+ "iconAlignSelf": "flexAlign",
5607
+ "iconTranslateX": "size",
5608
+ "iconTranslateY": "size",
5609
+ "iconBackground": "color",
5610
+ "iconBorderRadius": "radius",
5611
+ "borderColor": "color",
5612
+ "borderWidth": "border",
5613
+ "borderRadius": "radius",
5614
+ "shadow": "shadow",
5615
+ "fontSize": "fontSize",
5616
+ "color": "color",
5617
+ "lineHeight": "lineHeight",
5618
+ "textAlign": "flexJustifyContent",
5619
+ "alignSelf": "flexAlign",
5620
+ "fontName": "fontName",
5621
+ "fontWeight": "fontWeight",
5622
+ "backgroundColor": "color",
5623
+ "opacity": "opacity",
5624
+ "paddingLeft": "size",
5625
+ "paddingRight": "size",
5626
+ "paddingTop": "size",
5627
+ "paddingBottom": "size",
5628
+ "width": "size",
5629
+ "minWidth": "size",
5630
+ "outerBorderColor": "color",
5631
+ "outerBorderWidth": "border",
5632
+ "outerBorderGap": "size",
5633
+ "outerBackgroundColor": "color"
5634
+ }
5635
+ },
5636
+ "required": false,
5637
+ "description": "Sets the tokens for ButtonDropdown element."
5638
+ },
5639
+ "values": {
5640
+ "type": {
5641
+ "name": "arrayOf",
5642
+ "value": {
5643
+ "name": "string"
5644
+ }
5645
+ },
5646
+ "required": false,
5647
+ "description": "If the selected item(s) in the checkbox group(s) are to be controlled externally by\na parent component, pass an array of strings as well as an `onChange` handler.\nPassing an array for \"values\" makes the MultiSelectFilter a \"controlled\" component that\nexpects its state to be handled via `onChange` and so doesn't handle it itself."
5648
+ },
5649
+ "initialValues": {
5650
+ "type": {
5651
+ "name": "arrayOf",
5652
+ "value": {
5653
+ "name": "string"
5654
+ }
5655
+ },
5656
+ "required": false,
5657
+ "description": "If `values` is not passed, making the MultiSelectFilter 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."
5658
+ },
5659
+ "maxValues": {
5660
+ "type": {
5661
+ "name": "number"
5662
+ },
5663
+ "required": false,
5664
+ "description": "If provided, sets a maximum number of items a user may select at once."
5665
+ },
5666
+ "onChange": {
5667
+ "type": {
5668
+ "name": "func"
5669
+ },
5670
+ "required": false,
5671
+ "description": "If provided, this function is called when the current selection is changed\nand is passed an array of the `id`s of all currently selected `items`."
5672
+ }
5673
+ },
5674
+ "attributes": {
5675
+ "acceptsRNA11yProps": false
5676
+ }
5677
+ }
5678
+ },
5679
+ "Notification": {
5680
+ "docs": {
5681
+ "description": "A banner that highlights important messages:\n- Status message to show there is an error or outage of services\n- Confirmation message in response to user action\n- Account information letting the user know they have almost used all their data\n\n## Usage criteria\n- Use simple text content only, such as bold test or links. Don’t use other complex components or paragraphs\n- Show notifications before the content that the message is related to, otherwise show at the top of the main content\n- Show system notifications at the top of the page, below the navigation, and expands the full-width of the viewport\n- When showing multiple notifications, show them in order of importance from top to bottom\n- Use variants to visually show the type of message contained within the Notification.\n- The icon and colour will indicate meaning and importance\n\n### Variants\n- Use `variant.style` to set the visual style of the notification\n- Use `dismissible` prop to enable dismissible functionality\n- Use `system` prop to set the visual style of the notification and denote an announcement from the system or application\n\n### When to use the system prop?\n- Use `system` to show system-based messages coming from the application\n- Don’t use `system` when the message is in response to user action\n\n## Variants\n\n#### Success\nUse the success variant to provide feedback of a successful operation. The message will include an icon to indicate meaning and importance.\n\n#### Warning\nUse the warning variant to provide feedback of a warning; users would still be able to proceed forward.\nThe message will include an icon to indicate meaning and importance.\n\n#### Error\nUse the error variant to provide feedback of a failed operation. The message will include an icon to indicate meaning and importance.\n\n#### Dismissible\nDismissible notifications should only be used for default or success notifications where there is no action needed from the user.\nIf the information is passive then it should be dismissible as indicated by an interactive close button on the far right.\nIf the notification requires an action then make the option(s) clear with a `ChevronLink` or `Link`.\n\nUse the `dismissible` prop to allow users to dismiss the Notification at any time. Once dismissed, the Notification is removed from the DOM.\n\nPlease note:\n\n- Default and Success variants are dismissible\n- Error and Warning variants are not dismissible\n\n#### System message\nUse full-width `Notifications` to show system-based messages coming from the application, not in response to user action.\nShow system notifications at the top of the page, below the navigation, and expands the full-width of the viewport",
5682
+ "props": {
5683
+ "copy": {
5684
+ "defaultValue": {
5685
+ "value": "'en'",
5686
+ "computed": false
5687
+ },
5688
+ "type": {
5689
+ "name": "union",
5690
+ "value": [
5691
+ {
5692
+ "name": "enum",
5693
+ "value": [
5694
+ {
5695
+ "value": "'en'",
5696
+ "computed": false
5697
+ },
5698
+ {
5699
+ "value": "'fr'",
5700
+ "computed": false
5701
+ }
5702
+ ]
5703
+ },
5704
+ {
5705
+ "name": "shape",
5706
+ "value": {
5707
+ "dismiss": {
5708
+ "name": "string",
5709
+ "required": false
5710
+ }
5711
+ }
5712
+ }
5713
+ ]
5714
+ },
5715
+ "required": false,
5716
+ "description": "Select English or French copy for the accessible label of the dismiss button."
5717
+ },
5718
+ "children": {
5719
+ "type": {
5720
+ "name": "union",
5721
+ "value": [
5722
+ {
5723
+ "name": "string"
5724
+ },
5725
+ {
5726
+ "name": "node"
5727
+ },
5728
+ {
5729
+ "name": "func"
5730
+ }
5731
+ ]
5732
+ },
5733
+ "required": false,
5734
+ "description": "Content of the `Notification`."
5735
+ },
5736
+ "system": {
5737
+ "type": {
5738
+ "name": "bool"
5739
+ },
5740
+ "required": false,
5741
+ "description": "Use `system` prop to set the visual style of the notification and denote an announcement from the system or application"
5742
+ },
5743
+ "dismissible": {
5744
+ "type": {
5745
+ "name": "bool"
5746
+ },
5747
+ "required": false,
5748
+ "description": "Use the `dismissible` prop to allow users to dismiss the Notification at any time."
5749
+ },
5750
+ "tokens": {
5751
+ "type": {
5752
+ "name": "custom",
5753
+ "raw": {
5754
+ "backgroundColor": "color",
5755
+ "borderBottomWidth": "border",
5756
+ "borderTopWidth": "border",
5757
+ "borderLeftWidth": "border",
5758
+ "borderRightWidth": "border",
5759
+ "borderColor": "color",
5760
+ "borderRadius": "radius",
5761
+ "paddingTop": "size",
5762
+ "paddingBottom": "size",
5763
+ "paddingLeft": "size",
5764
+ "paddingRight": "size",
5765
+ "color": "color",
5766
+ "fontSize": "fontSize",
5767
+ "lineHeight": "lineHeight",
5768
+ "fontName": "fontName",
5769
+ "fontWeight": "fontWeight",
5770
+ "icon": "icon",
5771
+ "iconColor": "color",
5772
+ "iconSize": "size",
5773
+ "iconGap": "size",
5774
+ "dismissIcon": "icon",
5775
+ "dismissIconColor": "color",
5776
+ "dismissIconSize": "size",
5777
+ "dismissButtonGap": "size"
5778
+ }
5779
+ },
5780
+ "required": false,
5781
+ "description": ""
5782
+ },
5783
+ "variant": {
5358
5784
  "type": {
5359
5785
  "name": "objectOf",
5360
5786
  "value": {
@@ -8074,7 +8500,7 @@
8074
8500
  "props": {
8075
8501
  "themeOptions": {
8076
8502
  "defaultValue": {
8077
- "value": "{ forceAbsoluteFontSizing: true }",
8503
+ "value": "{}",
8078
8504
  "computed": false
8079
8505
  },
8080
8506
  "type": {
@@ -8084,6 +8510,14 @@
8084
8510
  "name": "bool",
8085
8511
  "required": false
8086
8512
  },
8513
+ "forceZIndex": {
8514
+ "name": "bool",
8515
+ "required": false
8516
+ },
8517
+ "enableHelmetSSR": {
8518
+ "name": "bool",
8519
+ "required": false
8520
+ },
8087
8521
  "contentMaxWidth": {
8088
8522
  "name": "custom",
8089
8523
  "raw": "responsiveProps.getTypeOptionallyByViewport(PropTypes.number)",
@@ -8092,7 +8526,7 @@
8092
8526
  }
8093
8527
  },
8094
8528
  "required": false,
8095
- "description": "An object containing options allowing to customize the theming experience:\n\n- `forceAbsoluteFontSizing`: available on web only; when set to true, allows\n using absolute font sizing (in pixels, doesn't scale) instead of the\n relative sizing (in `rem`, scales depending on the browser settings)\n- `contentMaxWidth`: allows configuration of the content max width to be used in components\n such as Footnote and Notification to avoid content to stretch width more then the page's width"
8529
+ "description": "An object containing options allowing to customize the theming experience:\n\n- `forceAbsoluteFontSizing`: available on web only; when set to true, allows\n using absolute font sizing (in pixels, doesn't scale) instead of the\n relative sizing (in `rem`, scales depending on the browser settings)\n- `contentMaxWidth`: allows configuration of the content max width to be used in components\n such as Footnote and Notification to avoid content to stretch width more then the page's width\n- `forceZIndex`: available on web only, when set to false, sets zIndex on `View` to be `auto`\n and when true, sets zIndex to be `0` (the default from `react-native-web`)\n- `enableHelmetSSR`: on Web SSR, allows React Helmet to run during server-side rendering. This should be\n disabled unless a web app has been specifically configured to stop React Helmet accumulating\n instances (which may cause a memory leak). See React Helmet's docs: https://github.com/nfl/react-helmet"
8096
8530
  },
8097
8531
  "children": {
8098
8532
  "type": {
@@ -8969,6 +9403,213 @@
8969
9403
  }
8970
9404
  }
8971
9405
  },
9406
+ "ButtonDropdown": {
9407
+ "docs": {
9408
+ "description": "",
9409
+ "props": {
9410
+ "inactive": {
9411
+ "defaultValue": {
9412
+ "value": "false",
9413
+ "computed": false
9414
+ },
9415
+ "type": {
9416
+ "name": "bool"
9417
+ },
9418
+ "required": false,
9419
+ "description": "If true, prevents the button from being pressed, changes the cursor (on web) and accessibility\nattributes to communicate this to the user, and applies `inactive: true` appearances from the theme"
9420
+ },
9421
+ "readOnly": {
9422
+ "defaultValue": {
9423
+ "value": "false",
9424
+ "computed": false
9425
+ },
9426
+ "required": false
9427
+ },
9428
+ "children": {
9429
+ "defaultValue": {
9430
+ "value": "null",
9431
+ "computed": false
9432
+ },
9433
+ "type": {
9434
+ "name": "custom",
9435
+ "raw": "ABBPropTypes.childrenOf(\n PropTypes.oneOfType([ABBPropTypes.elementType(A11yText), PropTypes.string])\n)"
9436
+ },
9437
+ "required": false,
9438
+ "description": "Button's children must be either:\n - One or more text strings and / or A11yText components\n - A render function with contents that responds to current button state by being passed an object of:\n```\n{ hovered<bool>, focused<bool>, pressed<bool>, inactive<bool>, selected<bool>, textStyles<RNStyle> }\n```"
9439
+ },
9440
+ "onBlur": {
9441
+ "type": {
9442
+ "name": "func"
9443
+ },
9444
+ "required": false,
9445
+ "description": "onBlur handler"
9446
+ },
9447
+ "onFocus": {
9448
+ "type": {
9449
+ "name": "func"
9450
+ },
9451
+ "required": false,
9452
+ "description": "onFocus handler"
9453
+ },
9454
+ "tokens": {
9455
+ "type": {
9456
+ "name": "custom",
9457
+ "raw": {
9458
+ "borderColor": "color",
9459
+ "borderWidth": "border",
9460
+ "borderRadius": "radius",
9461
+ "shadow": "shadow",
9462
+ "fontSize": "fontSize",
9463
+ "color": "color",
9464
+ "lineHeight": "lineHeight",
9465
+ "textAlign": "flexJustifyContent",
9466
+ "alignSelf": "flexAlign",
9467
+ "fontName": "fontName",
9468
+ "fontWeight": "fontWeight",
9469
+ "backgroundColor": "color",
9470
+ "opacity": "opacity",
9471
+ "paddingLeft": "size",
9472
+ "paddingRight": "size",
9473
+ "paddingTop": "size",
9474
+ "paddingBottom": "size",
9475
+ "width": "size",
9476
+ "minWidth": "size",
9477
+ "iconSize": "size",
9478
+ "iconSpace": "integer",
9479
+ "icon": "icon",
9480
+ "outerBorderColor": "color",
9481
+ "outerBorderWidth": "border",
9482
+ "outerBorderGap": "size",
9483
+ "outerBackgroundColor": "color",
9484
+ "textLine": "textLine",
9485
+ "textLineStyle": "textLineStyle"
9486
+ }
9487
+ },
9488
+ "required": false,
9489
+ "description": ""
9490
+ },
9491
+ "disabled": {
9492
+ "type": {
9493
+ "name": "bool"
9494
+ },
9495
+ "required": false,
9496
+ "description": "Alias for `inactive`"
9497
+ },
9498
+ "onPress": {
9499
+ "type": {
9500
+ "name": "func"
9501
+ },
9502
+ "required": false,
9503
+ "description": "Function called when the button is pressed. Required unless the button has a href."
9504
+ },
9505
+ "iconProps": {
9506
+ "type": {
9507
+ "name": "exact",
9508
+ "value": {
9509
+ "variant": {
9510
+ "name": "custom",
9511
+ "raw": "variantProp.propType",
9512
+ "required": false
9513
+ },
9514
+ "tokens": {
9515
+ "name": "custom",
9516
+ "raw": "getTokensPropType('Icon')",
9517
+ "required": false
9518
+ },
9519
+ "accessibilityLabel": {
9520
+ "name": "string",
9521
+ "description": "Descriptive label used in web SVG title tag for accessibility",
9522
+ "required": false
9523
+ },
9524
+ "scalesWithText": {
9525
+ "name": "bool",
9526
+ "description": "controls whether the icon size should be proportionate to any accessibility-related font scaling.",
9527
+ "required": false
9528
+ }
9529
+ }
9530
+ },
9531
+ "required": false,
9532
+ "description": "Optional variant that may be passed down to the link's icon if there is one"
9533
+ },
9534
+ "iconPosition": {
9535
+ "type": {
9536
+ "name": "enum",
9537
+ "value": [
9538
+ {
9539
+ "value": "'left'",
9540
+ "computed": false
9541
+ },
9542
+ {
9543
+ "value": "'right'",
9544
+ "computed": false
9545
+ }
9546
+ ]
9547
+ },
9548
+ "required": false,
9549
+ "description": "When `icon` is provided, use `iconPosition` to place the Icon to the left or right side of the button."
9550
+ },
9551
+ "icon": {
9552
+ "type": {
9553
+ "name": "func"
9554
+ },
9555
+ "required": false,
9556
+ "description": "A function component for an SVG icon to render inside the link. Inherits size and color from\nthe link and any Typography the link is nested inside."
9557
+ },
9558
+ "variant": {
9559
+ "type": {
9560
+ "name": "objectOf",
9561
+ "value": {
9562
+ "name": "union",
9563
+ "value": [
9564
+ {
9565
+ "name": "string"
9566
+ },
9567
+ {
9568
+ "name": "number"
9569
+ },
9570
+ {
9571
+ "name": "bool"
9572
+ }
9573
+ ]
9574
+ }
9575
+ },
9576
+ "required": false,
9577
+ "description": ""
9578
+ },
9579
+ "onChange": {
9580
+ "type": {
9581
+ "name": "func"
9582
+ },
9583
+ "required": false,
9584
+ "description": "Callback called when a controlled ButtonDropdown gets interacted with."
9585
+ },
9586
+ "value": {
9587
+ "type": {
9588
+ "name": "bool"
9589
+ },
9590
+ "required": false,
9591
+ "description": "`value` prop is being used to set the 'open' state of ButtonDropdown. Use it for\n controlled ButtonDropdown. For uncontrolled ButtonDropdown, use `initialValue`."
9592
+ },
9593
+ "initialValue": {
9594
+ "type": {
9595
+ "name": "bool"
9596
+ },
9597
+ "required": false,
9598
+ "description": "Use `initialValue` to provide the initial value for an uncontrolled version."
9599
+ },
9600
+ "label": {
9601
+ "type": {
9602
+ "name": "string"
9603
+ },
9604
+ "required": false,
9605
+ "description": "The label of ButtonDropdown."
9606
+ }
9607
+ },
9608
+ "attributes": {
9609
+ "acceptsRNA11yProps": true
9610
+ }
9611
+ }
9612
+ },
8972
9613
  "ButtonGroup": {
8973
9614
  "docs": {
8974
9615
  "description": "",
@@ -9675,6 +10316,7 @@
9675
10316
  "type": {
9676
10317
  "name": "custom",
9677
10318
  "raw": {
10319
+ "backgroundColor": "color",
9678
10320
  "nextIcon": "icon",
9679
10321
  "previousIcon": "icon",
9680
10322
  "showPreviousNextNavigation": "show",
@@ -9740,7 +10382,7 @@
9740
10382
  "name": "func"
9741
10383
  },
9742
10384
  "required": false,
9743
- "description": "Called when active index changed\nThis function is also provided with a parameter indicating changed index (either 1, or -1)\nUse it as follows:\n```js\n const onIndexChangedCallback = React.useCallback((changedIndex) => {\n console.log(changedIndex)\n }, []) // pass local dependencies as per your component\n <Carousel\n onIndexChanged={onIndexChangedCallback}\n >\n <Carousel.Item>First Slide</Carousel.Item>\n </Carousel>\n```\nCaution: Always consider wrapping your callback for `onIndexChanged` in `useCallback` in order to avoid bugs and performance issues"
10385
+ "description": "Called when active index changed\nThis function is also provided with a parameter indicating changed index (either 1, or -1)\nUse it as follows:\n```js\n const onIndexChangedCallback = React.useCallback((changedIndex, currentActiveIndex) => {\n console.log(changedIndex)\n }, []) // pass local dependencies as per your component\n <Carousel\n onIndexChanged={onIndexChangedCallback}\n >\n <Carousel.Item>First Slide</Carousel.Item>\n </Carousel>\n```\nCaution: Always consider wrapping your callback for `onIndexChanged` in `useCallback` in order to avoid bugs and performance issues"
9744
10386
  },
9745
10387
  "skipLinkHref": {
9746
10388
  "type": {
@@ -9916,6 +10558,27 @@
9916
10558
  "required": false,
9917
10559
  "description": "Sets the HTML tag of the outer container. By default `'li'` so that assistive technology sees\nthe Carousel as a list of items.\n\nCarousel's innermost container defaults to `'ul'` which can be overridden. If the tag of either\n`Carousel` or `Carousel.Item` is overriden, the other should be too, to avoid producing invalid HTML."
9918
10560
  },
10561
+ "variant": {
10562
+ "type": {
10563
+ "name": "objectOf",
10564
+ "value": {
10565
+ "name": "union",
10566
+ "value": [
10567
+ {
10568
+ "name": "string"
10569
+ },
10570
+ {
10571
+ "name": "number"
10572
+ },
10573
+ {
10574
+ "name": "bool"
10575
+ }
10576
+ ]
10577
+ }
10578
+ },
10579
+ "required": false,
10580
+ "description": ""
10581
+ },
9919
10582
  "elementIndex": {
9920
10583
  "type": {
9921
10584
  "name": "number"
@@ -9947,6 +10610,13 @@
9947
10610
  },
9948
10611
  "required": true,
9949
10612
  "description": "Content of the slide"
10613
+ },
10614
+ "setContentBackgroundColor": {
10615
+ "type": {
10616
+ "name": "func"
10617
+ },
10618
+ "required": false,
10619
+ "description": "Function to set carousel content background color when slide is being display"
9950
10620
  }
9951
10621
  },
9952
10622
  "attributes": {
@@ -9994,6 +10664,7 @@
9994
10664
  "type": {
9995
10665
  "name": "custom",
9996
10666
  "raw": {
10667
+ "backgroundColor": "color",
9997
10668
  "nextIcon": "icon",
9998
10669
  "previousIcon": "icon",
9999
10670
  "showPreviousNextNavigation": "show",
@@ -10153,7 +10824,7 @@
10153
10824
  "name": "func"
10154
10825
  },
10155
10826
  "required": false,
10156
- "description": "Called when active index changed\nThis function is also provided with a parameter indicating changed index (either 1, or -1)\nUse it as follows:\n```js\n const onIndexChangedCallback = React.useCallback((changedIndex) => {\n console.log(changedIndex)\n }, []) // pass local dependencies as per your component\n <Carousel\n onIndexChanged={onIndexChangedCallback}\n >\n <Carousel.Item>First Slide</Carousel.Item>\n </Carousel>\n```\nCaution: Always consider wrapping your callback for `onIndexChanged` in `useCallback` in order to avoid bugs and performance issues"
10827
+ "description": "Called when active index changed\nThis function is also provided with a parameter indicating changed index (either 1, or -1)\nUse it as follows:\n```js\n const onIndexChangedCallback = React.useCallback((changedIndex, currentActiveIndex) => {\n console.log(changedIndex)\n }, []) // pass local dependencies as per your component\n <Carousel\n onIndexChanged={onIndexChangedCallback}\n >\n <Carousel.Item>First Slide</Carousel.Item>\n </Carousel>\n```\nCaution: Always consider wrapping your callback for `onIndexChanged` in `useCallback` in order to avoid bugs and performance issues"
10157
10828
  },
10158
10829
  "skipLinkHref": {
10159
10830
  "type": {
@@ -10386,6 +11057,7 @@
10386
11057
  "type": {
10387
11058
  "name": "custom",
10388
11059
  "raw": {
11060
+ "backgroundColor": "color",
10389
11061
  "nextIcon": "icon",
10390
11062
  "previousIcon": "icon",
10391
11063
  "showPreviousNextNavigation": "show",
@@ -11849,6 +12521,7 @@
11849
12521
  "buttonSize": "size",
11850
12522
  "buttonsGap": "size",
11851
12523
  "buttonsPaddingRight": "size",
12524
+ "clearButtonIcon": "icon",
11852
12525
  "paddingTop": "size",
11853
12526
  "paddingBottom": "size",
11854
12527
  "paddingLeft": "size",
@@ -11938,6 +12611,13 @@
11938
12611
  "required": false,
11939
12612
  "description": "Use to react upon input's value changes. Required when the `value` prop is set.\nWill receive the input's value as an argument."
11940
12613
  },
12614
+ "onClear": {
12615
+ "type": {
12616
+ "name": "func"
12617
+ },
12618
+ "required": false,
12619
+ "description": "A callback which if provided will get a clear button rendered and will be called whenever that button gets pressed."
12620
+ },
11941
12621
  "tokens": {
11942
12622
  "type": {
11943
12623
  "name": "custom",
@@ -11950,6 +12630,7 @@
11950
12630
  "buttonSize": "size",
11951
12631
  "buttonsGap": "size",
11952
12632
  "buttonsPaddingRight": "size",
12633
+ "clearButtonIcon": "icon",
11953
12634
  "paddingTop": "size",
11954
12635
  "paddingBottom": "size",
11955
12636
  "paddingLeft": "size",
@@ -12405,6 +13086,38 @@
12405
13086
  "acceptsRNA11yProps": false
12406
13087
  }
12407
13088
  }
13089
+ },
13090
+ "BaseView": {
13091
+ "docs": {
13092
+ "description": "Identical to React Native's View and supporting all the same props, but with:\n - a zIndex: 'auto' style added to prevent unexpectedly causing children to overlap other elements from other stacking contexts",
13093
+ "props": {
13094
+ "children": {
13095
+ "type": {
13096
+ "name": "node"
13097
+ },
13098
+ "required": false,
13099
+ "description": ""
13100
+ },
13101
+ "style": {
13102
+ "type": {
13103
+ "name": "union",
13104
+ "value": [
13105
+ {
13106
+ "name": "object"
13107
+ },
13108
+ {
13109
+ "name": "array"
13110
+ }
13111
+ ]
13112
+ },
13113
+ "required": false,
13114
+ "description": ""
13115
+ }
13116
+ },
13117
+ "attributes": {
13118
+ "acceptsRNA11yProps": false
13119
+ }
13120
+ }
12408
13121
  }
12409
13122
  }
12410
13123
  }