lightning-base-components 1.18.7-alpha → 1.18.8-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 (113) hide show
  1. package/metadata/raptor.json +32 -9
  2. package/package.json +1 -1
  3. package/src/lightning/accordion/accordion.slds.css +26 -20
  4. package/src/lightning/accordionSection/accordion-section.slds.css +20 -14
  5. package/src/lightning/avatar/avatar.slds.css +10 -10
  6. package/src/lightning/baseCombobox/base-combobox.slds.css +23 -23
  7. package/src/lightning/baseCombobox/baseCombobox.css +1 -2
  8. package/src/lightning/baseCombobox/baseCombobox.html +7 -11
  9. package/src/lightning/baseCombobox/baseCombobox.js +84 -36
  10. package/src/lightning/breadcrumb/breadcrumb.js +4 -2
  11. package/src/lightning/breadcrumb/breadcrumb.slds.css +3 -3
  12. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +5 -5
  13. package/src/lightning/button/button.slds.css +8 -2
  14. package/src/lightning/buttonGroup/button-group.slds.css +5 -5
  15. package/src/lightning/buttonIcon/button-icon.slds.css +9 -3
  16. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +15 -9
  17. package/src/lightning/buttonMenu/button-menu.slds.css +13 -7
  18. package/src/lightning/buttonStateful/button-stateful.slds.css +11 -5
  19. package/src/lightning/calendar/calendar.js +15 -23
  20. package/src/lightning/calendar/calendar.slds.css +29 -23
  21. package/src/lightning/card/card.slds.css +68 -68
  22. package/src/lightning/combobox/combobox.slds.css +1 -1
  23. package/src/lightning/combobox/form-element.slds.css +8 -0
  24. package/src/lightning/datatable/datatable.js +4 -0
  25. package/src/lightning/datatable/keyboard.js +8 -4
  26. package/src/lightning/datatable/sort.js +1 -1
  27. package/src/lightning/datepicker/datepicker.js +1 -1
  28. package/src/lightning/datepicker/form-element.slds.css +8 -0
  29. package/src/lightning/datepicker/input-text.slds.css +23 -23
  30. package/src/lightning/datetimepicker/form-element.slds.css +8 -0
  31. package/src/lightning/datetimepicker/input-text.slds.css +23 -23
  32. package/src/lightning/dualListbox/form-element.slds.css +8 -0
  33. package/src/lightning/f6Controller/f6Controller.js +31 -22
  34. package/src/lightning/formattedDateTime/formattedDateTime.js +1 -1
  35. package/src/lightning/groupedCombobox/groupedCombobox.html +4 -0
  36. package/src/lightning/groupedCombobox/groupedCombobox.js +3 -2
  37. package/src/lightning/helptext/form-element.slds.css +8 -0
  38. package/src/lightning/helptext/help-text.slds.css +10 -4
  39. package/src/lightning/icon/icon.js +5 -1
  40. package/src/lightning/icon/icon.slds.css +3 -3
  41. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.css +6 -0
  42. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.html +2 -1
  43. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.js +1 -1
  44. package/src/lightning/input/__examples__/number/number.html +0 -5
  45. package/src/lightning/input/form-element.slds.css +8 -0
  46. package/src/lightning/input/input.css +0 -2
  47. package/src/lightning/input/input.html +149 -239
  48. package/src/lightning/input/input.js +221 -539
  49. package/src/lightning/inputUtils/inputUtils.js +15 -20
  50. package/src/lightning/inputUtils/normalize.js +7 -0
  51. package/src/lightning/{input/numberUtil.js → inputUtils/number.js} +1 -1
  52. package/src/lightning/inputUtils/utils.js +18 -0
  53. package/src/lightning/layout/layout.js +1 -0
  54. package/src/lightning/layoutItem/layoutItem.js +1 -0
  55. package/src/lightning/modal/__docs__/modal.md +102 -3
  56. package/src/lightning/pill/avatar.slds.css +10 -10
  57. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +9 -9
  58. package/src/lightning/primitiveIcon/icon.slds.css +3 -3
  59. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +289 -0
  60. package/src/lightning/{input → primitiveInputCheckbox}/input-checkbox.slds.css +18 -18
  61. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.css +3 -0
  62. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +48 -0
  63. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +139 -0
  64. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +289 -0
  65. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +126 -0
  66. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.css +6 -0
  67. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +24 -0
  68. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +176 -0
  69. package/src/lightning/primitiveInputColor/form-element.slds.css +289 -0
  70. package/src/lightning/primitiveInputColor/input-color.slds.css +35 -0
  71. package/src/lightning/{input → primitiveInputColor}/input-text.slds.css +23 -23
  72. package/src/lightning/primitiveInputColor/primitiveInputColor.css +4 -0
  73. package/src/lightning/primitiveInputColor/primitiveInputColor.html +50 -0
  74. package/src/lightning/primitiveInputColor/primitiveInputColor.js +184 -0
  75. package/src/lightning/primitiveInputFile/button.slds.css +533 -0
  76. package/src/lightning/primitiveInputFile/form-element.slds.css +289 -0
  77. package/src/lightning/primitiveInputFile/input-file.slds.css +62 -0
  78. package/src/lightning/primitiveInputFile/primitiveInputFile.css +5 -0
  79. package/src/lightning/primitiveInputFile/primitiveInputFile.html +45 -0
  80. package/src/lightning/primitiveInputFile/primitiveInputFile.js +111 -0
  81. package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +24 -0
  82. package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +103 -0
  83. package/src/lightning/primitiveInputSimple/form-element.slds.css +289 -0
  84. package/src/lightning/primitiveInputSimple/input-text.slds.css +398 -0
  85. package/src/lightning/primitiveInputSimple/primitiveInputSimple.css +9 -0
  86. package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +65 -0
  87. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +585 -0
  88. package/src/lightning/primitiveInputToggle/form-element.slds.css +289 -0
  89. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +170 -0
  90. package/src/lightning/primitiveInputToggle/primitiveInputToggle.css +3 -0
  91. package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +34 -0
  92. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +164 -0
  93. package/src/lightning/radioGroup/input-radio-group.slds.css +57 -57
  94. package/src/lightning/select/form-element.slds.css +8 -0
  95. package/src/lightning/select/select.js +1 -0
  96. package/src/lightning/select/select.slds.css +30 -22
  97. package/src/lightning/sldsCommon/sldsCommon.css +21 -0
  98. package/src/lightning/spinner/spinner.js +8 -4
  99. package/src/lightning/spinner/spinner.slds.css +34 -34
  100. package/src/lightning/tab/tab.css +2 -0
  101. package/src/lightning/tab/tab.js +37 -14
  102. package/src/lightning/tab/tab.slds.css +47 -0
  103. package/src/lightning/tabBar/tab-bar.slds.css +5 -5
  104. package/src/lightning/tabset/tabset.css +10 -0
  105. package/src/lightning/tabset/tabset.js +31 -7
  106. package/src/lightning/timepicker/form-element.slds.css +8 -0
  107. package/src/lightning/toast/button-icon.slds.css +9 -3
  108. package/src/lightning/toast/icon.slds.css +3 -3
  109. package/src/lightning/verticalNavigation/vertical-navigation.slds.css +1 -1
  110. package/src/lightning/baseCombobox/spinner.slds.css +0 -438
  111. /package/src/lightning/{input/emailUtil.js → inputUtils/email.js} +0 -0
  112. /package/src/lightning/{input → primitiveInputSimple}/normalize.js +0 -0
  113. /package/src/lightning/{input → primitiveInputSimple}/selection.js +0 -0
