@clayui/tooltip 3.106.0-alpha.0 → 3.106.1

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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,399 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ ## [3.106.1](https://github.com/liferay/clay/compare/v3.106.0...v3.106.1) (2023-10-26)
7
+
8
+ **Note:** Version bump only for package @clayui/tooltip
9
+
10
+ # [3.106.0](https://github.com/liferay/clay/compare/v3.105.0...v3.106.0) (2023-10-25)
11
+
12
+ ### Bug Fixes
13
+
14
+ - remove 'src' dir from being packaged with npm ([9383e8d](https://github.com/liferay/clay/commit/9383e8d8abb25ca3396e7c6e4dfa53bbc72691c5))
15
+ - use package's directory for baseDir when generating type ([0a5c710](https://github.com/liferay/clay/commit/0a5c710092f36243bc8d5487f70e831295715072))
16
+
17
+ # [3.104.0](https://github.com/liferay/clay/compare/v3.103.1...v3.104.0) (2023-08-25)
18
+
19
+ **Note:** Version bump only for package @clayui/tooltip
20
+
21
+ ## [3.103.1](https://github.com/liferay/clay/compare/v3.103.0...v3.103.1) (2023-08-15)
22
+
23
+ **Note:** Version bump only for package @clayui/tooltip
24
+
25
+ # [3.101.0](https://github.com/liferay/clay/compare/v3.100.0...v3.101.0) (2023-07-28)
26
+
27
+ **Note:** Version bump only for package @clayui/tooltip
28
+
29
+ # [3.100.0](https://github.com/liferay/clay/compare/v3.99.4...v3.100.0) (2023-07-13)
30
+
31
+ **Note:** Version bump only for package @clayui/tooltip
32
+
33
+ ## [3.99.1](https://github.com/liferay/clay/compare/v3.99.0...v3.99.1) (2023-07-04)
34
+
35
+ ### Bug Fixes
36
+
37
+ - **@clayui/tooltip:** fix error not showing tooltip on nested elements ([cf31736](https://github.com/liferay/clay/commit/cf31736b5515af8c2e906443c86c6cdd4c11631d))
38
+
39
+ # [3.96.0](https://github.com/liferay/clay/compare/v3.95.2...v3.96.0) (2023-05-29)
40
+
41
+ **Note:** Version bump only for package @clayui/tooltip
42
+
43
+ ## [3.95.2](https://github.com/liferay/clay/compare/v3.95.0...v3.95.2) (2023-05-17)
44
+
45
+ **Note:** Version bump only for package @clayui/tooltip
46
+
47
+ # [3.95.0](https://github.com/liferay/clay/compare/v3.94.0...v3.95.0) (2023-05-15)
48
+
49
+ **Note:** Version bump only for package @clayui/tooltip
50
+
51
+ # [3.94.0](https://github.com/liferay/clay/compare/v3.93.0...v3.94.0) (2023-05-03)
52
+
53
+ **Note:** Version bump only for package @clayui/tooltip
54
+
55
+ # [3.93.0](https://github.com/liferay/clay/compare/v3.92.0...v3.93.0) (2023-04-19)
56
+
57
+ **Note:** Version bump only for package @clayui/tooltip
58
+
59
+ # [3.92.0](https://github.com/liferay/clay/compare/v3.91.0...v3.92.0) (2023-04-06)
60
+
61
+ **Note:** Version bump only for package @clayui/tooltip
62
+
63
+ # [3.89.0](https://github.com/liferay/clay/compare/v3.88.0...v3.89.0) (2023-03-01)
64
+
65
+ **Note:** Version bump only for package @clayui/tooltip
66
+
67
+ # [3.88.0](https://github.com/liferay/clay/compare/v3.87.2...v3.88.0) (2023-02-14)
68
+
69
+ **Note:** Version bump only for package @clayui/tooltip
70
+
71
+ # [3.87.0](https://github.com/liferay/clay/compare/v3.86.1...v3.87.0) (2023-02-08)
72
+
73
+ **Note:** Version bump only for package @clayui/tooltip
74
+
75
+ ## [3.86.1](https://github.com/liferay/clay/compare/v3.86.0...v3.86.1) (2023-02-02)
76
+
77
+ **Note:** Version bump only for package @clayui/tooltip
78
+
79
+ # [3.86.0](https://github.com/liferay/clay/compare/v3.85.0...v3.86.0) (2023-01-31)
80
+
81
+ **Note:** Version bump only for package @clayui/tooltip
82
+
83
+ # [3.85.0](https://github.com/liferay/clay/compare/v3.84.0...v3.85.0) (2023-01-23)
84
+
85
+ **Note:** Version bump only for package @clayui/tooltip
86
+
87
+ ## [3.83.1](https://github.com/liferay/clay/compare/v3.83.0...v3.83.1) (2022-12-20)
88
+
89
+ **Note:** Version bump only for package @clayui/tooltip
90
+
91
+ # [3.83.0](https://github.com/liferay/clay/compare/v3.82.0...v3.83.0) (2022-12-20)
92
+
93
+ **Note:** Version bump only for package @clayui/tooltip
94
+
95
+ # [3.82.0](https://github.com/liferay/clay/compare/v3.81.0...v3.82.0) (2022-12-07)
96
+
97
+ **Note:** Version bump only for package @clayui/tooltip
98
+
99
+ # [3.81.0](https://github.com/liferay/clay/compare/v3.80.1...v3.81.0) (2022-11-30)
100
+
101
+ **Note:** Version bump only for package @clayui/tooltip
102
+
103
+ ## [3.80.1](https://github.com/liferay/clay/compare/v3.80.0...v3.80.1) (2022-11-22)
104
+
105
+ **Note:** Version bump only for package @clayui/tooltip
106
+
107
+ # [3.80.0](https://github.com/liferay/clay/compare/v3.79.0...v3.80.0) (2022-11-21)
108
+
109
+ ### Bug Fixes
110
+
111
+ - **@clayui/tooltip:** persist the title attribute when navigate via keyboard ([44fe7c4](https://github.com/liferay/clay/commit/44fe7c4113a0889a109f3d71435800468b9ab94a))
112
+
113
+ # [3.79.0](https://github.com/liferay/clay/compare/v3.78.2...v3.79.0) (2022-11-08)
114
+
115
+ ### Bug Fixes
116
+
117
+ - **@clayui/tooltip:** fixes error when not aligning the tooltip with focus in sequence of elements ([0d3e415](https://github.com/liferay/clay/commit/0d3e415746f33e62b7eb68e798c19c3ce5173b23))
118
+
119
+ ## [3.78.2](https://github.com/liferay/clay/compare/v3.78.1...v3.78.2) (2022-10-25)
120
+
121
+ **Note:** Version bump only for package @clayui/tooltip
122
+
123
+ ## [3.78.1](https://github.com/liferay/clay/compare/v3.78.0...v3.78.1) (2022-10-25)
124
+
125
+ **Note:** Version bump only for package @clayui/tooltip
126
+
127
+ # [3.78.0](https://github.com/liferay/clay/compare/v3.77.0...v3.78.0) (2022-10-25)
128
+
129
+ **Note:** Version bump only for package @clayui/tooltip
130
+
131
+ # [3.77.0](https://github.com/liferay/clay/compare/v3.76.0...v3.77.0) (2022-10-17)
132
+
133
+ **Note:** Version bump only for package @clayui/tooltip
134
+
135
+ ## [3.75.2](https://github.com/liferay/clay/compare/v3.75.1...v3.75.2) (2022-09-29)
136
+
137
+ **Note:** Version bump only for package @clayui/tooltip
138
+
139
+ # [3.75.0](https://github.com/liferay/clay/compare/v3.74.0...v3.75.0) (2022-09-28)
140
+
141
+ **Note:** Version bump only for package @clayui/tooltip
142
+
143
+ # [3.73.0](https://github.com/liferay/clay/compare/v3.72.0...v3.73.0) (2022-09-13)
144
+
145
+ **Note:** Version bump only for package @clayui/tooltip
146
+
147
+ # [3.71.0](https://github.com/liferay/clay/compare/v3.70.3...v3.71.0) (2022-08-30)
148
+
149
+ **Note:** Version bump only for package @clayui/tooltip
150
+
151
+ ## [3.70.3](https://github.com/liferay/clay/compare/v3.70.2...v3.70.3) (2022-08-30)
152
+
153
+ **Note:** Version bump only for package @clayui/tooltip
154
+
155
+ ## [3.70.2](https://github.com/liferay/clay/compare/v3.70.1...v3.70.2) (2022-08-30)
156
+
157
+ **Note:** Version bump only for package @clayui/tooltip
158
+
159
+ # [3.70.0](https://github.com/liferay/clay/compare/v3.69.0...v3.70.0) (2022-08-23)
160
+
161
+ **Note:** Version bump only for package @clayui/tooltip
162
+
163
+ # [3.69.0](https://github.com/liferay/clay/compare/v3.68.0...v3.69.0) (2022-08-16)
164
+
165
+ ### Bug Fixes
166
+
167
+ - **@clayui/tooltip): Revert "fix(@clayui/tooltip:** adds the option to disappear the floating tooltip after a while" ([43b64b9](https://github.com/liferay/clay/commit/43b64b9e0ca7b503b022f69f2aa710dd51770114))
168
+ - **@clayui/tooltip:** adds the option to disappear the floating tooltip after a while ([7438e62](https://github.com/liferay/clay/commit/7438e62797131336b6547ffd986ff977c7a59d0d))
169
+ - **@clayui/tooltip:** remove the behavior of moving the tooltip when the mouse moves ([51585ff](https://github.com/liferay/clay/commit/51585ffb16fe0dea68086ed9c320db381d788215))
170
+
171
+ # [3.67.0](https://github.com/liferay/clay/compare/v3.66.0...v3.67.0) (2022-07-25)
172
+
173
+ ### Features
174
+
175
+ - **@clayui/tooltip:** adds new properties to configure the tooltip to be floating ([c598ca3](https://github.com/liferay/clay/commit/c598ca335b96cafe01848fabdf020135126c9ff9))
176
+
177
+ # [3.65.0](https://github.com/liferay/clay/compare/v3.64.0...v3.65.0) (2022-07-11)
178
+
179
+ ### Bug Fixes
180
+
181
+ - **@clayui/tooltip:** adds the possibility to hover over the tooltip ([8b9b256](https://github.com/liferay/clay/commit/8b9b256db39be0a8f7708648946cec6faeb92bb1))
182
+
183
+ # [3.58.0](https://github.com/liferay/clay/compare/v3.57.0...v3.58.0) (2022-05-23)
184
+
185
+ **Note:** Version bump only for package @clayui/tooltip
186
+
187
+ # [3.56.0](https://github.com/liferay/clay/compare/v3.55.0...v3.56.0) (2022-05-09)
188
+
189
+ ### Bug Fixes
190
+
191
+ - **@clayui/tooltip:** cancel scheduled tooltip before scheduling new one ([62551b8](https://github.com/liferay/clay/commit/62551b87af77d6b15d95d80c47525c1071237605))
192
+
193
+ # [3.55.0](https://github.com/liferay/clay/compare/v3.54.0...v3.55.0) (2022-05-02)
194
+
195
+ **Note:** Version bump only for package @clayui/tooltip
196
+
197
+ # [3.52.0](https://github.com/liferay/clay/compare/v3.51.0...v3.52.0) (2022-04-04)
198
+
199
+ **Note:** Version bump only for package @clayui/tooltip
200
+
201
+ # [3.49.0](https://github.com/liferay/clay/compare/v3.48.0...v3.49.0) (2022-03-15)
202
+
203
+ **Note:** Version bump only for package @clayui/tooltip
204
+
205
+ # [3.47.0](https://github.com/liferay/clay/compare/v3.46.0...v3.47.0) (2022-02-23)
206
+
207
+ **Note:** Version bump only for package @clayui/tooltip
208
+
209
+ # [3.45.0](https://github.com/liferay/clay/compare/v3.44.2...v3.45.0) (2022-02-01)
210
+
211
+ **Note:** Version bump only for package @clayui/tooltip
212
+
213
+ # [3.40.0](https://github.com/liferay/clay/compare/v3.39.0...v3.40.0) (2021-11-17)
214
+
215
+ **Note:** Version bump only for package @clayui/tooltip
216
+
217
+ # [3.39.0](https://github.com/liferay/clay/compare/v3.38.0...v3.39.0) (2021-10-29)
218
+
219
+ **Note:** Version bump only for package @clayui/tooltip
220
+
221
+ # [3.38.0](https://github.com/liferay/clay/compare/v3.37.0...v3.38.0) (2021-10-22)
222
+
223
+ **Note:** Version bump only for package @clayui/tooltip
224
+
225
+ # [3.37.0](https://github.com/liferay/clay/compare/v3.36.0...v3.37.0) (2021-10-06)
226
+
227
+ **Note:** Version bump only for package @clayui/tooltip
228
+
229
+ # [3.36.0](https://github.com/liferay/clay/compare/v3.35.3...v3.36.0) (2021-09-23)
230
+
231
+ ### Bug Fixes
232
+
233
+ - **@clayui/tooltip:** forces tooltip to be repositioned when the x-axis is modified ([b62313c](https://github.com/liferay/clay/commit/b62313c))
234
+ - **@clayui/tooltip:** stop the always showing warnings ([3858bfe](https://github.com/liferay/clay/commit/3858bfe))
235
+ - **@clyaui/tooltip:** fixes error when not forcing Tooltip repositioning when X axis is modified ([187f1ef](https://github.com/liferay/clay/commit/187f1ef))
236
+
237
+ ## [3.35.3](https://github.com/liferay/clay/compare/v3.35.2...v3.35.3) (2021-09-09)
238
+
239
+ **Note:** Version bump only for package @clayui/tooltip
240
+
241
+ ## [3.35.2](https://github.com/liferay/clay/compare/v3.35.1...v3.35.2) (2021-08-30)
242
+
243
+ **Note:** Version bump only for package @clayui/tooltip
244
+
245
+ ## [3.35.1](https://github.com/liferay/clay/compare/v3.35.0...v3.35.1) (2021-08-30)
246
+
247
+ **Note:** Version bump only for package @clayui/tooltip
248
+
249
+ # [3.35.0](https://github.com/liferay/clay/compare/v3.34.0...v3.35.0) (2021-08-30)
250
+
251
+ ### Features
252
+
253
+ - **@clayui/tooltip:** replaces direct use of dom-align with doAlign with RTL support ([2afa54c](https://github.com/liferay/clay/commit/2afa54c))
254
+
255
+ # [3.32.0](https://github.com/liferay/clay/compare/v3.31.0...v3.32.0) (2021-07-28)
256
+
257
+ ### Bug Fixes
258
+
259
+ - **@clayui/tooltip:** Hide tooltip on `dragstart` ([70d78da](https://github.com/liferay/clay/commit/70d78da))
260
+
261
+ # [3.29.0](https://github.com/liferay/clay/compare/v3.28.0...v3.29.0) (2021-05-28)
262
+
263
+ **Note:** Version bump only for package @clayui/tooltip
264
+
265
+ # [3.28.0](https://github.com/liferay/clay/compare/v3.27.0...v3.28.0) (2021-05-19)
266
+
267
+ ### Features
268
+
269
+ - **@clayui/tooltip:** Add the new ContainerProps API ([728600c](https://github.com/liferay/clay/commit/728600c))
270
+ - **@clayui/tooltip:** update logic to handle scoping and a global listener ([1c83d30](https://github.com/liferay/clay/commit/1c83d30))
271
+
272
+ # [3.27.0](https://github.com/liferay/clay/compare/v3.26.0...v3.27.0) (2021-05-05)
273
+
274
+ **Note:** Version bump only for package @clayui/tooltip
275
+
276
+ ## [3.4.5](https://github.com/liferay/clay/compare/@clayui/tooltip@3.4.4...@clayui/tooltip@3.4.5) (2021-02-11)
277
+
278
+ **Note:** Version bump only for package @clayui/tooltip
279
+
280
+ ## [3.4.4](https://github.com/liferay/clay/compare/@clayui/tooltip@3.4.3...@clayui/tooltip@3.4.4) (2021-01-27)
281
+
282
+ **Note:** Version bump only for package @clayui/tooltip
283
+
284
+ ## [3.4.3](https://github.com/liferay/clay/compare/@clayui/tooltip@3.4.2...@clayui/tooltip@3.4.3) (2021-01-13)
285
+
286
+ **Note:** Version bump only for package @clayui/tooltip
287
+
288
+ ## [3.4.2](https://github.com/liferay/clay/compare/@clayui/tooltip@3.4.0...@clayui/tooltip@3.4.2) (2020-12-16)
289
+
290
+ **Note:** Version bump only for package @clayui/tooltip
291
+
292
+ ## [3.4.1](https://github.com/liferay/clay/compare/@clayui/tooltip@3.4.0...@clayui/tooltip@3.4.1) (2020-12-02)
293
+
294
+ **Note:** Version bump only for package @clayui/tooltip
295
+
296
+ # [3.4.0](https://github.com/liferay/clay/compare/@clayui/tooltip@3.3.5...@clayui/tooltip@3.4.0) (2020-10-01)
297
+
298
+ ### Features
299
+
300
+ - **clayui.com:** Move API tables to new files and update document tabs, rename files to use singular naming instead of plural, change mainTabURL of pagination-bar to a proper one ([d812ee9](https://github.com/liferay/clay/commit/d812ee9))
301
+ - add displayName for all components ([cc3211d](https://github.com/liferay/clay/commit/cc3211d))
302
+
303
+ ## [3.3.5](https://github.com/liferay/clay/compare/@clayui/tooltip@3.3.4...@clayui/tooltip@3.3.5) (2020-08-28)
304
+
305
+ **Note:** Version bump only for package @clayui/tooltip
306
+
307
+ ## [3.3.4](https://github.com/liferay/clay/compare/@clayui/tooltip@3.3.3...@clayui/tooltip@3.3.4) (2020-08-26)
308
+
309
+ **Note:** Version bump only for package @clayui/tooltip
310
+
311
+ ## [3.3.3](https://github.com/liferay/clay/compare/@clayui/tooltip@3.3.2...@clayui/tooltip@3.3.3) (2020-07-28)
312
+
313
+ ### Bug Fixes
314
+
315
+ - update packages to appropriate dependencies ([0026168](https://github.com/liferay/clay/commit/0026168))
316
+
317
+ ## [3.3.2](https://github.com/liferay/clay/compare/@clayui/tooltip@3.3.1...@clayui/tooltip@3.3.2) (2020-07-07)
318
+
319
+ **Note:** Version bump only for package @clayui/tooltip
320
+
321
+ ## [3.3.1](https://github.com/liferay/clay/compare/@clayui/tooltip@3.3.0...@clayui/tooltip@3.3.1) (2020-06-18)
322
+
323
+ **Note:** Version bump only for package @clayui/tooltip
324
+
325
+ # [3.3.0](https://github.com/liferay/clay/compare/@clayui/tooltip@3.2.3...@clayui/tooltip@3.3.0) (2020-05-21)
326
+
327
+ ### Features
328
+
329
+ - **clayui.com:** Improve component docs by updating content - Pagination, Popover, Progress Bar, Slider, Toggle & Tooltip ([01b555a](https://github.com/liferay/clay/commit/01b555a))
330
+ - **clayui.com:** Improve component docs by updating content - Typos, wording, and variable names ([f1d795c](https://github.com/liferay/clay/commit/f1d795c))
331
+
332
+ ## [3.2.3](https://github.com/liferay/clay/compare/@clayui/tooltip@3.2.2...@clayui/tooltip@3.2.3) (2020-04-24)
333
+
334
+ **Note:** Version bump only for package @clayui/tooltip
335
+
336
+ ## [3.2.2](https://github.com/liferay/clay/tree/master/packages/clay-tooltip/compare/@clayui/tooltip@3.2.1...@clayui/tooltip@3.2.2) (2020-03-13)
337
+
338
+ ### Bug Fixes
339
+
340
+ - **@clayui/tooltip:** remove polyfill in favor of ponyfill(ponyfill.com) ([3a149e0](https://github.com/liferay/clay/commit/3a149e0))
341
+
342
+ ## [3.2.1](https://github.com/liferay/clay/tree/master/packages/clay-tooltip/compare/@clayui/tooltip@3.2.0...@clayui/tooltip@3.2.1) (2020-03-12)
343
+
344
+ ### Bug Fixes
345
+
346
+ - **@clayui/tooltip:** add polyfill for element.matches ([a16ff00](https://github.com/liferay/clay/commit/a16ff00))
347
+
348
+ # 3.2.0 (2020-02-28)
349
+
350
+ ### Bug Fixes
351
+
352
+ - **css:** allow newline characters to display properly for tooltips ([2265d10](https://github.com/liferay/clay/commit/2265d10))
353
+ - **drop-down:** use dom-align instead of metal-position ([335ff38](https://github.com/liferay/clay/commit/335ff38))
354
+ - **tooltip:** add missing dependency ([7203e50](https://github.com/liferay/clay/commit/7203e50))
355
+ - **tooltip:** find closest node with title attribute ([7dc7fb0](https://github.com/liferay/clay/commit/7dc7fb0))
356
+ - **tooltip+popover:** stories should be nested under Components ([f9799f9](https://github.com/liferay/clay/commit/f9799f9))
357
+
358
+ ### Features
359
+
360
+ - **tooltip:** allow custom renderer for TooltipProvider content ([bf64914](https://github.com/liferay/clay/commit/bf64914))
361
+ - **tooltip:** create Tooltip component ([cb41eef](https://github.com/liferay/clay/commit/cb41eef))
362
+
363
+ # [3.1.0](https://github.com/liferay/clay/tree/master/packages/clay-tooltip/compare/@clayui/tooltip@3.0.4...@clayui/tooltip@3.1.0) (2020-01-31)
364
+
365
+ ### Bug Fixes
366
+
367
+ - **css:** allow newline characters to display properly for tooltips ([2265d10](https://github.com/liferay/clay/commit/2265d10))
368
+ - **drop-down:** use dom-align instead of metal-position ([335ff38](https://github.com/liferay/clay/commit/335ff38))
369
+
370
+ ### Features
371
+
372
+ - **tooltip:** allow custom renderer for TooltipProvider content ([bf64914](https://github.com/liferay/clay/commit/bf64914))
373
+
374
+ ## [3.0.6](https://github.com/liferay/clay/tree/master/packages/clay-tooltip/compare/@clayui/tooltip@3.0.4...@clayui/tooltip@3.0.6) (2020-01-20)
375
+
376
+ ### Bug Fixes
377
+
378
+ - **css:** allow newline characters to display properly for tooltips ([2265d10](https://github.com/liferay/clay/commit/2265d10))
379
+ - **drop-down:** use dom-align instead of metal-position ([335ff38](https://github.com/liferay/clay/commit/335ff38))
380
+
381
+ ## [3.0.5](https://github.com/liferay/clay/tree/master/packages/clay-tooltip/compare/@clayui/tooltip@3.0.4...@clayui/tooltip@3.0.5) (2019-12-05)
382
+
383
+ ### Bug Fixes
384
+
385
+ - **drop-down:** use dom-align instead of metal-position ([335ff38](https://github.com/liferay/clay/commit/335ff38))
386
+
387
+ ## [3.0.4](https://github.com/liferay/clay/tree/master/packages/clay-tooltip/compare/@clayui/tooltip@3.0.3...@clayui/tooltip@3.0.4) (2019-11-07)
388
+
389
+ **Note:** Version bump only for package @clayui/tooltip
390
+
391
+ ## [3.0.3](https://github.com/liferay/clay/tree/master/packages/clay-tooltip/compare/@clayui/tooltip@3.0.2...@clayui/tooltip@3.0.3) (2019-11-01)
392
+
393
+ **Note:** Version bump only for package @clayui/tooltip
394
+
395
+ ## [3.0.2](https://github.com/liferay/clay/tree/master/packages/clay-tooltip/compare/@clayui/tooltip@3.0.1...@clayui/tooltip@3.0.2) (2019-10-28)
396
+
397
+ ### Bug Fixes
398
+
399
+ - **tooltip:** find closest node with title attribute ([7dc7fb0](https://github.com/liferay/clay/commit/7dc7fb0))
package/lib/Tooltip.d.ts CHANGED
File without changes
File without changes
package/lib/index.d.ts CHANGED
File without changes
package/lib/useAlign.d.ts CHANGED
File without changes
File without changes
@@ -123,8 +123,9 @@ function useClosestTitle(props) {
123
123
  var target = event.target;
124
124
  var hasTitle = target && (target.hasAttribute('[title]') || target.hasAttribute('[data-title]'));
125
125
  var node = hasTitle ? target : closestAncestor(target, '[title], [data-title]');
126
+ var hasNonEmptyTitle = (node === null || node === void 0 ? void 0 : node.getAttribute('title')) !== '';
126
127
 
127
- if (node) {
128
+ if (node && hasNonEmptyTitle) {
128
129
  targetRef.current = target;
129
130
  target.addEventListener('click', onClick);
130
131
  var title = node.getAttribute('title') || node.getAttribute('data-title') || '';
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clayui/tooltip",
3
- "version": "3.106.0-alpha.0",
3
+ "version": "3.106.1",
4
4
  "description": "ClayTooltip component",
5
5
  "license": "BSD-3-Clause",
6
6
  "repository": "https://github.com/liferay/clay",
@@ -25,7 +25,7 @@
25
25
  "react"
26
26
  ],
27
27
  "dependencies": {
28
- "@clayui/shared": "^3.106.0-alpha.0",
28
+ "@clayui/shared": "^3.106.1",
29
29
  "classnames": "^2.2.6",
30
30
  "dom-align": "^1.12.2",
31
31
  "warning": "^4.0.3"
@@ -38,5 +38,5 @@
38
38
  "browserslist": [
39
39
  "extends browserslist-config-clay"
40
40
  ],
41
- "gitHead": "165b3042aecf800cc0dda7609fa9dee2aa77609c"
41
+ "gitHead": "b5345687d03988ed7d2409305d394434b9800b34"
42
42
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tooltip.js","names":["_classnames","_interopRequireDefault","require","_react","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ALIGN_POSITIONS","exports","ClayTooltip","React","forwardRef","_ref","ref","_ref$alignPosition","alignPosition","children","className","show","otherProps","createElement","classNames","concat","role","displayName","_default"],"sources":["../src/Tooltip.tsx"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport classNames from 'classnames';\nimport React from 'react';\n\nexport const ALIGN_POSITIONS = [\n\t'top',\n\t'top-left',\n\t'top-right',\n\t'bottom',\n\t'bottom-left',\n\t'bottom-right',\n\t'left',\n\t'right',\n] as const;\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n\t/**\n\t * Position in which the tooltip will be aligned to the element.\n\t */\n\talignPosition?: typeof ALIGN_POSITIONS[number];\n\n\t/**\n\t * Flag to indicate if tooltip is displayed.\n\t */\n\tshow?: boolean;\n}\n\nconst ClayTooltip = React.forwardRef<HTMLElement, IProps>(\n\t(\n\t\t{\n\t\t\talignPosition = 'bottom',\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tshow,\n\t\t\t...otherProps\n\t\t}: IProps,\n\t\tref\n\t) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'tooltip',\n\t\t\t\t\t`clay-tooltip-${alignPosition}`,\n\t\t\t\t\t{show}\n\t\t\t\t)}\n\t\t\t\trole=\"tooltip\"\n\t\t\t\t{...otherProps}\n\t\t\t\tref={ref as React.RefObject<HTMLDivElement>}\n\t\t\t>\n\t\t\t\t<div className=\"arrow\" />\n\n\t\t\t\t<div className=\"tooltip-inner\">{children}</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nClayTooltip.displayName = 'ClayTooltip';\n\nexport default ClayTooltip;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TooltipProvider.js","names":["_shared","require","_react","_interopRequireWildcard","_warning","_interopRequireDefault","_Tooltip","_useAlign","_useClosestTitle2","_useTooltipState2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","initialState","align","floating","setAsHTML","title","TRIGGER_HIDE_EVENTS","TRIGGER_SHOW_EVENTS","reducer","state","_ref","type","payload","TooltipProvider","_ref2","_ref2$autoAlign","autoAlign","children","_ref2$containerProps","containerProps","_ref2$contentRenderer","contentRenderer","props","_ref2$delay","delay","scope","_useReducer","useReducer","_useReducer2","_useReducer2$","_useReducer2$$title","dispatch","tooltipRef","useRef","_useInteractionFocus","useInteractionFocus","getInteraction","isFocusVisible","isHovered","isFocused","_useTooltipState","useTooltipState","close","isOpen","open","_useClosestTitle","useClosestTitle","onClick","useCallback","current","onHide","getProps","titleNode","useAlign","onAlign","sourceElement","targetElement","onShow","event","_ref3","useEffect","handleEsc","Keys","Esc","stopImmediatePropagation","document","addEventListener","removeEventListener","onHoverStart","onHoverEnd","onFocus","onBlur","disposeShowEvents","map","eventName","delegate","body","disposeHideEvents","concat","disposeShowFocus","disposeCloseBlur","_ref4","dispose","_ref5","warning","React","Fragment","titleContent","targetNode","tooltip","createElement","ClayPortal","alignPosition","ref","show","dangerouslySetInnerHTML","__html","cloneElement","onMouseOut","onMouseOver","_default","exports"],"sources":["../src/TooltipProvider.tsx"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {\n\tClayPortal,\n\tIPortalBaseProps,\n\tKeys,\n\tdelegate,\n\tuseInteractionFocus,\n} from '@clayui/shared';\nimport React, {useCallback, useEffect, useReducer, useRef} from 'react';\nimport warning from 'warning';\n\nimport ClayTooltip from './Tooltip';\nimport {Align, useAlign} from './useAlign';\nimport {useClosestTitle} from './useClosestTitle';\nimport {useTooltipState} from './useTooltipState';\n\ninterface IState {\n\talign: Align;\n\tfloating: boolean;\n\tsetAsHTML?: boolean;\n\ttitle?: string;\n}\n\nconst initialState: IState = {\n\talign: 'top',\n\tfloating: false,\n\tsetAsHTML: false,\n\ttitle: '',\n};\n\nconst TRIGGER_HIDE_EVENTS = [\n\t'dragstart',\n\t'mouseout',\n\t'mouseup',\n\t'pointerup',\n\t'touchend',\n] as const;\n\nconst TRIGGER_SHOW_EVENTS = [\n\t'mouseover',\n\t'mouseup',\n\t'pointerdown',\n\t'touchstart',\n] as const;\n\ninterface IAction extends Partial<IState> {\n\ttype: 'reset' | 'update';\n}\n\nconst reducer = (state: IState, {type, ...payload}: IAction): IState => {\n\tswitch (type) {\n\t\tcase 'update':\n\t\t\treturn {...state, ...payload};\n\t\tcase 'reset':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\talign: initialState.align,\n\t\t\t\tfloating: false,\n\t\t\t};\n\t\tdefault:\n\t\t\tthrow new TypeError();\n\t}\n};\n\ntype TContentRenderer = (props: {\n\ttargetNode?: HTMLElement | null;\n\ttitle: string;\n}) => React.ReactElement | React.ReactNode;\n\ninterface IPropsBase {\n\t/**\n\t * Flag to indicate if tooltip should automatically align based on the window\n\t */\n\tautoAlign?: boolean;\n\n\t/**\n\t * Props to add to the <ClayPortal/>.\n\t */\n\tcontainerProps?: IPortalBaseProps;\n\n\t/**\n\t * Custom function for rendering the contents of the tooltip\n\t */\n\tcontentRenderer?: TContentRenderer;\n\n\t/**\n\t * Delay in miliseconds before showing tooltip\n\t */\n\tdelay?: number;\n}\n\ninterface IPropsWithChildren extends IPropsBase {\n\tchildren: React.ReactElement;\n\tscope?: never;\n}\n\ninterface IPropsWithScope extends IPropsBase {\n\tchildren?: never;\n\n\t/**\n\t * CSS selector to scope provider to. All titles within this scope will be\n\t * rendered in the tooltip. Titles outside of this scope will be styled\n\t * as with the default browser.\n\t */\n\tscope: string;\n}\n\nconst TooltipProvider = ({\n\tautoAlign = true,\n\tchildren,\n\tcontainerProps = {},\n\tcontentRenderer = (props) => props.title,\n\tdelay = 600,\n\tscope,\n}: IPropsWithChildren | IPropsWithScope) => {\n\tconst [{align, floating, setAsHTML, title = ''}, dispatch] = useReducer(\n\t\treducer,\n\t\tinitialState\n\t);\n\n\tconst tooltipRef = useRef<HTMLElement>(null);\n\n\tconst {getInteraction, isFocusVisible} = useInteractionFocus();\n\n\tconst isHovered = useRef(false);\n\tconst isFocused = useRef(false);\n\n\tconst {close, isOpen, open} = useTooltipState({delay});\n\n\tconst {getProps, onHide, target, titleNode} = useClosestTitle({\n\t\tonClick: useCallback(() => {\n\t\t\tisFocused.current = false;\n\t\t\tisHovered.current = false;\n\t\t}, []),\n\t\tonHide: useCallback(() => {\n\t\t\tif (!isHovered.current && !isFocused.current) {\n\t\t\t\tdispatch({type: 'reset'});\n\t\t\t\tclose();\n\t\t\t}\n\t\t}, []),\n\t\ttooltipRef,\n\t});\n\n\tuseAlign({\n\t\talign,\n\t\tautoAlign,\n\t\tfloating,\n\t\tisOpen,\n\t\tonAlign: useCallback((align) => dispatch({align, type: 'update'}), []),\n\t\tsourceElement: tooltipRef,\n\t\ttargetElement: titleNode,\n\t\ttitle,\n\t});\n\n\tconst onShow = useCallback(\n\t\t(event: React.MouseEvent<HTMLElement, MouseEvent>) => {\n\t\t\tif (isHovered.current || isFocused.current) {\n\t\t\t\tconst props = getProps(event, isHovered.current);\n\n\t\t\t\tif (props) {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\talign: (props.align as any) ?? align,\n\t\t\t\t\t\tfloating: props.floating,\n\t\t\t\t\t\tsetAsHTML: props.setAsHTML,\n\t\t\t\t\t\ttitle: props.title,\n\t\t\t\t\t\ttype: 'update',\n\t\t\t\t\t});\n\t\t\t\t\topen(\n\t\t\t\t\t\tisFocused.current,\n\t\t\t\t\t\tprops.delay ? Number(props.delay) : undefined\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[align]\n\t);\n\n\tuseEffect(() => {\n\t\tconst handleEsc = (event: KeyboardEvent) => {\n\t\t\tif (isOpen && event.key === Keys.Esc) {\n\t\t\t\tevent.stopImmediatePropagation();\n\n\t\t\t\tonHide();\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener('keyup', handleEsc, true);\n\n\t\treturn () => document.removeEventListener('keyup', handleEsc, true);\n\t}, [isOpen]);\n\n\tconst onHoverStart = (event: any) => {\n\t\tif (getInteraction() === 'pointer') {\n\t\t\tisHovered.current = true;\n\t\t} else {\n\t\t\tisHovered.current = false;\n\t\t}\n\n\t\tonShow(event);\n\t};\n\n\tconst onHoverEnd = (event: any) => {\n\t\tisFocused.current = false;\n\t\tisHovered.current = false;\n\n\t\tonHide(event);\n\t};\n\n\tconst onFocus = (event: any) => {\n\t\tif (isFocusVisible()) {\n\t\t\tisFocused.current = true;\n\n\t\t\tonShow(event);\n\t\t}\n\t};\n\n\tconst onBlur = (event: any) => {\n\t\tisFocused.current = false;\n\t\tisHovered.current = false;\n\n\t\tonHide(event);\n\t};\n\n\tuseEffect(() => {\n\t\tif (scope) {\n\t\t\tconst disposeShowEvents = TRIGGER_SHOW_EVENTS.map((eventName) =>\n\t\t\t\tdelegate(document.body, eventName, scope, onHoverStart)\n\t\t\t);\n\t\t\tconst disposeHideEvents = TRIGGER_HIDE_EVENTS.map((eventName) =>\n\t\t\t\tdelegate(\n\t\t\t\t\tdocument.body,\n\t\t\t\t\teventName,\n\t\t\t\t\t`${scope}, .tooltip`,\n\t\t\t\t\tonHoverEnd\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tconst disposeShowFocus = delegate(\n\t\t\t\tdocument.body,\n\t\t\t\t'focus',\n\t\t\t\t`${scope}, .tooltip`,\n\t\t\t\tonFocus,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst disposeCloseBlur = delegate(\n\t\t\t\tdocument.body,\n\t\t\t\t'blur',\n\t\t\t\t`${scope}, .tooltip`,\n\t\t\t\tonBlur,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\treturn () => {\n\t\t\t\tdisposeShowEvents.forEach(({dispose}) => dispose());\n\t\t\t\tdisposeHideEvents.forEach(({dispose}) => dispose());\n\n\t\t\t\tdisposeShowFocus.dispose();\n\t\t\t\tdisposeCloseBlur.dispose();\n\t\t\t};\n\t\t}\n\t}, [onShow]);\n\n\twarning(\n\t\t(typeof children === 'undefined' && typeof scope !== 'undefined') ||\n\t\t\t(typeof scope === 'undefined' && typeof children !== 'undefined'),\n\t\t'<TooltipProvider />: You must use at least one of the following props: `children` or `scope`.'\n\t);\n\n\twarning(\n\t\ttypeof children !== 'undefined' || typeof scope !== 'undefined',\n\t\t'<TooltipProvider />: If you want to use `scope`, use <TooltipProvider /> as a singleton and do not pass `children`.'\n\t);\n\n\twarning(\n\t\tchildren?.type !== React.Fragment,\n\t\t'<TooltipProvider />: React Fragment is not allowed as a child to TooltipProvider. Child must be a single HTML element that accepts `onMouseOver` and `onMouseOut`.'\n\t);\n\n\tconst titleContent = contentRenderer({\n\t\ttargetNode: target.current,\n\t\ttitle,\n\t});\n\n\tconst tooltip = isOpen && (\n\t\t<ClayPortal {...containerProps}>\n\t\t\t<ClayTooltip alignPosition={align} ref={tooltipRef} show>\n\t\t\t\t{setAsHTML && typeof titleContent === 'string' ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: titleContent,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\ttitleContent\n\t\t\t\t)}\n\t\t\t</ClayTooltip>\n\t\t</ClayPortal>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{scope ? (\n\t\t\t\t<>\n\t\t\t\t\t{tooltip}\n\t\t\t\t\t{children}\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\tchildren &&\n\t\t\t\tReact.cloneElement(children, {\n\t\t\t\t\t...children.props,\n\t\t\t\t\tchildren: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{children.props.children}\n\t\t\t\t\t\t\t{tooltip}\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t\tonBlur,\n\t\t\t\t\tonFocus,\n\t\t\t\t\tonMouseOut: onHoverEnd,\n\t\t\t\t\tonMouseOver: onHoverStart,\n\t\t\t\t})\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nexport default TooltipProvider;\n"],"mappings":"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"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_Tooltip","_interopRequireDefault","require","_TooltipProvider","obj","__esModule","default","_default","ClayTooltip","exports"],"sources":["../src/index.tsx"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport ClayTooltip from './Tooltip';\nimport ClayTooltipProvider from './TooltipProvider';\n\nexport {ClayTooltipProvider};\n\nexport default ClayTooltip;\n"],"mappings":";;;;;;;;;;;;AAKA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAoD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AANpD;AACA;AACA;AACA;AAHA,IAAAG,QAAA,GAUeC,gBAAW;AAAAC,OAAA,CAAAH,OAAA,GAAAC,QAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAlign.js","names":["_shared","require","_domAlign","_react","_typeof","o","Symbol","iterator","constructor","prototype","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","len","length","arr2","r","l","t","e","u","a","f","next","done","push","value","return","isArray","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","ALIGNMENTS","ALIGNMENTS_MAP","bottom","left","right","top","ALIGNMENTS_INVERSE_MAP","bctc","bltl","brtr","clcr","crcl","tcbc","tlbl","trbr","BOTTOM_OFFSET","LEFT_OFFSET","RIGHT_OFFSET","TOP_OFFSET","OFFSET_MAP","ALIGNMENTS_FORCE_MAP","useAlign","_ref","align","autoAlign","floating","isOpen","onAlign","sourceElement","targetElement","title","mousePosition","useMousePosition","useEffect","current","points","_mousePosition","clientX","clientY","alignPoint","offset","join","alignment","doAlign","overflow","adjustX","adjustY","alignmentString","pointsString"],"sources":["../src/useAlign.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {doAlign, useMousePosition} from '@clayui/shared';\nimport {alignPoint} from 'dom-align';\nimport React, {useEffect} from 'react';\n\nconst ALIGNMENTS = [\n\t'top',\n\t'top-right',\n\t'right',\n\t'bottom-right',\n\t'bottom',\n\t'bottom-left',\n\t'left',\n\t'top-left',\n] as const;\n\nconst ALIGNMENTS_MAP = {\n\tbottom: ['tc', 'bc'],\n\t'bottom-left': ['tl', 'bl'],\n\t'bottom-right': ['tr', 'br'],\n\tleft: ['cr', 'cl'],\n\tright: ['cl', 'cr'],\n\ttop: ['bc', 'tc'],\n\t'top-left': ['bl', 'tl'],\n\t'top-right': ['br', 'tr'],\n} as const;\n\nconst ALIGNMENTS_INVERSE_MAP = {\n\tbctc: 'top',\n\tbltl: 'top-left',\n\tbrtr: 'top-right',\n\tclcr: 'right',\n\tcrcl: 'left',\n\ttcbc: 'bottom',\n\ttlbl: 'bottom-left',\n\ttrbr: 'bottom-right',\n} as const;\n\nconst BOTTOM_OFFSET = [0, 7] as const;\nconst LEFT_OFFSET = [-7, 0] as const;\nconst RIGHT_OFFSET = [7, 0] as const;\nconst TOP_OFFSET = [0, -7] as const;\n\nconst OFFSET_MAP = {\n\tbctc: TOP_OFFSET,\n\tbltl: TOP_OFFSET,\n\tbrtr: TOP_OFFSET,\n\tclcr: RIGHT_OFFSET,\n\tcrcl: LEFT_OFFSET,\n\ttcbc: BOTTOM_OFFSET,\n\ttlbl: BOTTOM_OFFSET,\n\ttrbr: BOTTOM_OFFSET,\n};\n\nconst ALIGNMENTS_FORCE_MAP = {\n\t...ALIGNMENTS_INVERSE_MAP,\n\tbctc: 'top-left',\n\ttcbc: 'bottom-left',\n} as const;\n\nexport type Align = typeof ALIGNMENTS[number];\n\ntype Props = {\n\talign: Align;\n\tautoAlign: boolean;\n\tfloating: boolean;\n\tisOpen: boolean;\n\tonAlign: (align: Align) => void;\n\tsourceElement: React.MutableRefObject<HTMLElement | null>;\n\ttargetElement: React.MutableRefObject<HTMLElement | null>;\n\ttitle: string;\n};\n\nexport function useAlign({\n\talign,\n\tautoAlign,\n\tfloating,\n\tisOpen,\n\tonAlign,\n\tsourceElement,\n\ttargetElement,\n\ttitle,\n}: Props) {\n\tconst mousePosition = useMousePosition(20);\n\n\tuseEffect(() => {\n\t\tif (sourceElement.current && isOpen && floating) {\n\t\t\tconst points = ALIGNMENTS_MAP[align || 'top'] as [string, string];\n\n\t\t\tconst [clientX, clientY] = mousePosition;\n\n\t\t\talignPoint(\n\t\t\t\tsourceElement.current,\n\t\t\t\t{\n\t\t\t\t\tclientX,\n\t\t\t\t\tclientY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toffset: OFFSET_MAP[\n\t\t\t\t\t\tpoints.join('') as keyof typeof OFFSET_MAP\n\t\t\t\t\t] as [number, number],\n\t\t\t\t\tpoints,\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [isOpen, floating]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\ttargetElement.current &&\n\t\t\tsourceElement.current &&\n\t\t\tisOpen &&\n\t\t\t!floating\n\t\t) {\n\t\t\tconst points = ALIGNMENTS_MAP[align || 'top'] as [string, string];\n\n\t\t\tconst alignment = doAlign({\n\t\t\t\toverflow: {\n\t\t\t\t\tadjustX: autoAlign,\n\t\t\t\t\tadjustY: autoAlign,\n\t\t\t\t},\n\t\t\t\tpoints,\n\t\t\t\tsourceElement: sourceElement.current,\n\t\t\t\ttargetElement: targetElement.current,\n\t\t\t});\n\n\t\t\tconst alignmentString = alignment.points.join(\n\t\t\t\t''\n\t\t\t) as keyof typeof ALIGNMENTS_INVERSE_MAP;\n\n\t\t\tconst pointsString = points.join('');\n\n\t\t\tif (alignment.overflow.adjustX) {\n\t\t\t\tonAlign(ALIGNMENTS_FORCE_MAP[alignmentString]);\n\t\t\t} else if (pointsString !== alignmentString) {\n\t\t\t\tonAlign(ALIGNMENTS_INVERSE_MAP[alignmentString]);\n\t\t\t}\n\t\t}\n\t}, [align, title, isOpen]);\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useClosestTitle.js","names":["_react","require","matches","element","selectorString","msMatchesSelector","webkitMatchesSelector","closestAncestor","node","s","ancestor","document","documentElement","contains","parentElement","useClosestTitle","props","targetRef","useRef","titleNodeRef","saveTitle","useCallback","title","getAttribute","setAttribute","removeAttribute","tagName","titleTag","querySelector","innerHTML","remove","hasParentTitle","closest","restoreTitle","createElement","appendChild","onClick","event","onHide","_event$relatedTarget","_props$tooltipRef$cur","_targetRef$current","relatedTarget","tooltipRef","current","removeEventListener","getProps","hideBrowserTitle","target","hasTitle","hasAttribute","addEventListener","align","delay","floating","Boolean","setAsHTML","titleNode"],"sources":["../src/useClosestTitle.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport React, {useCallback, useRef} from 'react';\n\nfunction matches(\n\telement: HTMLElement & {\n\t\tmsMatchesSelector?: HTMLElement['matches'];\n\t},\n\tselectorString: string\n) {\n\tif (element.matches) {\n\t\treturn element.matches(selectorString);\n\t} else if (element.msMatchesSelector) {\n\t\treturn element.msMatchesSelector(selectorString);\n\t} else if (element.webkitMatchesSelector) {\n\t\treturn element.webkitMatchesSelector(selectorString);\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction closestAncestor(node: HTMLElement, s: string) {\n\tconst element = node;\n\tlet ancestor: HTMLElement | null = node;\n\n\tif (!document.documentElement.contains(element)) {\n\t\treturn null;\n\t}\n\n\tdo {\n\t\tif (matches(ancestor, s)) {\n\t\t\treturn ancestor;\n\t\t}\n\n\t\tancestor = ancestor.parentElement;\n\t} while (ancestor !== null);\n\n\treturn null;\n}\n\ntype Props = {\n\tonHide: () => void;\n\tonClick: () => void;\n\ttooltipRef: React.MutableRefObject<HTMLElement | null>;\n};\n\nexport function useClosestTitle(props: Props) {\n\tconst targetRef = useRef<HTMLElement | null>(null);\n\tconst titleNodeRef = useRef<HTMLElement | null>(null);\n\n\tconst saveTitle = useCallback((element: HTMLElement) => {\n\t\tconst title = element.getAttribute('title');\n\n\t\tif (title) {\n\t\t\telement.setAttribute('data-restore-title', title);\n\t\t\telement.removeAttribute('title');\n\t\t} else if (element.tagName === 'svg') {\n\t\t\tconst titleTag = element.querySelector('title');\n\n\t\t\tif (titleTag) {\n\t\t\t\telement.setAttribute('data-restore-title', titleTag.innerHTML);\n\n\t\t\t\ttitleTag.remove();\n\t\t\t}\n\t\t}\n\n\t\tconst hasParentTitle = element.closest<HTMLElement>('[title]');\n\n\t\tif (hasParentTitle) {\n\t\t\tsaveTitle(hasParentTitle);\n\t\t}\n\t}, []);\n\n\tconst restoreTitle = useCallback((element: HTMLElement) => {\n\t\tconst title = element.getAttribute('data-restore-title');\n\n\t\tif (title) {\n\t\t\tif (element.tagName === 'svg') {\n\t\t\t\tconst titleTag = document.createElement('title');\n\n\t\t\t\ttitleTag.innerHTML = title;\n\n\t\t\t\telement.appendChild(titleTag);\n\t\t\t} else {\n\t\t\t\telement.setAttribute('title', title);\n\t\t\t}\n\n\t\t\telement.removeAttribute('data-restore-title');\n\t\t}\n\n\t\tconst hasParentTitle = element.closest<HTMLElement>(\n\t\t\t'[data-restore-title]'\n\t\t);\n\n\t\tif (hasParentTitle) {\n\t\t\trestoreTitle(hasParentTitle);\n\t\t}\n\t}, []);\n\n\tconst onClick = useCallback((event?: any) => {\n\t\tprops.onClick();\n\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\tonHide(event);\n\t}, []);\n\n\tconst onHide = useCallback((event?: any) => {\n\t\tif (\n\t\t\tevent &&\n\t\t\t!event.relatedTarget?.getAttribute('title') &&\n\t\t\t(props.tooltipRef.current?.contains(event.relatedTarget) ||\n\t\t\t\ttargetRef.current?.contains(event.relatedTarget))\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\n\t\tprops.onHide();\n\n\t\tif (titleNodeRef.current) {\n\t\t\trestoreTitle(titleNodeRef.current);\n\t\t\ttitleNodeRef.current = null;\n\t\t}\n\n\t\tif (targetRef.current) {\n\t\t\ttargetRef.current.removeEventListener('click', onClick);\n\t\t\ttargetRef.current = null;\n\t\t}\n\t}, []);\n\n\tconst getProps = useCallback(\n\t\t(\n\t\t\tevent: React.MouseEvent<HTMLElement, MouseEvent>,\n\t\t\thideBrowserTitle: boolean\n\t\t) => {\n\t\t\tif (targetRef.current) {\n\t\t\t\tprops.onClick();\n\n\t\t\t\tif (onHide(event) === null) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst target = event.target as HTMLElement;\n\n\t\t\tconst hasTitle =\n\t\t\t\ttarget &&\n\t\t\t\t(target.hasAttribute('[title]') ||\n\t\t\t\t\ttarget.hasAttribute('[data-title]'));\n\n\t\t\tconst node = hasTitle\n\t\t\t\t? target\n\t\t\t\t: closestAncestor(target, '[title], [data-title]');\n\n\t\t\tif (node) {\n\t\t\t\ttargetRef.current = target;\n\n\t\t\t\ttarget.addEventListener('click', onClick);\n\n\t\t\t\tconst title =\n\t\t\t\t\tnode.getAttribute('title') ||\n\t\t\t\t\tnode.getAttribute('data-title') ||\n\t\t\t\t\t'';\n\n\t\t\t\ttitleNodeRef.current = node;\n\n\t\t\t\tif (hideBrowserTitle) {\n\t\t\t\t\tsaveTitle(node);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\talign: node.getAttribute('data-tooltip-align'),\n\t\t\t\t\tdelay: node.getAttribute('data-tooltip-delay'),\n\t\t\t\t\tfloating: Boolean(\n\t\t\t\t\t\tnode.getAttribute('data-tooltip-floating')\n\t\t\t\t\t),\n\t\t\t\t\tsetAsHTML: !!node.getAttribute('data-title-set-as-html'),\n\t\t\t\t\ttitle,\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t[]\n\t);\n\n\treturn {getProps, onHide, target: targetRef, titleNode: titleNodeRef};\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTooltipState.js","names":["_react","require","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","useTooltipState","_ref","_ref$delay","delay","_useState","useState","_useState2","isOpen","setOpen","timeoutIdRef","useRef","open","useCallback","immediate","customDelay","clearTimeout","current","setTimeout","undefined","close"],"sources":["../src/useTooltipState.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {useCallback, useRef, useState} from 'react';\n\ntype Props = {\n\tdelay?: number;\n};\n\nexport function useTooltipState({delay = 600}: Props) {\n\tconst [isOpen, setOpen] = useState(false);\n\n\tconst timeoutIdRef = useRef<any>();\n\n\tconst open = useCallback((immediate: boolean, customDelay?: number) => {\n\t\tif (!immediate) {\n\t\t\tclearTimeout(timeoutIdRef.current);\n\n\t\t\ttimeoutIdRef.current = setTimeout(\n\t\t\t\t() => {\n\t\t\t\t\tsetOpen(true);\n\t\t\t\t},\n\t\t\t\tcustomDelay !== undefined ? customDelay : delay\n\t\t\t);\n\t\t} else {\n\t\t\tsetOpen(true);\n\t\t}\n\t}, []);\n\n\tconst close = useCallback(() => {\n\t\tclearTimeout(timeoutIdRef.current);\n\n\t\tsetOpen(false);\n\t}, []);\n\n\treturn {\n\t\tclose,\n\t\tisOpen,\n\t\topen,\n\t};\n}\n"],"mappings":"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"}