lightning-base-components 1.18.1-alpha → 1.18.2-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 (215) hide show
  1. package/metadata/raptor.json +5 -0
  2. package/package.json +43 -1
  3. package/scopedImports/@salesforce-internal-core.appVersion.js +1 -1
  4. package/src/lightning/accordion/accordion.css +12 -0
  5. package/src/lightning/accordion/accordion.html +3 -1
  6. package/src/lightning/accordion/accordion.js +4 -2
  7. package/src/lightning/accordion/accordion.slds.css +671 -0
  8. package/src/lightning/accordionSection/accordion-section.slds.css +647 -0
  9. package/src/lightning/accordionSection/accordionSection.css +14 -0
  10. package/src/lightning/accordionSection/accordionSection.html +23 -19
  11. package/src/lightning/accordionSection/accordionSection.js +29 -2
  12. package/src/lightning/ariaObserver/__docs__/ariaObserver.md +21 -9
  13. package/src/lightning/ariaObserver/ariaObserver.js +185 -154
  14. package/src/lightning/ariaObserver/polyfill.js +639 -0
  15. package/src/lightning/avatar/avatar.css +2 -0
  16. package/src/lightning/avatar/avatar.html +2 -0
  17. package/src/lightning/avatar/avatar.js +18 -15
  18. package/src/lightning/avatar/avatar.slds.css +272 -0
  19. package/src/lightning/baseCombobox/base-combobox.slds.css +1585 -0
  20. package/src/lightning/baseCombobox/baseCombobox.css +11 -1
  21. package/src/lightning/baseCombobox/baseCombobox.html +154 -146
  22. package/src/lightning/baseCombobox/baseCombobox.js +82 -46
  23. package/src/lightning/baseCombobox/spinner.slds.css +438 -0
  24. package/src/lightning/baseComboboxItem/baseComboboxItem.js +4 -2
  25. package/src/lightning/baseComboboxItem/inline.css +2 -0
  26. package/src/lightning/breadcrumb/breadcrumb.css +2 -2
  27. package/src/lightning/breadcrumb/breadcrumb.js +4 -2
  28. package/src/lightning/breadcrumb/breadcrumb.slds.css +2 -7
  29. package/src/lightning/breadcrumbs/breadcrumbs.css +2 -2
  30. package/src/lightning/breadcrumbs/breadcrumbs.js +3 -2
  31. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +7 -1
  32. package/src/lightning/button/__examples__/inverse/inverse.css +8 -0
  33. package/src/lightning/button/__examples__/inverse/inverse.html +3 -2
  34. package/src/lightning/button/button.css +2 -0
  35. package/src/lightning/button/button.html +4 -2
  36. package/src/lightning/button/button.js +21 -0
  37. package/src/lightning/button/button.slds.css +527 -0
  38. package/src/lightning/buttonGroup/buttonGroup.css +2 -2
  39. package/src/lightning/buttonGroup/buttonGroup.js +3 -2
  40. package/src/lightning/buttonIcon/button-icon.slds.css +215 -453
  41. package/src/lightning/buttonIcon/buttonIcon.css +2 -2
  42. package/src/lightning/buttonIcon/buttonIcon.js +4 -0
  43. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +215 -453
  44. package/src/lightning/buttonIconStateful/buttonIconStateful.css +2 -2
  45. package/src/lightning/buttonMenu/{dropdown.slds.css → button-menu.slds.css} +853 -217
  46. package/src/lightning/buttonMenu/buttonMenu.css +2 -2
  47. package/src/lightning/buttonMenu/buttonMenu.html +2 -2
  48. package/src/lightning/buttonMenu/buttonMenu.js +10 -14
  49. package/src/lightning/buttonStateful/button-stateful.slds.css +225 -457
  50. package/src/lightning/buttonStateful/buttonStateful.css +2 -2
  51. package/src/lightning/buttonStateful/buttonStateful.js +3 -2
  52. package/src/lightning/calendar/__examples__/basic/basic.html +7 -0
  53. package/src/lightning/calendar/__examples__/basic/basic.js +3 -0
  54. package/src/lightning/calendar/calendar.css +3 -0
  55. package/src/lightning/calendar/calendar.html +12 -9
  56. package/src/lightning/calendar/calendar.js +15 -1
  57. package/src/lightning/calendar/calendar.slds.css +2048 -0
  58. package/src/lightning/card/card.css +2 -2
  59. package/src/lightning/card/card.js +3 -2
  60. package/src/lightning/card/card.slds.css +141 -88
  61. package/src/lightning/colorPickerCustom/colorPickerCustom.css +2 -2
  62. package/src/lightning/colorPickerCustom/colorPickerCustom.js +3 -2
  63. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +11 -38
  64. package/src/lightning/colorPickerPanel/colorPickerPanel.css +3 -2
  65. package/src/lightning/colorPickerPanel/colorPickerPanel.js +4 -2
  66. package/src/lightning/colorPickerPanel/popover.slds.css +121 -0
  67. package/src/lightning/combobox/combobox.css +4 -0
  68. package/src/lightning/combobox/combobox.html +31 -29
  69. package/src/lightning/combobox/combobox.js +21 -4
  70. package/src/lightning/combobox/combobox.slds.css +13 -0
  71. package/src/lightning/combobox/form-element.slds.css +281 -0
  72. package/src/lightning/configProvider/defaultConfig.js +2 -1
  73. package/src/lightning/datepicker/datepicker.css +3 -0
  74. package/src/lightning/datepicker/datepicker.html +7 -4
  75. package/src/lightning/datepicker/datepicker.js +73 -19
  76. package/src/lightning/datepicker/form-element.slds.css +281 -0
  77. package/src/lightning/datepicker/input-text.slds.css +398 -0
  78. package/src/lightning/datetimepicker/datetimepicker.css +3 -0
  79. package/src/lightning/datetimepicker/datetimepicker.html +9 -3
  80. package/src/lightning/datetimepicker/datetimepicker.js +39 -35
  81. package/src/lightning/datetimepicker/form-element.slds.css +281 -0
  82. package/src/lightning/datetimepicker/input-text.slds.css +398 -0
  83. package/src/lightning/dualListbox/dualListbox.css +2 -2
  84. package/src/lightning/dualListbox/dualListbox.html +3 -3
  85. package/src/lightning/dualListbox/dualListbox.js +31 -6
  86. package/src/lightning/dualListbox/form-element.slds.css +83 -34
  87. package/src/lightning/dualListbox/keyboard.js +20 -1
  88. package/src/lightning/dynamicIcon/dynamicIcon.js +3 -2
  89. package/src/lightning/dynamicIcon/ellie.css +1 -1
  90. package/src/lightning/dynamicIcon/eq.css +1 -1
  91. package/src/lightning/dynamicIcon/score.css +1 -1
  92. package/src/lightning/dynamicIcon/strength.css +1 -1
  93. package/src/lightning/dynamicIcon/trend.css +1 -1
  94. package/src/lightning/dynamicIcon/waffle.css +1 -1
  95. package/src/lightning/formattedRichText/linkify.js +2 -2
  96. package/src/lightning/helptext/form-element.slds.css +83 -34
  97. package/src/lightning/helptext/help-text.slds.css +215 -453
  98. package/src/lightning/helptext/helptext.css +2 -2
  99. package/src/lightning/helptext/helptext.js +3 -2
  100. package/src/lightning/i18nCldrOptions/README.md +5 -0
  101. package/src/lightning/i18nService/README.md +5 -0
  102. package/src/lightning/icon/icon.css +2 -2
  103. package/src/lightning/icon/icon.js +16 -2
  104. package/src/lightning/icon/icon.slds.css +29 -17
  105. package/src/lightning/icon/iconColors.js +1 -0
  106. package/src/lightning/input/__examples__/text/text.html +0 -1
  107. package/src/lightning/input/form-element.slds.css +281 -0
  108. package/src/lightning/input/input-checkbox.slds.css +3 -12
  109. package/src/lightning/input/input-text.slds.css +239 -128
  110. package/src/lightning/input/input.css +2 -1
  111. package/src/lightning/input/input.html +8 -8
  112. package/src/lightning/input/input.js +107 -73
  113. package/src/lightning/internationalizationLibrary/README.md +24 -0
  114. package/src/lightning/internationalizationLibrary/utils.js +4 -1
  115. package/src/lightning/layout/__docs__/layout.md +1 -1
  116. package/src/lightning/layout/__examples__/simple/simple.css +1 -1
  117. package/src/lightning/layout/layout.css +5 -1
  118. package/src/lightning/layout/layout.js +4 -2
  119. package/src/lightning/layoutItem/__examples__/alignmentBump/alignmentBump.css +1 -1
  120. package/src/lightning/layoutItem/__examples__/sizePerDevice/sizePerDevice.css +0 -1
  121. package/src/lightning/layoutItem/layoutItem.css +5 -0
  122. package/src/lightning/layoutItem/layoutItem.js +4 -2
  123. package/src/lightning/menuDivider/menu-divider.slds.css +15 -0
  124. package/src/lightning/menuDivider/menuDivider.css +3 -0
  125. package/src/lightning/menuDivider/menuDivider.html +1 -1
  126. package/src/lightning/menuDivider/menuDivider.js +4 -2
  127. package/src/lightning/menuItem/menu-item.slds.css +140 -0
  128. package/src/lightning/menuItem/menuItem.css +3 -0
  129. package/src/lightning/menuItem/menuItem.html +43 -41
  130. package/src/lightning/menuItem/menuItem.js +4 -4
  131. package/src/lightning/menuSubheader/menu-subheader.slds.css +22 -0
  132. package/src/lightning/menuSubheader/menuSubheader.css +3 -0
  133. package/src/lightning/menuSubheader/menuSubheader.html +3 -1
  134. package/src/lightning/menuSubheader/menuSubheader.js +4 -6
  135. package/src/lightning/modal/__docs__/modal.md +3 -1
  136. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +267 -0
  137. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +1165 -0
  138. package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +131 -0
  139. package/src/lightning/modal/modal.js +1 -1
  140. package/src/lightning/pill/avatar.slds.css +272 -0
  141. package/src/lightning/pill/link.css +3 -0
  142. package/src/lightning/pill/link.html +1 -1
  143. package/src/lightning/pill/pill.js +29 -9
  144. package/src/lightning/pill/pill.slds.css +168 -0
  145. package/src/lightning/pill/plain.css +3 -0
  146. package/src/lightning/pill/plain.html +1 -1
  147. package/src/lightning/pill/plainLink.css +3 -0
  148. package/src/lightning/pill/plainLink.html +1 -1
  149. package/src/lightning/pillContainer/barePillContainer.css +3 -0
  150. package/src/lightning/pillContainer/barePillContainer.html +1 -2
  151. package/src/lightning/pillContainer/listbox.slds.css +267 -0
  152. package/src/lightning/pillContainer/pill-container.slds.css +22 -0
  153. package/src/lightning/pillContainer/pill.slds.css +168 -0
  154. package/src/lightning/pillContainer/pillContainer.js +7 -3
  155. package/src/lightning/pillContainer/standardPillContainer.css +4 -0
  156. package/src/lightning/pillContainer/standardPillContainer.html +2 -2
  157. package/src/lightning/popup/popover.slds.css +119 -119
  158. package/src/lightning/popup/popup.css +1 -2
  159. package/src/lightning/popup/popup.js +3 -2
  160. package/src/lightning/positionLibrary/elementProxy.js +7 -2
  161. package/src/lightning/positionLibrary/util.js +8 -0
  162. package/src/lightning/primitiveBubble/primitiveBubble.css +2 -2
  163. package/src/lightning/primitiveBubble/primitiveBubble.js +4 -2
  164. package/src/lightning/primitiveButton/primitiveButton.js +5 -4
  165. package/src/lightning/primitiveCellFactory/cellWithStandardLayout.html +29 -21
  166. package/src/lightning/primitiveCellFactory/primitiveCellFactory.js +4 -0
  167. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +31 -19
  168. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.css +2 -2
  169. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +5 -3
  170. package/src/lightning/primitiveIcon/icon.slds.css +209 -0
  171. package/src/lightning/primitiveIcon/primitiveIcon.css +2 -1
  172. package/src/lightning/primitiveIcon/primitiveIcon.html +1 -1
  173. package/src/lightning/primitiveIcon/primitiveIcon.js +18 -11
  174. package/src/lightning/progressStep/progressStep.js +10 -13
  175. package/src/lightning/radioGroup/radioGroup.css +2 -1
  176. package/src/lightning/radioGroup/radioGroup.js +4 -2
  177. package/src/lightning/select/form-element.slds.css +83 -34
  178. package/src/lightning/select/select.css +2 -2
  179. package/src/lightning/select/select.js +4 -2
  180. package/src/lightning/select/select.slds.css +86 -34
  181. package/src/lightning/sldsCommon/sldsCommon.css +135 -75
  182. package/src/lightning/spinner/spinner.css +2 -2
  183. package/src/lightning/spinner/spinner.js +4 -2
  184. package/src/lightning/tabBar/tab-bar.slds.css +334 -0
  185. package/src/lightning/tabBar/tabBar.css +2 -0
  186. package/src/lightning/tabBar/tabBar.html +4 -3
  187. package/src/lightning/tabBar/tabBar.js +30 -3
  188. package/src/lightning/tabset/tabset.html +5 -4
  189. package/src/lightning/tabset/tabset.js +29 -11
  190. package/src/lightning/timepicker/form-element.slds.css +281 -0
  191. package/src/lightning/timepicker/timepicker.css +3 -0
  192. package/src/lightning/timepicker/timepicker.html +5 -1
  193. package/src/lightning/timepicker/timepicker.js +18 -15
  194. package/src/lightning/timepicker/timepicker.slds.css +18 -0
  195. package/src/lightning/tooltipLibrary/tooltipLibrary.js +21 -19
  196. package/src/lightning/utilsPrivate/browser.js +5 -3
  197. package/src/lightning/utilsPrivate/os.js +6 -4
  198. package/src/lightning/utilsPrivate/ssr.js +4 -0
  199. package/src/lightning/utilsPrivate/utilsPrivate.js +2 -0
  200. package/src/lightning/verticalNavigation/verticalNavigation.css +2 -1
  201. package/src/lightning/verticalNavigation/verticalNavigation.js +3 -2
  202. package/src/lightning/verticalNavigationSection/verticalNavigationSection.css +2 -1
  203. package/src/lightning/verticalNavigationSection/verticalNavigationSection.js +3 -2
  204. package/src/lightning/accordion/__perf__DISABLED/accordion-perf-utils.js +0 -76
  205. package/src/lightning/accordion/__perf__DISABLED/accordion10Multiple25SectionEach.perf.js +0 -57
  206. package/src/lightning/accordion/__perf__DISABLED/accordion10Simple25SectionEach.perf.js +0 -37
  207. package/src/lightning/accordion/__perf__DISABLED/accordionMultiple50Section.perf.js +0 -45
  208. package/src/lightning/accordion/__perf__DISABLED/accordionSimple50Section.perf.js +0 -35
  209. package/src/lightning/accordion/__perf__DISABLED/container/container.html +0 -15
  210. package/src/lightning/accordion/__perf__DISABLED/container/container.js +0 -7
  211. package/src/lightning/positionLibrary/__component__/positionLibraryBounding.spec.js +0 -319
  212. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.css +0 -16
  213. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.html +0 -36
  214. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.js +0 -122
  215. /package/src/lightning/{baseCombobox → baseComboboxItem}/listbox.slds.css +0 -0
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <span>
2
+ <span part="pill">
3
3
  <template if:true={_hasMedia}>
