@ulu/frontend 0.1.0-beta.81 → 0.1.0-beta.82

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 CHANGED
@@ -1,5 +1,12 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.1.0-beta.82
4
+
5
+ - **js/utils/dialog.js**
6
+ - Remove native resize detection (resizeObserver, etc) since all resizing is done by resizer now
7
+ - Backed up this idea to reference/ideas/removed-idea-on-how-to-detect-native-resizing-has-no-event.js incase it's needed in the future
8
+ - Add flag internally to ensure that click outside is prevented if the pointer event originated from a resizer event
9
+
3
10
  ## 0.1.0-beta.81
4
11
 
5
12
  - **scss/components/css-icons.scss**
@@ -5196,6 +5196,9 @@
5196
5196
  <div class="toc">
5197
5197
  <ol>
5198
5198
 
5199
+ <li><a href="#0.1.0-beta.82">0.1.0-beta.82</a>
5200
+ </li>
5201
+
5199
5202
  <li><a href="#0.1.0-beta.81">0.1.0-beta.81</a>
5200
5203
  </li>
5201
5204
 
@@ -5487,6 +5490,19 @@
5487
5490
 
5488
5491
  <div class="changelog">
5489
5492
  <h1 id="change-log" tabindex="-1">Change Log</h1>
5493
+ <h2 id="0.1.0-beta.82" tabindex="-1">0.1.0-beta.82</h2>
5494
+ <ul>
5495
+ <li><strong>js/utils/dialog.js</strong>
5496
+ <ul>
5497
+ <li>Remove native resize detection (resizeObserver, etc) since all resizing is done by resizer now
5498
+ <ul>
5499
+ <li>Backed up this idea to reference/ideas/removed-idea-on-how-to-detect-native-resizing-has-no-event.js incase it's needed in the future</li>
5500
+ </ul>
5501
+ </li>
5502
+ <li>Add flag internally to ensure that click outside is prevented if the pointer event originated from a resizer event</li>
5503
+ </ul>
5504
+ </li>
5505
+ </ul>
5490
5506
  <h2 id="0.1.0-beta.81" tabindex="-1">0.1.0-beta.81</h2>
5491
5507
  <ul>
5492
5508
  <li><strong>scss/components/css-icons.scss</strong>
@@ -5214,60 +5214,60 @@
5214
5214
  <legend>Elements Visible</legend>
5215
5215
  <div>
5216
5216
  <div class="form-theme__item form-theme__item--checkbox">
5217
- <input type="checkbox" id="live-demo-id-1" name="title" checked="">
5218
- <label for="live-demo-id-1">
5217
+ <input type="checkbox" id="live-demo-id-89" name="title" checked="">
5218
+ <label for="live-demo-id-89">
5219
5219
  Title
5220
5220
  </label>
5221
5221
  </div>
5222
5222
  <div class="form-theme__item form-theme__item--checkbox">
5223
- <input type="checkbox" id="live-demo-id-2" name="body" checked="">
5224
- <label for="live-demo-id-2">
5223
+ <input type="checkbox" id="live-demo-id-90" name="body" checked="">
5224
+ <label for="live-demo-id-90">
5225
5225
  Body
5226
5226
  </label>
5227
5227
  </div>
5228
5228
  <div class="form-theme__item form-theme__item--checkbox">
5229
- <input type="checkbox" id="live-demo-id-3" name="content" checked="">
5230
- <label for="live-demo-id-3">
5229
+ <input type="checkbox" id="live-demo-id-91" name="content" checked="">
5230
+ <label for="live-demo-id-91">
5231
5231
  Content
5232
5232
  </label>
5233
5233
  </div>
5234
5234
  <div class="form-theme__item form-theme__item--checkbox">
5235
- <input type="checkbox" id="live-demo-id-4" name="aside" checked="">
5236
- <label for="live-demo-id-4">
5235
+ <input type="checkbox" id="live-demo-id-92" name="aside" checked="">
5236
+ <label for="live-demo-id-92">
5237
5237
  Aside
5238
5238
  </label>
5239
5239
  </div>
