lightning-base-components 1.21.2-alpha → 1.21.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 (222) hide show
  1. package/metadata/raptor.json +28 -1
  2. package/package.json +28 -2
  3. package/scopedImports/@salesforce-label-LightningRichTextEditor.colorPicker.js +1 -0
  4. package/src/lightning/accordion/accordion-section.slds.css +3 -3
  5. package/src/lightning/accordion/accordion.slds.css +1 -2
  6. package/src/lightning/accordionSection/accordion-section.slds.css +3 -3
  7. package/src/lightning/accordionSection/accordionSection.js +3 -1
  8. package/src/lightning/accordionSection/button.slds.css +1 -1
  9. package/src/lightning/badge/badge.js +1 -0
  10. package/src/lightning/badge/badge.js-meta.xml +3 -0
  11. package/src/lightning/baseCombobox/base-combobox.slds.css +11 -6
  12. package/src/lightning/baseCombobox/baseCombobox.html +1 -1
  13. package/src/lightning/baseCombobox/baseCombobox.js +2 -2
  14. package/src/lightning/baseCombobox/baseCombobox.js-meta.xml +6 -0
  15. package/src/lightning/baseCombobox/input-text.slds.css +41 -68
  16. package/src/lightning/baseCombobox/keyboard.js +12 -4
  17. package/src/lightning/baseCombobox/listbox.slds.css +51 -99
  18. package/src/lightning/baseCombobox/spinner.slds.css +62 -62
  19. package/src/lightning/baseComboboxFormattedText/baseComboboxFormattedText.js-meta.xml +6 -0
  20. package/src/lightning/baseComboboxItem/baseComboboxItem.js +10 -6
  21. package/src/lightning/baseComboboxItem/baseComboboxItem.js-meta.xml +6 -0
  22. package/src/lightning/baseComboboxItem/listbox.slds.css +51 -99
  23. package/src/lightning/baseFormattedText/baseFormattedText.js +2 -2
  24. package/src/lightning/button/button.js +2 -1
  25. package/src/lightning/button/button.slds.css +1 -1
  26. package/src/lightning/buttonIcon/button-icon.slds.css +1 -1
  27. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +4 -2
  28. package/src/lightning/buttonIconStateful/button-icon.slds.css +1 -1
  29. package/src/lightning/buttonIconStateful/button.slds.css +1 -1
  30. package/src/lightning/buttonMenu/button-icon.slds.css +1 -1
  31. package/src/lightning/buttonMenu/button-menu.slds.css +8 -2
  32. package/src/lightning/buttonMenu/button.slds.css +1 -1
  33. package/src/lightning/buttonStateful/button-stateful.slds.css +6 -2
  34. package/src/lightning/buttonStateful/button.slds.css +1 -1
  35. package/src/lightning/buttonStateful/buttonStateful.js +4 -1
  36. package/src/lightning/calendar/calendar.js-meta.xml +6 -0
  37. package/src/lightning/calendar/calendar.slds.css +9 -2
  38. package/src/lightning/colorPickerCustom/color-picker-custom.slds.css +22 -23
  39. package/src/lightning/colorPickerCustom/input-text.slds.css +41 -68
  40. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +9 -10
  41. package/src/lightning/colorPickerPanel/popover.slds.css +0 -2
  42. package/src/lightning/combobox/combobox.slds.css +1 -2
  43. package/src/lightning/combobox/form-element.slds.css +54 -54
  44. package/src/lightning/datatable/__examples__/customDatatableWrapper/customDatatableWrapper.js +0 -69
  45. package/src/lightning/datatable/__examples__/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.html +1 -1
  46. package/src/lightning/datatable/__examples__/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.js +1 -16
  47. package/src/lightning/datatable/__examples__/customDatatypeLink/customDatatypeLink.html +3 -3
  48. package/src/lightning/datatable/__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.html +1 -8
  49. package/src/lightning/datatable/__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.js +2 -39
  50. package/src/lightning/datatable/__examples__/customDatatypeTable/customNumber.html +1 -1
  51. package/src/lightning/datatable/__examples__/customDatatypeTable/customNumberEdit.html +2 -0
  52. package/src/lightning/datatable/__examples__/customDatatypeTable/deleteRow.html +3 -2
  53. package/src/lightning/datatable/__examples__/customDatatypeTable/iconPill.html +1 -1
  54. package/src/lightning/datatable/__examples__/customNestedComponent/customNestedComponent.html +10 -0
  55. package/src/lightning/datatable/__examples__/customNestedComponent/customNestedComponent.js +12 -0
  56. package/src/lightning/datatable/autoWidthStrategy.js +147 -191
  57. package/src/lightning/datatable/columnResizer.js +35 -35
  58. package/src/lightning/datatable/columnWidthManager.js +118 -177
  59. package/src/lightning/datatable/columns.js +90 -59
  60. package/src/lightning/datatable/datagrid.slds.css +187 -0
  61. package/src/lightning/datatable/datatable.js +248 -229
  62. package/src/lightning/datatable/errors.js +3 -0
  63. package/src/lightning/datatable/fixedWidthStrategy.js +22 -29
  64. package/src/lightning/datatable/headerActions.js +7 -9
  65. package/src/lightning/datatable/infiniteLoading.js +15 -15
  66. package/src/lightning/datatable/inlineEdit.js +255 -235
  67. package/src/lightning/datatable/keyboard.js +318 -282
  68. package/src/lightning/datatable/renderManager.js +10 -7
  69. package/src/lightning/datatable/resizeObserver.js +11 -59
  70. package/src/lightning/datatable/rowLevelActions.js +6 -5
  71. package/src/lightning/datatable/rowNumber.js +23 -23
  72. package/src/lightning/datatable/rowSelection.js +173 -145
  73. package/src/lightning/datatable/rowSelectionShared.js +13 -6
  74. package/src/lightning/datatable/rows.js +231 -196
  75. package/src/lightning/datatable/sort.js +26 -22
  76. package/src/lightning/datatable/templates/div/div.css +2 -57
  77. package/src/lightning/datatable/templates/div/div.html +13 -6
  78. package/src/lightning/datatable/templates/div/div.lbc.native.css +3 -0
  79. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +86 -0
  80. package/src/lightning/datatable/templates/table/table.html +1 -0
  81. package/src/lightning/datatable/utils.js +5 -5
  82. package/src/lightning/datatable/widthManagerShared.js +24 -21
  83. package/src/lightning/datatable/wrapText.js +25 -26
  84. package/src/lightning/datepicker/datepicker.js +32 -9
  85. package/src/lightning/datepicker/datepicker.js-meta.xml +6 -0
  86. package/src/lightning/datepicker/form-element.slds.css +54 -54
  87. package/src/lightning/datepicker/input-text.slds.css +41 -68
  88. package/src/lightning/datetimepicker/datetimepicker.js-meta.xml +6 -0
  89. package/src/lightning/datetimepicker/form-element.slds.css +54 -54
  90. package/src/lightning/datetimepicker/input-text.slds.css +41 -68
  91. package/src/lightning/dualListbox/dual-listbox.slds.css +7 -2
  92. package/src/lightning/dualListbox/form-element.slds.css +54 -54
  93. package/src/lightning/dualListbox/listbox.slds.css +51 -99
  94. package/src/lightning/dynamicIcon/dynamic-icon-strength.slds.css +1 -2
  95. package/src/lightning/dynamicIcon/dynamic-icon-trend.slds.css +1 -2
  96. package/src/lightning/formattedDateTime/formattedDateTime.js +7 -62
  97. package/src/lightning/formattedDateTime/formattedDateTime.js-meta.xml +3 -0
  98. package/src/lightning/formattedLocation/formattedLocation.html +1 -3
  99. package/src/lightning/formattedLocation/formattedLocation.js +3 -25
  100. package/src/lightning/formattedLookup/events.js +2 -4
  101. package/src/lightning/formattedNumber/formattedNumber.js +2 -49
  102. package/src/lightning/formattedRichText/formattedRichText.js +5 -5
  103. package/src/lightning/formattedRichText/linkTextNodes.js +58 -0
  104. package/src/lightning/groupedCombobox/form-element.slds.css +54 -54
  105. package/src/lightning/groupedCombobox/grouped-combobox.slds.css +0 -2
  106. package/src/lightning/groupedCombobox/groupedCombobox.js-meta.xml +1 -1
  107. package/src/lightning/groupedCombobox/input-text.slds.css +41 -68
  108. package/src/lightning/helptext/button-icon.slds.css +1 -1
  109. package/src/lightning/helptext/form-element.slds.css +54 -54
  110. package/src/lightning/icon/icon.slds.css +12 -25
  111. package/src/lightning/input/form-element.slds.css +54 -54
  112. package/src/lightning/inputAddress/form-element.slds.css +54 -54
  113. package/src/lightning/inputAddress/input-address.slds.css +1 -2
  114. package/src/lightning/inputAddress/input-text.slds.css +41 -68
  115. package/src/lightning/inputAddress/inputAddress.js +1 -0
  116. package/src/lightning/inputAddress/inputAddress.js-meta.xml +3 -0
  117. package/src/lightning/inputLocation/form-element.slds.css +54 -54
  118. package/src/lightning/inputLocation/input-location.slds.css +1 -2
  119. package/src/lightning/inputLocation/input-text.slds.css +41 -68
  120. package/src/lightning/inputName/form-element.slds.css +54 -54
  121. package/src/lightning/inputName/input-text.slds.css +41 -68
  122. package/src/lightning/interactiveDialogBase/interactive-dialog-base.slds.css +0 -3
  123. package/src/lightning/interactiveDialogBase/interactiveDialogBase.js-meta.xml +6 -0
  124. package/src/lightning/lookupAddress/form-element.slds.css +54 -54
  125. package/src/lightning/lookupAddress/listbox.slds.css +51 -99
  126. package/src/lightning/lookupAddress/location.js +2 -0
  127. package/src/lightning/lookupAddress/lookup-address.slds.css +0 -2
  128. package/src/lightning/lookupAddress/lookupAddress.js +15 -10
  129. package/src/lightning/menuDivider/menu-divider.slds.css +0 -2
  130. package/src/lightning/menuItem/menu-item.slds.css +8 -2
  131. package/src/lightning/menuSubheader/menu-subheader.slds.css +1 -2
  132. package/src/lightning/modalBase/modal-base.slds.css +3 -3
  133. package/src/lightning/modalBase/modalBase.js +0 -8
  134. package/src/lightning/modalBase/modalBase.js-meta.xml +6 -0
  135. package/src/lightning/modalBody/modal-body.slds.css +1 -2
  136. package/src/lightning/modalFooter/modal-footer.slds.css +2 -2
  137. package/src/lightning/modalFooter/modalFooter.js +0 -21
  138. package/src/lightning/modalHeader/modal-header.slds.css +1 -2
  139. package/src/lightning/modalHeader/modalHeader.js +0 -22
  140. package/src/lightning/overlay/overlay.js-meta.xml +6 -0
  141. package/src/lightning/pill/pill.slds.css +32 -58
  142. package/src/lightning/pillContainer/button.slds.css +1 -1
  143. package/src/lightning/pillContainer/listbox.slds.css +51 -99
  144. package/src/lightning/pillContainer/pill-container.slds.css +6 -10
  145. package/src/lightning/pillContainer/pill.slds.css +32 -58
  146. package/src/lightning/popup/popover.slds.css +0 -2
  147. package/src/lightning/primitiveBubble/primitiveBubble.js-meta.xml +6 -0
  148. package/src/lightning/primitiveButton/primitiveButoon.js-meta.xml +6 -0
  149. package/src/lightning/primitiveCellCheckbox/checkbox.css +2 -0
  150. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +16 -38
  151. package/src/lightning/primitiveCustomCell/primitiveCustomCell.js +26 -1
  152. package/src/lightning/primitiveHeaderFactory/nonsortableHeader.css +1 -0
  153. package/src/lightning/primitiveHeaderFactory/selectableHeader.css +2 -0
  154. package/src/lightning/primitiveIcon/icon.slds.css +12 -25
  155. package/src/lightning/primitiveIcon/primitiveIcon.js-meta.xml +6 -0
  156. package/src/lightning/primitiveIframe/primitiveIframe.js +3 -1
  157. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +54 -54
  158. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +5 -2
  159. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js-meta.xml +6 -0
  160. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +54 -54
  161. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +6 -4
  162. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +5 -2
  163. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js-meta.xml +6 -0
  164. package/src/lightning/primitiveInputColor/form-element.slds.css +54 -54
  165. package/src/lightning/primitiveInputColor/input-color.slds.css +2 -3
  166. package/src/lightning/primitiveInputColor/input-text.slds.css +41 -68
  167. package/src/lightning/primitiveInputColor/primitiveInputColor.js +5 -2
  168. package/src/lightning/primitiveInputColor/primitiveInputColor.js-meta.xml +6 -0
  169. package/src/lightning/primitiveInputFile/button.slds.css +1 -1
  170. package/src/lightning/primitiveInputFile/form-element.slds.css +54 -54
  171. package/src/lightning/primitiveInputFile/input-file.slds.css +1 -4
  172. package/src/lightning/primitiveInputFile/primitiveInputFile.js +4 -2
  173. package/src/lightning/primitiveInputFile/primitiveInputFile.js-meta.xml +6 -0
  174. package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +4 -2
  175. package/src/lightning/primitiveInputSimple/form-element.slds.css +54 -54
  176. package/src/lightning/primitiveInputSimple/input-text.slds.css +41 -68
  177. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js-meta.xml +6 -0
  178. package/src/lightning/primitiveInputToggle/form-element.slds.css +54 -54
  179. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +50 -27
  180. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +5 -2
  181. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js-meta.xml +6 -0
  182. package/src/lightning/progressBar/progress-bar.slds.css +8 -10
  183. package/src/lightning/progressRing/progress-ring.slds.css +0 -23
  184. package/src/lightning/progressStep/progressStep.js +1 -14
  185. package/src/lightning/radioGroup/form-element.slds.css +54 -54
  186. package/src/lightning/radioGroup/radioGroup.html +1 -2
  187. package/src/lightning/radioGroup/radioGroup.js +1 -0
  188. package/src/lightning/routingService/routingService.js +31 -5
  189. package/src/lightning/select/form-element.slds.css +54 -54
  190. package/src/lightning/select/select.slds.css +4 -2
  191. package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.css +4 -0
  192. package/src/lightning/spinner/spinner.slds.css +62 -62
  193. package/src/lightning/tab/tab.js +4 -2
  194. package/src/lightning/tab/tab.slds.css +14 -7
  195. package/src/lightning/tabBar/tab-bar.slds.css +16 -6
  196. package/src/lightning/tabset/__docs__/tabset.md +24 -1
  197. package/src/lightning/tabset/tabset.js +25 -38
  198. package/src/lightning/tabset/tabset.slds.css +0 -2
  199. package/src/lightning/textarea/form-element.slds.css +54 -54
  200. package/src/lightning/textarea/textarea.js +5 -1
  201. package/src/lightning/textarea/textarea.slds.css +22 -9
  202. package/src/lightning/timepicker/form-element.slds.css +54 -54
  203. package/src/lightning/timepicker/timepicker.js-meta.xml +6 -0
  204. package/src/lightning/timepicker/timepicker.slds.css +2 -2
  205. package/src/lightning/toast/__docs__/toast.md +20 -22
  206. package/src/lightning/toast/button-icon.slds.css +1 -1
  207. package/src/lightning/toast/icon.slds.css +12 -25
  208. package/src/lightning/toast/toast.js +15 -12
  209. package/src/lightning/toast/toast.slds.css +6 -18
  210. package/src/lightning/toastContainer/toast.slds.css +6 -18
  211. package/src/lightning/toastContainer/toastContainer.js +25 -17
  212. package/src/lightning/tooltipLibrary/tooltipLibrary.js +12 -9
  213. package/src/lightning/tree/tree.js +2 -0
  214. package/src/lightning/utils/classSet.js +9 -3
  215. package/src/lightning/utilsPrivate/formatUtils.js +158 -0
  216. package/src/lightning/utilsPrivate/textUtils.js +16 -0
  217. package/src/lightning/utilsPrivate/utilsPrivate.js +56 -15
  218. package/src/lightning/utilsPrivate/validationUtils.js +59 -0
  219. package/src/lightning/verticalNavigationSection/vertical-navigation-section.slds.css +0 -2
  220. package/src/lightning/datatable/resizeSensor.js +0 -244
  221. package/src/lightning/formattedRichText/linkify.js +0 -43
  222. package/src/lightning/utilsPrivate/smartSetAttribute.js +0 -19
