lightning-base-components 1.16.2-alpha → 1.16.4-alpha

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 (107) hide show
  1. package/metadata/raptor.json +120 -0
  2. package/package.json +57 -1
  3. package/scopedImports/@salesforce-label-LightningForm.cancel.js +1 -0
  4. package/scopedImports/@salesforce-label-LightningForm.closeError.js +1 -0
  5. package/scopedImports/@salesforce-label-LightningForm.edit.js +1 -0
  6. package/scopedImports/@salesforce-label-LightningForm.editErrorHelp.js +1 -0
  7. package/scopedImports/@salesforce-label-LightningForm.error.js +1 -0
  8. package/scopedImports/@salesforce-label-LightningForm.errorPopoverHeading.js +1 -0
  9. package/scopedImports/@salesforce-label-LightningForm.preview.js +1 -0
  10. package/scopedImports/@salesforce-label-LightningForm.previewHeader.js +1 -0
  11. package/scopedImports/@salesforce-label-LightningForm.reload.js +1 -0
  12. package/scopedImports/@salesforce-label-LightningForm.save.js +1 -0
  13. package/scopedImports/@salesforce-label-LightningForm.saveFieldErrorSummary.js +1 -0
  14. package/scopedImports/@salesforce-label-LightningForm.undo.js +1 -0
  15. package/scopedImports/@salesforce-label-LightningLookup.messageWhenMissingInformation.js +1 -0
  16. package/src/lightning/button/__docs__/button.md +13 -0
  17. package/src/lightning/button/button.slds.css +155 -11
  18. package/src/lightning/buttonGroup/button-group.slds.css +35 -59
  19. package/src/lightning/buttonIcon/button-icon.slds.css +287 -122
  20. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +224 -39
  21. package/src/lightning/buttonStateful/button-stateful.slds.css +3269 -0
  22. package/src/lightning/card/card.slds.css +50 -0
  23. package/src/lightning/colorPickerCustom/color-picker-custom.slds.css +180 -364
  24. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +46 -413
  25. package/src/lightning/colorPickerPanel/colorPickerPanel.css +9 -0
  26. package/src/lightning/colorPickerPanel/colorPickerPanel.html +2 -2
  27. package/src/lightning/datatable/datatable.js +2 -2
  28. package/src/lightning/datatable/rowSelection.js +21 -4
  29. package/src/lightning/datetimepicker/datetimepicker.html +1 -3
  30. package/src/lightning/datetimepicker/datetimepicker.js +5 -0
  31. package/src/lightning/fileDownload/__docs__/fileDownload.md +41 -0
  32. package/src/lightning/helptext/help-text.slds.css +184 -39
  33. package/src/lightning/icon/icon.slds.css +823 -3
  34. package/src/lightning/input/input-checkbox.slds.css +291 -32
  35. package/src/lightning/input/input-text.slds.css +70 -7
  36. package/src/lightning/input/input.js +1 -1
  37. package/src/lightning/inputAddress/__docs__/inputAddress.md +1 -1
  38. package/src/lightning/inputAddress/inputAddress.js +2 -1
  39. package/src/lightning/internationalizationLibrary/datetime/intlFormat.js +20 -2
  40. package/src/lightning/iso8601Utils/iso8601Utils.js +2 -3
  41. package/src/lightning/modal/__docs__/migration.md +158 -0
  42. package/src/lightning/modal/__docs__/modal.md +414 -0
  43. package/src/lightning/modal/__examples__disabled/all/all.css +7 -0
  44. package/src/lightning/modal/__examples__disabled/all/all.html +9 -0
  45. package/src/lightning/modal/__examples__disabled/all/all.js +25 -0
  46. package/src/lightning/modal/__examples__disabled/allform/allform.css +7 -0
  47. package/src/lightning/modal/__examples__disabled/allform/allform.html +9 -0
  48. package/src/lightning/modal/__examples__disabled/allform/allform.js +49 -0
  49. package/src/lightning/modal/__examples__disabled/allmulti/allmulti.html +24 -0
  50. package/src/lightning/modal/__examples__disabled/allmulti/allmulti.js +12 -0
  51. package/src/lightning/modal/__examples__disabled/basic/basic.css +7 -0
  52. package/src/lightning/modal/__examples__disabled/basic/basic.html +9 -0
  53. package/src/lightning/modal/__examples__disabled/basic/basic.js +27 -0
  54. package/src/lightning/modal/__examples__disabled/demo/demo.html +15 -0
  55. package/src/lightning/modal/__examples__disabled/demo/demo.js +13 -0
  56. package/src/lightning/modal/__examples__disabled/demoall/demoall.html +26 -0
  57. package/src/lightning/modal/__examples__disabled/demoall/demoall.js +13 -0
  58. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.css +3 -0
  59. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.html +146 -0
  60. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.js +240 -0
  61. package/src/lightning/modal/__examples__disabled/demofootless/demofootless.html +17 -0
  62. package/src/lightning/modal/__examples__disabled/demofootless/demofootless.js +11 -0
  63. package/src/lightning/modal/__examples__disabled/demoheadless/demoheadless.html +20 -0
  64. package/src/lightning/modal/__examples__disabled/demoheadless/demoheadless.js +12 -0
  65. package/src/lightning/modal/__examples__disabled/footless/footless.css +7 -0
  66. package/src/lightning/modal/__examples__disabled/footless/footless.html +9 -0
  67. package/src/lightning/modal/__examples__disabled/footless/footless.js +19 -0
  68. package/src/lightning/modal/__examples__disabled/headless/headless.css +7 -0
  69. package/src/lightning/modal/__examples__disabled/headless/headless.html +9 -0
  70. package/src/lightning/modal/__examples__disabled/headless/headless.js +27 -0
  71. package/src/lightning/modal/modal.html +3 -0
  72. package/src/lightning/modal/modal.js +93 -0
  73. package/src/lightning/modal/modal.js-meta.xml +6 -0
  74. package/src/lightning/modalBody/__docs__/modalBody.md +61 -0
  75. package/src/lightning/modalBody/modalBody.html +13 -0
  76. package/src/lightning/modalBody/modalBody.js +203 -0
  77. package/src/lightning/modalBody/modalBody.js-meta.xml +6 -0
  78. package/src/lightning/modalFooter/__docs__/modalFooter.md +72 -0
  79. package/src/lightning/modalFooter/modalFooter.html +8 -0
  80. package/src/lightning/modalFooter/modalFooter.js +161 -0
  81. package/src/lightning/modalFooter/modalFooter.js-meta.xml +6 -0
  82. package/src/lightning/modalHeader/__docs__/modalHeader.md +64 -0
  83. package/src/lightning/modalHeader/modalHeader.html +16 -0
  84. package/src/lightning/modalHeader/modalHeader.js +204 -0
  85. package/src/lightning/modalHeader/modalHeader.js-meta.xml +6 -0
  86. package/src/lightning/primitiveBubble/tooltip.slds.css +45 -1
  87. package/src/lightning/primitiveCellFactory/primitiveCellFactory.js +4 -12
  88. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +2994 -319
  89. package/src/lightning/primitiveDatatableIeditPanel/primitiveDatatableIeditPanel.html +14 -11
  90. package/src/lightning/primitiveDatatableIeditPanel/primitiveDatatableIeditPanel.js +1 -0
  91. package/src/lightning/primitiveIcon/icon.slds.css +823 -3
  92. package/src/lightning/radioGroup/input-radio-group.slds.css +168 -379
  93. package/src/lightning/spinner/spinner.slds.css +8 -2
  94. package/src/lightning/timepicker/timepicker.html +1 -4
  95. package/src/lightning/timepicker/timepicker.js +9 -5
  96. package/src/lightning/treeGrid/treeGrid.js +66 -1
  97. package/src/lightning/formattedAddress/__component__/formattedAddress.spec.js +0 -61
  98. package/src/lightning/formattedAddress/__component__/formattedAddressDisabled.spec.js +0 -20
  99. package/src/lightning/formattedAddress/__component__/x/basic/basic.html +0 -10
  100. package/src/lightning/formattedAddress/__component__/x/basic/basic.js +0 -17
  101. package/src/lightning/input/__component__/inputCheckbox.spec.js +0 -60
  102. package/src/lightning/input/__component__/inputDateTimePicker.spec.js +0 -60
  103. package/src/lightning/input/__component__/inputNumber.spec.js +0 -75
  104. package/src/lightning/input/__component__/inputSelection.spec.js +0 -83
  105. package/src/lightning/input/__component__/x/tall/tall.css +0 -5
  106. package/src/lightning/input/__component__/x/tall/tall.html +0 -5
  107. package/src/lightning/input/__component__/x/tall/tall.js +0 -7