5240
5240
  <div class="form-theme__item form-theme__item--checkbox">
5241
- <input type="checkbox" id="live-demo-id-5" name="footer" checked="">
5242
- <label for="live-demo-id-5">
5241
+ <input type="checkbox" id="live-demo-id-93" name="footer" checked="">
5242
+ <label for="live-demo-id-93">
5243
5243
  Footer
5244
5244
  </label>
5245
5245
  </div>
5246
5246
  </div>
5247
5247
  </fieldset>
5248
5248
  <div class="form-theme__item form-theme__item--select">
5249
- <label for="live-demo-id-6">
5249
+ <label for="live-demo-id-94">
5250
5250
  Action
5251
5251
  <span class="fas fa-info-circle" data-ulu-tooltip="Proxy click only works when title is present"></span>
5252
5252
  </label>
5253
- <select id="live-demo-id-6" name="action">
5253
+ <select id="live-demo-id-94" name="action">
5254
5254
  <option value="">None</option>,<option value="link">Card is Link</option>,<option value="proxy">Proxy Click</option>
5255
5255
  </select>
5256
5256
  </div>
5257
5257
  <div class="form-theme__item form-theme__item--select">
5258
- <label for="live-demo-id-7">
5258
+ <label for="live-demo-id-95">
5259
5259
  Media
5260
5260
  </label>
5261
- <select id="live-demo-id-7" name="media">
5261
+ <select id="live-demo-id-95" name="media">
5262
5262
  <option value="icon">Icon</option>,<option value="image">Image</option>,<option value="imageFit">Image (fit)</option>,<option value="none">No Image</option>
5263
5263
  </select>
5264
5264
  </div>
5265
5265
  <div class="form-theme__item form-theme__item--select">
5266
- <label for="live-demo-id-8">
5266
+ <label for="live-demo-id-96">
5267
5267
  Layout
5268
5268
  <span class="fas fa-info-circle" data-ulu-tooltip="Overlay is not compatible with 'Icon' and 'No Image' options"></span>
5269
5269
  </label>
5270
- <select id="live-demo-id-8" name="layout">
5270
+ <select id="live-demo-id-96" name="layout">
5271
5271
  <option value="">Default</option>,<option value="horizontal">Horizontal</option>,<option value="horizontalCenter">Horizontal Center</option>,<option value="overlay">Overlay</option>
5272
5272
  </select>
5273
5273
  </div>
@@ -5252,178 +5252,178 @@
5252
5252
  </table>
5253
5253
  <h2 class="h2">Complex Table</h2>
5254
5254
  <h2 class="h2">Striped Table</h2>
5255
- <table class="data-table data-table--striped" id="dt-1">
5255
+ <table class="data-table data-table--striped" id="dt-45">
5256
5256
  <caption>
5257
5257
  This Is The Table's Caption
5258
5258
  </caption>
5259
5259
  <thead>
5260
5260
  <tr>
5261
- <th id="dt-1-type" rowspan="2">Type</th>
5262
- <th id="dt-1-group" colspan="2">Group</th>
5263
- <th id="dt-1-details" colspan="2">Details</th>
5264
- <th id="dt-1-id" rowspan="2">Id</th>
5261
+ <th id="dt-45-type" rowspan="2">Type</th>
5262
+ <th id="dt-45-group" colspan="2">Group</th>
5263
+ <th id="dt-45-details" colspan="2">Details</th>
5264
+ <th id="dt-45-id" rowspan="2">Id</th>
5265
5265
  </tr>
5266
5266
  <tr>
5267
- <th headers="dt-1-group" id="dt-1-primary">Primary</th>
5268
- <th headers="dt-1-group" id="dt-1-secondary">Secondary</th>
5269
- <th headers="dt-1-details" id="dt-1-before">Before Task</th>
5270
- <th headers="dt-1-details" id="dt-1-after">After Task</th>
5267
+ <th headers="dt-45-group" id="dt-45-primary">Primary</th>
5268
+ <th headers="dt-45-group" id="dt-45-secondary">Secondary</th>
5269
+ <th headers="dt-45-details" id="dt-45-before">Before Task</th>
5270
+ <th headers="dt-45-details" id="dt-45-after">After Task</th>
5271
5271
  </tr>
