lightning-base-components 1.18.1-alpha → 1.18.3-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 (298) hide show
  1. package/metadata/raptor.json +9 -0
  2. package/package.json +57 -1
  3. package/src/lightning/accordion/__docs__/accordion.md +2 -2
  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/__docs__/avatar.md +7 -7
  16. package/src/lightning/avatar/avatar.css +2 -0
  17. package/src/lightning/avatar/avatar.html +2 -0
  18. package/src/lightning/avatar/avatar.js +18 -15
  19. package/src/lightning/avatar/avatar.slds.css +272 -0
  20. package/src/lightning/badge/__docs__/badge.md +2 -2
  21. package/src/lightning/baseCombobox/base-combobox.slds.css +1585 -0
  22. package/src/lightning/baseCombobox/baseCombobox.css +11 -1
  23. package/src/lightning/baseCombobox/baseCombobox.html +154 -146
  24. package/src/lightning/baseCombobox/baseCombobox.js +122 -46
  25. package/src/lightning/baseCombobox/spinner.slds.css +438 -0
  26. package/src/lightning/baseComboboxItem/baseComboboxItem.js +4 -2
  27. package/src/lightning/baseComboboxItem/inline.css +2 -0
  28. package/src/lightning/breadcrumb/breadcrumb.css +2 -2
  29. package/src/lightning/breadcrumb/breadcrumb.js +4 -2
  30. package/src/lightning/breadcrumb/breadcrumb.slds.css +2 -7
  31. package/src/lightning/breadcrumbs/__docs__/breadcrumbs.md +3 -3
  32. package/src/lightning/breadcrumbs/breadcrumbs.css +2 -2
  33. package/src/lightning/breadcrumbs/breadcrumbs.js +3 -2
  34. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +7 -1
  35. package/src/lightning/button/__docs__/button.md +15 -15
  36. package/src/lightning/button/__examples__/inverse/inverse.css +8 -0
  37. package/src/lightning/button/__examples__/inverse/inverse.html +3 -2
  38. package/src/lightning/button/button.css +2 -0
  39. package/src/lightning/button/button.html +4 -2
  40. package/src/lightning/button/button.js +21 -0
  41. package/src/lightning/button/button.slds.css +527 -0
  42. package/src/lightning/buttonGroup/buttonGroup.css +2 -2
  43. package/src/lightning/buttonGroup/buttonGroup.js +3 -2
  44. package/src/lightning/buttonIcon/__docs__/buttonIcon.md +9 -9
  45. package/src/lightning/buttonIcon/button-icon.slds.css +215 -453
  46. package/src/lightning/buttonIcon/buttonIcon.css +2 -2
  47. package/src/lightning/buttonIcon/buttonIcon.js +4 -0
  48. package/src/lightning/buttonIconStateful/__docs__/buttonIconStateful.md +9 -9
  49. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +215 -453
  50. package/src/lightning/buttonIconStateful/buttonIconStateful.css +2 -2
  51. package/src/lightning/buttonMenu/__docs__/buttonMenu.md +8 -8
  52. package/src/lightning/buttonMenu/{dropdown.slds.css → button-menu.slds.css} +853 -217
  53. package/src/lightning/buttonMenu/buttonMenu.css +2 -2
  54. package/src/lightning/buttonMenu/buttonMenu.html +2 -2
  55. package/src/lightning/buttonMenu/buttonMenu.js +10 -14
  56. package/src/lightning/buttonStateful/__docs__/buttonStateful.md +12 -12
  57. package/src/lightning/buttonStateful/button-stateful.slds.css +225 -457
  58. package/src/lightning/buttonStateful/buttonStateful.css +2 -2
  59. package/src/lightning/buttonStateful/buttonStateful.js +3 -2
  60. package/src/lightning/calendar/__examples__/basic/basic.html +7 -0
  61. package/src/lightning/calendar/__examples__/basic/basic.js +3 -0
  62. package/src/lightning/calendar/calendar.css +3 -0
  63. package/src/lightning/calendar/calendar.html +12 -9
  64. package/src/lightning/calendar/calendar.js +18 -2
  65. package/src/lightning/calendar/calendar.slds.css +2048 -0
  66. package/src/lightning/card/__docs__/card.md +3 -3
  67. package/src/lightning/card/card.css +2 -2
  68. package/src/lightning/card/card.js +3 -2
  69. package/src/lightning/card/card.slds.css +141 -88
  70. package/src/lightning/checkboxGroup/__docs__/checkboxGroup.md +2 -2
  71. package/src/lightning/colorPickerCustom/colorPickerCustom.css +2 -2
  72. package/src/lightning/colorPickerCustom/colorPickerCustom.js +3 -2
  73. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +11 -38
  74. package/src/lightning/colorPickerPanel/colorPickerPanel.css +3 -2
  75. package/src/lightning/colorPickerPanel/colorPickerPanel.js +4 -2
  76. package/src/lightning/colorPickerPanel/popover.slds.css +121 -0
  77. package/src/lightning/combobox/combobox.css +4 -0
  78. package/src/lightning/combobox/combobox.html +31 -29
  79. package/src/lightning/combobox/combobox.js +21 -4
  80. package/src/lightning/combobox/combobox.slds.css +13 -0
  81. package/src/lightning/combobox/form-element.slds.css +281 -0
  82. package/src/lightning/configProvider/defaultConfig.js +2 -1
  83. package/src/lightning/datatable/__docs__/datatable.md +45 -35
  84. package/src/lightning/datatable/autoWidthStrategy.js +3 -0
  85. package/src/lightning/datatable/columnWidthManager.js +1 -1
  86. package/src/lightning/datatable/datatable.js +8 -7
  87. package/src/lightning/datatable/rowSelection.js +7 -4
  88. package/src/lightning/datatable/templates/table/table.html +1 -0
  89. package/src/lightning/datepicker/datepicker.css +3 -0
  90. package/src/lightning/datepicker/datepicker.html +7 -4
  91. package/src/lightning/datepicker/datepicker.js +76 -20
  92. package/src/lightning/datepicker/form-element.slds.css +281 -0
  93. package/src/lightning/datepicker/input-text.slds.css +398 -0
  94. package/src/lightning/datetimepicker/datetimepicker.css +3 -0
  95. package/src/lightning/datetimepicker/datetimepicker.html +9 -3
  96. package/src/lightning/datetimepicker/datetimepicker.js +42 -36
  97. package/src/lightning/datetimepicker/form-element.slds.css +281 -0
  98. package/src/lightning/datetimepicker/input-text.slds.css +398 -0
  99. package/src/lightning/dualListbox/dualListbox.css +2 -2
  100. package/src/lightning/dualListbox/dualListbox.html +3 -3
  101. package/src/lightning/dualListbox/dualListbox.js +47 -13
  102. package/src/lightning/dualListbox/form-element.slds.css +83 -34
  103. package/src/lightning/dualListbox/keyboard.js +20 -1
  104. package/src/lightning/dynamicIcon/dynamicIcon.js +3 -2
  105. package/src/lightning/dynamicIcon/ellie.css +1 -1
  106. package/src/lightning/dynamicIcon/eq.css +1 -1
  107. package/src/lightning/dynamicIcon/score.css +1 -1
  108. package/src/lightning/dynamicIcon/strength.css +1 -1
  109. package/src/lightning/dynamicIcon/trend.css +1 -1
  110. package/src/lightning/dynamicIcon/waffle.css +1 -1
  111. package/src/lightning/formattedRichText/formatted-rich-text.slds.css +230 -0
  112. package/src/lightning/formattedRichText/formattedRichText.css +2 -0
  113. package/src/lightning/formattedRichText/formattedRichText.js +4 -2
  114. package/src/lightning/formattedRichText/linkify.js +2 -2
  115. package/src/lightning/formattedText/formattedText.css +1 -0
  116. package/src/lightning/formattedText/formattedText.js +3 -2
  117. package/src/lightning/helptext/__docs__/helptext.md +2 -2
  118. package/src/lightning/helptext/form-element.slds.css +83 -34
  119. package/src/lightning/helptext/help-text.slds.css +215 -453
  120. package/src/lightning/helptext/helptext.css +2 -2
  121. package/src/lightning/helptext/helptext.js +3 -2
  122. package/src/lightning/i18nCldrOptions/README.md +5 -0
  123. package/src/lightning/i18nService/README.md +5 -0
  124. package/src/lightning/icon/__docs__/icon.md +5 -5
  125. package/src/lightning/icon/icon.css +2 -2
  126. package/src/lightning/icon/icon.js +21 -2
  127. package/src/lightning/icon/icon.slds.css +29 -17
  128. package/src/lightning/icon/iconColors.js +1 -0
  129. package/src/lightning/iconUtils/iconUtils.js +0 -12
  130. package/src/lightning/iconUtils/polyfill.js +5 -90
  131. package/src/lightning/input/__docs__/input.md +7 -7
  132. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.css +6 -0
  133. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.html +2 -1
  134. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.js +1 -1
  135. package/src/lightning/input/__examples__/number/number.html +0 -5
  136. package/src/lightning/input/__examples__/text/text.html +0 -1
  137. package/src/lightning/input/form-element.slds.css +281 -0
  138. package/src/lightning/input/input.css +2 -3
  139. package/src/lightning/input/input.html +154 -244
  140. package/src/lightning/input/input.js +306 -595
  141. package/src/lightning/inputAddress/__docs__/inputAddress.md +3 -3
  142. package/src/lightning/inputUtils/inputUtils.js +15 -20
  143. package/src/lightning/inputUtils/normalize.js +7 -0
  144. package/src/lightning/{input/numberUtil.js → inputUtils/number.js} +1 -1
  145. package/src/lightning/inputUtils/utils.js +18 -0
  146. package/src/lightning/internationalizationLibrary/README.md +24 -0
  147. package/src/lightning/internationalizationLibrary/utils.js +4 -1
  148. package/src/lightning/layout/__docs__/layout.md +1 -1
  149. package/src/lightning/layout/__examples__/simple/simple.css +1 -1
  150. package/src/lightning/layout/layout.css +5 -1
  151. package/src/lightning/layout/layout.js +4 -2
  152. package/src/lightning/layoutItem/__examples__/alignmentBump/alignmentBump.css +1 -1
  153. package/src/lightning/layoutItem/__examples__/sizePerDevice/sizePerDevice.css +0 -1
  154. package/src/lightning/layoutItem/layoutItem.css +5 -0
  155. package/src/lightning/layoutItem/layoutItem.js +4 -2
  156. package/src/lightning/menuDivider/menu-divider.slds.css +15 -0
  157. package/src/lightning/menuDivider/menuDivider.css +3 -0
  158. package/src/lightning/menuDivider/menuDivider.html +1 -1
  159. package/src/lightning/menuDivider/menuDivider.js +4 -2
  160. package/src/lightning/menuItem/menu-item.slds.css +140 -0
  161. package/src/lightning/menuItem/menuItem.css +3 -0
  162. package/src/lightning/menuItem/menuItem.html +43 -41
  163. package/src/lightning/menuItem/menuItem.js +4 -4
  164. package/src/lightning/menuSubheader/menu-subheader.slds.css +22 -0
  165. package/src/lightning/menuSubheader/menuSubheader.css +3 -0
  166. package/src/lightning/menuSubheader/menuSubheader.html +3 -1
  167. package/src/lightning/menuSubheader/menuSubheader.js +4 -6
  168. package/src/lightning/modal/__docs__/modal.md +3 -1
  169. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +267 -0
  170. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +1165 -0
  171. package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +131 -0
  172. package/src/lightning/modal/modal.js +1 -1
  173. package/src/lightning/modalBody/__docs__/modalBody.md +9 -9
  174. package/src/lightning/modalFooter/__docs__/modalFooter.md +9 -9
  175. package/src/lightning/modalHeader/__docs__/modalHeader.md +9 -9
  176. package/src/lightning/overlayContainer/overlayContainer.js +4 -2
  177. package/src/lightning/pill/__docs__/pill.md +3 -3
  178. package/src/lightning/pill/avatar.slds.css +272 -0
  179. package/src/lightning/pill/link.css +3 -0
  180. package/src/lightning/pill/link.html +1 -1
  181. package/src/lightning/pill/pill.js +29 -9
  182. package/src/lightning/pill/pill.slds.css +168 -0
  183. package/src/lightning/pill/plain.css +3 -0
  184. package/src/lightning/pill/plain.html +1 -1
  185. package/src/lightning/pill/plainLink.css +3 -0
  186. package/src/lightning/pill/plainLink.html +1 -1
  187. package/src/lightning/pillContainer/__docs__/pillContainer.md +14 -14
  188. package/src/lightning/pillContainer/barePillContainer.css +3 -0
  189. package/src/lightning/pillContainer/barePillContainer.html +1 -2
  190. package/src/lightning/pillContainer/listbox.slds.css +267 -0
  191. package/src/lightning/pillContainer/pill-container.slds.css +22 -0
  192. package/src/lightning/pillContainer/pill.slds.css +168 -0
  193. package/src/lightning/pillContainer/pillContainer.js +7 -3
  194. package/src/lightning/pillContainer/standardPillContainer.css +4 -0
  195. package/src/lightning/pillContainer/standardPillContainer.html +2 -2
  196. package/src/lightning/popup/popover.slds.css +119 -119
  197. package/src/lightning/popup/popup.css +1 -2
  198. package/src/lightning/popup/popup.js +3 -2
  199. package/src/lightning/positionLibrary/elementProxy.js +7 -2
  200. package/src/lightning/positionLibrary/util.js +8 -0
  201. package/src/lightning/primitiveBubble/primitiveBubble.css +2 -2
  202. package/src/lightning/primitiveBubble/primitiveBubble.js +4 -2
  203. package/src/lightning/primitiveButton/primitiveButton.js +5 -4
  204. package/src/lightning/primitiveCellFactory/cellWithStandardLayout.html +29 -21
  205. package/src/lightning/primitiveCellFactory/primitiveCellFactory.js +4 -0
  206. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +31 -19
  207. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.css +2 -2
  208. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +5 -3
  209. package/src/lightning/primitiveIcon/icon.slds.css +209 -0
  210. package/src/lightning/primitiveIcon/primitiveIcon.css +2 -1
  211. package/src/lightning/primitiveIcon/primitiveIcon.html +1 -1
  212. package/src/lightning/primitiveIcon/primitiveIcon.js +26 -16
  213. package/src/lightning/progressStep/progressStep.js +10 -13
  214. package/src/lightning/radioGroup/__docs__/radioGroup.md +4 -4
  215. package/src/lightning/radioGroup/radioGroup.css +2 -1
  216. package/src/lightning/radioGroup/radioGroup.js +4 -2
  217. package/src/lightning/select/__docs__/select.md +2 -2
  218. package/src/lightning/select/form-element.slds.css +83 -34
  219. package/src/lightning/select/select.css +2 -2
  220. package/src/lightning/select/select.js +4 -2
  221. package/src/lightning/select/select.slds.css +86 -34
  222. package/src/lightning/shadowBaseClassPrivate/shadowBaseClassPrivate.js +1 -1
  223. package/src/lightning/sldsCommon/sldsCommon.css +251 -89
  224. package/src/lightning/sldsUtilsAlignment/sldsUtilsAlignment.css +10 -0
  225. package/src/lightning/sldsUtilsAlignment/sldsUtilsAlignment.js-meta.xml +4 -0
  226. package/src/lightning/sldsUtilsBorders/sldsUtilsBorders.css +18 -0
  227. package/src/lightning/sldsUtilsBorders/sldsUtilsBorders.js-meta.xml +4 -0
  228. package/src/lightning/sldsUtilsBox/sldsUtilsBox.css +24 -0
  229. package/src/lightning/sldsUtilsBox/sldsUtilsBox.js-meta.xml +4 -0
  230. package/src/lightning/sldsUtilsFloats/sldsUtilsFloats.css +20 -0
  231. package/src/lightning/sldsUtilsFloats/sldsUtilsFloats.js-meta.xml +4 -0
  232. package/src/lightning/sldsUtilsGrid/sldsUtilsGrid.css +259 -0
  233. package/src/lightning/sldsUtilsGrid/sldsUtilsGrid.js-meta.xml +4 -0
  234. package/src/lightning/sldsUtilsHyphenation/sldsUtilsHyphenation.css +8 -0
  235. package/src/lightning/sldsUtilsHyphenation/sldsUtilsHyphenation.js-meta.xml +4 -0
  236. package/src/lightning/sldsUtilsLineClamp/sldsUtilsLineClamp.css +57 -0
  237. package/src/lightning/sldsUtilsLineClamp/sldsUtilsLineClamp.js-meta.xml +4 -0
  238. package/src/lightning/sldsUtilsMargin/sldsUtilsMargin.css +313 -0
  239. package/src/lightning/sldsUtilsMargin/sldsUtilsMargin.js-meta.xml +4 -0
  240. package/src/lightning/sldsUtilsPadding/sldsUtilsPadding.css +308 -0
  241. package/src/lightning/sldsUtilsPadding/sldsUtilsPadding.js-meta.xml +4 -0
  242. package/src/lightning/sldsUtilsPosition/sldsUtilsPosition.css +18 -0
  243. package/src/lightning/sldsUtilsPosition/sldsUtilsPosition.js-meta.xml +4 -0
  244. package/src/lightning/sldsUtilsSizing/sldsUtilsSizing.css +1408 -0
  245. package/src/lightning/sldsUtilsSizing/sldsUtilsSizing.js-meta.xml +4 -0
  246. package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.css +295 -0
  247. package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.js-meta.xml +4 -0
  248. package/src/lightning/sldsUtilsTruncation/sldsUtilsTruncation.css +14 -0
  249. package/src/lightning/sldsUtilsTruncation/sldsUtilsTruncation.js-meta.xml +4 -0
  250. package/src/lightning/slider/__docs__/slider.md +2 -2
  251. package/src/lightning/spinner/spinner.css +2 -2
  252. package/src/lightning/spinner/spinner.js +4 -2
  253. package/src/lightning/tabBar/tab-bar.slds.css +334 -0
  254. package/src/lightning/tabBar/tabBar.css +2 -0
  255. package/src/lightning/tabBar/tabBar.html +4 -3
  256. package/src/lightning/tabBar/tabBar.js +30 -3
  257. package/src/lightning/tabset/__docs__/tabset.md +2 -2
  258. package/src/lightning/tabset/tabset.html +5 -4
  259. package/src/lightning/tabset/tabset.js +29 -11
  260. package/src/lightning/textarea/__docs__/textarea.md +2 -2
  261. package/src/lightning/timepicker/form-element.slds.css +281 -0
  262. package/src/lightning/timepicker/timepicker.css +3 -0
  263. package/src/lightning/timepicker/timepicker.html +5 -1
  264. package/src/lightning/timepicker/timepicker.js +22 -17
  265. package/src/lightning/timepicker/timepicker.slds.css +18 -0
  266. package/src/lightning/toast/toast.js-meta.xml +2 -0
  267. package/src/lightning/toastContainer/__docs__/toastContainer.md +14 -34
  268. package/src/lightning/toastContainer/toastContainer.js +10 -15
  269. package/src/lightning/tooltipLibrary/tooltipLibrary.js +32 -23
  270. package/src/lightning/utilsPrivate/browser.js +5 -3
  271. package/src/lightning/utilsPrivate/os.js +6 -4
  272. package/src/lightning/utilsPrivate/ssr.js +4 -0
  273. package/src/lightning/utilsPrivate/utilsPrivate.js +2 -0
  274. package/src/lightning/verticalNavigation/verticalNavigation.css +2 -1
  275. package/src/lightning/verticalNavigation/verticalNavigation.js +3 -2
  276. package/src/lightning/verticalNavigationSection/verticalNavigationSection.css +2 -1
  277. package/src/lightning/verticalNavigationSection/verticalNavigationSection.js +3 -2
  278. package/src/lightning/accordion/__perf__DISABLED/accordion-perf-utils.js +0 -76
  279. package/src/lightning/accordion/__perf__DISABLED/accordion10Multiple25SectionEach.perf.js +0 -57
  280. package/src/lightning/accordion/__perf__DISABLED/accordion10Simple25SectionEach.perf.js +0 -37
  281. package/src/lightning/accordion/__perf__DISABLED/accordionMultiple50Section.perf.js +0 -45
  282. package/src/lightning/accordion/__perf__DISABLED/accordionSimple50Section.perf.js +0 -35
  283. package/src/lightning/accordion/__perf__DISABLED/container/container.html +0 -15
  284. package/src/lightning/accordion/__perf__DISABLED/container/container.js +0 -7
  285. package/src/lightning/iconUtils/isIframeInEdge.js +0 -7
  286. package/src/lightning/iconUtils/supportsSvg.js +0 -16
  287. package/src/lightning/input/input-checkbox.slds.css +0 -404
  288. package/src/lightning/input/input-text.slds.css +0 -287
  289. package/src/lightning/input/normalize.js +0 -6
  290. package/src/lightning/input/selection.js +0 -131
  291. package/src/lightning/positionLibrary/__component__/positionLibraryBounding.spec.js +0 -319
  292. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.css +0 -16
  293. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.html +0 -36
  294. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.js +0 -122
  295. /package/src/lightning/{baseCombobox → baseComboboxItem}/listbox.slds.css +0 -0
  296. /package/src/lightning/formattedRichText/{__examples__disabled → __examples__}/basic/basic.html +0 -0
  297. /package/src/lightning/formattedRichText/{__examples__disabled → __examples__}/basic/basic.js +0 -0
  298. /package/src/lightning/{input/emailUtil.js → inputUtils/email.js} +0 -0
