@ulu/frontend 0.1.0-beta.56 → 0.1.0-beta.58

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.
@@ -5166,6 +5166,15 @@
5166
5166
  <div class="toc">
5167
5167
  <ol>
5168
5168
 
5169
+ <li><a href="#version-0.1.0-beta.57">Version 0.1.0-beta.57</a>
5170
+ </li>
5171
+
5172
+ <li><a href="#version-0.1.0-beta.56">Version 0.1.0-beta.56</a>
5173
+ </li>
5174
+
5175
+ <li><a href="#version-0.1.0-beta.55">Version 0.1.0-beta.55</a>
5176
+ </li>
5177
+
5169
5178
  <li><a href="#version-0.1.0-beta.54">Version 0.1.0-beta.54</a>
5170
5179
  </li>
5171
5180
 
@@ -5385,6 +5394,30 @@
5385
5394
 
5386
5395
  <div class="changelog">
5387
5396
  <h1 id="change-log" tabindex="-1">Change Log</h1>
5397
+ <h2 id="version-0.1.0-beta.57" tabindex="-1">Version 0.1.0-beta.57</h2>
5398
+ <ul>
5399
+ <li><strong>js/ui/slider</strong>
5400
+ <ul>
5401
+ <li>Setup swipe listener and add option for swipeEnabled (true by default)</li>
5402
+ </ul>
5403
+ </li>
5404
+ </ul>
5405
+ <h2 id="version-0.1.0-beta.56" tabindex="-1">Version 0.1.0-beta.56</h2>
5406
+ <ul>
5407
+ <li><strong>scss/components/counter-list</strong>
5408
+ <ul>
5409
+ <li>Add counter (font-family, font-weight)</li>
5410
+ </ul>
5411
+ </li>
5412
+ </ul>
5413
+ <h2 id="version-0.1.0-beta.55" tabindex="-1">Version 0.1.0-beta.55</h2>
5414
+ <ul>
5415
+ <li><strong>scss/components/counter-list</strong>
5416
+ <ul>
5417
+ <li>Fix selector (was nested if using .counter-list__item), Updates for API for $config</li>
5418
+ </ul>
5419
+ </li>
5420
+ </ul>
5388
5421
  <h2 id="version-0.1.0-beta.54" tabindex="-1">Version 0.1.0-beta.54</h2>
5389
5422
  <ul>
5390
5423
  <li><strong>js/ui/modal-builder</strong>
@@ -5184,60 +5184,60 @@
5184
5184
  <legend>Elements Visible</legend>
5185
5185
  <div>
5186
5186
  <div class="form-theme__item form-theme__item--checkbox">
5187
- <input type="checkbox" id="live-demo-id-33" name="title" checked="">
5188
- <label for="live-demo-id-33">
5187
+ <input type="checkbox" id="live-demo-id-81" name="title" checked="">
5188
+ <label for="live-demo-id-81">
5189
5189
  Title
5190
5190
  </label>
5191
5191
  </div>
5192
5192
  <div class="form-theme__item form-theme__item--checkbox">
5193
- <input type="checkbox" id="live-demo-id-34" name="body" checked="">
5194
- <label for="live-demo-id-34">
5193
+ <input type="checkbox" id="live-demo-id-82" name="body" checked="">
5194
+ <label for="live-demo-id-82">
5195
5195
  Body
5196
5196
  </label>
5197
5197
  </div>
5198
5198
  <div class="form-theme__item form-theme__item--checkbox">
5199
- <input type="checkbox" id="live-demo-id-35" name="content" checked="">
5200
- <label for="live-demo-id-35">
5199
+ <input type="checkbox" id="live-demo-id-83" name="content" checked="">
5200
+ <label for="live-demo-id-83">
5201
5201
  Content
5202
5202
  </label>
5203
5203
  </div>
5204
5204
  <div class="form-theme__item form-theme__item--checkbox">
5205
- <input type="checkbox" id="live-demo-id-36" name="aside" checked="">
5206
- <label for="live-demo-id-36">
5205
+ <input type="checkbox" id="live-demo-id-84" name="aside" checked="">
5206
+ <label for="live-demo-id-84">
5207
5207
  Aside
5208
5208
  </label>
5209
5209
  </div>
5210
5210
  <div class="form-theme__item form-theme__item--checkbox">
5211
- <input type="checkbox" id="live-demo-id-37" name="footer" checked="">
5212
- <label for="live-demo-id-37">
5211
+ <input type="checkbox" id="live-demo-id-85" name="footer" checked="">
5212
+ <label for="live-demo-id-85">
5213
5213
  Footer
5214
5214
  </label>
5215
5215
  </div>
5216
5216
  </div>
5217
5217
  </fieldset>
5218
5218
  <div class="form-theme__item form-theme__item--select">
5219
- <label for="live-demo-id-38">
5219
+ <label for="live-demo-id-86">
5220
5220
  Action
5221
5221
  <span class="fas fa-info-circle" data-ulu-tooltip="Proxy click only works when title is present"></span>
5222
5222
  </label>
5223
- <select id="live-demo-id-38" name="action">
5223
+ <select id="live-demo-id-86" name="action">
5224
5224
  <option value="">None</option>,<option value="link">Card is Link</option>,<option value="proxy">Proxy Click</option>