5272
5272
  </thead>
5273
5273
  <tbody>
5274
5274
  <tr>
5275
- <th rowspan="3" headers="dt-1-type dt-1-r1" id="dt-1-r1">Default</th>
5276
- <td headers="dt-1-group dt-1-primary dt-1-r1">Lorem Ipsum</td>
5277
- <td headers="dt-1-group dt-1-secondary dt-1-r1">Lorem Ipsum</td>
5278
- <td headers="dt-1-details dt-1-before dt-1-r1">Lorem Ipsum</td>
5279
- <td headers="dt-1-details dt-1-after dt-1-r1">Lorem Ipsum</td>
5280
- <td headers="dt-1-id">OL-53-GHSLE</td>
5275
+ <th rowspan="3" headers="dt-45-type dt-45-r1" id="dt-45-r1">Default</th>
5276
+ <td headers="dt-45-group dt-45-primary dt-45-r1">Lorem Ipsum</td>
5277
+ <td headers="dt-45-group dt-45-secondary dt-45-r1">Lorem Ipsum</td>
5278
+ <td headers="dt-45-details dt-45-before dt-45-r1">Lorem Ipsum</td>
5279
+ <td headers="dt-45-details dt-45-after dt-45-r1">Lorem Ipsum</td>
5280
+ <td headers="dt-45-id">OL-53-GHSLE</td>
5281
5281
  </tr>
5282
5282
  <tr>
5283
- <td headers="dt-1-group dt-1-primary dt-1-r1">Lorem Ipsum</td>
5284
- <td headers="dt-1-group dt-1-secondary dt-1-r1">Lorem Ipsum</td>
5285
- <td headers="dt-1-details dt-1-before dt-1-r1">Lorem Ipsum</td>
5286
- <td headers="dt-1-details dt-1-after dt-1-r1">Lorem Ipsum</td>
5287
- <td headers="dt-1-id">OL-53-GHSLE</td>
5283
+ <td headers="dt-45-group dt-45-primary dt-45-r1">Lorem Ipsum</td>
5284
+ <td headers="dt-45-group dt-45-secondary dt-45-r1">Lorem Ipsum</td>
5285
+ <td headers="dt-45-details dt-45-before dt-45-r1">Lorem Ipsum</td>
5286
+ <td headers="dt-45-details dt-45-after dt-45-r1">Lorem Ipsum</td>
5287
+ <td headers="dt-45-id">OL-53-GHSLE</td>
5288
5288
  </tr>
5289
5289
  <tr>
5290
- <td headers="dt-1-group dt-1-primary dt-1-r1">Lorem Ipsum</td>
5291
- <td headers="dt-1-group dt-1-secondary dt-1-r1">Lorem Ipsum</td>
5292
- <td headers="dt-1-details dt-1-before dt-1-r1">Lorem Ipsum</td>
5293
- <td headers="dt-1-details dt-1-after dt-1-r1">Lorem Ipsum</td>
5294
- <td headers="dt-1-id">OL-53-GHSLE</td>
5290
+ <td headers="dt-45-group dt-45-primary dt-45-r1">Lorem Ipsum</td>
5291
+ <td headers="dt-45-group dt-45-secondary dt-45-r1">Lorem Ipsum</td>
5292
+ <td headers="dt-45-details dt-45-before dt-45-r1">Lorem Ipsum</td>
5293
+ <td headers="dt-45-details dt-45-after dt-45-r1">Lorem Ipsum</td>
5294
+ <td headers="dt-45-id">OL-53-GHSLE</td>
5295
5295
  </tr>
5296
5296
  </tbody>
5297
5297
  </table>
5298
5298
  <h2 class="h2">Large-first Table</h2>
5299
- <table class="data-table data-table--large-first" id="dt-2">
5299
+ <table class="data-table data-table--large-first" id="dt-46">
5300
5300
  <caption>
5301
5301
  This Is The Table's Caption
5302
5302
  </caption>