@@ -6,23 +6,18 @@ export {
6
6
  FieldConstraintApiWithProxyInput,
7
7
  FieldConstraintApi,
8
8
  } from './validity';
9
- export { normalizeVariant, VARIANT } from './normalize';
10
-
11
- export function isEmptyString(s) {
12
- return (
13
- s === undefined ||
14
- s === null ||
15
- (typeof s === 'string' && s.trim() === '')
16
- );
17
- }
18
-
19
- export function isEmptyObject(obj) {
20
- if (obj === undefined || obj === null || typeof obj !== 'object') {
21
- return false;
22
- }
23
- // eslint-disable-next-line guard-for-in
24
- for (const name in obj) {
25
- return false;
26
- }
27
- return true;
28
- }
9
+ export { normalizeInput, normalizeVariant, VARIANT } from './normalize';
10
+ export { isValidEmail, isValidMultipleEmails } from './email';
11
+ export {
12
+ calculateFractionDigitsFromStep,
13
+ formatNumber,
14
+ fromIsoDecimal,
15
+ hasValidNumberShortcut,
16
+ hasValidNumberSymbol,
17
+ increaseNumberByStep,
18
+ isValidNumber,
19
+ isValidNumberCharacter,
20
+ stringifyNumber,
21
+ toIsoDecimal,
22
+ } from './number';
23
+ export { isEmptyString, isEmptyObject } from './utils';
@@ -23,3 +23,10 @@ export function normalizeVariant(value) {
23
23
  ],