5225
5225
  </select>
5226
5226
  </div>
5227
5227
  <div class="form-theme__item form-theme__item--select">
5228
- <label for="live-demo-id-39">
5228
+ <label for="live-demo-id-87">
5229
5229
  Media
5230
5230
  </label>
5231
- <select id="live-demo-id-39" name="media">
5231
+ <select id="live-demo-id-87" name="media">
5232
5232
  <option value="icon">Icon</option>,<option value="image">Image</option>,<option value="imageFit">Image (fit)</option>,<option value="none">No Image</option>
5233
5233
  </select>
5234
5234
  </div>
5235
5235
  <div class="form-theme__item form-theme__item--select">
5236
- <label for="live-demo-id-40">
5236
+ <label for="live-demo-id-88">
5237
5237
  Layout
5238
5238
  <span class="fas fa-info-circle" data-ulu-tooltip="Overlay is not compatible with 'Icon' and 'No Image' options"></span>
5239
5239
  </label>
5240
- <select id="live-demo-id-40" name="layout">
5240
+ <select id="live-demo-id-88" name="layout">
5241
5241
  <option value="">Default</option>,<option value="horizontal">Horizontal</option>,<option value="horizontalCenter">Horizontal Center</option>,<option value="overlay">Overlay</option>
5242
5242
  </select>
5243
5243
  </div>
@@ -5222,178 +5222,178 @@
5222
5222
  </table>
5223
5223
  <h2 class="h2">Complex Table</h2>
5224
5224
  <h2 class="h2">Striped Table</h2>
5225
- <table class="data-table data-table--striped" id="dt-17">
5225
+ <table class="data-table data-table--striped" id="dt-41">
5226
5226
  <caption>
5227
5227
  This Is The Table's Caption
5228
5228
  </caption>
5229
5229
  <thead>
5230
5230
  <tr>
5231
- <th id="dt-17-type" rowspan="2">Type</th>
5232
- <th id="dt-17-group" colspan="2">Group</th>
5233
- <th id="dt-17-details" colspan="2">Details</th>
5234
- <th id="dt-17-id" rowspan="2">Id</th>
5231
+ <th id="dt-41-type" rowspan="2">Type</th>
5232
+ <th id="dt-41-group" colspan="2">Group</th>
5233
+ <th id="dt-41-details" colspan="2">Details</th>
5234
+ <th id="dt-41-id" rowspan="2">Id</th>
5235
5235
  </tr>
5236
5236
  <tr>
5237
- <th headers="dt-17-group" id="dt-17-primary">Primary</th>
5238
- <th headers="dt-17-group" id="dt-17-secondary">Secondary</th>
5239
- <th headers="dt-17-details" id="dt-17-before">Before Task</th>
5240
- <th headers="dt-17-details" id="dt-17-after">After Task</th>
5237
+ <th headers="dt-41-group" id="dt-41-primary">Primary</th>
5238
+ <th headers="dt-41-group" id="dt-41-secondary">Secondary</th>
5239
+ <th headers="dt-41-details" id="dt-41-before">Before Task</th>
5240
+ <th headers="dt-41-details" id="dt-41-after">After Task</th>
5241
5241
  </tr>
5242
5242
  </thead>
5243
5243
  <tbody>
5244
5244
  <tr>
5245
- <th rowspan="3" headers="dt-17-type dt-17-r1" id="dt-17-r1">Default</th>
5246
- <td headers="dt-17-group dt-17-primary dt-17-r1">Lorem Ipsum</td>
5247
- <td headers="dt-17-group dt-17-secondary dt-17-r1">Lorem Ipsum</td>
5248
- <td headers="dt-17-details dt-17-before dt-17-r1">Lorem Ipsum</td>
5249
- <td headers="dt-17-details dt-17-after dt-17-r1">Lorem Ipsum</td>
5250
- <td headers="dt-17-id">OL-53-GHSLE</td>
5245
+ <th rowspan="3" headers="dt-41-type dt-41-r1" id="dt-41-r1">Default</th>
5246
+ <td headers="dt-41-group dt-41-primary dt-41-r1">Lorem Ipsum</td>
5247
+ <td headers="dt-41-group dt-41-secondary dt-41-r1">Lorem Ipsum</td>
5248
+ <td headers="dt-41-details dt-41-before dt-41-r1">Lorem Ipsum</td>
5249
+ <td headers="dt-41-details dt-41-after dt-41-r1">Lorem Ipsum</td>
5250
+ <td headers="dt-41-id">OL-53-GHSLE</td>
5251
5251
  </tr>
5252
5252
  <tr>