@@ -906,11 +906,112 @@
906
906
  }
907
907
  ]
908
908
  },
909
+ "form": {
910
+ "slotNames": [
911
+ "",
912
+ "footer"
913
+ ],
914
+ "properties": [
915
+ {
916
+ "name": "contexts"
917
+ },
918
+ {
919
+ "name": "editing"
920
+ },
921
+ {
922
+ "name": "errors"
923
+ },
924
+ {
925
+ "name": "extraData"
926
+ },
927
+ {
928
+ "name": "metadata"
929
+ },
930
+ {
931
+ "name": "values"
932
+ }
933
+ ],
934
+ "methods": [
935
+ {
936
+ "name": "getFieldsWithErrors"
937
+ },
938
+ {
939
+ "name": "getFormDraft"
940
+ },
941
+ {
942
+ "name": "reset"
943
+ }
944
+ ]
945
+ },
909
946
  "formElement": {
910
947
  "slotNames": [
911
948
  ""
912
949
  ]
913
950
  },
951
+ "formField": {
952
+ "slotNames": [
953
+ "input",
954
+ "output"
955
+ ],
956
+ "properties": [
957
+ {
958
+ "name": "computedLabel"
959
+ },
960
+ {
961
+ "name": "contextName"
962
+ },
963
+ {
964
+ "name": "editing"
965
+ },
966
+ {
967
+ "name": "extraData"
968
+ },
969
+ {
970
+ "name": "fieldName"
971
+ },
972
+ {
973
+ "name": "label"
974
+ },
975
+ {
976
+ "name": "options"
977
+ },
978
+ {
979
+ "name": "readOnly"
980
+ },
981
+ {
982
+ "name": "required"
983
+ },
984
+ {
985
+ "name": "type"
986
+ },
987
+ {
988
+ "name": "variant"
989
+ }
990
+ ],
991
+ "methods": [
992
+ {
993
+ "name": "focus"
994
+ }
995
+ ]
996
+ },
997
+ "formFooter": {
998
+ "slotNames": [
999
+ ""
1000
+ ],
1001
+ "properties": [
1002
+ {
1003
+ "name": "errors"
1004
+ },
1005
+ {
1006
+ "name": "showErrorIcon"
1007
+ }
1008
+ ],
1009
+ "methods": [
1010
+ {
1011
+ "name": "openErrorPopover"
1012
+ }
1013
+ ]
1014
+ },
914
1015
  "formattedAddress": {
915
1016
  "minVersion": "42.0",
916
1017
  "slotNames": [],
@@ -2402,6 +2503,7 @@
2402
2503
  ]