4
4
  <span class="slds-pill__icon_container">
5
5
  <slot></slot>
@@ -0,0 +1,3 @@
1
+ @import 'lightning/sldsCommon';
2
+ @import './pill.slds.css';
3
+ @import './pill-container.slds.css';
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class={computedWrapperClass}>
2
+ <div class={computedWrapperClass} part="listbox pill-container">
3
3
  <template if:true={_showMore}>
4
4
  <span class="slds-listbox-toggle" aria-hidden="true">
5
5
  <button class="slds-button" tabindex="-1" onclick={handleMoreClick}>
@@ -33,7 +33,6 @@
33
33
  fallback-icon-name={pillViewModel.pill.item.fallbackIconName}
34
34
  variant={pillViewModel.pill.item.variant}
35
35
  size="x-small"
36
- class="slds-icon_container"
37
36
  alternative-text={pillViewModel.pill.item.alternativeText}>
38
37
  </lightning-avatar>
39
38
  </template>
@@ -0,0 +1,267 @@
1
+
2
+ @supports (--styling-hooks: '') {
3
+ :host([data-render-mode="shadow"]) [part~='listbox'] {
4
+ /* stylelint-disable sds-stylelint-plugin/styling-hooks-pattern */
5
+ --_listbox-spacing-xxx-small: 0.125rem;
6
+ /* stylelint-enable sds-stylelint-plugin/styling-hooks-pattern */
7
+ }
8
+
9
+ /* Horizontal listbox - used for pill container */
10
+ :host([data-render-mode="shadow"]) .slds-listbox_horizontal {
11
+ display: inline-flex;
12
+ flex-wrap: wrap;
13
+ align-items: center;
14
+ }
15
+
16
+ :host([data-render-mode="shadow"]) .slds-listbox_horizontal li {
17
+ display: flex;
18
+ }
19
+
20
+ :host([data-render-mode="shadow"]) .slds-listbox_horizontal li+li {
21
+ /* stylelint-disable sds-stylelint-plugin/styling-hooks-pattern */
22
+ padding-inline-start: var(--_listbox-spacing-xxx-small);
23
+ /* stylelint-enable sds-stylelint-plugin/styling-hooks-pattern */
24
+ }
25
+
26
+ /* Vertical listbox */
27
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option:focus,:host([data-render-mode="shadow"])
28
+ .slds-listbox_vertical .slds-listbox__option:hover,:host([data-render-mode="shadow"])
29
+ .slds-listbox_vertical .slds-listbox__option.slds-has-focus {
30
+ background-color: var(--sds-g-color-neutral-base-95, #f3f3f3);
31
+ text-decoration: none;
32
+ }
33
+
34
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option[aria-disabled="true"],:host([data-render-mode="shadow"])
35
+ .slds-listbox_vertical .slds-listbox__option[role="presentation"]:hover {
36
+ background-color: transparent;
37
+ cursor: default;
38
+ }
39
+
40
+ /* Modifies the listbox option if it contains an entity object */
41
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_entity {
42
+ padding-block: var(--sds-g-spacing-1, 0.25rem);
43
+ padding-inline: var(--sds-g-spacing-3, 0.75rem);
44
+ }
45
+
46
+ /* Modifies the listbox option if it contains a plain object or string */
47
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_plain {
48
+ padding-block: var(--sds-g-spacing-2, 0.5rem);
49
+ padding-inline: var(--sds-g-spacing-3, 0.75rem);
50
+ }
51
+
52
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_term {
53
+ padding-block: var(--sds-g-spacing-2, 0.5rem);
54
+ padding-inline: var(--sds-g-spacing-3, 0.75rem);
55
+ }
56
+
57
+ /* Choosable option within listbox */
58
+ :host([data-render-mode="shadow"]) .slds-listbox__option:hover {
59
+ cursor: pointer;
60
+ }
61
+
62
+ :host([data-render-mode="shadow"]) .slds-listbox__option:focus {
63
+ outline: 0;
64
+ }
65
+
66
+ :host([data-render-mode="shadow"]) .slds-listbox__option[aria-disabled="true"] {
67
+ color: var(--sds-g-color-neutral-base-80, #c9c9c9);
68
+ }
69
+
70
+ /* ------------------------------- PULL OUT FOR COMBOBOX LISTBOX-OPTION ---------------------------------------------- */
71
+
72
+ /* the _vertical variations only apply to combobox's */
73
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_entity .slds-media__figure {
74
+ margin-inline-end: var(--sds-g-spacing-2, 0.5rem);
75
+ }
76
+
77
+ /* If the listbox option has metadata or secondary information that sits below its primary text */
78
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_has-meta .slds-media__figure {
79
+ margin-block-start: var(--sds-g-spacing-1, 0.25rem);
80
+ }
81
+
82
+ :host([data-render-mode="shadow"]) .slds-listbox__option .slds-truncate {
83
+ display: inline-block;
84
+ vertical-align: middle;
85
+ }
86
+
87
+ /* Header for choosable option within listbox */
88
+ :host([data-render-mode="shadow"]) .slds-listbox__option-header {
89
+ font-size: var(--sds-g-font-scale-neg-1, 0.875rem);
90
+ font-weight: 700;
91
+ }
92
+
93
+ /* Container for listbox option icon */
94
+ :host([data-render-mode="shadow"]) .slds-listbox__option-icon {
95
+ width: var(--sds-g-sizing-7, 1.5rem);
96
+ display: inline-flex;
97
+ align-content: center;
98
+ align-items: center;
99
+ justify-content: center;
100
+ color: var(--sds-g-color-neutral-base-50, #747474);
101
+ }
102
+
103
+ :host([data-render-mode="shadow"]) .slds-listbox__option[aria-disabled="true"] .slds-listbox__option-icon {
104
+ color: currentColor;
105
+ }
106
+
107
+ /* The icon within a plain listbox that indicates if an option has been selected or not. */
108
+ :host([data-render-mode="shadow"]) .slds-listbox__icon-selected {
109
+ opacity: 0;
110
+ fill: var(--sds-g-color-brand-base-50, #0176d3);
111
+ }
112
+
113
+ /* Modifier that makes selected icon visible */
114
+ :host([data-render-mode="shadow"]) .slds-listbox__option.slds-is-selected .slds-listbox__icon-selected {
115
+ opacity: 1;
116
+ }
117
+
118
+ :host([data-render-mode="shadow"]) .slds-listbox__option.slds-is-selected .slds-listbox__option-icon {
119
+ color: var(--sds-g-color-brand-base-50, #0176d3);
120
+ }
121
+
122
+ /* The main text of an entity listbox */
123
+ :host([data-render-mode="shadow"]) .slds-listbox__option-text_entity {
124
+ max-width: 100%;
125
+ overflow: hidden;
126
+ text-overflow: ellipsis;
127
+ white-space: nowrap;
128
+ display: block;
129
+ /* stylelint-disable sds-stylelint-plugin/styling-hooks-pattern */
130
+ margin-block-end: var(--_listbox-spacing-xxx-small);
131
+ /* stylelint-enable sds-stylelint-plugin/styling-hooks-pattern */
132
+ }
133
+
134
+ /* The metadata or secondary text of an entity listbox */
135
+ :host([data-render-mode="shadow"]) .slds-listbox__option-meta {
136
+ display: block;
137
+ margin-block-start: calc(var(--sds-g-spacing-1, 0.25rem) * -1);
138
+ color: var(--sds-g-color-neutral-base-30, #444444);
139
+ }
140
+
141
+ :host([data-render-mode="shadow"]) .slds-listbox__option[aria-disabled="true"] .slds-listbox__option-meta {
142
+ color: currentColor;
143
+ }
144
+
145
+ /* -------------------- END LISTBOX OPTION CSS --------------------------------------------- */
146
+
147
+ /* ---------------------PULL OUT FOR PILL CONTAINER ---------------------------------------- */
148
+
149
+ /* The container of pill selections found inside of a combobox group */
150
+
151
+ /* .slds-listbox_selection-group items need to be moved out to pill/pill container */
152
+ :host([data-render-mode="shadow"]) .slds-listbox_selection-group {
153
+ position: relative;
154
+ padding: 0;
155
+ padding-inline-end: calc(var(--sds-g-spacing-8, 3rem) + var(--sds-g-spacing-3, 0.75rem));
156
+ height: 1.875rem;
157
+ overflow: hidden;
158
+ }
159
+
160
+ /* Expanded state of a selection group */
161
+ :host([data-render-mode="shadow"]) .slds-listbox_selection-group.slds-is-expanded {
162
+ height: auto;
163
+ padding: 0;
164
+ }
165
+
166
+ :host([data-render-mode="shadow"]) .slds-listbox_selection-group .slds-listbox {
167
+ padding-block-start: 0;
168
+ /* stylelint-disable sds-stylelint-plugin/styling-hooks-pattern */
169
+ padding-block-end: var(--_listbox-spacing-xxx-small);
170
+ /* stylelint-enable sds-stylelint-plugin/styling-hooks-pattern */
171
+ padding-inline: 0;
172
+ }
173
+
174
+ :host([data-render-mode="shadow"]) .slds-listbox_selection-group .slds-listbox-item {
175
+ /* stylelint-disable sds-stylelint-plugin/styling-hooks-pattern */
176
+ padding-block-start: var(--_listbox-spacing-xxx-small);
177
+ padding-block-end: 0;
178
+ padding-inline: var(--_listbox-spacing-xxx-small);
179
+ /* stylelint-enable sds-stylelint-plugin/styling-hooks-pattern */
180
+ }
181
+
182
+ /* Toggle button to show all of the pill selections */
183
+ :host([data-render-mode="shadow"]) .slds-listbox_selection-group .slds-listbox-toggle {
184
+ position: absolute;
185
+ top: 50%;
186
+ transform: translateY(-50%);
187
+ right: var(--sds-g-spacing-2, 0.5rem);
188
+ }
189
+
190
+ :host([data-render-mode="shadow"]) .slds-listbox_selection-group .slds-listbox-toggle .slds-button {
191
+ line-height: 1;
192
+ }
193
+
194
+ /* Media Object classes need to be pulled out for reusability */
195
+ :host([data-render-mode="shadow"]) .slds-media {
196
+ display: flex;
197
+ align-items: flex-start;
198
+ }
199
+
200
+ :host([data-render-mode="shadow"]) .slds-media__figure {
201
+ flex-shrink: 0;
202
+ margin-inline-end: var(--sds-g-spacing-3, 0.75rem);
203
+ }
204
+
205
+ :host([data-render-mode="shadow"]) .slds-media__figure_fixed-width {
206
+ min-width: var(--sds-g-sizing-10, 3rem);
207
+ }
208
+
209
+ :host([data-render-mode="shadow"]) .slds-media__body {
210
+ flex: 1;
211
+ min-width: 0;
212
+ }
213
+
214
+ :host([data-render-mode="shadow"]) .slds-media__body,:host([data-render-mode="shadow"])
215
+ .slds-media__body> :last-child {
216
+ margin-block-end: 0;
217
+ }
218
+
219
+ :host([data-render-mode="shadow"]) .slds-media-body-iefix {
220
+ flex-shrink: 0;
221
+ flex-basis: auto;
222
+ }
223
+
224
+ :host([data-render-mode="shadow"]) .slds-media_small .slds-media__figure {
225
+ margin-inline-end: var(--sds-g-spacing-1, 0.25rem);
226
+ }
227
+
228
+ :host([data-render-mode="shadow"]) .slds-media_small .slds-media__figure_reverse {
229
+ margin-inline-start: var(--sds-g-spacing-1, 0.25rem);
230
+ }
231
+
232
+ :host([data-render-mode="shadow"]) .slds-media_large .slds-media__figure {
233
+ margin-inline-end: var(--sds-g-spacing-5, 1.5rem);
234
+ }
235
+
236
+ :host([data-render-mode="shadow"]) .slds-media_large .slds-media__figure_reverse {
237
+ margin-inline-start: var(--sds-g-spacing-5, 1.5rem);
238
+ }
239
+
240
+ :host([data-render-mode="shadow"]) .slds-media_inline .slds-media__body {
241
+ flex: 0 1 auto;
242
+ }
243
+
244
+ :host([data-render-mode="shadow"]) .slds-media_center {
245
+ align-items: center;
246
+ }
247
+
248
+ :host([data-render-mode="shadow"]) .slds-media__figure_reverse {
249
+ margin-block: 0;
250
+ margin-inline-start: var(--sds-g-spacing-3, 0.75rem);
251
+ margin-inline-end: 0;
252
+ }
253
+
254
+ @media (max-width: 48em) {
255
+
256
+ :host([data-render-mode="shadow"]) .slds-media_responsive {
257
+ display: block;
258
+ }
259
+
260
+ :host([data-render-mode="shadow"]) .slds-media_responsive .slds-media__figure {
261
+ margin-block: 0;
262
+ margin-inline-start: var(--sds-g-spacing-3, 0.75rem);
263
+ margin-inline-end: 0;
264
+ }
265
+ }
266
+ }
267
+
@@ -0,0 +1,22 @@
1
+
2
+ @supports (--styling-hooks: '') {
3
+
4
+ :host([data-render-mode="shadow"]) .slds-pill_container {
5
+ display: flex;
6
+ min-height: calc(calc((var(--sds-g-sizing-1, 0.125rem) * 3) + var(--sds-g-sizing-7, 1.5rem)) + 2px);
7
+ padding-block-start: var(--slds-c-pill-container-spacing-block-start, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
8
+ padding-inline-end: var(--slds-c-pill-container-spacing-inline-end, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
9
+ padding-block-end: var(--slds-c-pill-container-spacing-block-end, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
10
+ padding-inline-start: var(--slds-c-pill-container-spacing-inline-start, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
11
+ border-width: var(--slds-c-pill-sizing-border, var(--sds-g-sizing-border-1, 1px));
12
+ border-style: solid;
13
+ border-color: var(--slds-c-pill-color-border, var(--sds-g-color-neutral-base-90, #e5e5e5));
14
+ border-radius: var(--slds-c-pill-radius-border, var(--sds-g-radius-border-2, 0.25rem));
15
+ background-color: var(--slds-c-pill-container-color-background, var(--sds-g-color-neutral-base-100, #ffffff));
16
+ }
17
+
18
+ :host([data-render-mode="shadow"]) .slds-pill_container .slds-listbox_inline {
19
+ margin-inline-start: 0;
20
+ margin-inline-end: 0;
21
+ }
22
+ }
@@ -0,0 +1,168 @@
1
+
2
+ @supports (--styling-hooks: '') {
3
+ :host([data-render-mode="shadow"]) .slds-pill {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: space-between;
7
+ line-height: var(--sds-g-font-lineheight-4, 1.5);
8
+ max-width: 100%;
9
+ padding-block-start: var(--slds-c-pill-spacing-block-start, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
10
+ padding-inline-end: var(--slds-c-pill-spacing-inline-end, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
11
+ padding-block-end: var(--slds-c-pill-spacing-block-end, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
12
+ padding-inline-start: var(--slds-c-pill-spacing-inline-start, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
13
+ border-width: var(--slds-c-pill-sizing-border, var(--sds-g-sizing-border-1, 1px));
14
+ border-style: solid;
15
+ border-color: var(--slds-c-pill-color-border, var(--sds-g-color-neutral-base-90, #e5e5e5));
16
+ border-radius: var(--slds-c-pill-radius-border, var(--sds-g-spacing-1, 0.25rem));
17
+ background-color: var(--slds-c-pill-color-background, var(--sds-g-color-neutral-base-100, #ffffff));
18
+ box-shadow: var(--slds-c-pill-shadow);
19
+ position: relative;
20
+ min-height: calc(var(--sds-g-sizing-7, 1.5rem) + var(--sds-g-sizing-1, 0.125rem));
21
+ }
22
+
23
+ :host([data-render-mode="shadow"]) .slds-pill + .slds-pill {
24
+ margin-inline-start: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
25
+ }
26
+
27
+ :host([data-render-mode="shadow"]) .slds-pill:hover {
28
+ --slds-c-pill-color-background: var(--sds-g-color-neutral-base-95, #f3f3f3);
29
+ }
30
+
31
+ :host([data-render-mode="shadow"]) .slds-pill:focus {
32
+ outline: 0;
33
+ --slds-c-pill-color-border: var(--sds-g-color-brand-base-60, #1b96ff);
34
+ --slds-c-pill-shadow: 0 0 3px var(--sds-g-color-brand-base-50, #0176d3);
35
+ }
36
+
37
+ :host([data-render-mode="shadow"]) a {
38
+ text-decoration: none;
39
+ color: var(--sds-g-color-brand-base-50, #0176d3);
40
+ }
41
+
42
+ :host([data-render-mode="shadow"]) a:hover,:host([data-render-mode="shadow"]) a:focus{
43
+ text-decoration: none;
44
+ color:var(--sds-g-color-brand-base-30, #014486);
45
+ }
46
+
47
+ :host([data-render-mode="shadow"]) a:active{
48
+ color:var(--sds-g-color-brand-base-30, #014486);
49
+ }
50
+
51
+ :host([data-render-mode="shadow"]) .slds-truncate {
52
+ max-width: 100%;
53
+ overflow: hidden;
54
+ text-overflow: ellipsis;
55
+ white-space: nowrap;
56
+ }
57
+
58
+ :host([data-render-mode="shadow"]) .slds-pill_bare {
59
+ --slds-c-pill-color-background: transparent;
60
+ --slds-c-pill-sizing-border: 0;
61
+ }
62
+
63
+ :host([data-render-mode="shadow"]) .slds-pill_bare:hover {
64
+ --slds-c-pill-color-background-: transparent;
65
+ }
66
+
67
+ :host([data-render-mode="shadow"]) .slds-pill__label {
68
+ white-space: nowrap;
69
+ overflow: hidden;
70
+ text-overflow: ellipsis;
71
+ }
72
+
73
+ :host([data-render-mode="shadow"]) .slds-pill__label:focus {
74
+ outline: 0;
75
+ border-radius: var(--sds-g-radius-border-2, 0.25rem);
76
+ box-shadow: var(--slds-c-pill-label-shadow-focus, 0 0 3px var(--sds-g-color-brand-base-50, #0176d3));
77
+ }
78
+
79
+ :host([data-render-mode="shadow"]) .slds-pill__icon,:host([data-render-mode="shadow"])
80
+ .slds-pill__icon_container {
81
+ width: var(--sds-g-sizing-6, 1.25rem);
82
+ height: var(--sds-g-sizing-6, 1.25rem);
83
+ margin-inline-end: var(--sds-g-spacing-1, 0.25rem);
84
+ }
85
+
86
+ :host([data-render-mode="shadow"]) .slds-pill ::slotted(*) {
87
+ --slds-c-avatar-sizing: var(--sds-g-sizing-6, 1.25rem);
88
+ --slds-c-icon-sizing: calc(var(--sds-g-sizing-6, 1.25rem) - var(--sds-g-sizing-border-2, 2px));
89
+
90
+ color: var(--slds-c-pill-text-color, var(--sds-g-color-neutral-base-100, #ffffff));
91
+ display: block;
92
+ font-size: var(--sds-g-font-scale-neg-4, 0.625rem);
93
+ }
94
+
95
+ :host([data-render-mode="shadow"]) .slds-pill__icon ~ .slds-pill__action,:host([data-render-mode="shadow"])
96
+ .slds-pill__icon_container ~ .slds-pill__action {
97
+ padding-inline-start: calc(var(--sds-g-spacing-5, 1.5rem) + 2px);
98
+ }
99
+
100
+ :host([data-render-mode="shadow"]) .slds-pill__remove {
101
+ width: var(--sds-g-sizing-5, 1rem);
102
+ height: var(--sds-g-sizing-5, 1rem);
103
+ display: inline-flex;
104
+ align-items: center;
105
+ justify-content: center;
106
+ margin-inline-start: var(--sds-g-sizing-2, 0.25rem);
107
+ border-radius: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
108
+ }
109
+
110
+ :host([data-render-mode="shadow"]) .slds-pill__remove svg {
111
+ width: calc(var(--sds-g-sizing-1, 0.125rem) * 3);
112
+ height: calc(var(--sds-g-sizing-1, 0.125rem) * 3);
113
+ }
114
+
115
+ :host([data-render-mode="shadow"]) .slds-pill_link {
116
+ border: 0;
117
+ padding: 0;
118
+ }
119
+
120
+ :host([data-render-mode="shadow"]) .slds-pill_link .slds-pill__icon_container {
121
+ display: inline-block;
122
+ position: absolute;
123
+ top: 50%;
124
+ left: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
125
+ transform: translateY(-50%);
126
+ }
127
+
128
+ :host([data-render-mode="shadow"]) .slds-pill_link .slds-pill__remove {
129
+ position: absolute;
130
+ top: 50%;
131
+ right: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
132
+ transform: translateY(-50%);
133
+ }
134
+
135
+ :host([data-render-mode="shadow"]) .slds-pill__action {
136
+ padding-block-start: var(--slds-c-pill-spacing-block-start, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
137
+ padding-inline-end: var(--slds-c-pill-spacing-inline-end, calc((var(--sds-g-spacing-2, 0.5rem) / 2) + 1rem));
138
+ padding-block-end: var(--slds-c-pill-spacing-block-end, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
139
+ padding-inline-start: var(--slds-c-pill-spacing-inline-start, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
140
+ border-width: var(--slds-c-pill-sizing-border, 1px);
141
+ border-style: solid;
142
+ border-color: var(--slds-c-pill-color-border, var(--sds-g-color-neutral-base-90, #e5e5e5));
143
+ border-radius: var(--slds-c-pill-radius-border, var(--sds-g-radius-border-2, 0.25rem));
144
+ white-space: nowrap;
145
+ overflow: hidden;
146
+ text-overflow: ellipsis;
147
+ flex-grow: 1;
148
+ }
149
+
150
+ :host([data-render-mode="shadow"]) .slds-pill__action:focus {
151
+ outline: 0;
152
+ border-color: var(--slds-c-pill-action-color-border, var(--sds-g-color-brand-base-60, #1b96ff));
153
+ box-shadow: var(--slds-c-pill-action-shadow, 0 0 3px var(--sds-g-color-brand-base-50, #0176d3));
154
+ }
155
+
156
+ :host([data-render-mode="shadow"]) .slds-has-error {
157
+ border-color: var(--slds-c-pill-error-color-border, var(--sds-g-color-error-base-50, #ea001e));
158
+ }
159
+
160
+ :host([data-render-mode="shadow"]) .slds-has-error:active {
161
+ border-color: var(--slds-c-pill-error-color-border-active, var(--sds-g-color-error-base-50, #ea001e));
162
+ }
163
+
164
+ :host([data-render-mode="shadow"]) .slds-has-error .slds-pill__label {
165
+ font-weight: var(--sds-g-font-weight-7, 700);
166
+ color: var(--sds-g-color-error-base-50, #ea001e);
167
+ }
168
+ }
@@ -1,11 +1,13 @@
1
1
  import labelContainerLabel from '@salesforce/label/LightningPillContainer.label';
2
2
  import pillContainerMoreLabel from '@salesforce/label/LightningPillContainer.more';
3
- import { LightningElement, api, track } from 'lwc';
3
+ import { api, track } from 'lwc';
4
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
4
5
  import LightningPillItem from './pillItem';
5
6
  import {
6
7
  keyCodes,
7
8
  normalizeBoolean,
8
9
  normalizeString,
10
+ reflectAttribute,
9
11
  } from 'lightning/utilsPrivate';
10
12
  import { LightningResizeObserver } from 'lightning/resizeObserver';
11
13
  import formFactor from '@salesforce/client/formFactor';
@@ -23,7 +25,7 @@ const i18n = {
23
25
  /**
24
26
  * A list of pills grouped in a container. This component requires API version 42.0 and later.
25
27
  */
26
- export default class LightningPillContainer extends LightningElement {
28
+ export default class LightningPillContainer extends LightningShadowBaseClass {
27
29
  /**
28
30
  * Aria label for the pill container to describe the list of options.
29
31
  * @type {string}
@@ -40,6 +42,7 @@ export default class LightningPillContainer extends LightningElement {
40
42
  @track _pillContainerElementId;
41
43
 
42
44
  connectedCallback() {
45
+ super.connectedCallback();
43
46
  this._connected = true;
44
47
  }
45
48
 
@@ -119,7 +122,7 @@ export default class LightningPillContainer extends LightningElement {
119
122
  */
120
123
  @api
121
124
  get variant() {
122
- return this._variant || 'standard';
125
+ return this._variant || STANDARD;
123
126
  }
124
127
 
125
128
  set variant(value) {
@@ -127,6 +130,7 @@ export default class LightningPillContainer extends LightningElement {
127
130
  fallbackValue: STANDARD,
128
131
  validValues: [STANDARD, BARE],
129
132
  });
133
+ reflectAttribute(this, 'variant', this._variant);
130
134
  }
131
135
 
132
136
  /**
@@ -0,0 +1,4 @@
1
+ @import 'lightning/sldsCommon';
2
+ @import './pill.slds.css';
3
+ @import './pill-container.slds.css';
4
+ @import './listbox.slds.css';
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class={computedWrapperClass}>
2
+ <div class={computedWrapperClass} part="listbox pill-container">
3
3
  <template if:true={_showMore}>
4
4
  <span class="slds-listbox-toggle" aria-hidden="true"><button class="slds-button" tabindex="-1" onclick={handleMoreClick}>{computedPillCountMoreLabel}</button></span>
5
5
  </template>
@@ -10,6 +10,7 @@
10
10
  aria-orientation="horizontal"
11
11
  onclick={handleClick}
12
12
  onkeydown={handleKeyDown}
13
+ part="listbox"
13
14
  >
14
15
  <template for:each={pillViewModels} for:item="pillViewModel" for:index="index">
15
16
  <li key={pillViewModel.pill.item.label} class="slds-listbox-item" role="presentation">
@@ -36,7 +37,6 @@
36
37
  fallback-icon-name={pillViewModel.pill.item.fallbackIconName}
37
38
  variant={pillViewModel.pill.item.variant}
38
39
  size="x-small"
39
- class="slds-icon_container"
40
40
  alternative-text={pillViewModel.pill.item.alternativeText}>
41
41
  </lightning-avatar>
42
42
  </template>