5253
- <td headers="dt-17-group dt-17-primary dt-17-r1">Lorem Ipsum</td>
5254
- <td headers="dt-17-group dt-17-secondary dt-17-r1">Lorem Ipsum</td>
5255
- <td headers="dt-17-details dt-17-before dt-17-r1">Lorem Ipsum</td>
5256
- <td headers="dt-17-details dt-17-after dt-17-r1">Lorem Ipsum</td>
5257
- <td headers="dt-17-id">OL-53-GHSLE</td>
5253
+ <td headers="dt-41-group dt-41-primary dt-41-r1">Lorem Ipsum</td>
5254
+ <td headers="dt-41-group dt-41-secondary dt-41-r1">Lorem Ipsum</td>
5255
+ <td headers="dt-41-details dt-41-before dt-41-r1">Lorem Ipsum</td>
5256
+ <td headers="dt-41-details dt-41-after dt-41-r1">Lorem Ipsum</td>
5257
+ <td headers="dt-41-id">OL-53-GHSLE</td>
5258
5258
  </tr>
5259
5259
  <tr>
5260
- <td headers="dt-17-group dt-17-primary dt-17-r1">Lorem Ipsum</td>
5261
- <td headers="dt-17-group dt-17-secondary dt-17-r1">Lorem Ipsum</td>
5262
- <td headers="dt-17-details dt-17-before dt-17-r1">Lorem Ipsum</td>
5263
- <td headers="dt-17-details dt-17-after dt-17-r1">Lorem Ipsum</td>
5264
- <td headers="dt-17-id">OL-53-GHSLE</td>
5260
+ <td headers="dt-41-group dt-41-primary dt-41-r1">Lorem Ipsum</td>
5261
+ <td headers="dt-41-group dt-41-secondary dt-41-r1">Lorem Ipsum</td>
5262
+ <td headers="dt-41-details dt-41-before dt-41-r1">Lorem Ipsum</td>
5263
+ <td headers="dt-41-details dt-41-after dt-41-r1">Lorem Ipsum</td>
5264
+ <td headers="dt-41-id">OL-53-GHSLE</td>
5265
5265
  </tr>
5266
5266
  </tbody>
5267
5267
  </table>
5268
5268
  <h2 class="h2">Large-first Table</h2>
5269
- <table class="data-table data-table--large-first" id="dt-18">
5269
+ <table class="data-table data-table--large-first" id="dt-42">
5270
5270
  <caption>
5271
5271
  This Is The Table's Caption
5272
5272
  </caption>
5273
5273
  <thead>
5274
5274
  <tr>
5275
- <th id="dt-18-type" rowspan="2">Type</th>
5276
- <th id="dt-18-group" colspan="2">Group</th>
5277
- <th id="dt-18-details" colspan="2">Details</th>
5278
- <th id="dt-18-id" rowspan="2">Id</th>
5275
+ <th id="dt-42-type" rowspan="2">Type</th>
5276
+ <th id="dt-42-group" colspan="2">Group</th>
5277
+ <th id="dt-42-details" colspan="2">Details</th>
5278
+ <th id="dt-42-id" rowspan="2">Id</th>
5279
5279
  </tr>
5280
5280
  <tr>
5281
- <th headers="dt-18-group" id="dt-18-primary">Primary</th>
5282
- <th headers="dt-18-group" id="dt-18-secondary">Secondary</th>
5283
- <th headers="dt-18-details" id="dt-18-before">Before Task</th>
5284
- <th headers="dt-18-details" id="dt-18-after">After Task</th>
5281
+ <th headers="dt-42-group" id="dt-42-primary">Primary</th>
5282
+ <th headers="dt-42-group" id="dt-42-secondary">Secondary</th>
5283
+ <th headers="dt-42-details" id="dt-42-before">Before Task</th>
5284
+ <th headers="dt-42-details" id="dt-42-after">After Task</th>
5285
5285
  </tr>
5286
5286
  </thead>
5287
5287
  <tbody>
5288
5288
  <tr>
5289
- <th rowspan="3" headers="dt-18-type dt-18-r1" id="dt-18-r1">Default</th>
5290
- <td headers="dt-18-group dt-18-primary dt-18-r1">Lorem Ipsum</td>
5291
- <td headers="dt-18-group dt-18-secondary dt-18-r1">Lorem Ipsum</td>
5292
- <td headers="dt-18-details dt-18-before dt-18-r1">Lorem Ipsum</td>
5293
- <td headers="dt-18-details dt-18-after dt-18-r1">Lorem Ipsum</td>
5294
- <td headers="dt-18-id">OL-53-GHSLE</td>
5289
+ <th rowspan="3" headers="dt-42-type dt-42-r1" id="dt-42-r1">Default</th>
5290
+ <td headers="dt-42-group dt-42-primary dt-42-r1">Lorem Ipsum</td>
5291
+ <td headers="dt-42-group dt-42-secondary dt-42-r1">Lorem Ipsum</td>
5292
+ <td headers="dt-42-details dt-42-before dt-42-r1">Lorem Ipsum</td>
5293
+ <td headers="dt-42-details dt-42-after dt-42-r1">Lorem Ipsum</td>
5294
+ <td headers="dt-42-id">OL-53-GHSLE</td>
5295
5295
  </tr>
5296
5296
  <tr>