5303
5303
  <thead>
5304
5304
  <tr>
5305
- <th id="dt-2-type" rowspan="2">Type</th>
5306
- <th id="dt-2-group" colspan="2">Group</th>
5307
- <th id="dt-2-details" colspan="2">Details</th>
5308
- <th id="dt-2-id" rowspan="2">Id</th>
5305
+ <th id="dt-46-type" rowspan="2">Type</th>
5306
+ <th id="dt-46-group" colspan="2">Group</th>
5307
+ <th id="dt-46-details" colspan="2">Details</th>
5308
+ <th id="dt-46-id" rowspan="2">Id</th>
5309
5309
  </tr>
5310
5310
  <tr>
5311
- <th headers="dt-2-group" id="dt-2-primary">Primary</th>
5312
- <th headers="dt-2-group" id="dt-2-secondary">Secondary</th>
5313
- <th headers="dt-2-details" id="dt-2-before">Before Task</th>
5314
- <th headers="dt-2-details" id="dt-2-after">After Task</th>
5311
+ <th headers="dt-46-group" id="dt-46-primary">Primary</th>
5312
+ <th headers="dt-46-group" id="dt-46-secondary">Secondary</th>
5313
+ <th headers="dt-46-details" id="dt-46-before">Before Task</th>
5314
+ <th headers="dt-46-details" id="dt-46-after">After Task</th>
5315
5315
  </tr>
5316
5316
  </thead>
5317
5317
  <tbody>
5318
5318
  <tr>
5319
- <th rowspan="3" headers="dt-2-type dt-2-r1" id="dt-2-r1">Default</th>
5320
- <td headers="dt-2-group dt-2-primary dt-2-r1">Lorem Ipsum</td>
5321
- <td headers="dt-2-group dt-2-secondary dt-2-r1">Lorem Ipsum</td>
5322
- <td headers="dt-2-details dt-2-before dt-2-r1">Lorem Ipsum</td>
5323
- <td headers="dt-2-details dt-2-after dt-2-r1">Lorem Ipsum</td>
5324
- <td headers="dt-2-id">OL-53-GHSLE</td>
5319
+ <th rowspan="3" headers="dt-46-type dt-46-r1" id="dt-46-r1">Default</th>
5320
+ <td headers="dt-46-group dt-46-primary dt-46-r1">Lorem Ipsum</td>
5321
+ <td headers="dt-46-group dt-46-secondary dt-46-r1">Lorem Ipsum</td>
5322
+ <td headers="dt-46-details dt-46-before dt-46-r1">Lorem Ipsum</td>
5323
+ <td headers="dt-46-details dt-46-after dt-46-r1">Lorem Ipsum</td>
5324
+ <td headers="dt-46-id">OL-53-GHSLE</td>
5325
5325
  </tr>
5326
5326
  <tr>
5327
- <td headers="dt-2-group dt-2-primary dt-2-r1">Lorem Ipsum</td>
5328
- <td headers="dt-2-group dt-2-secondary dt-2-r1">Lorem Ipsum</td>
5329
- <td headers="dt-2-details dt-2-before dt-2-r1">Lorem Ipsum</td>
5330
- <td headers="dt-2-details dt-2-after dt-2-r1">Lorem Ipsum</td>
5331
- <td headers="dt-2-id">OL-53-GHSLE</td>
5327
+ <td headers="dt-46-group dt-46-primary dt-46-r1">Lorem Ipsum</td>
5328
+ <td headers="dt-46-group dt-46-secondary dt-46-r1">Lorem Ipsum</td>
5329
+ <td headers="dt-46-details dt-46-before dt-46-r1">Lorem Ipsum</td>
5330
+ <td headers="dt-46-details dt-46-after dt-46-r1">Lorem Ipsum</td>
5331
+ <td headers="dt-46-id">OL-53-GHSLE</td>
5332
5332
  </tr>
5333
5333
  <tr>