2403
2504
  },
2404
2505
  "modal": {
2506
+ "minVersion": "55.0",
2405
2507
  "slotNames": [],
2406
2508
  "properties": [
2407
2509
  {
@@ -2424,16 +2526,19 @@
2424
2526
  ]
2425
2527
  },
2426
2528
  "modalBody": {
2529
+ "minVersion": "55.0",
2427
2530
  "slotNames": [
2428
2531
  ""
2429
2532
  ]
2430
2533
  },
2431
2534
  "modalFooter": {
2535
+ "minVersion": "55.0",
2432
2536
  "slotNames": [
2433
2537
  ""
2434
2538
  ]
2435
2539
  },
2436
2540
  "modalHeader": {
2541
+ "minVersion": "55.0",
2437
2542
  "slotNames": [
2438
2543
  ""
2439
2544
  ],
@@ -2609,6 +2714,7 @@
2609
2714
  }
2610
2715
  ]
2611
2716
  },
2717
+ "platformExternalServicesApi": {},
2612
2718
  "platformNamedCredentialApi": {},
2613
2719
  "platformNotificationUtils": {},
2614
2720
  "platformOverlayUtils": {},
@@ -3389,6 +3495,20 @@
3389
3495
  }
3390
3496
  ]
3391
3497
  },
3498
+ "toast": {
3499
+ "slotNames": [
3500
+ "",
3501
+ "message"
3502
+ ],
3503
+ "properties": [
3504
+ {
3505
+ "name": "mode"
3506
+ },
3507
+ {
3508
+ "name": "variant"
3509
+ }
3510
+ ]
3511
+ },
3392
3512
  "tree": {
3393
3513
  "minVersion": "41.0",
3394
3514
  "slotNames": [],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lightning-base-components",
3
- "version": "1.16.2-alpha",
3
+ "version": "1.16.4-alpha",
4
4
  "engines": {
5
5
  "node": ">=14.18.2"
6
6
  },
@@ -21,6 +21,54 @@
21
21
  "name": "assert",
22
22
  "path": "external/assert.js"
23
23
  },