5297
- <td headers="dt-18-group dt-18-primary dt-18-r1">Lorem Ipsum</td>
5298
- <td headers="dt-18-group dt-18-secondary dt-18-r1">Lorem Ipsum</td>
5299
- <td headers="dt-18-details dt-18-before dt-18-r1">Lorem Ipsum</td>
5300
- <td headers="dt-18-details dt-18-after dt-18-r1">Lorem Ipsum</td>
5301
- <td headers="dt-18-id">OL-53-GHSLE</td>
5297
+ <td headers="dt-42-group dt-42-primary dt-42-r1">Lorem Ipsum</td>
5298
+ <td headers="dt-42-group dt-42-secondary dt-42-r1">Lorem Ipsum</td>
5299
+ <td headers="dt-42-details dt-42-before dt-42-r1">Lorem Ipsum</td>
5300
+ <td headers="dt-42-details dt-42-after dt-42-r1">Lorem Ipsum</td>
5301
+ <td headers="dt-42-id">OL-53-GHSLE</td>
5302
5302
  </tr>
5303
5303
  <tr>
5304
- <td headers="dt-18-group dt-18-primary dt-18-r1">Lorem Ipsum</td>
5305
- <td headers="dt-18-group dt-18-secondary dt-18-r1">Lorem Ipsum</td>
5306
- <td headers="dt-18-details dt-18-before dt-18-r1">Lorem Ipsum</td>
5307
- <td headers="dt-18-details dt-18-after dt-18-r1">Lorem Ipsum</td>
5308
- <td headers="dt-18-id">OL-53-GHSLE</td>
5304
+ <td headers="dt-42-group dt-42-primary dt-42-r1">Lorem Ipsum</td>
5305
+ <td headers="dt-42-group dt-42-secondary dt-42-r1">Lorem Ipsum</td>
5306
+ <td headers="dt-42-details dt-42-before dt-42-r1">Lorem Ipsum</td>
5307
+ <td headers="dt-42-details dt-42-after dt-42-r1">Lorem Ipsum</td>
5308
+ <td headers="dt-42-id">OL-53-GHSLE</td>
5309
5309
  </tr>
5310
5310
  </tbody>
5311
5311
  </table>
5312
5312
  <h2 class="h2">Large-header Table</h2>
5313
- <table class="data-table data-table--large-header" id="dt-19">
5313
+ <table class="data-table data-table--large-header" id="dt-43">
5314
5314
  <caption>
5315
5315
  This Is The Table's Caption
5316
5316
  </caption>
5317
5317
  <thead>
5318
5318
  <tr>
5319
- <th id="dt-19-type" rowspan="2">Type</th>
5320
- <th id="dt-19-group" colspan="2">Group</th>
5321
- <th id="dt-19-details" colspan="2">Details</th>
5322
- <th id="dt-19-id" rowspan="2">Id</th>
5319
+ <th id="dt-43-type" rowspan="2">Type</th>
5320
+ <th id="dt-43-group" colspan="2">Group</th>
5321
+ <th id="dt-43-details" colspan="2">Details</th>
5322
+ <th id="dt-43-id" rowspan="2">Id</th>
5323
5323
  </tr>
5324
5324
  <tr>
5325
- <th headers="dt-19-group" id="dt-19-primary">Primary</th>
5326
- <th headers="dt-19-group" id="dt-19-secondary">Secondary</th>
5327
- <th headers="dt-19-details" id="dt-19-before">Before Task</th>
5328
- <th headers="dt-19-details" id="dt-19-after">After Task</th>
5325
+ <th headers="dt-43-group" id="dt-43-primary">Primary</th>
5326
+ <th headers="dt-43-group" id="dt-43-secondary">Secondary</th>
5327
+ <th headers="dt-43-details" id="dt-43-before">Before Task</th>
5328
+ <th headers="dt-43-details" id="dt-43-after">After Task</th>
5329
5329
  </tr>
5330
5330
  </thead>
5331
5331
  <tbody>
5332
5332
  <tr>
5333
- <th rowspan="3" headers="dt-19-type dt-19-r1" id="dt-19-r1">Default</th>
5334
- <td headers="dt-19-group dt-19-primary dt-19-r1">Lorem Ipsum</td>
5335
- <td headers="dt-19-group dt-19-secondary dt-19-r1">Lorem Ipsum</td>
5336
- <td headers="dt-19-details dt-19-before dt-19-r1">Lorem Ipsum</td>
5337
- <td headers="dt-19-details dt-19-after dt-19-r1">Lorem Ipsum</td>
5338
- <td headers="dt-19-id">OL-53-GHSLE</td>
5333
+ <th rowspan="3" headers="dt-43-type dt-43-r1" id="dt-43-r1">Default</th>
5334
+ <td headers="dt-43-group dt-43-primary dt-43-r1">Lorem Ipsum</td>
5335
+ <td headers="dt-43-group dt-43-secondary dt-43-r1">Lorem Ipsum</td>
5336
+ <td headers="dt-43-details dt-43-before dt-43-r1">Lorem Ipsum</td>
5337
+ <td headers="dt-43-details dt-43-after dt-43-r1">Lorem Ipsum</td>
5338
+ <td headers="dt-43-id">OL-53-GHSLE</td>
5339
5339
  </tr>
5340
5340
  <tr>