5334
- <td headers="dt-2-group dt-2-primary dt-2-r1">Lorem Ipsum</td>
5335
- <td headers="dt-2-group dt-2-secondary dt-2-r1">Lorem Ipsum</td>
5336
- <td headers="dt-2-details dt-2-before dt-2-r1">Lorem Ipsum</td>
5337
- <td headers="dt-2-details dt-2-after dt-2-r1">Lorem Ipsum</td>
5338
- <td headers="dt-2-id">OL-53-GHSLE</td>
5334
+ <td headers="dt-46-group dt-46-primary dt-46-r1">Lorem Ipsum</td>
5335
+ <td headers="dt-46-group dt-46-secondary dt-46-r1">Lorem Ipsum</td>
5336
+ <td headers="dt-46-details dt-46-before dt-46-r1">Lorem Ipsum</td>
5337
+ <td headers="dt-46-details dt-46-after dt-46-r1">Lorem Ipsum</td>
5338
+ <td headers="dt-46-id">OL-53-GHSLE</td>
5339
5339
  </tr>
5340
5340
  </tbody>
5341
5341
  </table>
5342
5342
  <h2 class="h2">Large-header Table</h2>
5343
- <table class="data-table data-table--large-header" id="dt-3">
5343
+ <table class="data-table data-table--large-header" id="dt-47">
5344
5344
  <caption>
5345
5345
  This Is The Table's Caption
5346
5346
  </caption>
5347
5347
  <thead>
5348
5348
  <tr>
5349
- <th id="dt-3-type" rowspan="2">Type</th>
5350
- <th id="dt-3-group" colspan="2">Group</th>
5351
- <th id="dt-3-details" colspan="2">Details</th>
5352
- <th id="dt-3-id" rowspan="2">Id</th>
5349
+ <th id="dt-47-type" rowspan="2">Type</th>
5350
+ <th id="dt-47-group" colspan="2">Group</th>
5351
+ <th id="dt-47-details" colspan="2">Details</th>
5352
+ <th id="dt-47-id" rowspan="2">Id</th>
5353
5353
  </tr>
5354
5354
  <tr>
5355
- <th headers="dt-3-group" id="dt-3-primary">Primary</th>
5356
- <th headers="dt-3-group" id="dt-3-secondary">Secondary</th>
5357
- <th headers="dt-3-details" id="dt-3-before">Before Task</th>
5358
- <th headers="dt-3-details" id="dt-3-after">After Task</th>
5355
+ <th headers="dt-47-group" id="dt-47-primary">Primary</th>
5356
+ <th headers="dt-47-group" id="dt-47-secondary">Secondary</th>
5357
+ <th headers="dt-47-details" id="dt-47-before">Before Task</th>
5358
+ <th headers="dt-47-details" id="dt-47-after">After Task</th>
5359
5359
  </tr>
5360
5360
  </thead>
5361
5361
  <tbody>
5362
5362
  <tr>
5363
- <th rowspan="3" headers="dt-3-type dt-3-r1" id="dt-3-r1">Default</th>
5364
- <td headers="dt-3-group dt-3-primary dt-3-r1">Lorem Ipsum</td>
5365
- <td headers="dt-3-group dt-3-secondary dt-3-r1">Lorem Ipsum</td>
5366
- <td headers="dt-3-details dt-3-before dt-3-r1">Lorem Ipsum</td>
5367
- <td headers="dt-3-details dt-3-after dt-3-r1">Lorem Ipsum</td>
5368
- <td headers="dt-3-id">OL-53-GHSLE</td>
5363
+ <th rowspan="3" headers="dt-47-type dt-47-r1" id="dt-47-r1">Default</th>
5364
+ <td headers="dt-47-group dt-47-primary dt-47-r1">Lorem Ipsum</td>
5365
+ <td headers="dt-47-group dt-47-secondary dt-47-r1">Lorem Ipsum</td>
5366
+ <td headers="dt-47-details dt-47-before dt-47-r1">Lorem Ipsum</td>
5367
+ <td headers="dt-47-details dt-47-after dt-47-r1">Lorem Ipsum</td>
5368
+ <td headers="dt-47-id">OL-53-GHSLE</td>
5369
5369
  </tr>
5370
5370
  <tr>