24
+ {
25
+ "name": "@salesforce/label/LightningForm.edit",
26
+ "path": "scopedImports/@salesforce-label-LightningForm.edit.js"
27
+ },
28
+ {
29
+ "name": "@salesforce/label/LightningForm.undo",
30
+ "path": "scopedImports/@salesforce-label-LightningForm.undo.js"
31
+ },
32
+ {
33
+ "name": "@salesforce/label/LightningForm.saveFieldErrorSummary",
34
+ "path": "scopedImports/@salesforce-label-LightningForm.saveFieldErrorSummary.js"
35
+ },
36
+ {
37
+ "name": "@salesforce/label/LightningForm.preview",
38
+ "path": "scopedImports/@salesforce-label-LightningForm.preview.js"
39
+ },
40
+ {
41
+ "name": "@salesforce/label/LightningForm.previewHeader",
42
+ "path": "scopedImports/@salesforce-label-LightningForm.previewHeader.js"
43
+ },
44
+ {
45
+ "name": "@salesforce/label/LightningForm.save",
46
+ "path": "scopedImports/@salesforce-label-LightningForm.save.js"
47
+ },
48
+ {
49
+ "name": "@salesforce/label/LightningForm.cancel",
50
+ "path": "scopedImports/@salesforce-label-LightningForm.cancel.js"
51
+ },
52
+ {
53
+ "name": "@salesforce/label/LightningForm.error",
54
+ "path": "scopedImports/@salesforce-label-LightningForm.error.js"
55
+ },
56
+ {
57
+ "name": "@salesforce/label/LightningForm.editErrorHelp",
58
+ "path": "scopedImports/@salesforce-label-LightningForm.editErrorHelp.js"
59
+ },
60
+ {
61
+ "name": "@salesforce/label/LightningForm.errorPopoverHeading",
62
+ "path": "scopedImports/@salesforce-label-LightningForm.errorPopoverHeading.js"
63
+ },
64
+ {
65
+ "name": "@salesforce/label/LightningForm.closeError",
66
+ "path": "scopedImports/@salesforce-label-LightningForm.closeError.js"
67
+ },
68
+ {
69
+ "name": "@salesforce/label/LightningForm.reload",
70
+ "path": "scopedImports/@salesforce-label-LightningForm.reload.js"
71
+ },
24
72
  {
25
73
  "name": "@salesforce/label/LightningErrorMessage.validityBadInput",
26
74
  "path": "scopedImports/@salesforce-label-LightningErrorMessage.validityBadInput.js"
@@ -853,6 +901,10 @@
853
901
  "name": "@salesforce/label/LightningLookup.none",
854
902
  "path": "scopedImports/@salesforce-label-LightningLookup.none.js"
855
903
  },