5341
- <td headers="dt-19-group dt-19-primary dt-19-r1">Lorem Ipsum</td>
5342
- <td headers="dt-19-group dt-19-secondary dt-19-r1">Lorem Ipsum</td>
5343
- <td headers="dt-19-details dt-19-before dt-19-r1">Lorem Ipsum</td>
5344
- <td headers="dt-19-details dt-19-after dt-19-r1">Lorem Ipsum</td>
5345
- <td headers="dt-19-id">OL-53-GHSLE</td>
5341
+ <td headers="dt-43-group dt-43-primary dt-43-r1">Lorem Ipsum</td>
5342
+ <td headers="dt-43-group dt-43-secondary dt-43-r1">Lorem Ipsum</td>
5343
+ <td headers="dt-43-details dt-43-before dt-43-r1">Lorem Ipsum</td>
5344
+ <td headers="dt-43-details dt-43-after dt-43-r1">Lorem Ipsum</td>
5345
+ <td headers="dt-43-id">OL-53-GHSLE</td>
5346
5346
  </tr>
5347
5347
  <tr>
5348
- <td headers="dt-19-group dt-19-primary dt-19-r1">Lorem Ipsum</td>
5349
- <td headers="dt-19-group dt-19-secondary dt-19-r1">Lorem Ipsum</td>
5350
- <td headers="dt-19-details dt-19-before dt-19-r1">Lorem Ipsum</td>
5351
- <td headers="dt-19-details dt-19-after dt-19-r1">Lorem Ipsum</td>
5352
- <td headers="dt-19-id">OL-53-GHSLE</td>
5348
+ <td headers="dt-43-group dt-43-primary dt-43-r1">Lorem Ipsum</td>
5349
+ <td headers="dt-43-group dt-43-secondary dt-43-r1">Lorem Ipsum</td>
5350
+ <td headers="dt-43-details dt-43-before dt-43-r1">Lorem Ipsum</td>
5351
+ <td headers="dt-43-details dt-43-after dt-43-r1">Lorem Ipsum</td>
5352
+ <td headers="dt-43-id">OL-53-GHSLE</td>
5353
5353
  </tr>
5354
5354
  </tbody>
5355
5355
  </table>
5356
5356
  <h2 class="h2">No-border Table</h2>
5357
- <table class="data-table data-table--no-border" id="dt-20">
5357
+ <table class="data-table data-table--no-border" id="dt-44">
5358
5358
  <caption>
5359
5359
  This Is The Table's Caption
5360
5360
  </caption>
5361
5361
  <thead>
5362
5362
  <tr>
5363
- <th id="dt-20-type" rowspan="2">Type</th>
5364
- <th id="dt-20-group" colspan="2">Group</th>
5365
- <th id="dt-20-details" colspan="2">Details</th>
5366
- <th id="dt-20-id" rowspan="2">Id</th>
5363
+ <th id="dt-44-type" rowspan="2">Type</th>
5364
+ <th id="dt-44-group" colspan="2">Group</th>
5365
+ <th id="dt-44-details" colspan="2">Details</th>
5366
+ <th id="dt-44-id" rowspan="2">Id</th>
5367
5367
  </tr>
5368
5368
  <tr>
5369
- <th headers="dt-20-group" id="dt-20-primary">Primary</th>
5370
- <th headers="dt-20-group" id="dt-20-secondary">Secondary</th>
5371
- <th headers="dt-20-details" id="dt-20-before">Before Task</th>
5372
- <th headers="dt-20-details" id="dt-20-after">After Task</th>
5369
+ <th headers="dt-44-group" id="dt-44-primary">Primary</th>
5370
+ <th headers="dt-44-group" id="dt-44-secondary">Secondary</th>
5371
+ <th headers="dt-44-details" id="dt-44-before">Before Task</th>
5372
+ <th headers="dt-44-details" id="dt-44-after">After Task</th>
5373
5373
  </tr>
5374
5374
  </thead>
5375
5375
  <tbody>
5376
5376
  <tr>
5377
- <th rowspan="3" headers="dt-20-type dt-20-r1" id="dt-20-r1">Default</th>
5378
- <td headers="dt-20-group dt-20-primary dt-20-r1">Lorem Ipsum</td>
5379
- <td headers="dt-20-group dt-20-secondary dt-20-r1">Lorem Ipsum</td>
5380
- <td headers="dt-20-details dt-20-before dt-20-r1">Lorem Ipsum</td>
5381
- <td headers="dt-20-details dt-20-after dt-20-r1">Lorem Ipsum</td>
5382
- <td headers="dt-20-id">OL-53-GHSLE</td>
5377
+ <th rowspan="3" headers="dt-44-type dt-44-r1" id="dt-44-r1">Default</th>
5378
+ <td headers="dt-44-group dt-44-primary dt-44-r1">Lorem Ipsum</td>
5379
+ <td headers="dt-44-group dt-44-secondary dt-44-r1">Lorem Ipsum</td>
5380
+ <td headers="dt-44-details dt-44-before dt-44-r1">Lorem Ipsum</td>
5381
+ <td headers="dt-44-details dt-44-after dt-44-r1">Lorem Ipsum</td>
5382
+ <td headers="dt-44-id">OL-53-GHSLE</td>
5383
5383
  </tr>
5384
5384
  <tr>