5371
- <td headers="dt-3-group dt-3-primary dt-3-r1">Lorem Ipsum</td>
5372
- <td headers="dt-3-group dt-3-secondary dt-3-r1">Lorem Ipsum</td>
5373
- <td headers="dt-3-details dt-3-before dt-3-r1">Lorem Ipsum</td>
5374
- <td headers="dt-3-details dt-3-after dt-3-r1">Lorem Ipsum</td>
5375
- <td headers="dt-3-id">OL-53-GHSLE</td>
5371
+ <td headers="dt-47-group dt-47-primary dt-47-r1">Lorem Ipsum</td>
5372
+ <td headers="dt-47-group dt-47-secondary dt-47-r1">Lorem Ipsum</td>
5373
+ <td headers="dt-47-details dt-47-before dt-47-r1">Lorem Ipsum</td>
5374
+ <td headers="dt-47-details dt-47-after dt-47-r1">Lorem Ipsum</td>
5375
+ <td headers="dt-47-id">OL-53-GHSLE</td>
5376
5376
  </tr>
5377
5377
  <tr>
5378
- <td headers="dt-3-group dt-3-primary dt-3-r1">Lorem Ipsum</td>
5379
- <td headers="dt-3-group dt-3-secondary dt-3-r1">Lorem Ipsum</td>
5380
- <td headers="dt-3-details dt-3-before dt-3-r1">Lorem Ipsum</td>
5381
- <td headers="dt-3-details dt-3-after dt-3-r1">Lorem Ipsum</td>
5382
- <td headers="dt-3-id">OL-53-GHSLE</td>
5378
+ <td headers="dt-47-group dt-47-primary dt-47-r1">Lorem Ipsum</td>
5379
+ <td headers="dt-47-group dt-47-secondary dt-47-r1">Lorem Ipsum</td>
5380
+ <td headers="dt-47-details dt-47-before dt-47-r1">Lorem Ipsum</td>
5381
+ <td headers="dt-47-details dt-47-after dt-47-r1">Lorem Ipsum</td>
5382
+ <td headers="dt-47-id">OL-53-GHSLE</td>
5383
5383
  </tr>
5384
5384
  </tbody>
5385
5385
  </table>
5386
5386
  <h2 class="h2">No-border Table</h2>
5387
- <table class="data-table data-table--no-border" id="dt-4">
5387
+ <table class="data-table data-table--no-border" id="dt-48">
5388
5388
  <caption>
5389
5389
  This Is The Table's Caption
5390
5390
  </caption>
5391
5391
  <thead>
5392
5392
  <tr>
5393
- <th id="dt-4-type" rowspan="2">Type</th>
5394
- <th id="dt-4-group" colspan="2">Group</th>
5395
- <th id="dt-4-details" colspan="2">Details</th>
5396
- <th id="dt-4-id" rowspan="2">Id</th>
5393
+ <th id="dt-48-type" rowspan="2">Type</th>
5394
+ <th id="dt-48-group" colspan="2">Group</th>
5395
+ <th id="dt-48-details" colspan="2">Details</th>
5396
+ <th id="dt-48-id" rowspan="2">Id</th>
5397
5397
  </tr>
5398
5398
  <tr>
5399
- <th headers="dt-4-group" id="dt-4-primary">Primary</th>
5400
- <th headers="dt-4-group" id="dt-4-secondary">Secondary</th>
5401
- <th headers="dt-4-details" id="dt-4-before">Before Task</th>
5402
- <th headers="dt-4-details" id="dt-4-after">After Task</th>
5399
+ <th headers="dt-48-group" id="dt-48-primary">Primary</th>
5400
+ <th headers="dt-48-group" id="dt-48-secondary">Secondary</th>
5401
+ <th headers="dt-48-details" id="dt-48-before">Before Task</th>
5402
+ <th headers="dt-48-details" id="dt-48-after">After Task</th>
5403
5403
  </tr>
5404
5404
  </thead>
5405
5405
  <tbody>
5406
5406
  <tr>