@@ -0,0 +1,267 @@
1
+ /* Contains constants for modal testing
2
+ * NOTE: there is sample Modal DOM structure for reference
3
+ * at the bottom of this file
4
+ */
5
+
6
+ // Selectors
7
+
8
+ // buttons that open modals
9
+ const BUTTON_MODAL_ALL = '[data-modal-button-all]';
10
+ const BUTTON_MODAL_ALL_TWO = '[data-modal-button-all-two]';
11
+ const BUTTON_MODAL_HEADLESS = '[data-modal-button-headless]';
12
+ const BUTTON_MODAL_HEADLESS_NO_LABEL = '[data-modal-button-headless-no-label]';
13
+ const BUTTON_MODAL_HEADLESS_TWO = '[data-modal-button-headless-two]';
14
+ const BUTTON_MODAL_FOOTLESS = '[data-modal-button-footless]';
15
+ const BUTTON_MODAL_FOOTLESS_TWO = '[data-modal-button-footless-two]';
16
+ const BUTTON_MODAL_FORM = '[data-modal-button-form]';
17
+ const BUTTON_MODAL_MULTI = '[data-modal-button-multi]';
18
+ const BUTTON_MODAL_HEADLESS_FULL = '[data-modal-button-headless-full]';
19
+ const BUTTON_MODAL_FOOTLESS_FULL = '[data-modal-button-footless-full]';
20
+
21
+ // top level component selectors
22
+ const OVERLAY_CONTAINER = 'lightning-overlay-container';
23
+ const MODAL_BASE = 'lightning-modal-base';
24
+ const MODAL = 'lightning-modal';
25
+ const BUBBLE_ELEM = 'lightning-primitive-bubble';
26
+
27
+ // LightningModal specific selectors
28
+ const MODAL_SLDS_CSS = 'slds-modal';
29
+ const MODAL_SLDS_FULL_SIZE_CSS = 'slds-modal_full';
30
+ const MODAL_SLDS_SMALL_SIZE_CSS = 'slds-modal_small';
31
+ const MODAL_SLDS_MEDIUM_SIZE_CSS = 'slds-modal_medium';
32
+ const MODAL_SLDS_LARGE_SIZE_CSS = 'slds-modal_large';
33
+ const MODAL_DIV_SLOT = '[data-slot]';
34
+ const MODAL_CONTAINER_DIV = '[data-container]';
35
+ const FOCUS_TRAP = 'lightning-focus-trap';
36
+ const MODAL_CLOSE_BTN = '.slds-modal__close';
37
+ const MODAL_DATA_SELECTOR = '[data-modal]'; // the 'section' element
38
+ const MODAL_DESCRIPTION_SELECTOR = '[data-aria-description]'; // the 'section' > span element
39
+ const MODAL_ARIALIVE_SELECTOR = '[data-aria-live-message]'; // the 'section' > span element
40
+ // modal header
41
+ const MODAL_HEADER = 'lightning-modal-header';
42
+ // modal body
43
+ const MODAL_BODY = 'lightning-modal-body';
44
+ const MODAL_BODY_DIV = '[data-content-container]';
45
+ const MODAL_BODY_BACKDROP = '.slds-backdrop';
46
+ const MODAL_BODY_SLOT = '[data-default-slot]';
47
+ // modal footer
48
+ const MODAL_FOOTER = 'lightning-modal-footer';
49
+
50
+ // inner modal specific details ===========================
51
+
52
+ // close button variants
53
+ const MODAL_CLOSE_BUTTON_FULL_VARIANT = 'bare';
54
+ const MODAL_CLOSE_BUTTON_NORMAL_VARIANT = 'bare-inverse';
55
+ const MODAL_CLOSE_BTN_CLASS = 'slds-modal__close';
56
+ const MODAL_CLOSE_BTN_SELECTOR = `.${MODAL_CLOSE_BTN_CLASS}`;
57
+ const MODAL_CLOSE_BTN_FULL_CLASS = 'slds-modal_full-close-button';
58
+ const MODAL_CLOSE_BTN_ICON_BORDER_CLASS = 'slds-button_icon-border-filled';
59
+ // modal screen size testing
60
+ // utilized by full screen modal tests
61
+ const SCREEN_SIZE_SMALL = 'SMALL';
62
+ const SCREEN_SIZE_MEDIUM = 'MEDIUM';
63
+ const SCREEN_SIZE_LARGE = 'LARGE';
64
+ const SCREEN_SIZE_XLARGE = 'XLARGE';
65
+ const SCREEN_SIZE_SMALL_LANDSCAPE = 'SMALL_LANDSCAPE';
66
+ const SCREEN_SIZE_MEDIUM_LANDSCAPE = 'MEDIUM_LANDSCAPE';
67
+ const SCREEN_SIZE_LARGE_LANDSCAPE = 'LARGE_LANDSCAPE';
68
+
69
+ // modal size api testing value constants
70
+ const MODAL_SIZE_SMALL = 'small';
71
+ const MODAL_SIZE_MEDIUM = 'medium';
72
+ const MODAL_SIZE_LARGE = 'large';
73
+ const MODAL_SIZE_FULL = 'full';
74
+ const MODAL_SIZE_RANDO = 'modal-ex-large';
75
+
76
+ // modal body selectors ================================
77
+ // Empty CSS classes
78
+ const BODY_HEADLESS_SELECTOR = 'slds-modal__content_headless';
79
+ const BODY_FOOTLESS_SELECTOR = 'slds-modal__content_footless';
80
+
81
+ // modal size measurements and values
82
+ const MODAL_FULL_SCREEN_SMALL_BREAKPOINT = 767;
83
+ // <lightning-modal> element location, medium+ screen
84
+ const MODAL_DEFAULT_PX_OFFSET_X = 25;
85
+ const MODAL_DEFAULT_PX_OFFSET_Y = 50;
86
+ // <lightning-modal> element location, full screen
87
+ const MODAL_ELEM_FULL_PX_OFFSET_X = 0;
88
+ const MODAL_ELEM_FULL_PX_OFFSET_Y = 52;
89
+ const MAX_HEIGHT = 'max-height';
90
+ const MIN_HEIGHT = 'min-height';
91
+ const MODAL_BODY_MIN_HEIGHT_PX = 80;
92
+
93
+ // Accessibility
94
+ const ARIA_LABELLEDBY = 'aria-labelledby';
95
+ const ARIA_LABEL = 'aria-label';
96
+
97
+ // PAUSES
98
+ const PAUSE_MICRO = 100;
99
+ const PAUSE_BRIEF = 1250;
100
+ const BROWSER_RESIZE_PAUSE = 2000;
101
+ const MODAL_RENDER_PAUSE = 1250;
102
+
103
+ // modal launcher data selectors
104
+ const SELECTORS = {
105
+ // main testing options
106
+ all: BUTTON_MODAL_ALL,
107
+ 'all-form': BUTTON_MODAL_FORM,
108
+ headless: BUTTON_MODAL_HEADLESS,
109
+ footless: BUTTON_MODAL_FOOTLESS,
110
+ 'headless-full': BUTTON_MODAL_HEADLESS_FULL,
111
+ 'footless-full': BUTTON_MODAL_FOOTLESS_FULL,
112
+ // alternate testing options
113
+ 'all-two': BUTTON_MODAL_ALL_TWO,
114
+ 'headless-no-label': BUTTON_MODAL_HEADLESS_NO_LABEL,
115
+ 'headless-two': BUTTON_MODAL_HEADLESS_TWO,
116
+ 'footless-two': BUTTON_MODAL_FOOTLESS_TWO,
117
+ 'multi-modals': BUTTON_MODAL_MULTI,
118
+ };
119
+
120
+ // modal type to size api value mapping
121
+ const NAME_TO_SIZE = {
122
+ all: MODAL_SIZE_FULL,
123
+ 'all-form': MODAL_SIZE_MEDIUM,
124
+ headless: MODAL_SIZE_SMALL,
125
+ footless: MODAL_SIZE_LARGE,
126
+ 'headless-full': MODAL_SIZE_FULL,
127
+ 'footless-full': MODAL_SIZE_FULL,
128
+
129
+ 'all-two': MODAL_SIZE_MEDIUM,
130
+ 'headless-no-label': MODAL_SIZE_MEDIUM,
131
+ 'headless-two': MODAL_SIZE_MEDIUM,
132
+ 'footless-two': MODAL_SIZE_MEDIUM,
133
+ 'multi-modals': MODAL_SIZE_MEDIUM,
134
+ };
135
+
136
+ // modal type to size api value mapping
137
+ // this will get filled in as more test
138
+ // suites for modal utilize this map
139
+ const SPEC_TO_TABS_TO_CLOSE_BTN = {
140
+ accessibility: {
141
+ footless: -1,
142
+ headless: -3,
143
+ },
144
+ };
145
+
146
+ const MODAL_RANGE = { min: 9000, max: 9099 };
147
+ const OVERLAY_RANGE = { min: 9100, max: 9199 };
148
+
149
+ const KEY = {
150
+ SHIFT: 'Shift',
151
+ TAB: 'Tab',
152
+ ENTER: 'Enter',
153
+ SPACE: 'Space',
154
+ ESC: 'Escape',
155
+ };
156
+
157
+ // pixel values for testing screen sizes
158
+ const SCREEN_SIZE = {
159
+ // based on iPhone 14
160
+ // close to iPhone 12 Pro, Pixel 5
161
+ // when Modal size='full',
162
+ // full screen behavior will be applied
163
+ SMALL: {
164
+ width: 393,
165
+ height: 852,
166
+ },
167
+ SMALL_LANDSCAPE: {
168
+ width: 852,
169
+ height: 393,
170
+ },
171
+ // iPad sizing, in portrait
172
+ MEDIUM: {
173
+ width: 768,
174
+ height: 1024,
175
+ },
176
+ MEDIUM_LANDSCAPE: {
177
+ width: 1024,
178
+ height: 768,
179
+ },
180
+ // Typical desktop lower bound
181
+ LARGE: {
182
+ width: 1024,
183
+ height: 768,
184
+ },
185
+ // Higher res desktop
186
+ XLARGE: {
187
+ width: 1920,
188
+ height: 1080,
189
+ },
190
+ };
191
+
192
+ module.exports = {
193
+ BUTTON_MODAL_ALL,
194
+ BUTTON_MODAL_ALL_TWO,
195
+ BUTTON_MODAL_HEADLESS,
196
+ BUTTON_MODAL_HEADLESS_NO_LABEL,
197
+ BUTTON_MODAL_HEADLESS_TWO,
198
+ BUTTON_MODAL_FOOTLESS,
199
+ BUTTON_MODAL_FOOTLESS_TWO,
200
+ BUTTON_MODAL_FORM,
201
+ BUTTON_MODAL_MULTI,
202
+ BUTTON_MODAL_HEADLESS_FULL,
203
+ BUTTON_MODAL_FOOTLESS_FULL,
204
+ OVERLAY_CONTAINER,
205
+ MODAL_BASE,
206
+ MODAL,
207
+ MODAL_SLDS_CSS,
208
+ MODAL_SLDS_FULL_SIZE_CSS,
209
+ MODAL_SLDS_SMALL_SIZE_CSS,
210
+ MODAL_SLDS_MEDIUM_SIZE_CSS,
211
+ MODAL_SLDS_LARGE_SIZE_CSS,
212
+ MODAL_DIV_SLOT,
213
+ MODAL_CONTAINER_DIV,
214
+ MODAL_HEADER,
215
+ MODAL_BODY,
216
+ MODAL_BODY_DIV,
217
+ MODAL_BODY_BACKDROP,
218
+ MODAL_BODY_SLOT,
219
+ MODAL_FOOTER,
220
+ FOCUS_TRAP,
221
+ MODAL_CLOSE_BTN,
222
+ MODAL_CLOSE_BTN_CLASS,
223
+ MODAL_CLOSE_BTN_SELECTOR,
224
+ MODAL_CLOSE_BTN_FULL_CLASS,
225
+ MODAL_CLOSE_BTN_ICON_BORDER_CLASS,
226
+ MODAL_DATA_SELECTOR,
227
+ MODAL_CLOSE_BUTTON_FULL_VARIANT,
228
+ MODAL_CLOSE_BUTTON_NORMAL_VARIANT,
229
+ SCREEN_SIZE_SMALL,
230
+ SCREEN_SIZE_MEDIUM,
231
+ SCREEN_SIZE_LARGE,
232
+ SCREEN_SIZE_XLARGE,
233
+ SCREEN_SIZE_SMALL_LANDSCAPE,
234
+ SCREEN_SIZE_MEDIUM_LANDSCAPE,
235
+ SCREEN_SIZE_LARGE_LANDSCAPE,
236
+ MODAL_SIZE_SMALL,
237
+ MODAL_SIZE_MEDIUM,
238
+ MODAL_SIZE_LARGE,
239
+ MODAL_SIZE_FULL,
240
+ MODAL_SIZE_RANDO,
241
+ MODAL_FULL_SCREEN_SMALL_BREAKPOINT,
242
+ MODAL_DEFAULT_PX_OFFSET_X,
243
+ MODAL_DEFAULT_PX_OFFSET_Y,
244
+ MODAL_ELEM_FULL_PX_OFFSET_X,
245
+ MODAL_ELEM_FULL_PX_OFFSET_Y,
246
+ MAX_HEIGHT,
247
+ MIN_HEIGHT,
248
+ MODAL_BODY_MIN_HEIGHT_PX,
249
+ BROWSER_RESIZE_PAUSE,
250
+ MODAL_RENDER_PAUSE,
251
+ PAUSE_MICRO,
252
+ PAUSE_BRIEF,
253
+ SELECTORS,
254
+ NAME_TO_SIZE,
255
+ BODY_HEADLESS_SELECTOR,
256
+ BODY_FOOTLESS_SELECTOR,
257
+ MODAL_DESCRIPTION_SELECTOR,
258
+ MODAL_ARIALIVE_SELECTOR,
259
+ BUBBLE_ELEM,
260
+ MODAL_RANGE,
261
+ OVERLAY_RANGE,
262
+ SPEC_TO_TABS_TO_CLOSE_BTN,
263
+ SCREEN_SIZE,
264
+ ARIA_LABELLEDBY,
265
+ ARIA_LABEL,
266
+ KEY,
267
+ };