5385
- <td headers="dt-20-group dt-20-primary dt-20-r1">Lorem Ipsum</td>
5386
- <td headers="dt-20-group dt-20-secondary dt-20-r1">Lorem Ipsum</td>
5387
- <td headers="dt-20-details dt-20-before dt-20-r1">Lorem Ipsum</td>
5388
- <td headers="dt-20-details dt-20-after dt-20-r1">Lorem Ipsum</td>
5389
- <td headers="dt-20-id">OL-53-GHSLE</td>
5385
+ <td headers="dt-44-group dt-44-primary dt-44-r1">Lorem Ipsum</td>
5386
+ <td headers="dt-44-group dt-44-secondary dt-44-r1">Lorem Ipsum</td>
5387
+ <td headers="dt-44-details dt-44-before dt-44-r1">Lorem Ipsum</td>
5388
+ <td headers="dt-44-details dt-44-after dt-44-r1">Lorem Ipsum</td>
5389
+ <td headers="dt-44-id">OL-53-GHSLE</td>
5390
5390
  </tr>
5391
5391
  <tr>
5392
- <td headers="dt-20-group dt-20-primary dt-20-r1">Lorem Ipsum</td>
5393
- <td headers="dt-20-group dt-20-secondary dt-20-r1">Lorem Ipsum</td>
5394
- <td headers="dt-20-details dt-20-before dt-20-r1">Lorem Ipsum</td>
5395
- <td headers="dt-20-details dt-20-after dt-20-r1">Lorem Ipsum</td>
5396
- <td headers="dt-20-id">OL-53-GHSLE</td>
5392
+ <td headers="dt-44-group dt-44-primary dt-44-r1">Lorem Ipsum</td>
5393
+ <td headers="dt-44-group dt-44-secondary dt-44-r1">Lorem Ipsum</td>
5394
+ <td headers="dt-44-details dt-44-before dt-44-r1">Lorem Ipsum</td>
5395
+ <td headers="dt-44-details dt-44-after dt-44-r1">Lorem Ipsum</td>
5396
+ <td headers="dt-44-id">OL-53-GHSLE</td>
5397
5397
  </tr>
5398
5398
  </tbody>
5399
5399
  </table>
@@ -5228,6 +5228,8 @@
5228
5228
  <span class="pjs-token pjs-string">"counter-style"</span> <span class="pjs-token pjs-punctuation">:</span> numeric<span class="pjs-token pjs-punctuation">,</span>
5229
5229
  <span class="pjs-token pjs-string">"counter-border-radius"</span> <span class="pjs-token pjs-punctuation">:</span> 50%<span class="pjs-token pjs-punctuation">,</span>
5230
5230
  <span class="pjs-token pjs-string">"counter-font-size"</span> <span class="pjs-token pjs-punctuation">:</span> 1.2em<span class="pjs-token pjs-punctuation">,</span>
5231
+ <span class="pjs-token pjs-string">"counter-font-weight"</span> <span class="pjs-token pjs-punctuation">:</span> <span class="pjs-token pjs-null pjs-keyword">null</span><span class="pjs-token pjs-punctuation">,</span>
5232
+ <span class="pjs-token pjs-string">"counter-font-family"</span> <span class="pjs-token pjs-punctuation">:</span> <span class="pjs-token pjs-null pjs-keyword">null</span><span class="pjs-token pjs-punctuation">,</span>
5231
5233
  <span class="pjs-token pjs-string">"counter-color"</span> <span class="pjs-token pjs-punctuation">:</span> white<span class="pjs-token pjs-punctuation">,</span>
5232
5234
  <span class="pjs-token pjs-string">"counter-background-color"</span> <span class="pjs-token pjs-punctuation">:</span> <span class="pjs-token pjs-string">"accent"</span><span class="pjs-token pjs-punctuation">,</span>
5233
5235
  <span class="pjs-token pjs-punctuation">)</span><span class="pjs-token pjs-punctuation">;</span></code></pre>
@@ -5238,7 +5240,7 @@
5238
5240
  <li><strong>Group:</strong> counter-list</li>
5239
5241
  <li><strong>Type:</strong> variable</li>
5240
5242
  <li><strong>Lines (comments):</strong> 11-23</li>
5241
- <li><strong>Lines (code):</strong> 25-37</li>
5243
+ <li><strong>Lines (code):</strong> 25-39</li>
5242
5244
  </ul>
5243
5245
  </details>
5244
5246
  <h4 id="map-properties" tabindex="-1">Map Properties</h4>
@@ -5334,8 +5336,8 @@
5334
5336
  <li><strong>File:</strong> _counter-list.scss</li>
5335
5337
  <li><strong>Group:</strong> counter-list</li>
5336
5338
  <li><strong>Type:</strong> mixin</li>
5337
- <li><strong>Lines (comments):</strong> 39-42</li>
5338
- <li><strong>Lines (code):</strong> 44-46</li>
5339
+ <li><strong>Lines (comments):</strong> 41-44</li>
5340
+ <li><strong>Lines (code):</strong> 46-48</li>
5339
5341
  </ul>
5340
5342
  </details>
5341
5343
  <h4 id="examples" tabindex="-1">Examples</h4>
@@ -5374,8 +5376,8 @@
5374
5376
  <li><strong>File:</strong> _counter-list.scss</li>