5407
- <th rowspan="3" headers="dt-4-type dt-4-r1" id="dt-4-r1">Default</th>
5408
- <td headers="dt-4-group dt-4-primary dt-4-r1">Lorem Ipsum</td>
5409
- <td headers="dt-4-group dt-4-secondary dt-4-r1">Lorem Ipsum</td>
5410
- <td headers="dt-4-details dt-4-before dt-4-r1">Lorem Ipsum</td>
5411
- <td headers="dt-4-details dt-4-after dt-4-r1">Lorem Ipsum</td>
5412
- <td headers="dt-4-id">OL-53-GHSLE</td>
5407
+ <th rowspan="3" headers="dt-48-type dt-48-r1" id="dt-48-r1">Default</th>
5408
+ <td headers="dt-48-group dt-48-primary dt-48-r1">Lorem Ipsum</td>
5409
+ <td headers="dt-48-group dt-48-secondary dt-48-r1">Lorem Ipsum</td>
5410
+ <td headers="dt-48-details dt-48-before dt-48-r1">Lorem Ipsum</td>
5411
+ <td headers="dt-48-details dt-48-after dt-48-r1">Lorem Ipsum</td>
5412
+ <td headers="dt-48-id">OL-53-GHSLE</td>
5413
5413
  </tr>
5414
5414
  <tr>
5415
- <td headers="dt-4-group dt-4-primary dt-4-r1">Lorem Ipsum</td>
5416
- <td headers="dt-4-group dt-4-secondary dt-4-r1">Lorem Ipsum</td>
5417
- <td headers="dt-4-details dt-4-before dt-4-r1">Lorem Ipsum</td>
5418
- <td headers="dt-4-details dt-4-after dt-4-r1">Lorem Ipsum</td>
5419
- <td headers="dt-4-id">OL-53-GHSLE</td>
5415
+ <td headers="dt-48-group dt-48-primary dt-48-r1">Lorem Ipsum</td>
5416
+ <td headers="dt-48-group dt-48-secondary dt-48-r1">Lorem Ipsum</td>
5417
+ <td headers="dt-48-details dt-48-before dt-48-r1">Lorem Ipsum</td>
5418
+ <td headers="dt-48-details dt-48-after dt-48-r1">Lorem Ipsum</td>
5419
+ <td headers="dt-48-id">OL-53-GHSLE</td>
5420
5420
  </tr>
5421
5421
  <tr>
5422
- <td headers="dt-4-group dt-4-primary dt-4-r1">Lorem Ipsum</td>
5423
- <td headers="dt-4-group dt-4-secondary dt-4-r1">Lorem Ipsum</td>
5424
- <td headers="dt-4-details dt-4-before dt-4-r1">Lorem Ipsum</td>
5425
- <td headers="dt-4-details dt-4-after dt-4-r1">Lorem Ipsum</td>
5426
- <td headers="dt-4-id">OL-53-GHSLE</td>
5422
+ <td headers="dt-48-group dt-48-primary dt-48-r1">Lorem Ipsum</td>
5423
+ <td headers="dt-48-group dt-48-secondary dt-48-r1">Lorem Ipsum</td>
5424
+ <td headers="dt-48-details dt-48-before dt-48-r1">Lorem Ipsum</td>
5425
+ <td headers="dt-48-details dt-48-after dt-48-r1">Lorem Ipsum</td>
5426
+ <td headers="dt-48-id">OL-53-GHSLE</td>
5427
5427
  </tr>
5428
5428
  </tbody>
5429
5429
  </table>
package/js/ui/dialog.js CHANGED
@@ -2,9 +2,9 @@
2
2
  * @module ui/dialog
3
3
  */
4
4
 
5
+ import { getName } from "../events/index.js";
5
6
  import { ComponentInitializer } from "../utils/system.js";
6
7
  import { wasClickOutside, preventScroll as setupPreventScroll } from "@ulu/utils/browser/dom.js";
7
- import { debounce } from "@ulu/utils/performance.js";
8
8
  import { pauseVideos as pauseYoutubeVideos, prepVideos as prepYoutubeVideos } from "../utils/pause-youtube-video.js";
9
9
 