@@ -1,244 +0,0 @@
1
- /**
2
- * IMPORTANT: This ResizeSensor is only used in the event that the standard ResizeObserver
3
- * is NOT available on the browser.
4
- *
5
- * Currently only IE11 does not support the ResizeObserver. We should be able to
6
- * remove this once we fully drop support of IE11.
7
- */
8
-
9
- /**
10
- * Based on Marc J. Schmidt library: https://github.com/marcj/css-element-queries/blob/master
11
- */
12
-
13
- class EventQueue {
14
- q = [];
15
-
16
- add(ev) {
17
- this.q.push(ev);
18
- }
19
-
20
- call(sizeInfo) {
21
- for (let i = 0, j = this.q.length; i < j; i++) {
22
- this.q[i].call(this, sizeInfo);
23
- }
24
- }
25
-
26
- remove(ev) {
27
- const newQueue = [];
28
- for (let i = 0, j = this.q.length; i < j; i++) {
29
- if (this.q[i] !== ev) {
30
- newQueue.push(this.q[i]);
31
- }
32
- }
33
- this.q = newQueue;
34
- }
35
-
36
- length() {
37
- return this.q.length;
38
- }
39
- }
40
-
41
- /**
42
- * Get element size
43
- *
44
- * @param {HTMLElement} element Element to return the size.
45
- * @returns {Object} {width, height}
46
- */
47
- function getElementSize(element) {
48
- const rect = element.getBoundingClientRect();
49
- return {
50
- width: Math.round(rect.width),
51
- height: Math.round(rect.height),
52
- };
53
- }
54
-
55
- function createResizeSensor() {
56
- const resizeSensor = document.createElement('div');
57
- resizeSensor.dir = 'ltr';
58
- resizeSensor.className = 'resize-sensor';
59
- const style =
60
- 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';
61
- const styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';
62
-
63
- resizeSensor.style.cssText = style;
64
- // eslint-disable-next-line @lwc/lwc/no-inner-html
65
- resizeSensor.innerHTML =
66
- `<div class="resize-sensor-expand" style="${style}">` +
67
- `<div style="${styleChild}"></div>` +
68
- `</div>` +
69
- `<div class="resize-sensor-shrink" style="${style}">` +
70
- `<div style="${styleChild} width: 200%; height: 200%"></div>` +
71
- `</div>`;
72
-
73
- return resizeSensor;
74
- }
75
-
76
- /**
77
- * Attaches the resize event to an element
78
- *
79
- * @param {HTMLElement} element Element to listen resize
80
- * @param {Function} resizeListener Resize event listener
81
- */
82
- function attachResizeEvent(element, resizeListener) {
83
- if (!element) {
84
- return;
85
- }
86
- if (element.resizedAttached) {
87
- element.resizedAttached.add(resizeListener);
88
- return;
89
- }
90
-
91
- element.resizedAttached = new EventQueue();
92
- element.resizedAttached.add(resizeListener);
93
-
94
- const resizeSensor = createResizeSensor();
95
- element.resizeSensor = resizeSensor;
96
- element.appendChild(resizeSensor);
97
-
98
- const position = (
99
- window.getComputedStyle(element) || element.style
100
- ).getPropertyValue('position');
101
-
102
- if (
103
- position !== 'absolute' &&
104
- position !== 'relative' &&
105
- position !== 'fixed'
106
- ) {
107
- element.style.position = 'relative';
108
- }
109
-
110
- const expand = resizeSensor.childNodes[0];
111
- const expandChild = expand.childNodes[0];
112
- const shrink = resizeSensor.childNodes[1];
113
-
114
- let dirty, rafId;
115
- let size = getElementSize(element);
116
- let lastWidth = size.width;
117
- let lastHeight = size.height;
118
- let initialHiddenCheck = true,
119
- resetRafId;
120
-
121
- const resetExpandShrink = function () {
122
- expandChild.style.width = '100000px';
123
- expandChild.style.height = '100000px';
124
-
125
- expand.scrollLeft = 100000;
126
- expand.scrollTop = 100000;
127
-
128
- shrink.scrollLeft = 100000;
129
- shrink.scrollTop = 100000;
130
- };
131
-
132
- const reset = function () {
133
- // Check if element is hidden
134
- if (initialHiddenCheck) {
135
- if (!expand.scrollTop && !expand.scrollLeft) {
136
- // reset
137
- resetExpandShrink();
138
-
139
- // Check in next frame
140
- if (!resetRafId) {
141
- // eslint-disable-next-line @lwc/lwc/no-async-operation
142
- resetRafId = requestAnimationFrame(() => {
143
- resetRafId = 0;
144
- reset();
145
- });
146
- }
147
-
148
- return;
149
- }
150
-
151
- initialHiddenCheck = false;
152
- }
153
-
154
- resetExpandShrink();
155
- };
156
- resizeSensor.resetSensor = reset;
157
-
158
- const onResized = function () {
159
- rafId = 0;
160
-
161
- if (!dirty) {
162
- return;
163
- }
164
-
165
- lastWidth = size.width;
166
- lastHeight = size.height;
167
-
168
- if (element.resizedAttached) {
169
- element.resizedAttached.call(size);
170
- }
171
- };
172
-
173
- const onScroll = function () {
174
- size = getElementSize(element);
175
- dirty = size.width !== lastWidth || size.height !== lastHeight;
176
-
177
- if (dirty && !rafId) {
178
- // eslint-disable-next-line @lwc/lwc/no-async-operation
179
- rafId = requestAnimationFrame(onResized);
180
- }
181
-
182
- reset();
183
- };
184
-
185
- const addEvent = function (el, name, cb) {
186
- el.addEventListener(name, cb);
187
- };
188
-
189
- addEvent(expand, 'scroll', onScroll);
190
- addEvent(shrink, 'scroll', onScroll);
191
-
192
- // Fix for custom Elements
193
- // eslint-disable-next-line @lwc/lwc/no-async-operation
194
- requestAnimationFrame(reset);
195
- }
196
-
197
- /**
198
- * Removes a resize event from an element.
199
- *
200
- * @param {HTMLElement} element Element to remove resize listener from
201
- * @param {Event} event The event to remove
202
- */
203
- function detach(elem, ev) {
204
- if (!elem) {
205
- return;
206
- }
207
- if (elem.resizedAttached && typeof ev === 'function') {
208
- elem.resizedAttached.remove(ev);
209
- if (elem.resizedAttached.length()) {
210
- return;
211
- }
212
- }
213
- if (elem.resizeSensor) {
214
- if (elem.contains(elem.resizeSensor)) {
215
- elem.removeChild(elem.resizeSensor);
216
- }
217
- delete elem.resizeSensor;
218
- delete elem.resizedAttached;
219
- }
220
- }
221
-
222
- export class ResizeSensor {
223
- constructor(element, resizeListener) {
224
- this.targetElement = element;
225
- this.resizeListener = resizeListener;
226
-
227
- attachResizeEvent(this.targetElement, this.resizeListener);
228
- }
229
-
230
- detach() {
231
- detach(this.targetElement, this.resizeListener);
232
- }
233
-
234
- // Reattach resize event with existing target element and listener
235
- reattach(targetElement) {
236
- this.targetElement = targetElement;
237
-
238
- attachResizeEvent(this.targetElement, this.resizeListener);
239
- }
240
-
241
- reset() {
242
- this.targetElement.resizeSensor.resetSensor();
243
- }
244
- }
@@ -1,43 +0,0 @@
1
- import {
2
- urlRegexString,
3
- emailRegexString,
4
- tagRegexString,
5
- createHttpHref,
6
- createEmailHref,
7
- } from 'lightning/utilsPrivate';
8
-
9
- const linkRegex = new RegExp(
10
- `${tagRegexString}|${emailRegexString}|${urlRegexString}`,
11
- 'gi'
12
- );
13
-
14
- const createHttpLink = function (match) {
15
- const href = createHttpHref(match);
16
- return `<a href="${href}" target="_blank" rel="noopener">${match}</a>`;
17
- };
18
-
19
- const createEmailLink = function (match) {
20
- const href = createEmailHref(match);
21
- return `<a href="${href}">${match}</a>`;
22
- };
23
-
24
- export const linkify = function (text) {
25
- if (typeof text !== 'string') {
26
- return '';
27
- }
28
- return text.replace(linkRegex, (match, tagMatch, emailMatch, hrefMatch) => {
29
- if (tagMatch) {
30
- return tagMatch;
31
- } else if (hrefMatch) {
32
- const endsWithQuote = hrefMatch.endsWith('&quot');
33
- let href = hrefMatch;
34
- if (endsWithQuote) {
35
- href = hrefMatch.slice(0, hrefMatch.lastIndexOf('&quot'));
36
- }
37
- return createHttpLink(href) + (endsWithQuote ? '&quot' : '');
38
- } else if (emailMatch) {
39
- return createEmailLink(emailMatch);
40
- }
41
- return match;
42
- });
43
- };
@@ -1,19 +0,0 @@
1
- /**
2
- * Set an attribute on an element, if it's a normal element
3
- * it will use setAttribute, if it's an LWC component
4
- * it will use the public property
5
- *
6
- * @param {HTMLElement} element The element to act on
7
- * @param {String} attribute the attribute to set
8
- * @param {Any} value the value to set
9
- */
10
- export function smartSetAttribute(element, attribute, value) {
11
- if (element.tagName.match(/^LIGHTNING/i)) {
12
- attribute = attribute.replace(/-\w/g, (m) => m[1].toUpperCase());
13
- element[attribute] = value ? value : null;
14
- } else if (value) {
15
- element.setAttribute(attribute, value);
16
- } else {
17
- element.removeAttribute(attribute);
18
- }
19
- }