5375
5377
  <li><strong>Group:</strong> counter-list</li>
5376
5378
  <li><strong>Type:</strong> mixin</li>
5377
- <li><strong>Lines (comments):</strong> 57-64</li>
5378
- <li><strong>Lines (code):</strong> 66-133</li>
5379
+ <li><strong>Lines (comments):</strong> 59-66</li>
5380
+ <li><strong>Lines (code):</strong> 68-137</li>
5379
5381
  </ul>
5380
5382
  </details>
5381
5383
  <div class="callout callout--demo crop-margins">
@@ -5414,8 +5416,8 @@
5414
5416
  <li><strong>File:</strong> _counter-list.scss</li>
5415
5417
  <li><strong>Group:</strong> counter-list</li>
5416
5418
  <li><strong>Type:</strong> function</li>
5417
- <li><strong>Lines (comments):</strong> 48-51</li>
5418
- <li><strong>Lines (code):</strong> 53-55</li>
5419
+ <li><strong>Lines (comments):</strong> 50-53</li>
5420
+ <li><strong>Lines (code):</strong> 55-57</li>
5419
5421
  </ul>
5420
5422
  </details>
5421
5423
  <h4 id="examples-2" tabindex="-1">Examples</h4>
package/js/ui/slider.js CHANGED
@@ -20,6 +20,8 @@
20
20
  // async stuff to promises and simplify
21
21
  // 1.0.4 | Remove live region announcement (only used if auto rotate)
22
22
 
23
+ // Todo: - Create destroy method to cleanup listeners
24
+
23
25
  // Reference: https://www.w3.org/WAI/tutorials/carousels/working-example/
24
26
  // https://www.w3.org/TR/wai-aria-practices/examples/carousel/carousel-1.html#
25
27
  // https://www.w3.org/TR/wai-aria-practices-1.1/examples/carousel/carousel-1.html
@@ -35,6 +37,7 @@ import { hasRequiredProps } from '@ulu/utils/object.js';
35
37
  import { trimWhitespace } from "@ulu/utils/string.js";
36
38
  import { debounce } from "@ulu/utils/performance.js";
37
39
  import { log, logError, logWarning } from "../utils/class-logger.js";
40
+ import setupSwipeListener from "swipe-listener";
38
41
 