904
+ {
905
+ "name": "@salesforce/label/LightningLookup.messageWhenMissingInformation",
906
+ "path": "scopedImports/@salesforce-label-LightningLookup.messageWhenMissingInformation.js"
907
+ },
856
908
  {
857
909
  "name": "@salesforce/label/LightningPicklist.available",
858
910
  "path": "scopedImports/@salesforce-label-LightningPicklist.available.js"
@@ -1234,6 +1286,10 @@
1234
1286
  "lightning/menuItem",
1235
1287
  "lightning/menuSubheader",
1236
1288
  "lightning/messageDispatcher",
1289
+ "lightning/modal",
1290
+ "lightning/modalBody",
1291
+ "lightning/modalFooter",
1292
+ "lightning/modalHeader",
1237
1293
  "lightning/navigation",
1238
1294
  "lightning/overlayManager",
1239
1295
  "lightning/picklist",
@@ -0,0 +1 @@
1
+ export default 'Cancel';
@@ -0,0 +1 @@
1
+ export default 'Close';
@@ -0,0 +1 @@
1
+ export default 'Edit {0}';
@@ -0,0 +1 @@
1
+ export default 'Errors';
@@ -0,0 +1 @@
1
+ export default 'Error';
@@ -0,0 +1 @@
1
+ export default 'Errors';
@@ -0,0 +1 @@
1
+ export default 'Preview {0}';
@@ -0,0 +1 @@
1
+ export default 'Preview {0}';
@@ -0,0 +1 @@
1
+ export default 'Reload';
@@ -0,0 +1 @@
1
+ export default 'Save';
@@ -0,0 +1 @@
1
+ export default 'Page Errors';
@@ -0,0 +1 @@
1
+ export default 'Undo {0}';
@@ -0,0 +1 @@
1
+ export default 'The lookup field cannot be edited because of missing information.';
@@ -120,6 +120,19 @@ This example adds a margin to the left of the second button using an SLDS class.
120
120
  ></lightning-button>
121
121
  ```
122
122
 
123
+ You can also use the `stretch` attribute to expand the button to the full available width. In this example, the button stretches horizontally to fit the full `<div>` container.
124
+
125
+ ```html
126
+ <div>
127
+ <lightning-button
128
+ variant="brand"
129
+ label="Get Started"
130
+ title="Get Started"
131
+ stretch
132
+ ></lightning-button>
133
+ </div>
134
+ ```
135
+
123
136
  To apply custom styling, use the `:host` selector or define a custom class using the `class` attribute.
124
137
 
125
138
  ```html
@@ -1,3 +1,147 @@
1
+ /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
2
+ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
3
+
4
+ :host([data-render-mode="shadow"]:focus) {
5
+ outline: 0;
6
+ }
7
+
8
+ :host([data-render-mode="shadow"]) [part~='button'] {
9
+ display: inline-flex;
10
+ position: relative;
11
+ background: none;
12
+ background-color: var(--sds-c-button-color-background, var(--sds-s-button-color-background, transparent));
13
+ background-clip: border-box;
14
+ color: var(--sds-c-button-text-color, var(--sds-s-button-text-color, inherit));
15
+ padding-left: var(
16
+ --sds-c-button-spacing-inline-start,
17
+ var(--sds-c-button-spacing-inline, var(--sds-s-button-spacing-inline))
18
+ );
19
+ padding-right: var(
20
+ --sds-c-button-spacing-inline-end,
21
+ var(--sds-c-button-spacing-inline, var(--sds-s-button-spacing-inline))
22
+ );
23
+ padding-top: var(
24
+ --sds-c-button-spacing-block-start,
25
+ var(--sds-c-button-spacing-block, var(--sds-s-button-spacing-block))
26
+ );
27
+ padding-bottom: var(
28
+ --sds-c-button-spacing-block-start,
29
+ var(--sds-c-button-spacing-block, var(--sds-s-button-spacing-block))
30
+ );
31
+ border-width: var(--sds-c-button-sizing-border, var(--sds-s-button-sizing-border, 1px));
32
+ border-style: solid;
33
+ border-color: var(--sds-c-button-color-border, var(--sds-s-button-color-border, transparent));
34
+ border-start-start-radius: var(
35
+ --sds-c-button-radius-border-startstart,
36
+ var(
37
+ --sds-c-button-radius-border,
38
+ var(
39
+ --sds-s-button-radius-border-startstart,
40
+ var(--sds-s-button-radius-border, var(--sds-g-radius-border-2, 0.25rem))
41
+ )
42
+ )
43
+ );
44
+ border-start-end-radius: var(
45
+ --sds-c-button-radius-border-startend,
46
+ var(
47
+ --sds-c-button-radius-border,
48
+ var(
49
+ --sds-s-button-radius-border-startend,
50
+ var(--sds-s-button-radius-border, var(--sds-g-radius-border-2, 0.25rem))
51
+ )
52
+ )
53
+ );
54
+ border-end-start-radius: var(
55
+ --sds-c-button-radius-border-endstart,
56
+ var(
57
+ --sds-c-button-radius-border,
58
+ var(
59
+ --sds-s-button-radius-border-endstart,
60
+ var(--sds-s-button-radius-border, var(--sds-g-radius-border-2, 0.25rem))
61
+ )
62
+ )
63
+ );
64
+ border-end-end-radius: var(
65
+ --sds-c-button-radius-border-endend,
66
+ var(
67
+ --sds-c-button-radius-border,
68
+ var(
69
+ --sds-s-button-radius-border-endend,
70
+ var(--sds-s-button-radius-border, var(--sds-g-radius-border-2, 0.25rem))
71
+ )
72
+ )
73
+ );
74
+ box-shadow: var(--sds-c-button-shadow, var(--sds-s-button-shadow));
75
+ width: var(--sds-c-button-sizing-width);
76
+
77
+ /* this line height hook is incorrect but is used in core - need to get teams to change */
78
+ /* stylelint-disable-next-line sds-stylelint-plugin/styling-hooks-pattern */
79
+ line-height: var(--sds-c-button-line-height);
80
+ white-space: normal;
81
+ user-select: none;
82
+ align-items: center;
83
+ text-decoration: var(--sds-c-button-font-decoration, none);
84
+ appearance: none;
85
+ }
86
+
87
+ :host([data-render-mode="shadow"]) [part~='button']:hover {
88
+ --sds-c-button-text-color: var(
89
+ --sds-c-button-text-color-hover,
90
+ var(--sds-s-button-text-color-hover, #0176d3)
91
+ );
92
+ --sds-c-button-color-background: var(
93
+ --sds-c-button-color-background-hover,
94
+ var(--sds-s-button-color-background-hover)
95
+ );
96
+ --sds-c-button-color-border: var(--sds-c-button-color-border-hover, var(--sds-s-button-color-border-hover));
97
+
98
+ cursor: pointer;
99
+ }
100
+
101
+ :host([data-render-mode="shadow"]) [part~='button']:focus {
102
+ --sds-c-button-color-background: var(
103
+ --sds-c-button-color-background-focus,
104
+ var(--sds-s-button-color-background-focus)
105
+ );
106
+ --sds-c-button-color-border: var(
107
+ --sds-c-button-color-border-focus,
108
+ var(--sds-s-button-color-border-focus, #0176d3)
109
+ );
110
+ --sds-c-button-text-color: var(
111
+ --sds-c-button-text-color-focus,
112
+ var(--sds-s-button-text-color-focus, #0176d3)
113
+ );
114
+ --sds-c-button-shadow: var(--sds-c-button-shadow-focus, var(--sds-s-button-shadow-focus, #0176d3 0 0 3px));
115
+
116
+ outline: 0;
117
+ }
118
+
119
+ :host([data-render-mode="shadow"]) [part~='button']:active {
120
+ --sds-c-button-text-color: var(
121
+ --sds-c-button-text-color-active,
122
+ var(--sds-s-button-text-color-active, currentColor)
123
+ );
124
+ --sds-c-button-color-background: var(
125
+ --sds-c-button-color-background-active,
126
+ var(--sds-s-button-color-background-active)
127
+ );
128
+ --sds-c-button-color-border: var(
129
+ --sds-c-button-color-border-active,
130
+ var(--sds-s-button-color-border-active, #0176d3)
131
+ );
132
+ }
133
+
134
+ :host([data-render-mode="shadow"]) [part~='button']:disabled {
135
+ --sds-c-button-text-color: var(--sds-c-button-text-color-disabled, #939393);
136
+ --sds-c-button-color-background: var(--sds-c-button-color-background-disabled);
137
+ --sds-c-button-color-border: var(--sds-c-button-color-border-disabled);
138
+
139
+ pointer-events: none;
140
+ }
141
+
142
+ :host([data-render-mode="shadow"]) [part~='button']:disabled * {
143
+ pointer-events: none;
144
+ }
1
145
 
2
146
  /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
3
147
  Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
@@ -81,7 +225,7 @@
81
225
  --sds-c-button-color-background-disabled: var(--slds-c-button-neutral-color-background-disabled);
82
226
  }
83
227
 
84
- :host([data-render-mode="shadow"][variant='brand'])::part(button) {
228
+ :host([data-render-mode="shadow"][variant='brand'])::part(:host([data-render-mode="shadow"]) button) {
85
229
  --sds-c-button-line-height: var(--slds-s-button-font-lineheight, 1.875rem);
86
230
  --sds-c-button-spacing-inline: var(--slds-s-button-spacing-inline, 1rem);
87
231
  --sds-c-button-color-background: var(
@@ -131,7 +275,7 @@
131
275
  --sds-c-button-text-color-disabled: var(--sds-g-color-neutral-base-100, #ffffff);
132
276
  }
133
277
 
134
- :host([data-render-mode="shadow"][variant='brand-outline'])::part(button) {
278
+ :host([data-render-mode="shadow"][variant='brand-outline'])::part(:host([data-render-mode="shadow"]) button) {
135
279
  --sds-c-button-line-height: var(--slds-s-button-font-lineheight, 1.875rem);
136
280
  --sds-c-button-spacing-inline: var(--slds-s-button-spacing-inline, 1rem);
137
281
  --sds-c-button-color-background: var(--sds-g-color-neutral-base-100, #ffffff);
@@ -146,7 +290,7 @@
146
290
  --sds-c-button-color-border-disabled: var(--sds-g-color-neutral-base-90, #e5e5e5);
147
291
  }
148
292
 
149
- :host([data-render-mode="shadow"][variant='inverse'])::part(button) {
293
+ :host([data-render-mode="shadow"][variant='inverse'])::part(:host([data-render-mode="shadow"]) button) {
150
294
  --sds-c-button-line-height: var(--slds-s-button-font-lineheight, 1.875rem);
151
295
  --sds-c-button-spacing-inline: var(--slds-s-button-spacing-inline, 1rem);
152
296
  --sds-c-button-color-background: transparent;
@@ -161,7 +305,7 @@
161
305
  --sds-c-button-color-border-disabled: var(--sds-g-color-neutral-base-60, #939393);
162
306
  }
163
307
 
164
- :host([data-render-mode="shadow"][variant='destructive'])::part(button) {
308
+ :host([data-render-mode="shadow"][variant='destructive'])::part(:host([data-render-mode="shadow"]) button) {
165
309
  --sds-c-button-line-height: var(--slds-s-button-font-lineheight, 1.875rem);
166
310
  --sds-c-button-spacing-inline: var(--slds-s-button-spacing-inline, 1rem);
167
311
  --sds-c-button-color-background: var(--sds-g-color-error-base-40, #ba0517);
@@ -178,7 +322,7 @@
178
322
  --sds-c-button-text-color-disabled: var(--sds-g-color-neutral-base-100, #ffffff);
179
323
  }
180
324
 
181
- :host([data-render-mode="shadow"][variant='success'])::part(button) {
325
+ :host([data-render-mode="shadow"][variant='success'])::part(:host([data-render-mode="shadow"]) button) {
182
326
  --sds-c-button-line-height: var(--slds-s-button-font-lineheight, 1.875rem);
183
327
  --sds-c-button-spacing-inline: var(--slds-s-button-spacing-inline, 1rem);
184
328
  --sds-c-button-color-background: var(--sds-g-color-success-base-50, #2e844a);
@@ -195,7 +339,7 @@
195
339
  --sds-c-button-text-color-disabled: var(--sds-g-color-neutral-base-100, #ffffff);
196
340
  }
197
341
 
198
- :host([data-render-mode="shadow"][variant='destructive-text'])::part(button) {
342
+ :host([data-render-mode="shadow"][variant='destructive-text'])::part(:host([data-render-mode="shadow"]) button) {
199
343
  --sds-c-button-line-height: var(--slds-s-button-font-lineheight, 1.875rem);
200
344
  --sds-c-button-spacing-inline: var(--slds-s-button-spacing-inline, 1rem);
201
345
  --sds-c-button-color-background: var(--sds-g-color-neutral-base-100, #ffffff);
@@ -220,7 +364,7 @@
220
364
  *
221
365
  * E.g. --slds-c-button-color-background
222
366
  */
223
- :host([data-render-mode="shadow"][variant='base'])::part(button),:host([data-render-mode="shadow"][variant='text'])::part(button) {
367
+ :host([data-render-mode="shadow"][variant='base'])::part(:host([data-render-mode="shadow"]) button),:host([data-render-mode="shadow"][variant='text'])::part(:host([data-render-mode="shadow"]) button) {
224
368
  --sds-c-button-spacing-inline: 0.25rem;
225
369
  --sds-c-button-text-color: var(--sds-g-color-brand-base-40, #0b5cab);
226
370
  --sds-c-button-color-border: transparent;
@@ -230,21 +374,21 @@
230
374
  --sds-c-button-color-background-active: transparent;
231
375
  }
232
376
 
233
- :host([data-render-mode="shadow"][stretch])::part(button) {
377
+ :host([data-render-mode="shadow"][stretch])::part(:host([data-render-mode="shadow"]) button) {
234
378
  --sds-c-button-width: 100%;
235
379
  }
236
380
 
237
381
  /* center button except on base/text variant */
238
- :host(:not(:host([data-render-mode="shadow"]) [variant='base'],:host([data-render-mode="shadow"]) [variant='text']))::part(button) {
382
+ :host(:not([variant='base'], [variant='text']))::part(:host([data-render-mode="shadow"]) button) {
239
383
  justify-content: center;
240
384
  }
241
385
 
242
- :host([data-render-mode="shadow"])::part(start) {
386
+ :host([data-render-mode="shadow"])::part(:host([data-render-mode="shadow"]) start) {
243
387
  display: inline-flex;
244
388
  padding-inline-end: var(--sds-g-spacing-2, 0.5rem);
245
389
  }
246
390
 
247
- :host([data-render-mode="shadow"])::part(end) {
391
+ :host([data-render-mode="shadow"])::part(:host([data-render-mode="shadow"]) end) {
248
392
  display: inline-flex;
249
393
  padding-inline-start: var(--sds-g-spacing-2, 0.5rem);
250
394
  }
@@ -2,68 +2,44 @@
2
2
  /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
3
3
  Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
4
4
 
5
- :host([data-render-mode="shadow"]) [part~='button-group'] {
6
- display: inline-flex;
5
+ @supports (--styling-hooks: '') {
6
+ :host([data-render-mode="shadow"]) [part~='button-group'] {
7
+ display: inline-flex;
7
8
 
8
- /**
9
- * Kill border radius, rebuild it below depending on position.
10
- *
11
- * @TODO: These hooks can be refactored to shared button hooks instead of
12
- * needing to define hooks for each button type. But for now, we
13
- * target each type to make button-group support them all. Applies
14
- * to all the hooks below. I.e, --sds-s-button-radius-border
15
- *
16
- * Right now, button-group supports:
17
- * - button
18
- * - button-icon
19
- *
20
- * It will also need to support (in-progress or not started):
21
- * - button-stateful
22
- * - button-icon-stateful
23
- * - radio-button-group
24
- * - checkbox-button
25
- *
26
- * This can all be avoided by adding shared button hooks (see above rationale).
27
- */
28
- --slds-c-button-neutral-radius-border: 0;
29
- --sds-c-button-radius-border: 0;
30
- }
31
-
32
- /* Nudge buttons over to remove double border effect */
9
+ /**
10
+ * Kill border radius, rebuild it below depending on position.
11
+ */
12
+ --slds-s-button-radius-border: 0;
13
+ }
33
14
 
34
- :host([data-render-mode="shadow"]) [part~='button-group'] ::slotted(:not(:first-child)) {
35
- margin-inline-start: calc(-1 * var(--sds-g-sizing-border-1, 1px));
36
- }
15
+ /* Nudge buttons over to remove double border effect */
16
+ :host([data-render-mode="shadow"]) [part~='button-group'] ::slotted(:not(:first-child)) {
17
+ margin-inline-start: calc(-1 * var(--sds-g-sizing-border-1, 1px));
18
+ }
37
19
 
38
- /**
39
- * First child in group
40
- *
41
- * @TODO: update button radius to logical props & shared hooks
42
- */
43
-
44
- :host([data-render-mode="shadow"]) [part~='button-group'] ::slotted(:first-child) {
45
- --slds-c-button-neutral-radius-border: var(--sds-g-radius-border-2, 0.25rem) 0 0 var(--sds-g-radius-border-2, 0.25rem);
46
- --sds-c-button-radius-border: var(--sds-g-radius-border-2, 0.25rem) 0 0 var(--sds-g-radius-border-2, 0.25rem);
47
- }
48
-
49
- /**
50
- * Last child in group
51
- *
52
- * @TODO: update button radius to logical props & shared hooks
53
- */
54
-
55
- :host([data-render-mode="shadow"]) [part~='button-group'] ::slotted(:last-child) {
56
- --slds-c-button-neutral-radius-border: 0 var(--sds-g-radius-border-2, 0.25rem) var(--sds-g-radius-border-2, 0.25rem) 0;
57
- --sds-c-button-radius-border: 0 var(--sds-g-radius-border-2, 0.25rem) var(--sds-g-radius-border-2, 0.25rem) 0;
58
- }
20
+ /**
21
+ * First child in group
22
+ */
23
+ :host([data-render-mode="shadow"]) [part~='button-group'] ::slotted(:first-child) {
24
+ --slds-s-button-radius-border-startstart: var(--sds-g-radius-border-2, 0.25rem);
25
+ --slds-s-button-radius-border-endstart: var(--sds-g-radius-border-2, 0.25rem);
26
+ }
59
27
 
60
- /**
61
- * Focused child in group
62
- *
63
- * Adds stacking context so the focus shadow is visible
64
- */
28
+ /**
29
+ * Last child in group
30
+ */
31
+ :host([data-render-mode="shadow"]) [part~='button-group'] ::slotted(:last-child) {
32
+ --slds-s-button-radius-border-startend: var(--sds-g-radius-border-2, 0.25rem);
33
+ --slds-s-button-radius-border-endend: var(--sds-g-radius-border-2, 0.25rem);
34
+ }
65
35
 
66
- :host([data-render-mode="shadow"]) [part~='button-group'] ::slotted(:focus) {
67
- position: relative;
68
- z-index: 1;
36
+ /**
37
+ * Focused child in group
38
+ *
39
+ * Adds stacking context so the focus shadow is visible
40
+ */
41
+ :host([data-render-mode="shadow"]) [part~='button-group'] ::slotted(:focus) {
42
+ position: relative;
43
+ z-index: 1;
44
+ }
69
45
  }