24
24
  });
25
25
  }
26
+
27
+ export function normalizeInput(value) {
28
+ if (typeof value === 'number' || typeof value === 'string') {
29
+ return String(value);
30
+ }
31
+ return '';
32
+ }
@@ -5,7 +5,7 @@ import {
5
5
  toLocalizedDigits,
6
6
  numberFormat,
7
7
  } from 'lightning/internationalizationLibrary';
8
- import { isEmptyString } from 'lightning/inputUtils';
8
+ import { isEmptyString } from './utils';
9
9
  import { normalizeNumber } from 'lightning/utilsPrivate';
10
10
 
11
11
  const VALID_NUMBER_CHARACTERS_EXPRESSION = new RegExp(
@@ -0,0 +1,18 @@
1
+ export function isEmptyString(s) {
2
+ return (
3
+ s === undefined ||
4
+ s === null ||
5
+ (typeof s === 'string' && s.trim() === '')
6
+ );
7
+ }
8
+
9
+ export function isEmptyObject(obj) {
10
+ if (obj === undefined || obj === null || typeof obj !== 'object') {
11
+ return false;
12
+ }
13
+ // eslint-disable-next-line guard-for-in
14
+ for (const name in obj) {
15
+ return false;
16
+ }
17
+ return true;
18
+ }
@@ -12,6 +12,7 @@ import { normalizeBoolean } from 'lightning/utilsPrivate';
12
12
  * Represents a responsive grid system for arranging containers on a page.
13
13
  */
14
14
  export default class LightningLayout extends LightningElement {
15
+ static validationOptOut = ['class'];
15
16
  /**
16
17
  * Determines how to spread the layout items horizontally.
17
18
  * The alignment options are center, space, spread, and end.
@@ -14,6 +14,7 @@ import {
14
14
  * @slot default Placeholder for your content in lightning-layout-item.
15
15
  */
16
16
  export default class LightningLayoutItem extends LightningElement {
17
+ static validationOptOut = ['class'];
17
18
  /**
18
19
  * Make the item fluid so that it absorbs any extra space in its
19
20
  * container or shrinks when there is less space. Allowed values are:
@@ -378,7 +378,7 @@ See [Create and Dispatch Events](https://developer.salesforce.com/docs/component
378
378
 
379
379
  #### Modal Events with LWS and Lightning Locker
380
380
 
381
- Modal events work as expected when Lightning Web Security (LWS) is enabled within a Salesforce org, as described in the **Modal Events** section. If LWS isn't enabled in an org, Lightning Locker is in effect.
381
+ Modal events work as expected when Lightning Web Security (LWS) is enabled within a Salesforce org, as described in the **Modal Events** section. If LWS isn't enabled in an org, Lightning Locker is in effect.
382
382
 
383
383
  LWS is replacing Lightning Locker over time and is already enabled in many customer orgs. New orgs have LWS enabled by default. To enable LWS, see [Enable Lightning Web Security in an Org](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/security_lwsec_enable) in the Lightning Web Components Developer Guide.
384
384
 
@@ -388,7 +388,7 @@ Under Lightning Locker, when you fire events within `LightningModal`, the browse
388
388
 
389
389
  For `LightningModal`, only the top level LWC component or application can communicate to the parent Aura component or application layer with eventing. This topmost component is usually the one that opens the `LightningModal`. `LightningModal`'s child components can't event to a parent Aura component or application layer.
390
390
 
391
- All required eventing that should occur during the `LightningModal`'s life cycle must be passed in when you call `Modal.open()`. See `onselect` within `.open()` in the **Modal Events** section.
391
+ All required eventing that should occur during the `LightningModal`'s life cycle must be passed in when you call `Modal.open()`. See `onselect` within `.open()` in the **Modal Events** section.
392
392
 
393
393
  If you want the Aura layer to respond to events within child components embedded in the `LightningModal`, use event bubbling to move any data that you want to make available to the Aura layer into the topmost LWC component that opened the modal. Then, send the event from the LWC component.
394
394
 
@@ -407,7 +407,7 @@ These extracting methods fit into the larger LWC Modal-to-Aura event workflow.
407
407
 
408
408
  For more information, see [Send Events to an Enclosing Aura Component](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.events_sending_to_aura_components) and [Events Best Practices](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/events_best_practices).
409
409
 
410
- Let's see this workflow in action. In this example, we'll create a button (`lightning-button`) that launches a modal (`LightningModal`) containing a tree grid component (`lightning-tree-grid`) with a button in each record row that automatically navigates our user to that record's page (`lightning-navigation`). This use case requires data passing between our LWC components and a parent Aura component.
410
+ Let's see this workflow in action. In this example, we'll create a button (`lightning-button`) that launches a modal (`LightningModal`) containing a tree grid component (`lightning-tree-grid`) with a button in each record row that automatically navigates our user to that record's page (`lightning-navigation`). This use case requires data passing between our LWC components and a parent Aura component.
411
411
 
412
412
  Because `lightning-navigation` requires you to pass in a `recordId` to construct a page reference, we need to pass the record's data out of `LightningModal`, and then use the methods provided by `lightning-navigation`. With modal's limitations for event bubbling to the Aura layer, we can't just wrap the button or treegrid with `lightning-navigation`. We need to pull that data up to the topmost LWC component, where the `LightningModal` `.open()` is called, for our Aura wrapper to handle the navigation.
413
413
 
@@ -592,3 +592,102 @@ The `lightning-modal-header` component renders the `label` value in an `<h1>` el
592
592
 
593
593
  To include tagline text or link content for the header section, add it between the `<lightning-modal-header>` tags.
594
594
 
595
+ #### Unit Testing
596
+
597
+ Writing unit tests for `LightningModal` requires two sets of tests.
598
+ 1. Parent components that use `c/myModal` define a mocked result when `.open()` is called during a test run. This mock speeds up testing and prevents repetition while testing actions that trigger modals.
599
+ 2. The unit tests for `c/myModal` test the end-to-end functionality of the modal as a self contained component.
600
+
601
+ This example is a mock of a component called myModal. The parent component uses the modal to mock the `c/myModal` component's `.open` method. The mock `.open` resolves a constant value without opening the MyModal component. This example uses a button to open a modal and set the result in the template.
602
+
603
+ ```html
604
+ <!-- c/myApp.html -->
605
+ <button data-button onclick={handleClick}>Select Item</button>
606
+ <div data-result>{result}</div>
607
+ ```
608
+
609
+ ```js
610
+ /* myApp.spec.js */
611
+
612
+ import MyModal from 'c/myModal';
613
+ jest.mock('c/myModal');
614
+
615
+ test(() => {
616
+ // Create and appendChild(element)
617
+
618
+ const buttonEle = element.shadowRoot.querySelector('[data-button]');
619
+ const resultEle = element.shadowRoot.querySelector('[data-result]');
620
+
621
+ // Mock .open() to resolve result 'option1'
622
+ MyModal.open = jest.fn().mockResolvedValue('option1');
623
+ // Initial value
624
+ expect(resultEle.textContent).toBe(undefined);
625
+ // Click modal open button
626
+ buttonEle.click();
627
+
628
+ // Click handler render cycle
629
+ await Promise.resolve();
630
+ // Render cycle triggered by tracked value {result}
631
+ await Promise.resolve();
632
+
633
+ // Verify result is set in the prompt template
634
+ expect(resultEle.textContent).toBe('option1');
635
+ // Open triggered once
636
+ expect(MyModal.open.mock.calls).toHaveLength(1);
637
+ })
638
+ ```
639
+
640
+ This example contains the unit tests for the actual `c/myModal` component. The tests use shorthand selectors to make unit testing more concise. For more information, see **Shorthand Selectors for `LightningModal`**.
641
+
642
+ ```js
643
+ /* myModal.spec.js */
644
+
645
+ import { createElement } from 'lwc';
646
+ import MyModal from 'c/myModal';
647
+
648
+ describe('c-my-modal', () => {
649
+ afterEach(() => {
650
+ while (document.body.firstChild) {
651
+ document.body.removeChild(document.body.firstChild);
652
+ }
653
+ });
654
+
655
+ it('should select body elements', async () => {
656
+ const element = createElement('c-mymodal', {
657
+ is: MyModal
658
+ });
659
+ document.body.appendChild(element);
660
+
661
+ // If element apis are modified after appendChild
662
+ // await Promise.resolve();
663
+
664
+ // using shorthand selector for modalBody
665
+ // see list of selectors below
666
+ expect(element.modalBody$('button').textContent).toBe('hello world');
667
+ });
668
+ });
669
+ ```
670
+
671
+ #### Shorthand Selectors for `LightningModal`
672
+
673
+ The stubs for `LightningModal` have shorthand selectors to make unit testing more concise. These are all the shorthand selectors for unit testing that you can use with `LightningModal`.
674
+
675
+ - `element.closeValue` - Value passed into `this.close(value)`
676
+ - `element.modalHeader$()` - querySelect a single node in `lightning-modal-header`
677
+ - Usage: `element.modalHeader$('a')` Returns first link
678
+ - `element.modalHeader$$()` - querySelectAll multiple nodes in `lightning-modal-header`
679
+ - Usage:
680
+ - `elem.modalHeader$$()` Returns all nodes in header
681
+ - `elem.modalHeader$$('a')` Returns all links in header
682
+ - `element.modalBody$()` - querySelect a single node in `lightning-modal-body`
683
+ - Usage: `element.modalBody$('button')` Returns first button
684
+ - `element.modalBody$$()` - querySelectAll multiple nodes in `lightning-modal-body`
685
+ - Usage:
686
+ - `elem.modalBody$$()` Returns all nodes in body
687
+ - `elem.modalBody$$('button, [data-button]')` Returns buttons in body
688
+ - `element.modalFooter$()` - querySelect a single node in `lightning-modal-footer`
689
+ - Usage: `element.modalFooter$('button')` Returns first button
690
+ - `element.modalFooter$$()` - querySelectAll multiple nodes in `lightning-modal-footer`
691
+ - Usage:
692
+ - `elem.modalFooter$$()` Returns all nodes in footer
693
+ - `elem.modalFooter$$('button, [data-button]')` Returns buttons in footer
@@ -44,7 +44,7 @@
44
44
  --slds-c-icon-color-foreground: var(--sds-g-color-neutral-base-70, #aeaeae);
45
45
  }
46
46
 
47
- :host([data-render-mode="shadow"]) [part~='boundary'] {
47
+ :host([data-render-mode="shadow"]) [part='boundary'] {
48
48
  /* --sds-c-icon-color-background: var(--slds-c-icon-color-background); */
49
49
  --sds-c-icon-radius-border: var(--slds-c-icon-radius-border, var(--sds-g-radius-border-2, 0.25rem));
50
50
  --sds-c-icon-sizing-border: var(--slds-c-icon-sizing-border);
@@ -74,7 +74,7 @@
74
74
  display: inline-flex;
75
75
  }
76
76
 
77
- :host([data-render-mode="shadow"]) [part~='icon'] {
77
+ :host([data-render-mode="shadow"]) [part='icon'] {
78
78
  --sds-c-icon-color-foreground: var(--slds-c-icon-color-foreground, var(--sds-g-color-neutral-base-100, #ffffff));
79
79
  --sds-c-icon-sizing-height: var(--slds-c-icon-sizing-height, var(--slds-c-icon-sizing, var(--sds-g-sizing-9, 2rem)));
80
80
  --sds-c-icon-sizing-width: var(--slds-c-icon-sizing-width, var(--slds-c-icon-sizing, var(--sds-g-sizing-9, 2rem)));
@@ -159,7 +159,7 @@
159
159
 
160
160
  :host([data-render-mode="shadow"]) .slds-input__icon {
161
161
  --slds-c-icon-sizing: calc(var(--sds-g-sizing-1, 0.125rem) + var(--sds-g-sizing-4, 0.75rem));
162
-
162
+
163
163
  position: absolute;
164
164
  top: 50%;
165
165
  margin-block-start: -0.4375rem;
@@ -185,7 +185,7 @@
185
185
  white-space: nowrap !important;
186
186
  }
187
187
 
188
- :host([data-render-mode="shadow"]) [part~='avatar'] {
188
+ :host([data-render-mode="shadow"]) [part='avatar'] {
189
189
  width: var(--slds-c-avatar-sizing, var(--sds-g-sizing-9, 2rem));
190
190
  height: var(--slds-c-avatar-sizing, var(--sds-g-sizing-9, 2rem));
191
191
  overflow: hidden;
@@ -197,28 +197,28 @@
197
197
  color: var(--slds-c-avatar-text-color, var(--sds-g-color-neutral-base-100, #ffffff));
198
198
  }
199
199
 
200
- :host([data-render-mode="shadow"][size='x-small']) [part~='avatar'] {
200
+ :host([data-render-mode="shadow"][size='x-small']) [part='avatar'] {
201
201
  width: var(--sds-g-sizing-6, 1.25rem);
202
202
  height: var(--sds-g-sizing-6, 1.25rem);
203
203
  font-size: var(--sds-g-font-scale-neg-4, 0.625rem);
204
204
  --slds-c-icon-sizing: var(--sds-g-sizing-6, 1.25rem);
205
205
  }
206
206
 
207
- :host([data-render-mode="shadow"][size='small']) [part~='avatar'] {
207
+ :host([data-render-mode="shadow"][size='small']) [part='avatar'] {
208
208
  width: var(--sds-g-sizing-7, 1.5rem);
209
209
  height: var(--sds-g-sizing-7, 1.5rem);
210
210
  font-size: var(--sds-g-font-scale-neg-4, 0.625rem);
211
211
  --slds-c-icon-sizing: var(--sds-g-sizing-7, 1.5rem);
212
212
  }
213
213
 
214
- :host([data-render-mode="shadow"][size='medium']) [part~='avatar'] {
214
+ :host([data-render-mode="shadow"][size='medium']) [part='avatar'] {
215
215
  width: var(--sds-g-sizing-9, 2rem);
216
216
  height: var(--sds-g-sizing-9, 2rem);
217
217
  font-size: var(--sds-g-font-scale-neg-1, 0.875rem);
218
218
  --slds-c-icon-sizing: var(--sds-g-sizing-9, 2rem);
219
219
  }
220
220
 
221
- :host([data-render-mode="shadow"][size='large']) [part~='avatar'] {
221
+ :host([data-render-mode="shadow"][size='large']) [part='avatar'] {
222
222
  width: var(--sds-g-sizing-10, 3rem);
223
223
  height: var(--sds-g-sizing-10, 3rem);
224
224
  font-size: var(--sds-g-font-scale-1, 1.125rem);
@@ -226,11 +226,11 @@
226
226
  --slds-c-icon-sizing: var(--sds-g-sizing-10, 3rem);
227
227
  }
228
228
 
229
- :host([data-render-mode="shadow"][variant='circle']) [part~='avatar'] {
229
+ :host([data-render-mode="shadow"][variant='circle']) [part='avatar'] {
230
230
  border-radius: calc(var(--sds-g-radius-border-circle, 100%) / 2);
231
231
  }
232
232
 
233
- :host([data-render-mode="shadow"].slds-avatar_empty) [part~='avatar'] {
233
+ :host([data-render-mode="shadow"].slds-avatar_empty) [part='avatar'] {
234
234
  border: var(--sds-g-sizing-border-1, 1px) dashed var(--sds-g-color-neutral-base-90, #e5e5e5);
235
235
  }
236
236
 
@@ -84,7 +84,7 @@
84
84
  --slds-c-icon-color-foreground: var(--sds-g-color-neutral-base-70, #aeaeae);
85
85
  }
86
86
 
87
- :host([data-render-mode="shadow"]) [part~='boundary'] {
87
+ :host([data-render-mode="shadow"]) [part='boundary'] {
88
88
  /* --sds-c-icon-color-background: var(--slds-c-icon-color-background); */
89
89
  --sds-c-icon-radius-border: var(--slds-c-icon-radius-border, var(--sds-g-radius-border-2, 0.25rem));
90
90
  --sds-c-icon-sizing-border: var(--slds-c-icon-sizing-border);
@@ -114,7 +114,7 @@
114
114
  display: inline-flex;
115
115
  }
116
116
 
117
- :host([data-render-mode="shadow"]) [part~='icon'] {
117
+ :host([data-render-mode="shadow"]) [part='icon'] {
118
118
  --sds-c-icon-color-foreground: var(--slds-c-icon-color-foreground, var(--sds-g-color-neutral-base-100, #ffffff));
119
119
  --sds-c-icon-sizing-height: var(--slds-c-icon-sizing-height, var(--slds-c-icon-sizing, var(--sds-g-sizing-9, 2rem)));
120
120
  --sds-c-icon-sizing-width: var(--slds-c-icon-sizing-width, var(--slds-c-icon-sizing, var(--sds-g-sizing-9, 2rem)));
@@ -199,7 +199,7 @@
199
199
 
200
200
  :host([data-render-mode="shadow"]) .slds-input__icon {
201
201
  --slds-c-icon-sizing: calc(var(--sds-g-sizing-1, 0.125rem) + var(--sds-g-sizing-4, 0.75rem));
202
-
202
+
203
203
  position: absolute;
204
204
  top: 50%;
205
205
  margin-block-start: -0.4375rem;
@@ -213,7 +213,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
213
213
 
214
214
  @supports (--styling-hooks: '') {
215
215
  /* :host::part(color-picker-button), */
216
- :host([data-render-mode="shadow"]) [part~='color-picker-button'] {
216
+ :host([data-render-mode="shadow"]) [part='color-picker-button'] {
217
217
  --slds-c-icon-color-foreground: var(
218
218
  --slds-c-colorpickerbutton-color-foreground,
219
219
  var(--sds-g-color-neutral-base-50, #747474)
@@ -239,8 +239,8 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
239
239
  cursor: pointer;
240
240
  }
241
241
 
242
- :host([data-render-mode="shadow"]) [part~='color-picker-button']:hover,:host([data-render-mode="shadow"])
243
- [part~='color-picker-button']:focus {
242
+ :host([data-render-mode="shadow"]) [part='color-picker-button']:hover,:host([data-render-mode="shadow"])
243
+ [part='color-picker-button']:focus {
244
244
  --slds-c-colorpickerbutton-color-background: var(--slds-c-colorpickerbutton-color-background-hover);
245
245
  --slds-c-colorpickerbutton-color-border: var(--slds-c-colorpickerbutton-color-border-hover);
246
246
  --slds-c-colorpickerbutton-color-foreground: var(
@@ -248,7 +248,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
248
248
  var(--sds-g-color-brand-base-30, #014486)
249
249
  );
250
250
  }
251
- :host([data-render-mode="shadow"]) [part~='color-picker-button']:focus {
251
+ :host([data-render-mode="shadow"]) [part='color-picker-button']:focus {
252
252
  --slds-c-colorpickerbutton-shadow: var(
253
253
  --slds-c-colorpickerbutton-shadow-focus,
254
254
  0 0 3px var(--sds-g-color-brand-base-50, #0176d3)
@@ -257,7 +257,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
257
257
  outline: 0;
258
258
  }
259
259
 
260
- :host([data-render-mode="shadow"]) [part~='color-picker-button']:active {
260
+ :host([data-render-mode="shadow"]) [part='color-picker-button']:active {
261
261
  --slds-c-colorpickerbutton-color-background: var(--slds-c-colorpickerbutton-color-background-active);
262
262
  --slds-c-colorpickerbutton-color-border: var(
263
263
  --slds-c-colorpickerbutton-color-border-active,
@@ -271,7 +271,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
271
271
  outline: 0;
272
272
  }
273
273
 
274
- :host([data-render-mode="shadow"]) [part~='color-picker-button'] .slds-swatch {
274
+ :host([data-render-mode="shadow"]) [part='color-picker-button'] .slds-swatch {
275
275
  display: inline-block;
276
276
  vertical-align: middle;
277
277
  height: 1.25rem;
@@ -84,7 +84,7 @@
84
84
  --slds-c-icon-color-foreground: var(--sds-g-color-neutral-base-70, #aeaeae);
85
85
  }
86
86
 
87
- :host([data-render-mode="shadow"]) [part~='boundary'] {
87
+ :host([data-render-mode="shadow"]) [part='boundary'] {
88
88
  /* --sds-c-icon-color-background: var(--slds-c-icon-color-background); */
89
89
  --sds-c-icon-radius-border: var(--slds-c-icon-radius-border, var(--sds-g-radius-border-2, 0.25rem));
90
90
  --sds-c-icon-sizing-border: var(--slds-c-icon-sizing-border);
@@ -114,7 +114,7 @@
114
114
  display: inline-flex;
115
115
  }
116
116
 
117
- :host([data-render-mode="shadow"]) [part~='icon'] {
117
+ :host([data-render-mode="shadow"]) [part='icon'] {
118
118
  --sds-c-icon-color-foreground: var(--slds-c-icon-color-foreground, var(--sds-g-color-neutral-base-100, #ffffff));
119
119
  --sds-c-icon-sizing-height: var(--slds-c-icon-sizing-height, var(--slds-c-icon-sizing, var(--sds-g-sizing-9, 2rem)));
120
120
  --sds-c-icon-sizing-width: var(--slds-c-icon-sizing-width, var(--slds-c-icon-sizing, var(--sds-g-sizing-9, 2rem)));
@@ -199,7 +199,7 @@
199
199
 
200
200
  :host([data-render-mode="shadow"]) .slds-input__icon {
201
201
  --slds-c-icon-sizing: calc(var(--sds-g-sizing-1, 0.125rem) + var(--sds-g-sizing-4, 0.75rem));
202
-
202
+
203
203
  position: absolute;
204
204
  top: 50%;
205
205
  margin-block-start: -0.4375rem;