10
10
  /**
@@ -132,37 +132,15 @@ export function setupDialog(dialog, userOptions) {
132
132
  const options = Object.assign({}, currentDefaults, userOptions);
133
133
  const body = document.body;
134
134
  const { preventScrollShift: preventShift } = options;
135
- let isPointerDown = false;
136
- let isResizing = false;
137
135
 
138
-
139
- // This was added to provide a simple flag for "isPointerDown" so that
140
- // we can disable click outside if it was a click that originated inside the dialog, probable from
141
- // native resize handle. If this causes issues in the future we can explore tracking the pointer
142
- // with setPointerCapture but I'm worried about it affecting inner elements with their own pointer events
143
- // This seems like it will be ok we just don't allow outside closing if there was pointerdown from within the modal
144
- dialog.addEventListener("pointerdown", handlePointerdown);
136
+ // Stores active pointerId for resizer until after the whole pointer event series
137
+ // is finished which is after the click is complete
138
+ let activeResizePointer;
145
139
 
140
+ dialog.addEventListener(getName("resizer:start"), handleResizeStart);
141
+ dialog.addEventListener(getName("resizer:end"), handleResizeEnd);
146
142
  dialog.addEventListener("click", handleClicks);
147
143
 
148
- // Watching for resizes to avoid closing outside during resizes
149
- // - There is no resize event for css resize (so this uses pointerdown and resize observer)
150
- const handleResizeEnd = debounce(() => {
151
- if (isResizing && !isPointerDown) {
152
- isResizing = false;
153
- }
154
- }, 500);
155
-
156
- const resizeObserver = new ResizeObserver(() => {
157
- if (isPointerDown) {
158
- if (!isResizing) {
159
- isResizing = true;
160
- }
161
- handleResizeEnd();
162
- }
163
- });
164
- resizeObserver.observe(dialog);
165
-
166
144
  if (options.documentEnd) {
167
145
  body.appendChild(dialog);
168
146
  }
@@ -187,26 +165,11 @@ export function setupDialog(dialog, userOptions) {
187
165
  });
188
166
  }
189
167
 
190
- function handlePointerdown() {
191
- if (isPointerDown) return;
192
- isPointerDown = true;
193
-
194
- const done = () => {
195
- // After event queue (click) - so after click handler for outside is called
196
- setTimeout(() => {
197
- isPointerDown = false;
198
- isResizing = false;
199
- }, 0);
200
- };
201
- document.addEventListener("pointerup", done, { once: true });
202
- document.addEventListener("pointercancel", done, { once: true });
203
- }
204
-
205
168
  function handleClicks(event) {
206
169
  const { target } = event;
207
170
  const targetIsDialog = target === dialog;
208
171
  const closeFromButton = target.closest(initializer.attributeSelector("close"));
209
- const allowCloseOutside = !isResizing && options.clickOutsideCloses;
172
+ const allowCloseOutside = !activeResizePointer && options.clickOutsideCloses;
210
173
  const closeFromOutside = allowCloseOutside && targetIsDialog && wasClickOutside(dialog, event);
211
174
  if (closeFromOutside || closeFromButton) {
212
175
  if (options.pauseVideos) {
@@ -215,6 +178,15 @@ export function setupDialog(dialog, userOptions) {
215
178
  dialog.close();
216
179
  }
217
180
  }
181
+ function handleResizeStart(event) {
182
+ activeResizePointer = event.pointerId;
183
+ }
184
+ function handleResizeEnd(event) {
185
+ if (activeResizePointer === event.pointerId) {
186
+ // next event cycle (after click/pointer events finish in current)
187
+ setTimeout(() => { activeResizePointer = null;}, 0);
188
+ }
189
+ }
218
190
  }
219
191
 
220
192
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ulu/frontend",
3
- "version": "0.1.0-beta.81",
3
+ "version": "0.1.0-beta.82",
4
4
  "description": "A versatile SCSS and JavaScript component library offering configurable, accessible components and flexible integration into any project, with SCSS modules suitable for modern JS frameworks.",
5
5
  "browser": "js/index.js",
6
6
  "main": "index.js",