39
42
  /**
40
43
  * Slider Component Initializer
@@ -124,13 +127,19 @@ export class Slider {
124
127
  buttonClasses: ["button", "button--icon"],
125
128
  iconClassPrevious: wrapSettingString("iconClassPrevious"),
126
129
  iconClassNext: wrapSettingString("iconClassNext"),
127
- // transition: true
130
+ swipeEnabled: true,
131
+ swipeOptions: {
132
+ preventScroll: true
133
+ }
128
134
  }
129
135
  constructor(elements, config) {
130
136
  const options = Object.assign({}, Slider.defaults, config);
131
137
  this.options = options;
132
138
  this.slide = null;
133
139
  this.index = null;
140
+ this.swipeInstance = null;
141
+ this.swipeListener = null;
142
+ this.swipeImageListener = null;
134
143
  this.transitioning = false;
135
144
 
136
145
  if (!hasRequiredProps(requiredElements)) {
@@ -398,13 +407,50 @@ export class Slider {
398
407
  const trackCss = trimWhitespace(this.trackCss());
399
408
  const trackContainerStyles = trimWhitespace(this.trackContainerStyles());
400
409
  const slideCss = trimWhitespace(this.slideCss());
410
+
401
411
  track.setAttribute("style", trackCss);
402
412
  trackContainer.setAttribute("style", trackContainerStyles);
413
+
403
414
  this.slides.forEach(slide => {
404
415
  slide.element.setAttribute("style", slideCss);
405
416
  slide.element.setAttribute('tabindex', '-1');
406
417
  });
418
+
407
419
  container.classList.add(this.getClass());
420
+
421
+ if (this.options.swipeEnabled) {
422
+ this.setupSwipe();
423
+ }
424
+ }
425
+ setupSwipe() {
426
+ const images = this.elements.track.querySelectorAll("img");
427
+
428
+ // Cache for future destroy
429
+ // this.swipeInstance = setupSwipeListener(track, {
430
+ // preventScroll: true
431
+ // });
432
+ this.swipeListener = (event) => {
433
+ this.onSwipe(event);
434
+ }
435
+ this.swipeImageListener = (event) => {
436
+ event.preventDefault(); // Allow swiping on images
437
+ };
438
+ this.slides.forEach(slide => {
439
+ const { element } = slide;
440
+ slide.swipeInstance = setupSwipeListener(element, this.options.swipeOptions);
441
+ element.addEventListener("swipe", this.swipeListener);
442
+ });
443
+
444
+ images.forEach(image => {
445
+ image.addEventListener('dragstart', this.swipeImageListener);
446
+ });
447
+ }
448
+ onSwipe(event) {
449
+ const { directions } = event.detail;
450
+ const method = directions.left ? "next" : directions.right ? "previous" : null;
451
+ if (method) {
452
+ this[method](event);
453
+ }
408
454
  }
409
455
  trackContainerStyles() {
410
456
  // Crop translated track
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ulu/frontend",
3
- "version": "0.1.0-beta.56",
3
+ "version": "0.1.0-beta.58",
4
4
  "description": "Modular Sass Theming Library",
5
5
  "browser": "js/index.js",
6
6
  "main": "index.js",
@@ -92,6 +92,7 @@
92
92
  "@floating-ui/dom": "^1.6.5",
93
93
  "@ulu/utils": "^0.0.20",
94
94
  "ally.js": "^1.4.1",
95
- "aria-tablist": "^1.2.2"
95
+ "aria-tablist": "^1.2.2",
96
+ "swipe-listener" : "^1.3.0"
96
97
  }
97
98
  }
@@ -32,6 +32,10 @@ export class Slider {
32
32
  buttonClasses: string[];
33
33
  iconClassPrevious: any;
34
34
  iconClassNext: any;
35
+ swipeEnabled: boolean;
36
+ swipeOptions: {
37
+ preventScroll: boolean;
38
+ };
35
39
  };
36
40
  constructor(elements: any, config: any);
37
41
  options: any;
@@ -41,6 +45,9 @@ export class Slider {
41
45
  number: number;
42
46
  };
43
47
  index: any;
48
+ swipeInstance: any;
49
+ swipeListener: (event: any) => void;
50
+ swipeImageListener: (event: any) => void;
44
51
  transitioning: boolean;
45
52
  slides: {
46
53
  element: any;
@@ -111,6 +118,8 @@ export class Slider {
111
118
  }): any;
112
119
  goto(index: any, event: any, triggerType: any): void;
113
120
  setup(): void;
121
+ setupSwipe(): void;
122
+ onSwipe(event: any): void;
114
123
  trackContainerStyles(): string;
115
124
  transitionCss(property: any): string;
116
125
  trackCss(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../js/ui/slider.js"],"names":[],"mappings":"AAsEA;;GAEG;AACH,6BASC;AAED;;;;GAIG;AACH,uCAHW,IAAI,sBAkBd;AAlED;;GAEG;AACH,+CAGG;AA8DH;;GAEG;AACH;IACE,wBAAsB;IACtB;;OAEG;IACH;;;;;;;;;;;;MAaC;IACD,wCAgCC;IA9BC,aAAsB;IACtB;;;;MAAiB;IACjB,WAAiB;IACjB,uBAA0B;IAQ1B;;;;QAME;IACF,cAIC;IAED;;;cACuF;IAMzF;;OAEG;IACH,qBAKC;IACD;;OAEG;IACH,2BAOC;IACD;;OAEG;IACH,uBAMC;IACD;;;;;;OAMG;IACH,8BAJW,MAAM,YACN,MAAM,kCAqChB;IACD;;OAEG;IACH,wCASC;IACD;;;OAGG;IACH,oDASC;IACD;;OAEG;IACH,yCAOC;IACD;;OAEG;IACH;;;;;;sBAoDC;IACD;;OAEG;IACH;;;sBAUC;IACD;;OAEG;IACH;;;YAOC;IACD,qDA0CC;IACD,cAYC;IACD,+BAKC;IACD,qCAOC;IACD,mBAQC;IACD,mBASC;IACD,yCASC;IACD,oDAUC;IACD;;;;;;MAwBC;IACD;;;;MAmBC;IACD,2DAQC;IACD,uCAMC;IACD,kCAEC;IACD,iCAIC;CACF;qCArfoC,oBAAoB"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../js/ui/slider.js"],"names":[],"mappings":"AAyEA;;GAEG;AACH,6BASC;AAED;;;;GAIG;AACH,uCAHW,IAAI,sBAkBd;AAlED;;GAEG;AACH,+CAGG;AA8DH;;GAEG;AACH;IACE,wBAAsB;IACtB;;OAEG;IACH;;;;;;;;;;;;;;;;MAgBC;IACD,wCAmCC;IAjCC,aAAsB;IACtB;;;;MAAiB;IACjB,WAAiB;IACjB,mBAAyB;IACzB,oCAAyB;IACzB,yCAA8B;IAC9B,uBAA0B;IAQ1B;;;;QAME;IACF,cAIC;IAED;;;cACuF;IAMzF;;OAEG;IACH,qBAKC;IACD;;OAEG;IACH,2BAOC;IACD;;OAEG;IACH,uBAMC;IACD;;;;;;OAMG;IACH,8BAJW,MAAM,YACN,MAAM,kCAqChB;IACD;;OAEG;IACH,wCASC;IACD;;;OAGG;IACH,oDASC;IACD;;OAEG;IACH,yCAOC;IACD;;OAEG;IACH;;;;;;sBAoDC;IACD;;OAEG;IACH;;;sBAUC;IACD;;OAEG;IACH;;;YAOC;IACD,qDA0CC;IACD,cAmBC;IACD,mBAsBC;IACD,0BAMC;IACD,+BAKC;IACD,qCAOC;IACD,mBAQC;IACD,mBASC;IACD,yCASC;IACD,oDAUC;IACD;;;;;;MAwBC;IACD;;;;MAmBC;IACD,2DAQC;IACD,uCAMC;IACD,kCAEC;IACD,iCAIC;CACF;qCAjiBoC,oBAAoB"}